Skip to content
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

Finding a replacement to phpMyAdmin #4432

Open
viroulep opened this issue Aug 6, 2019 · 8 comments
Open

Finding a replacement to phpMyAdmin #4432

viroulep opened this issue Aug 6, 2019 · 8 comments
Labels
AREA: infrastructure Server hosting and access, general infrastructure PRIORITY: backlog Items WST instends to implement, but which it considers very unimportant at present. TEAM: wrt issues related to WRT TECH: database This issue requires interaction with a database TECH: security Requires knowledge of security protocols/practices

Comments

@viroulep
Copy link
Contributor

viroulep commented Aug 6, 2019

At some point we want to drop PHP to rely on a single server-side language, so we'll need to find a replacement for that.
I quickly look for alternatives and found this: https://github.com/igorkasyanchuk/rails_db

Anyone has experience with that?

It might be worth to do some experiment with that on staging with the WRT (as I believe they are pretty much the only ones using phpMyAdmin).

@viroulep viroulep added this to the Drop PHP milestone Aug 6, 2019
@devaka
Copy link

devaka commented Aug 6, 2019

phpMyAdmin can work with remote DBs. So you can have single server-side language and use PMA from other server you want.

@viroulep
Copy link
Contributor Author

viroulep commented Aug 6, 2019

True!
We also don't hack into phpmyadmin, so the issue here is rather to avoid having to deal with anything related to php, which includes paying and monitoring an extra server :)

@jfly
Copy link
Contributor

jfly commented Aug 6, 2019

Some tangentially related ideas:

  • At some point, it would be nice to start tracking every database mutation we do, and eventually focus on building tools so we don't have to do those things via SQL anymore.
  • I also think it would be nice to have a separate, read-only DB account for people to use for db investigations, without any risk of messing up the real database.
  • I have gained a decent amount of experience with Docker in the last 1.5 years, and have been thinking a lot about containerizing our various services (nginx + php code + rails app + delayed job workers + other misc tasks like backups, ssl certs, ...). In a world where we're running containerized services, it would not be overly crazy to run a phpMyAdmin container, and not have to worry about installing/configuring php on our Ubuntu host.
    • This comment probably raises more questions than answers. I'd like to put together a proposal soonish.

@Jambrose777 Jambrose777 added AREA: infrastructure Server hosting and access, general infrastructure TECH: security Requires knowledge of security protocols/practices TEAM: wrt issues related to WRT labels Jun 18, 2021
@dunkOnIT
Copy link
Contributor

dunkOnIT commented Mar 1, 2022

@gregorbg This issue raises the question of abandoning phpMyAdmin. Your strategy document indicates that we can continue to run it with no changes, and @Jambrose777's comment indicates the possibility of containerising with Docker.

Given the state of this issue, my proposal is that we backlog the idea, close the issue, and continue with phpMyAdmin until the rest of the infrastructure is up to par, at which point we could revisit this matter.

Let me know your thoughts.

@gregorbg
Copy link
Member

gregorbg commented Mar 1, 2022

The reason why this issue exists is that ideally we want to move away from PHP entirely in favor of running our website software stack on one single programming language.

Unfortunately, there is no viable alternative (at least to my knowledge) to PhpMyAdmin in terms of functionality and features. So abstracting away the "ugly" PHP part by running a Docker container is the closest we can realistically come to abandoning PHP. Closing this issue entirely sounds a bit dangerous in terms of us potentially forgetting about all of the valuable points and ideas already raised in this discussion. (in my opinion, if an issue is Open it doesn't automatically mean we have to treat it with high priority)

@dunkOnIT dunkOnIT added the PRIORITY: backlog Items WST instends to implement, but which it considers very unimportant at present. label Mar 1, 2022
@dunkOnIT
Copy link
Contributor

dunkOnIT commented Mar 1, 2022

Agree - I think the problem I was trying to solve was having an issues list populated by issues where no work is expected in the near-term. I've just added a "backlog" label though, which allows us to filter as needed, without abstracting away the discussion.

Hope that's ok!

@campos20
Copy link
Member

Our database is already protected by our VPN. What about creating a (2 factor) way for a member to connect to our vpn and then the person to connect using a database administration tool (like dbeaver)? I haven't used phpmyadmin for dbeaver does charts, sessions... I'm sure we could use similar software as well.

@dunkOnIT dunkOnIT removed this from the Drop PHP milestone Oct 11, 2022
@dunkOnIT dunkOnIT added this to the Migrate Away from PHP milestone Oct 31, 2022
@dunkOnIT dunkOnIT moved this to Next Up in WST Project Management Dec 9, 2022
@dunkOnIT
Copy link
Contributor

dunkOnIT commented Jan 1, 2025

@gregorbg are we still looking for a PMA alternative? If so, I don't hate what Alexandre is suggesting - a VPN and remote connecting to the database could be very nice for WRT (who struggle with database token timeouts) and ourselves (eg, there are definitely times where I want to use a Knime workflow to work with data)

(And of course, if we're happy with the state of things, we could always close the issue 😈

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AREA: infrastructure Server hosting and access, general infrastructure PRIORITY: backlog Items WST instends to implement, but which it considers very unimportant at present. TEAM: wrt issues related to WRT TECH: database This issue requires interaction with a database TECH: security Requires knowledge of security protocols/practices
Projects
Status: No status
Status: Next Up
Development

No branches or pull requests

7 participants