Configuration
Pass your settings in a values file with -f my-values.yaml. Anything you omit keeps the default from the chart's values.yaml. Use helm show values . to see every option with the maintainers' comments.
Settings you will set
| Value | Default | Notes |
|---|---|---|
namespace | glyph | Where everything lands. Must equal helm install --namespace and mongo.namespace. |
global.domain | glyphapp.io | Domain part of the hostname. |
global.subdomain | "" | Subdomain part. The host is <subdomain>.<domain>. If left empty, the host renders as .glyphapp.io, which is invalid. |
ingress.hosts | [] | Optional explicit host list, used instead of domain and subdomain. The application uses the first entry as its hostname. |
ingress.tls.secretName | glyph-app-tls | TLS Secret in istio-system. |
server.image.repository | glyph-server | Full repository path in your registry. Set tag to the release SENTRIQS provides. |
frontend.image.repository | glyph-frontend | Full repository path in your registry. Set tag to the release SENTRIQS provides. |
mongo.image.repository | glyph-mongodb | Set tag to the release SENTRIQS provides. Replaces only the mongod container. An empty repository falls back to the operator's default image. |
server.secrets.localSecretName | glyph-app-local-secrets | Name of the application Secret. |
global.environment | production | Passed to the server as ENV. |
Periodic jobs
All four jobs run the server image on a schedule. Each can be switched on and off and rescheduled under cronJobs.<name>.
| Job | Default | Schedule | Needs |
|---|---|---|---|
cleanup | On | Daily, 04:10 | MongoDB, outbound email |
archiver | Off | 00:01, 08:01, 16:01 | MongoDB, object storage |
analytics | Off | 06:10, 18:10 | MongoDB, object storage, Snowflake |
dailyMetrics | Off | Daily, 03:05 | MongoDB, Snowflake |
Enable archiver only after you have verified archiving in your own environment with SENTRIQS. Enable analytics and dailyMetrics only when real Snowflake credentials are in the application Secret.
Sizing and availability
The defaults are lean so a first install converges quickly. High availability is a values override, and the MongoDB and RabbitMQ operators handle the clustering for you.
| Component | Replicas | Resources | Storage |
|---|---|---|---|
| Frontend | 2 | Request 100m CPU and 128Mi, limit 500m CPU and 512Mi | None |
| Server | 2 | Request 100m CPU and 512Mi, limit 1 CPU and 2Gi | None |
| MongoDB | 1 member | Not set by the chart | 20Gi (mongo.storage) |
| RabbitMQ | 1 | Request 100m CPU and 256Mi, limit 500m CPU and 512Mi (fixed) | 10Gi (rabbitmq.storage) |
| SeaweedFS | 1 each of master, volume, filer, S3 | Not set by the subchart | 1Gi, 10Gi, 10Gi |
- High availability. Raise
mongo.membersandrabbitmq.replicaCount(for example to 3) and the operators form the replica set and cluster and roll out the change. The RabbitMQ operator is tested with 1, 3, or 5 replicas. SeaweedFS component counts are set underseaweedfs.master.replicas,seaweedfs.volume.replicas,seaweedfs.filer.replicas, andseaweedfs.s3.replicas. - Server and frontend. Two replicas by default. Change
server.replicaCountandfrontend.replicaCount. Layer PodDisruptionBudgets, anti-affinity, or autoscaling on top through your own cluster policy. - Disk. Volume sizes are set when the volume is created. Resizing later depends on your StorageClass.
Known limitations
- No external databases. Setting
mongo.enabledorrabbitmq.enabledtofalseremoves the matching server settings. It does not point the server at your own MongoDB or RabbitMQ, because the chart has no values for that. - One hostname. The application is configured for a single host.
- Leave
ingress.pathsat its default. All traffic enters through the frontend, which proxies to the server. - Bucket name is duplicated.
storage.bucketandseaweedfs.s3.createBuckets[0].namemust be kept equal by hand if you change either. skipAwsSecretsdoes not replace the Secret. Setting it tofalseadds an AWS Secrets Manager reference, but the Kubernetes Secret and all its keys are still required.- No scheduling or extension hooks. There are no values for
nodeSelector,tolerations,affinity, service account annotations, extra environment variables, or extra volumes. If you need them, ask SENTRIQS. - No
imagePullSecrets. See Prerequisites.