Reintroduce bundled database to the chart#365
Reintroduce bundled database to the chart#365nikolasmatt wants to merge 5 commits intoagentregistry-dev:mainfrom
Conversation
| This setup is intended for development and testing. For production, use a managed PostgreSQL service or a production-grade operator. | ||
|
|
||
| #### Install Agent Registry | ||
| For production, disable the bundled database and point to a managed PostgreSQL service: |
There was a problem hiding this comment.
I think this could be more strongly called out. Maybe with one of these?
| name: {{ $fullname }} | ||
| labels: | ||
| {{- include "agentregistry.postgresql.labels" . | nindent 4 }} | ||
| {{- $annotations := include "agentregistry.annotations" (dict "annotations" dict "context" $) }} |
There was a problem hiding this comment.
Since this is duplicated down below multiple times, can we just move it to the top of the file and make it shared?
| imagePullSecrets: [] | ||
| # -- Name of an existing Secret containing all credentials (POSTGRES_PASSWORD and AGENT_REGISTRY_JWT_PRIVATE_KEY). Overrides config.existingSecret and database.existingSecret when set. | ||
| # -- Name of an existing Secret containing all credentials (POSTGRES_PASSWORD and AGENT_REGISTRY_JWT_PRIVATE_KEY). Overrides config.existingSecret and database.external.existingSecret when set. When database.bundled.enabled=true, this secret must contain POSTGRES_PASSWORD — the chart will not create its own secret and the bundled PostgreSQL pod will reference it directly. | ||
| existingSecret: "" |
There was a problem hiding this comment.
I think that it would be better to just drop global.existingSecret and if someone wants to put both POSTGRES_PASSWORD and AGENT_REGISTRY_JWT_PRIVATE_KEY in the same secret, they can just point db.external.existingSecret and config.existingSecret at that same secret since the keys are different.
| # -- External database user | ||
| username: "agentregistry" | ||
| # -- External database password (ignored when existingSecret is set) | ||
| password: "" |
There was a problem hiding this comment.
Have you seen any issues with this if the password contains something like: @, :, /, ?, #, % which could break url parsing when loaded?
| # -- Bundled PostgreSQL (dev/test). Enabled by default; set bundled.enabled=false to bring your own. | ||
| bundled: | ||
| # -- Deploy a PostgreSQL instance alongside Agent Registry | ||
| enabled: true |
There was a problem hiding this comment.
Can we document why we need to have this? Can we key off of the external database configuration?
There was a problem hiding this comment.
Per a discussion with @nikolasmatt, we are going to use bundled if database.postgres.url and database.postgres.host are both unset instead of having a database.postgres.bundled.enabled field.
Resolves #358
Description
As noted in #358 we are reversing the decision to not provide a bundled PostgreSQL database as part of the chart.
This change is meant to align with the kagent chart as well https://github.com/kagent-dev/kagent/tree/main/helm/kagent
Change Type
/kind feature
/kind install
Changelog
Additional Notes