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

Build interfaces around our postgres access #2121

Closed
kannon92 opened this issue Feb 14, 2023 · 25 comments · Fixed by #2624
Closed

Build interfaces around our postgres access #2121

kannon92 opened this issue Feb 14, 2023 · 25 comments · Fixed by #2624
Assignees

Comments

@kannon92
Copy link
Contributor

kannon92 commented Feb 14, 2023

We should make sure that users could bring their own SQL databases into Armada. Currently we only allow postgres as our db but we should create an interface and potentially allow other databases.

This could help with test improvement as we can add mocks for SQL calls and allow us to run unit tests without an active database.

┆Issue is synchronized with this Jira Task by Unito

@suryaanshrai
Copy link

suryaanshrai commented Feb 17, 2023

Which databases other than postgres are we expecting Armada to deal with?

@kannon92
Copy link
Contributor Author

At the moment our main user will be using Postgres.

Generally our goal with this is to allow other relation databases so some that come to mind are MSSQL (Microsoft SQL Server), SQLLite, MySQL and Postgres.

I don't think we should directly support these in Armada until there is a request to support them. But what I would like to do is to start changing the code so that we could plug and match other databases.

@octonawish-akcodes
Copy link
Contributor

I am interested too in this sir

@kannon92
Copy link
Contributor Author

https://developers.google.com/open-source/gsoc/timeline

I suggest getting familiar with our project.

I've created some other issues for people to play around with. We are excited to have this much interest but I ask that you don't take this project unless you are officially allowed to do so via GSOC application.

@suprjinx
Copy link
Contributor

I would say abstracting as necessary so that SQLite or Postgres can work interchangeably is a good concrete starting point, as we could then use SQLite for running unit tests instead of requiring Postgres. The existing tests with SQLite db provider would provide an indicator of success.

@severinson
Copy link
Contributor

We're using postgres-specific SQL calls for performance (specifically, the postygres-specific copy wire protocol).
In my opinion, adding interfaces around SQL calls would be counter-productive for this reason.
I.e., I don't think we should do it.

@dave-gantenbein
Copy link
Member

@severinson what's your suggestion for how to solve the underlying issue (we need PG to run unit tests)? I'm pretty sure you expressed an interest in having them run quickly. :)

@suprjinx
Copy link
Contributor

I think there are two benefits -- less external dependency for unit tests and more openness in the system which might aid adoption. As long as we keep the postgresy performance stuff in that provider, I don't think it's counter-productive.

@dave-gantenbein
Copy link
Member

dave-gantenbein commented Feb 24, 2023 via email

@octonawish-akcodes
Copy link
Contributor

Is this project valid then can I proceed to learn more about it?

@NeerajGartia21
Copy link

NeerajGartia21 commented Mar 12, 2023

Hello @kannon92 @suprjinx ,
I want to work on this project.
Where can I discuss about the same?

@satyampsoni
Copy link
Contributor

Is this project going to be a part of LFX summer this year?

@kannon92
Copy link
Contributor Author

kannon92 commented May 5, 2023

Is this project going to be a part of LFX summer this year?

Yes. https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2023/02-Jun-Aug/project_ideas.md#armada

Applications open up on May 10th.

@lata-11
Copy link

lata-11 commented May 6, 2023

Hey @kannon92. I want to work on this project under LFX summer mentorship. I am a new contributor to this project. How should I get started? Is there any good-first bug that needs attention, I would be happy to help.

@i-am-yuvi
Copy link

Hello everyone, I am also interested in this issue and would like to join this as LFX mentorship. Can you help me to get started with this project and issue?

@satyampsoni
Copy link
Contributor

satyampsoni commented May 6, 2023

Yeah sure @i-am-yuvi. what kind of help do you need?

The issue at hand is that Armada currently only supports the PostgreSQL database for its operations and users are not able to bring their own SQL databases into the system. This limits the flexibility of Armada as some users may have existing databases that they prefer to use instead of PostgreSQL.

In order to solve this issue, Armada needs to build interfaces that allow users to use their own SQL databases. This means creating a common interface that abstracts the underlying database implementation details, allowing Armada to work with multiple database types without needing to know the specifics of each one.

For more help I would suggest you join the slack channel

@i-am-yuvi
Copy link

Hey @satyampsoni. If you are already working into this issue. Will you mind if you could share some resources to get started with this project.

@satyampsoni
Copy link
Contributor

satyampsoni commented May 6, 2023

First of all, I would suggest you understand what is Armada and the problem it is trying to solve, You can read the readme it explains it well and talking about the resources those are mentioned in the readme and I am mentioning some links here too.

  1. https://www.youtube.com/watch?v=FT8pXYciD9A
  2. https://www.youtube.com/watch?v=B3WPxw3OUl4

I am also looking forward to working on it during LFX and am also researching more about it. I'll be sharing the resources in the Slack channel as I progress with the issue, I just came to know about this issue last day.

Again pls join the Slack channel people there will definitely help you.

@i-am-yuvi
Copy link

Thanks for this @satyampsoni, I'll definitely join the slack channel

@akashsawan1
Copy link

Hey, I would love to work on this project. I am familiar with Golang and have a good understanding of MySQL and SQL. I am also highly interested in applying for the LFX mentorship program during the months of June and August.

@ayush14rastogi
Copy link

I am also interested in this can somebody paste the slack channel link here.

@Ndohjapan
Copy link

I am interested in this as I have knowledge of Go and SQL databases.

How can I go from here as I would like to join and also apply for the LFX mentorship program

@suprjinx
Copy link
Contributor

I think this is the link to our Slack -- https://cloud-native.slack.com/archives/C03T9CBCEMC. If that doesn't work, find #armada channel once signed in.

@suprjinx
Copy link
Contributor

@em-r
Copy link
Contributor

em-r commented Jun 1, 2023

/assign

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 a pull request may close this issue.