Skip to content

Chart settings ​

Fluxify's Helm chart is configured with a values file, fluxify-values.yaml, passed to every helm install and helm upgrade with -f. This page lists every setting it can hold. Install on Kubernetes shows where the file is used.

A values file only needs the settings you change. Anything left out keeps its default.

TIP

To see the chart's full settings file, with a note on every line, for the release you run:

bash
helm show values oci://ghcr.io/fluxify-rest/charts/fluxify --version 0.0.2-alpha

Address ​

SettingWhat it doesDefault
urlThe address people open Fluxify at, e.g. https://fluxify.example.com. Sign-in only works at this address.http://localhost:8080

Database ​

Set exactly one of these three.

SettingWhat it doesDefault
postgres.urlFrom.secretThe name of a Secret, in Fluxify's namespace, that holds the database address. CloudNativePG makes one named <database>-app.—
postgres.urlFrom.keyThe key inside that Secret.uri
secret.values.PG_URLThe database address itself: postgres://USER:PASSWORD@HOST:5432/DATABASE.—
postgres.bundledRun one Postgres pod inside the chart. No copies, no backups: for trying Fluxify only.false
postgres.storageDisk size for that built-in Postgres.5Gi
postgres.imageThe image for that built-in Postgres.postgres:17-alpine

Keys and passwords ​

All of Fluxify's keys and passwords live in one Secret, fluxify-env. By default the chart creates it and generates every value you leave empty. A generated value is kept across upgrades, and the Secret is kept even after helm uninstall.

SettingWhat it doesDefault
secret.createfalse to create fluxify-env yourself, e.g. from a secret manager. See below.true
secret.values.MASTER_ENCRYPTION_KEYLocks the passwords and keys stored in Fluxify. Must be openssl rand -base64 32. Never change it once set.generated
secret.values.BETTER_AUTH_SECRETSigns sign-in sessions.generated
secret.values.SYSTEM_ACCESS_KEYA key that lets scripts and other systems call Fluxify's API without a user.generated
secret.values.NATS_TOKENNATS's password. Must start with a letter: NATS reads one like 5e3… as a number and does not start.generated
secret.values.REDIS_PASSValkey's password.generated
secret.values.SEED_USER_PASSWORDThe first account's password, used on an empty database only.generated
secret.values.PG_PASSWORDThe built-in Postgres's password.generated
secret.values.PG_URLSee Database.—

WARNING

A values file with passwords in it is a secret itself. Do not commit it to git with them in. Leave them out to have them generated, or use your own Secret.

Fluxify's own settings ​

SettingWhat it doesDefault
envAny other Fluxify setting, by its name in env.example.—
admin.seedUserEmailThe first account's email, used on an empty database only.[email protected]

For example:

yaml
env:
  ENABLE_AI: "true"
  # Add workers sooner: at 50% CPU instead of 65%.
  ORCHESTRATOR_SCALE_CPU_PERCENT: "50"
  OTLP_LOGS_ENDPOINT: https://logs.example.com/v1/logs

Values under env must be text, so quote numbers and true/false.

To send Fluxify's logs to a dashboard, with a complete example, see Logs and monitoring.

Resources ​

How much CPU and memory Fluxify's own pods ask for. Workers are sized per claim in the portal instead: see Sizing a worker.

SettingWhat it doesDefault
admin.resourcesThe portal and API. Test runs execute here, so it has a memory ceiling.250m CPU, 512Mi, at most 2Gi
orchestrator.resourcesThe orchestrator.100m CPU, 128Mi, at most 500m CPU and 512Mi
yaml
admin:
  resources:
    requests: { cpu: "1", memory: 1Gi }
    limits: { memory: 4Gi }

Web traffic ​

SettingWhat it doesDefault
ingressRoute.enabledSend /_/admin (the portal and API) to Fluxify through Traefik. false to expose it your own way; the service is fluxify-admin, port 8080.true
ingressRoute.entryPointThe Traefik entry point it listens on.web

NATS ​

NATS is installed with Fluxify from the official NATS chart: three servers, so losing one loses nothing. Any setting of that chart goes under nats:.

SettingWhat it doesDefault
nats.enabledfalse to use a NATS you already run.true
nats.config.cluster.replicasHow many NATS servers. At least 3 for production.3
nats.config.jetstream.fileStore.pvc.sizeDisk per NATS server.10Gi
external.natsUrlYour NATS, when nats.enabled is false, e.g. nats://nats.messaging.svc:4222. It must have JetStream on. Its token goes in secret.values.NATS_TOKEN.—
external.natsMonitoringEndpointYour NATS's monitoring address, host:8222, so workflow claims scale on waiting runs.—

Valkey ​

Valkey is installed with Fluxify from the official Valkey chart. Fluxify only keeps a cache in it, so one server is enough. Any setting of that chart goes under valkey:.

SettingWhat it doesDefault
valkey.enabledfalse to use a Valkey or Redis you already run.true
valkey.replica.enabledKeep copies on other machines, for faster recovery. Also set valkey.replica.persistence.size, e.g. 1Gi.false
external.redisHostYour Valkey or Redis, when valkey.enabled is false. Its password goes in secret.values.REDIS_PASS.—
external.redisPortIts port.6379
external.redisUserIts user, if it has users.—

Images and license ​

SettingWhat it doesDefault
image.tagRun another release's images than the chart's own. Best left alone.the chart's release
image.registryWhere the images come from, for a mirror.ghcr.io/fluxify-rest
image.pullPolicyWhen the cluster pulls images again.IfNotPresent
license.issuerKeySecretA Secret holding issuer.pub, for a self-signed license. Before 1.0 only.—

Example files ​

Production with CloudNativePG ​

Install on Kubernetes step 6's production file, with more room for the portal and API once many people use it:

yaml
url: https://fluxify.example.com

postgres:
  urlFrom:
    secret: fluxify-db-app

admin:
  resources:
    requests: { cpu: "1", memory: 1Gi }
    limits: { memory: 4Gi }

Your own NATS and Valkey ​

yaml
url: https://fluxify.example.com

postgres:
  urlFrom:
    secret: fluxify-db-app

nats:
  enabled: false
valkey:
  enabled: false

external:
  natsUrl: nats://nats.messaging.svc:4222
  natsMonitoringEndpoint: nats.messaging.svc:8222
  redisHost: valkey.cache.svc

Put their passwords in the Secret as NATS_TOKEN and REDIS_PASS: with --set-string secret.values.NATS_TOKEN=... on the command line, or in your own Secret.

Keys from your own Secret ​

With a secret manager (External Secrets, Sealed Secrets, Vault), create a Secret named fluxify-env in Fluxify's namespace before installing, and turn off the chart's:

yaml
secret:
  create: false

It must hold these keys:

KeyHow to make it
MASTER_ENCRYPTION_KEYopenssl rand -base64 32
BETTER_AUTH_SECRETopenssl rand -hex 32
SYSTEM_ACCESS_KEYopenssl rand -hex 32
NATS_TOKENn$(openssl rand -hex 31). It must start with a letter.
REDIS_PASSopenssl rand -hex 32
SEED_USER_PASSWORDA password you choose
PG_URLYour database address, unless you use postgres.urlFrom
PG_PASSWORDopenssl rand -hex 32, only with postgres.bundled

Trial on a laptop ​

yaml
url: http://localhost:8080

postgres:
  bundled: true

# One NATS server is enough to try things.
nats:
  config:
    cluster:
      enabled: false

Released under the Apache License 2.0. Enterprise features are under the Fluxify Enterprise Edition License.