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

External data store for Radius #8096

Open
1 task
Tracked by #49
zachcasper opened this issue Nov 26, 2024 · 5 comments
Open
1 task
Tracked by #49

External data store for Radius #8096

zachcasper opened this issue Nov 26, 2024 · 5 comments
Assignees
Labels
feature This issue describes a feature request in Radius triaged This issue has been reviewed and triaged

Comments

@zachcasper
Copy link
Contributor

zachcasper commented Nov 26, 2024

Overview of feature request

Today, Radius stores its configuration and resource data in etc within the host Kubernetes cluster. This presents challenges for users backing up their Radius resource data and coordinating with Kubernetes cluster updates. This feature is to implement options for advanced Radius deployments which use an external data store provided by the user. The first supported external data store should be PostgreSQL.

Acceptance criteria

  • Getting started users can install Radius without needing an external database
  • Advanced users can install Radius and provide an existing PostgreSQL database

Additional context

No response

Would you like to support us?

  • Yes, I would like to support you

AB#13755

@zachcasper zachcasper added the feature This issue describes a feature request in Radius label Nov 26, 2024
@radius-triage-bot
Copy link

👋 @zachcasper Thanks for filing this feature request.

A project maintainer will review this feature request and get back to you soon.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

@radius-triage-bot
Copy link

👍 We've reviewed this issue and have agreed to add it to our backlog. Please subscribe to this issue for notifications, we'll provide updates when we pick it up.

We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

For more information on our triage process please visit our triage overview

@superbeeny
Copy link
Contributor

superbeeny commented Dec 3, 2024

Adding some more context based on conversations in the last design meeting:

Some of the why we need to change the current implementation of the radius datastore?

  1. It is hard to debug.
  2. It is hard to migrate.
  3. Over time performance degrades to a point the cluster becomes unusable.

Some features to maintain

  1. No more steps required from the user during rad init
  2. Maintain the simplicity of the "Getting Started" and other tutorials.
  3. We don't want to maintain a lot of stuff or be responsible for items outside our expertise. This includes operations on how to maintain and configure Postgres.
  4. Production should support "bring your own database", BYOD.

Some features to add

  1. Start performance profiling of the radius installation, as we add more components to radius it will become necessary to maintain a performance profile.

Workback Plan:

Goal: Radius uses the database as a datastore.

  1. Complete implementation of the helm chart install.
  2. Generate username and password and store in secrets.
  3. Implement seeding script to initialize the schema.
  4. Implement performance profiling for the radius deployment within the cluster.
  5. Update the developer documentation.
  6. Update the User documentation.
  7. Update the production deployment documentation with instructions to bring your own.
  8. Switch Radius over to using the db as the datastore.
  9. Profit!

@rynowak and @zachcasper thoughts?

kachawla pushed a commit that referenced this issue Jan 9, 2025
# Description

Adding Postgres installation to the Radius Helm chart

## Type of change

- This pull request adds or changes features of Radius and has an
approved issue (issue link required).

Fixes: #8071 
Updated issue: #8096

---------

Signed-off-by: Nick Beenham <[email protected]>
@superbeeny
Copy link
Contributor

@kachawla and @zachcasper is there a preference on how to initialize the db? can do either through adding to the docker image or possibly shelling out from rad init. Thoughts?

@kachawla
Copy link
Contributor

kachawla commented Feb 3, 2025

@kachawla and @zachcasper is there a preference on how to initialize the db? can do either through adding to the docker image or possibly shelling out from rad init. Thoughts?

Sorry missed this earlier. Synced up offline on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue describes a feature request in Radius triaged This issue has been reviewed and triaged
Projects
None yet
Development

No branches or pull requests

4 participants