Skip to content

feat(pgadmin): add new module for pgAdmin #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Conversation

AJ0070
Copy link

@AJ0070 AJ0070 commented Jul 12, 2025

Closes #36

Description

This pull request introduces a new Coder module for pgAdmin. This module allows users to easily add a pgAdmin web interface to their workspaces for managing PostgreSQL databases.

  • The pgAdmin module under the AJ0070 namespace.
  • A main.tf file to define the Coder app and script resources.
  • A run.sh script to handle the installation and launch of pgAdmin.
  • A README.md with usage instructions and prerequisites.
  • A basic test file main.test.ts to ensure the module loads correctly.

Type of Change

  • New module
  • Bug fix
  • Feature/enhancement
  • Documentation
  • Other

Module Information

Path: registry/AJ0070/modules/pgadmin
New version: v1.0.0
Breaking change: [ ] Yes [x] No

Testing & Validation

  • Tests pass (bun test)
  • Code formatted (bun run fmt)
  • Changes tested locally

/claim #36

@DevelopmentCats DevelopmentCats self-requested a review July 16, 2025 02:51
@DevelopmentCats
Copy link
Contributor

DevelopmentCats commented Jul 16, 2025

@AJ0070

I went to test this module. It was having issues with installation, and the app was not being proxied.

I forked the registry and made a branch to see if I can understand what is going wrong here.

The main things that I changed on my side to get this working, was I introduced a variable for the pgadmin config, introduced locals to do joins and formatting, and I utilized the venv for pgadmin.

I then added a step to write the configuration to a file so that pgadmin loads with the ideal settings for coder.

Here is the fork if you would like to take a look. https://github.com/DevelopmentCats/registry/tree/cat/AJ0070-pgadmin-fix/registry/AJ0070

@AJ0070
Copy link
Author

AJ0070 commented Jul 16, 2025

@AJ0070

I went to test this module. It was having issues with installation, and the app was not being proxied.

I forked the registry and made a branch to see if I can understand what is going wrong here.

The main things that I changed on my side to get this working, was I introduced a variable for the pgadmin config, and introduced locals to format the url and healthcheck.

I then added a step to write the configuration to a file so that pgadmin loads with the ideal settings for coder.

Here is the fork if you would like to take a look. https://github.com/DevelopmentCats/registry/tree/cat/AJ0070-pgadmin-fix/registry/AJ0070

Thanks for the details!
I'll look into this

@AJ0070
Copy link
Author

AJ0070 commented Jul 17, 2025

Thank you so much for taking the time to test the module and provide such detailed feedback. I really appreciate you forking the repository and creating a working example it was incredibly helpful for understanding the issues with installation and proxying.
Your solution is much more stable. With your permission, I would love to incorporate the changes from your cat/AJ0070-pgadmin-fix branch into my PR to get this merged.

Please let me know @DevelopmentCats if that's okay with you. Thanks again for your help!

@DevelopmentCats
Copy link
Contributor

Thank you so much for taking the time to test the module and provide such detailed feedback. I really appreciate you forking the repository and creating a working example it was incredibly helpful for understanding the issues with installation and proxying. Your solution is much more stable. With your permission, I would love to incorporate the changes from your cat/AJ0070-pgadmin-fix branch into my PR to get this merged.

Please let me know @DevelopmentCats if that's okay with you. Thanks again for your help!

No worries.

That's totally fine with me. I'm happy to provide in whatever way I can. Sorry I couldn't point out the exact issues right out of the gate. I had never really worked with pgadmin-web before now and it took me a minute to get it myself lol.

@AJ0070
Copy link
Author

AJ0070 commented Jul 17, 2025

Thanks for the confirmation!

@AJ0070
Copy link
Author

AJ0070 commented Jul 17, 2025

I've implemented the changes. Let me know if there's anything else you'd like adjusted.

@matifali
Copy link
Member

@AJ0070, please link a video demo of the module wokring in a Coder workspace. Thanks,

@AJ0070
Copy link
Author

AJ0070 commented Jul 17, 2025

