Running PostgreSQL, DBeaver and pgAdmin containers in Coder
A Meetup is being hosted at the Austin Office on September 24th, 2024. Developers and data scientists often require a database as part of their development environment configuration, along with a UI tool to connect to the database for data viewing and manipulation. Coder's use of an embedded Terraform OSS provisioner and Kubernetes magic allows for multiple containers in a single pod, enabling the creation of a Coder template that creates multiple containers running their respective applications. This leads to faster time to first commit and no environment setup since Coder leverages open standards like Dockerfiles, container images, and Kubernetes. DevOps and Platform Engineering benefit from fewer support tickets due to standardized environments across teams. The example provided includes a Golang app in one container with the Coder agent for communication with user IDEs and control plane, containers with PostgreSQL, pgAdmin, and DBeaver, which are database administration tools popular among developers. These containers have different UIDs and persistent volume claims to store data and configuration settings. The developer or data scientist selects a template and is prompted for inputs like dotfiles repository, CPU, memory, and disk for each of the four containers. Coder templates include a markdown file explaining how to use pgAdmin and DBeaver and instructions on running database migrations and retrieving data from PostgreSQL. Any container in the Kubernetes pod can communicate on localhost, allowing the Golang app, DBeaver, and pgAdmin to find the PostgreSQL database. The example template is available from sharkymark's GitHub v2 template repository.
Company
Coder
Date published
April 2, 2023
Author(s)
Mark Milligan
Word count
777
Language
English
Hacker News points
None found.