Harthelm Docs

Managed services

Chart values: marketplace.

Generated from charts/harthelm/values.yaml at v1.5.0

marketplace

Managed services: the built-in providers of the catalog and the client of REST provider backends. Cluster admins publish further providers through the API (PUT /api/v1/providers/{name}).

ValueTypeDefaultDescription
marketplace.builtin.postgresobjectPostgreSQL 17 and 18: one CloudNativePG cluster of one instance per database, in the team's namespace. Needs the CNPG operator (and rbac.cnpg); without it the provider is listed as unavailable. Disabling it keeps existing databases running.
marketplace.builtin.postgres.enabledbooleantrue
marketplace.builtin.postgres.imagesobjectOperand image per PostgreSQL major version, pinned by tag and digest: the minor version moves only with a Harthelm release, and a release that moves it restarts every database once. global.imageRegistry applies, so air-gapped installs mirror them.
marketplace.builtin.postgres.images.17.registrystring"ghcr.io"
marketplace.builtin.postgres.images.17.repositorystring"cloudnative-pg/postgresql"
marketplace.builtin.postgres.images.17.tagstring"17.11"
marketplace.builtin.postgres.images.17.digeststringbelow
marketplace.builtin.postgres.images.18.registrystring"ghcr.io"
marketplace.builtin.postgres.images.18.repositorystring"cloudnative-pg/postgresql"
marketplace.builtin.postgres.images.18.tagstring"18.6"
marketplace.builtin.postgres.images.18.digeststringbelow
marketplace.builtin.postgres.storageClassstring""The databases' volumes; empty: the cluster's default class. A class with reclaimPolicy Delete fits: deleting a database deletes its data, and the nightly dumps (backup.enabled) are the copy.
marketplace.builtin.postgres.schedulingobjectWhere the database pods run. They behave like always-running workloads: keep them off nodes that are drained at night (scheduling.ephemeralNodeSelector), with a node selector or an affinity.
marketplace.builtin.postgres.scheduling.nodeSelectorobject{}
marketplace.builtin.postgres.scheduling.tolerationslist of object[]
marketplace.builtin.postgres.scheduling.affinityobject{}
marketplace.builtin.postgres.overridesobject{}An RFC 7386 merge patch on the built-in definition (plans, schemas, texts): {plans: [...]} replaces the plans (Tiny 0.25 vCPU / 256 MiB / 1 GiB and Small 0.5 vCPU / 512 MiB / 5 GiB), null removes a key.
marketplace.builtin.valkeyobjectValkey (Redis-compatible), S3 object storage (SeaweedFS), MariaDB and RabbitMQ: one StatefulSet of one pod per instance that core runs itself, without an operator. All four share this shape; a provider is on once its driver ships (all four since 1.3.0). images maps each offered version to its image, pinned by tag AND digest (the doctor checks that every digest resolves, so an air-gapped mirror is complete); s3 has no versions and one image. global.imageRegistry applies. storageClass, scheduling and overrides work as for postgres; podMonitor (s3 and rabbitmq) renders a PodMonitor per instance where the Prometheus Operator is installed. Disabling a provider keeps its existing instances running.
marketplace.builtin.valkey.enabledbooleantrue
marketplace.builtin.valkey.imagesobjectThe project's official Debian image (BSD-3-Clause; Debian 13 base). A Harthelm upgrade with a new patch restarts every instance once.
marketplace.builtin.valkey.images.9.1.registrystring"docker.io"
marketplace.builtin.valkey.images.9.1.repositorystring"valkey/valkey"
marketplace.builtin.valkey.images.9.1.tagstring"9.1.2"
marketplace.builtin.valkey.images.9.1.digeststringbelow
marketplace.builtin.valkey.storageClassstring""The instances' volumes; empty: the cluster's default class. A class with allowVolumeExpansion lets them grow.
marketplace.builtin.valkey.schedulingobjectWhere the Valkey pods run: like the databases, keep them off nodes that are drained at night.
marketplace.builtin.valkey.scheduling.nodeSelectorobject{}
marketplace.builtin.valkey.scheduling.tolerationslist[]
marketplace.builtin.valkey.scheduling.affinityobject{}
marketplace.builtin.valkey.overridesobject{}An RFC 7386 merge patch on the built-in definition: {plans: [...]} replaces the plans (Tiny 0.1 vCPU / 128 MiB / 512 MiB, Small 0.25 vCPU / 512 MiB / 2 GiB, Medium 0.5 vCPU / 1 GiB / 4 GiB; parameters.valkey.maxmemory in MiB, half the memory when left out).
marketplace.builtin.s3.enabledbooleantrue
marketplace.builtin.s3.imageobjectSeaweedFS's official image (Apache-2.0; Alpine base), one release pinned per Harthelm release (no LTS upstream). A Harthelm upgrade with a new release restarts every S3 instance once (about 20 s without S3).
marketplace.builtin.s3.image.registrystring"ghcr.io"
marketplace.builtin.s3.image.repositorystring"chrislusf/seaweedfs"
marketplace.builtin.s3.image.tagstring"4.48"
marketplace.builtin.s3.image.digeststringbelow
marketplace.builtin.s3.storageClassstring""The instances' volumes; empty: the cluster's default class. A class with allowVolumeExpansion lets them grow.
marketplace.builtin.s3.schedulingobjectWhere the S3 pods run: like the databases, keep them off nodes that are drained at night.
marketplace.builtin.s3.scheduling.nodeSelectorobject{}
marketplace.builtin.s3.scheduling.tolerationslist[]
marketplace.builtin.s3.scheduling.affinityobject{}
marketplace.builtin.s3.overridesobject{}An RFC 7386 merge patch on the definition: {plans: [...]} replaces the plans (Tiny 0.25 vCPU / 256 MiB / 2 GiB, Small 0.5 vCPU / 512 MiB / 10 GiB, Medium 1 vCPU / 1 GiB / 50 GiB).
marketplace.builtin.s3.podMonitorbooleanfalseA PodMonitor per store for SeaweedFS's Prometheus metrics on 9327 (/metrics), where the Prometheus Operator is installed; core is then granted and watches PodMonitors. networkPolicy.metricsNamespaceSelector lets the scraper in; the team's pods reach the S3 port 8333 only, not 9327.
marketplace.builtin.mariadb.enabledbooleantrue
marketplace.builtin.mariadb.imagesobjectThe Docker Official Image (MariaDB Server is GPL-2.0; Ubuntu 24.04 base), one per LTS series. A Harthelm upgrade with a new patch restarts every instance once; a newer series is chosen per instance and upgraded in place. The nightly and on-demand dumps run mariadb-dump from the instance's own image, so client and server always match.
marketplace.builtin.mariadb.images.11.4.registrystring"docker.io"
marketplace.builtin.mariadb.images.11.4.repositorystring"library/mariadb"
marketplace.builtin.mariadb.images.11.4.tagstring"11.4.13"
marketplace.builtin.mariadb.images.11.4.digeststringbelow
marketplace.builtin.mariadb.images.11.8.registrystring"docker.io"
marketplace.builtin.mariadb.images.11.8.repositorystring"library/mariadb"
marketplace.builtin.mariadb.images.11.8.tagstring"11.8.9"
marketplace.builtin.mariadb.images.11.8.digeststringbelow
marketplace.builtin.mariadb.images.12.3.registrystring"docker.io"
marketplace.builtin.mariadb.images.12.3.repositorystring"library/mariadb"
marketplace.builtin.mariadb.images.12.3.tagstring"12.3.3"
marketplace.builtin.mariadb.images.12.3.digeststringbelow
marketplace.builtin.mariadb.storageClassstring""The instances' volumes; empty: the cluster's default class. A class with allowVolumeExpansion lets them grow.
marketplace.builtin.mariadb.schedulingobjectWhere the MariaDB pods run: like the databases, keep them off nodes that are drained at night.
marketplace.builtin.mariadb.scheduling.nodeSelectorobject{}
marketplace.builtin.mariadb.scheduling.tolerationslist[]
marketplace.builtin.mariadb.scheduling.affinityobject{}
marketplace.builtin.mariadb.overridesobject{}An RFC 7386 merge patch on the built-in definition: {plans: [...]} replaces the plans (Tiny 0.25 vCPU / 384 MiB / 1 GiB, Small 0.5 vCPU / 768 MiB / 5 GiB, Medium 1 vCPU / 2 GiB / 20 GiB; parameters.mariadb are server settings such as innodb_buffer_pool_size and max_connections).
marketplace.builtin.rabbitmq.enabledbooleantrue
marketplace.builtin.rabbitmq.imagesobjectThe Docker Official Image (MPL-2.0; Ubuntu 24.04, Erlang/OTP 27), one per release series. Community patches exist only for the newest series: a release ships the current series and, while it is patched, the previous one, and core moves an instance whose series a release drops to the next one (a definitions dump first). A Harthelm upgrade with a new patch restarts every broker once.
marketplace.builtin.rabbitmq.images.4.3.registrystring"docker.io"
marketplace.builtin.rabbitmq.images.4.3.repositorystring"library/rabbitmq"
marketplace.builtin.rabbitmq.images.4.3.tagstring"4.3.6"
marketplace.builtin.rabbitmq.images.4.3.digeststringbelow
marketplace.builtin.rabbitmq.storageClassstring""The brokers' volumes; empty: the cluster's default class. A class with allowVolumeExpansion lets them grow.
marketplace.builtin.rabbitmq.schedulingobjectWhere the brokers run: like the databases, keep them off nodes that are drained at night.
marketplace.builtin.rabbitmq.scheduling.nodeSelectorobject{}
marketplace.builtin.rabbitmq.scheduling.tolerationslist[]
marketplace.builtin.rabbitmq.scheduling.affinityobject{}
marketplace.builtin.rabbitmq.overridesobject{}An RFC 7386 merge patch on the built-in definition: {plans: [...]} replaces the plans (Tiny 0.25 vCPU / 512 MiB / 1 GiB, Small 0.5 vCPU / 1 GiB / 5 GiB, Medium 1 vCPU / 2 GiB / 10 GiB; the broker blocks publishers at 60 % of the memory).
marketplace.builtin.rabbitmq.podMonitorbooleanfalseA PodMonitor per broker for its Prometheus metrics on 15692 (/metrics), where the Prometheus Operator is installed; core is then granted and watches PodMonitors. networkPolicy.metricsNamespaceSelector lets the scraper in; the team's own pods always reach 15692.
marketplace.rest.pollSecondsinteger30How often core asks each REST provider backend for the status of its instances (seconds, with jitter).
marketplace.rest.timeoutSecondsinteger10Upper bound of one request to a backend whose definition sets no timeoutSeconds.
marketplace.tombstoneDaysinteger7How long a deleted managed service stays listed as recently deleted.
marketplace.browserHostsobjectEvery RabbitMQ and S3 instance gets its own host ms-<n>.<workspace domain> (n: the instance's number) for browsers, under the existing wildcard DNS name and certificate: RabbitMQ's management UI (always behind the gate, single sign-on from the console) and S3 for presigned URLs and public assets. Off: no hosts (the 1.3 behaviour); turning it on or off restarts the RabbitMQ brokers once (their single sign-on).
marketplace.browserHosts.enabledbooleantrue
marketplace.browserHosts.allowPublicbooleantrueTeam members may switch an S3 store's host public (no gate; the store's public buckets readable by anyone). false keeps every host gated whatever an instance asks, without changing the instances' own setting.
marketplace.storageWriteProbeobjectThe doctor's write probe (check managed-storage-write): for each storage class the enabled Valkey, S3, MariaDB and RabbitMQ put new volumes on, core runs a short Job in the release namespace whose pod has exactly their security context (security.defaultUid as user, primary group and fsGroup, group 0 supplementary; restricted) and a fresh 64 MiB volume of the class, writes and reads files on it and deletes the Job with its volume. At core's start for new values, then a day after a pass and an hour after a failure (on a class with reclaimPolicy Retain, which keeps every probe's volume, only when the class or the context changes and daily after a failure). Core's own image and its existing rights (Jobs, pods, claims) are all it needs; off: the check says skip.
marketplace.storageWriteProbe.enabledbooleantrue

Long defaults

marketplace.builtin.postgres.images.17.digest

sha256:70664ebcfa1100361b5bdc28bbf06fdbe08db2dc4ad7bd14de33c5e05fe8ea8e

marketplace.builtin.postgres.images.18.digest

sha256:899d3ed526b659d77935dde0e6bf2d69dbbf17d3d8c6486ca8cfd04bd3c18533

marketplace.builtin.valkey.images.9.1.digest

sha256:418652cfb58ef879d4978c33553735d7147016032d5aefaa14c828e611eb9dfd

marketplace.builtin.s3.image.digest

sha256:4e61d15fd35994cb1e43e1e553dff106794841fd9a99ade2fc8c8bfce4d7872d

marketplace.builtin.mariadb.images.11.4.digest

sha256:1292844148b311e4ed4300022a996d39083f415a963e970cf47cad1b3b18e3a6

marketplace.builtin.mariadb.images.11.8.digest

sha256:6422478cb8e159f080fb1d8ccf65101e26fe51385787fde7d16c3b165a331f15

marketplace.builtin.mariadb.images.12.3.digest

sha256:2bdff1534a7e569fecaf4b10b66ad0d410806e382d9db29ba305448addda97c4

marketplace.builtin.rabbitmq.images.4.3.digest

sha256:42b190dffdd0cdb656f989f5404c30e1049d6b7d9c987089669b1905e5e3a1a6

On this page