Skip to main content

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​

ValueDefaultNotes
namespaceglyphWhere everything lands. Must equal helm install --namespace and mongo.namespace.
global.domainglyphapp.ioDomain 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.secretNameglyph-app-tlsTLS Secret in istio-system.
server.image.repositoryglyph-serverFull repository path in your registry. Set tag to the release SENTRIQS provides.
frontend.image.repositoryglyph-frontendFull repository path in your registry. Set tag to the release SENTRIQS provides.
mongo.image.repositoryglyph-mongodbSet tag to the release SENTRIQS provides. Replaces only the mongod container. An empty repository falls back to the operator's default image.
server.secrets.localSecretNameglyph-app-local-secretsName of the application Secret.
global.environmentproductionPassed 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>.

JobDefaultScheduleNeeds
cleanupOnDaily, 04:10MongoDB, outbound email
archiverOff00:01, 08:01, 16:01MongoDB, object storage
analyticsOff06:10, 18:10MongoDB, object storage, Snowflake
dailyMetricsOffDaily, 03:05MongoDB, 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.

ComponentReplicasResourcesStorage
Frontend2Request 100m CPU and 128Mi, limit 500m CPU and 512MiNone
Server2Request 100m CPU and 512Mi, limit 1 CPU and 2GiNone
MongoDB1 memberNot set by the chart20Gi (mongo.storage)
RabbitMQ1Request 100m CPU and 256Mi, limit 500m CPU and 512Mi (fixed)10Gi (rabbitmq.storage)
SeaweedFS1 each of master, volume, filer, S3Not set by the subchart1Gi, 10Gi, 10Gi
  • High availability. Raise mongo.members and rabbitmq.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 under seaweedfs.master.replicas, seaweedfs.volume.replicas, seaweedfs.filer.replicas, and seaweedfs.s3.replicas.
  • Server and frontend. Two replicas by default. Change server.replicaCount and frontend.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.enabled or rabbitmq.enabled to false removes 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.paths at its default. All traffic enters through the frontend, which proxies to the server.
  • Bucket name is duplicated. storage.bucket and seaweedfs.s3.createBuckets[0].name must be kept equal by hand if you change either.
  • skipAwsSecrets does not replace the Secret. Setting it to false adds 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.