You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolves#358
# Description
Reintroduces a bundled PostgreSQL instance to the Helm chart and
restructures the `database` values key to align with [kagent PR
#1527](kagent-dev/kagent#1527).
**What changed:**
- **Bundled PostgreSQL on by default** — `postgres:18` is deployed
alongside Agent Registry when `database.postgres.bundled.enabled=true`
(the default). Intended for development and evaluation only; a warning
is shown in NOTES.txt.
- **Restructured `database` values** — replaced the old
`database.bundled.*` / `database.external.*` split with a flat
`database.postgres.*` structure:
- `database.postgres.url` / `database.postgres.urlFile` — external
connection string (urlFile takes precedence)
- `database.postgres.bundled.*` — bundled instance config (image,
storage, resources)
- `database.postgres.vectorEnabled` — enables
`AGENT_REGISTRY_EMBEDDINGS_ENABLED` and
`AGENT_REGISTRY_DATABASE_VECTOR_ENABLED` on the app pod
- **Default image is `postgres:18`** (official, plain). Users who want
semantic search can opt in via `database.postgres.vectorEnabled=true`
with their own pgvector-capable PostgreSQL instance.
- **Conditional vector migrations** — base schema no longer requires
pgvector. Vector schema (embedding columns, HNSW indexes) is applied in
a separate migration set, only when `DatabaseVectorEnabled=true`.
- **URL file support** — `AGENT_REGISTRY_DATABASE_URL_FILE` env var /
`database.postgres.urlFile` value reads the database URL from a file at
startup.
- **Separate PostgreSQL Secret** — bundled DB password lives in its own
`{release}-postgresql` Secret, decoupled from the JWT key Secret.
- **Init container only when needed** — the `wait-for-postgres` init
container is skipped when `url` or `urlFile` is set, even if
`bundled.enabled=true`.
- **Simplified helpers** — removed `agentregistry.secretName`,
`agentregistry.passwordSecretName`, and `agentregistry.databaseUrl`;
logic inlined into templates. Removed `global.existingSecret`.
- **Updated docs** — `README.md`, `DEVELOPMENT.md`, chart
`README.md.gotmpl`, and `NOTES.txt` updated for accuracy.
- **Helm unit tests** — new `postgresql_test.yaml` suite;
`deployment_test.yaml`, `secrets_test.yaml`, and `validation_test.yaml`
updated for the new values structure.
# Change Type
/kind feature
/kind install
# Changelog
```release-note
Reintroduces a bundled PostgreSQL database option to the Helm chart with a new database.postgres.* values structure. The bundled database (postgres:18) is enabled by default for development and evaluation. Set database.postgres.bundled.enabled=false and supply database.postgres.url for production.
```
The fastest way to run the full stack locally is with [Kind](https://kind.sigs.k8s.io/). A single `make` target creates the cluster, deploys PostgreSQL/pgvector, builds the server image, and installs AgentRegistry via Helm.
5
+
The fastest way to run the full stack locally is with [Kind](https://kind.sigs.k8s.io/). A single `make` target creates the cluster, builds the server image, and installs AgentRegistry via Helm — a PostgreSQL instance with pgvector is bundled and deployed automatically by the Helm chart for local development.
6
6
7
7
### Prerequisites
8
8
@@ -19,13 +19,12 @@ The fastest way to run the full stack locally is with [Kind](https://kind.sigs.k
19
19
make setup-kind-cluster
20
20
```
21
21
22
-
This runs three steps in order:
22
+
This runs two steps in order:
23
23
24
24
| Step | Target | What it does |
25
25
|------|--------|-------------|
26
26
| 1 |`create-kind-cluster`| Installs `kind` to `./bin/`, creates Kind cluster + local registry (`localhost:5001`) + MetalLB |
27
-
| 2 |`install-postgresql`| Deploys `pgvector/pgvector:0.8.2-pg16` into the `agentregistry` namespace |
28
-
| 3 |`install-agentregistry`| Builds server image, pushes to local registry, Helm installs AgentRegistry |
27
+
| 2 |`install-agentregistry`| Builds server image, pushes to local registry, Helm installs AgentRegistry (bundled PostgreSQL with pgvector override for local dev) |
29
28
30
29
Each target can also be run independently — useful when iterating on code:
31
30
@@ -48,9 +47,9 @@ On subsequent runs, `install-agentregistry` reuses the `jwtPrivateKey` already s
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -189,6 +189,8 @@ When you run `arctl deploy`, agentregistry automatically configures the gateway
189
189
|[MCP Go SDK](https://github.com/modelcontextprotocol/go-sdk)| Go SDK for building MCP servers |
190
190
|[Model Context Protocol](https://modelcontextprotocol.io/)| The open standard for AI-to-tool communication |
191
191
192
+
> **Semantic search** requires a PostgreSQL instance with the pgvector extension. It is disabled by default. To enable it, ensure your database has pgvector support and set `AGENT_REGISTRY_DATABASE_VECTOR_ENABLED=true` (docker-compose / `.env`) or `--set database.postgres.vectorEnabled=true` (Helm).
0 commit comments