From 82d0d42b284117249265e028dbb9e19aaca93b62 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 25 Apr 2023 18:02:34 -0400 Subject: [PATCH] chore: add pgadmin to dev environment --- .devcontainer/devcontainer.json | 23 +++++------------------ .devcontainer/docker-compose.extend.yml | 3 +++ docker-compose.yml | 13 +++++++++++++ docker/configs/pgadmin-servers.json | 22 ++++++++++++++++++++++ docker/docker-compose.extend.yml | 3 +++ 5 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 docker/configs/pgadmin-servers.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1cd6481d2..c4f2ee172 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -28,9 +28,6 @@ "ms-playwright.playwright", "ms-python.python", "ms-python.vscode-pylance", - "ms-python.pylint", - "mtxr.sqltools-driver-pg", - "mtxr.sqltools", "mutantdino.resourcemonitor", "oderwat.indent-rainbow", "redhat.vscode-yaml", @@ -63,27 +60,13 @@ "./ietf", "-p", "test*.py" - ], - "sqltools.connections": [ - // Default connection to dev DB container - { - "name": "Local PostgreSQL", - "server": "db", - "port": 5432, - "database": "ietf", - "username": "django", - "password": "RkTkDPFnKpko", - "driver": "PostgreSQL", - "askForPassword": false, - "connectionTimeout": 60 - } ] } } }, // Use 'forwardPorts' to make a list of ports inside the container available locally. - "forwardPorts": [8000, 5432], + "forwardPorts": [8000, 5432, 5433], "portsAttributes": { "3000": { @@ -94,6 +77,10 @@ "label": "PostgreSQL", "onAutoForward": "silent" }, + "5433": { + "label": "pgAdmin", + "onAutoForward": "silent" + }, "8000": { "label": "Datatracker", "onAutoForward": "notify" diff --git a/.devcontainer/docker-compose.extend.yml b/.devcontainer/docker-compose.extend.yml index fa9a412cf..b9b5a2764 100644 --- a/.devcontainer/docker-compose.extend.yml +++ b/.devcontainer/docker-compose.extend.yml @@ -15,5 +15,8 @@ services: # Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function. network_mode: service:db + pgadmin: + network_mode: service:db + volumes: datatracker-vscode-ext: diff --git a/docker-compose.yml b/docker-compose.yml index f3201f04f..e91085266 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -46,6 +46,19 @@ services: # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally. # (Adding the "ports" property to this file will not forward from a Codespace.) + pgadmin: + image: dpage/pgadmin4:latest + restart: unless-stopped + environment: + - PGADMIN_DEFAULT_EMAIL=dev@ietf.org + - PGADMIN_DEFAULT_PASSWORD=dev + - PGADMIN_CONFIG_LOGIN_BANNER="Login with dev@ietf.org / dev" + - PGADMIN_LISTEN_PORT=5433 + - PGADMIN_DISABLE_POSTFIX=True + - PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False + volumes: + - ./docker/configs/pgadmin-servers.json:/pgadmin4/servers.json + mq: image: rabbitmq:3-alpine restart: unless-stopped diff --git a/docker/configs/pgadmin-servers.json b/docker/configs/pgadmin-servers.json new file mode 100644 index 000000000..8b1c181d1 --- /dev/null +++ b/docker/configs/pgadmin-servers.json @@ -0,0 +1,22 @@ +{ + "Servers": { + "1": { + "Name": "Local Dev", + "Group": "Servers", + "Host": "db", + "Port": 5432, + "MaintenanceDB": "postgres", + "Username": "django", + "UseSSHTunnel": 0, + "TunnelPort": "22", + "TunnelAuthentication": 0, + "KerberosAuthentication": false, + "ConnectionParameters": { + "sslmode": "prefer", + "connect_timeout": 10, + "sslcert": "/.postgresql/postgresql.crt", + "sslkey": "/.postgresql/postgresql.key" + } + } + } +} diff --git a/docker/docker-compose.extend.yml b/docker/docker-compose.extend.yml index 12df388c4..d055c976f 100644 --- a/docker/docker-compose.extend.yml +++ b/docker/docker-compose.extend.yml @@ -15,6 +15,9 @@ services: db: ports: - '5432' + pgadmin: + ports: + - '5433' celery: volumes: - .:/workspace