@AJ0070, please link a video demo of the module wokring in a Coder workspace. Thanks,

I'll do that right after I fix the workflow failure.

@AJ0070
Copy link
Author

AJ0070 commented Jul 19, 2025

pg-admin-test.mp4

@AJ0070
Copy link
Author

AJ0070 commented Jul 19, 2025

@DevelopmentCats, could you please review the recent changes when you have a moment?

@bpmct
Copy link
Member

bpmct commented Jul 19, 2025

Hey @AJ0070. that video doesn't show pgadmin with coder. the agent doesn't start and there is no pgadmin button in the dashboard

@AJ0070
Copy link
Author

AJ0070 commented Jul 24, 2025

Now pgAdmin icon is visible:

image

but I am not sure why the connection is refusing:

2025-07-24 13:47:00.932 [debu]  apphealth: error checking app health  id=9830f5f2-bf28-4ef1-981a-090ccaf65dbb  slug=pgadmin  now_unhealthy=true  error="Get \"http://localhost:5050/\": dial tcp [::1]:5050: connect: connection refused"

@DevelopmentCats Did you encounter anything like this during your local testing? Let me know if you have any suggestions for resolving it.

@DevelopmentCats
Copy link
Contributor

Now pgAdmin icon is visible:

image but I am not sure why the connection is refusing:
2025-07-24 13:47:00.932 [debu]  apphealth: error checking app health  id=9830f5f2-bf28-4ef1-981a-090ccaf65dbb  slug=pgadmin  now_unhealthy=true  error="Get \"http://localhost:5050/\": dial tcp [::1]:5050: connect: connection refused"

@DevelopmentCats Did you encounter anything like this during your local testing? Let me know if you have any suggestions for resolving it.

Even in my version, it still took forever to build.

PGAdmin seems to be pretty heavy overall, and I doubt there is much to be done to speed the install up. In my testing though I was able to get pgadmin installed, and available over the coder app button.

@AJ0070
Copy link
Author

AJ0070 commented Jul 25, 2025

Now pgAdmin icon is visible:
image
but I am not sure why the connection is refusing:

2025-07-24 13:47:00.932 [debu]  apphealth: error checking app health  id=9830f5f2-bf28-4ef1-981a-090ccaf65dbb  slug=pgadmin  now_unhealthy=true  error="Get \"http://localhost:5050/\": dial tcp [::1]:5050: connect: connection refused"

@DevelopmentCats Did you encounter anything like this during your local testing? Let me know if you have any suggestions for resolving it.

Even in my version, it still took forever to build.

PGAdmin seems to be pretty heavy overall, and I doubt there is much to be done to speed the install up. In my testing though I was able to get pgadmin installed, and available over the coder app button.

Were you able to open it?

@DevelopmentCats
Copy link
Contributor

Now pgAdmin icon is visible:
image
but I am not sure why the connection is refusing:

2025-07-24 13:47:00.932 [debu]  apphealth: error checking app health  id=9830f5f2-bf28-4ef1-981a-090ccaf65dbb  slug=pgadmin  now_unhealthy=true  error="Get \"http://localhost:5050/\": dial tcp [::1]:5050: connect: connection refused"

@DevelopmentCats Did you encounter anything like this during your local testing? Let me know if you have any suggestions for resolving it.

Even in my version, it still took forever to build.
PGAdmin seems to be pretty heavy overall, and I doubt there is much to be done to speed the install up. In my testing though I was able to get pgadmin installed, and available over the coder app button.

Were you able to open it?

It was not loading up when I pulled and tested it last, but let me build and test again. Maybe I can provide you some valuable output

@AJ0070
Copy link
Author

AJ0070 commented Jul 25, 2025

It was not loading up when I pulled and tested it last, but let me build and test again. Maybe I can provide you some valuable output

Thanks so much for looking into this. Once you share your output, I’ll be able to figure out whether the issue is with my local setup or something in the code.

@AJ0070
Copy link
Author

AJ0070 commented Jul 27, 2025

@DevelopmentCats, have you had a chance to test this? Your feedback would be greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PG Admin module
4 participants