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

Decouple database initialization #10

Open
BWibo opened this issue Jul 10, 2023 · 0 comments
Open

Decouple database initialization #10

BWibo opened this issue Jul 10, 2023 · 0 comments
Assignees
Labels
effort: 8 type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: complicated The situation is complicated, good practices used.
Milestone

Comments

@BWibo
Copy link
Member

BWibo commented Jul 10, 2023

CKAN and its tool chain require databases that need specific initialization steps (mainly roles and permissions) for security reasons. Several init steps require Postgres superuser rights. At the same time, unprivileged database users need to be set for CKAN and other services (e.g. Datapusher), that are supposed to use the databases. The different databases may potentially live in separte instances (e.g. ckan-db on one server, ckan datastore on a different server).

Currently, those step can only be performed when the postgis sub-chart is used.
External databases (e.g. a managed database from a cloud provider) cannot be initialized successfully, because the native CKAN init fail, because it does not have sufficient rights.

In the future, the database initialization should be moved to a (maybe multiple?) separate Helm chart/subchart, the ckan-database-initializer.

This inititalizer should be capable to initialize one or many databases for CKAN and it's services:

  • Specify a DB superuser for each required DB instance, that can do all initialization steps:
    • Create roles and users
    • Create databases
    • Grant required access to the different DBs for each role
@BWibo BWibo added effort: 8 type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: complicated The situation is complicated, good practices used. labels Jul 10, 2023
@BWibo BWibo self-assigned this Jul 10, 2023
@BWibo BWibo added this to the v4.0.0 milestone Mar 22, 2024
@BWibo BWibo modified the milestones: v4.0.0, v5.0.0 Apr 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: 8 type: feature Brand new functionality, features, pages, workflows, endpoints, etc. work: complicated The situation is complicated, good practices used.
Projects
None yet
Development

No branches or pull requests

1 participant