Install and configuration
- Do not rename the
redisrelease. The workers and the APIs are configured to reachredis-redis-ha-haproxy, a name the chart derives from the release name, so renaming it makes every consumer lose the cache with no obvious error. Context: Installation examples. - In the phased RabbitMQ install, the final release must be named
rabbitmq. The cluster’s generated service name is what the workers and the APIs are configured to reach, so a different name leaves them pointing at a service that does not exist. Context: Installation examples. - On Azure, do not leave a value in
AWS_S3_BUCKET_NAME. The workers select S3 over Blob Storage by whether that key has a value, so a stale bucket name sends the workers to S3 while the API writes to Blob Storage, and uploads appear to succeed and are unreadable afterwards. Context: Installation examples. - Do not commit your filled-in values or secrets to a Galtea repository. Nothing you fill in belongs in Galtea’s hosting; committing it puts your credentials in a repository you do not control. Keep your clone in your own Git hosting instead. Context: Installation examples.
Upgrades
- Do not run the APIs and the workers on different versions. They share the database schema, so a version split is unsupported and fails in ways that look like data bugs rather than an upgrade mistake. Context: Installation and lifecycle.
- Do not run two upgrades concurrently. The schema migration must not run twice at the same time; concurrent runs can leave the schema in a state neither version expects. Context: Installation and lifecycle.
- Do not jump minor versions on upgrade unless the release notes state that a jump is safe. Migrations are cumulative but tested only between consecutive versions, so a jump runs a path nobody has exercised. Context: Installation and lifecycle.
- Do not upgrade without a database backup you have restored at least once. A schema migration is not automatically reversible, so rolling back a release that included one means restoring the pre-upgrade backup, and an untested backup is a hope, not a rollback plan. Context: Installation and lifecycle.
Scope and environment
- Self-run PostgreSQL, or a self-run object store, moves backup responsibility to you. Supported, but backups, restore testing, failover, patching and capacity for those components become your team’s permanent work, and the first unrehearsed restore is where data gets lost. Context: Model 5: Self-hosted and Installation examples.
- Clouds other than AWS EKS and Azure AKS are an adaptation, not a run-unchanged target. GKE, OpenShift and other conformant distributions run the same charts once four pieces are mapped to their equivalents: object storage, secret storage, workload identity and ingress. That mapping is scoped work done with Galtea, typically alongside the first install, not something to attempt alone. Context: Cloud-specific details.
- Do not run an air-gapped install without a mirroring agreement. With no path to the registry, nothing can pull images or charts; the air-gapped path mirrors both into your internal registry and is agreed separately. Context: Cloud-specific details.
- Do not penetration-test the shared SaaS without written authorization. It is multi-tenant, so your traffic is indistinguishable from an attack on other customers. Against a private tenant or your own self-hosted install, only a window needs agreeing. Context: Security assurance.
- Do not plan around outbound mutual TLS. It is on the roadmap, not available today, so a design that requires your side to cryptographically verify the platform as the caller has a dependency with no date. Context: Security assurance.