Instance Configuration¶
Instance behavior is controlled by configuration files in the cluster repository and by Tutor-generated Kubernetes manifests.
Configuration Files¶
Each instance has a directory under instances/<instance-name>/ in the cluster repo, typically containing:
config.yml- Tutor/Open edX configuration. Used by Tutor to generate Kubernetes manifests and by Picasso for image builds. Contains settings for: Docker images and registry; Tutor version and plugins (e.g. Drydock); Open edX version and repository; LMS/CMS hosts and HTTPS; MySQL, MongoDB, and storage connection detailsapplication.yml- ArgoCD Application manifest that points ArgoCD at the source (e.g. cluster repo path) for this instance.
Picasso may overwrite parts of config.yml (e.g. image tags) when building images; avoid hand-editing those sections if you use automated builds.
Tutor and Drydock¶
- Tutor generates the Kubernetes YAML for the instance (Deployments, Services, Ingress, etc.) from
config.yml. - Drydock is a Tutor plugin used in this stack; options such as
DRYDOCK_INIT_JOBSandDRYDOCK_REGISTRY_CREDENTIALSare set inconfig.yml.
Regenerate manifests with Tutor from the instance config and commit the result to the cluster repo so ArgoCD can sync.
Secrets and Sensitive Data¶
Database passwords and similar values will be:
- Generated at instance creation (e.g. stored in
config.yml) - Injected via environment variables in CI (e.g. GitHub Actions secrets) when running
launchpad_create_instance
Keep config.yml and any files containing secrets in a private repository and restrict access.
Related Documentation¶
- Instances Overview - Instance lifecycle
- Provisioning - How instance config is generated at creation
- Infrastructure Overview - Tutor and Drydock
- Docker Images - How config affects image builds
See Also¶
- Deprovisioning - Cleanup and config
- Debugging - Config and secrets troubleshooting
- Cluster Configuration - Cluster-wide settings