Deploying to Production
Depending on your setup and requirements, you may or may not want to use Garden to deploy to your production environment. In either case, if you do configure your production environment in your Garden project configuration, we highly recommend that you set the production flag on it.
This will protect against accidentally messing with your production environments, by prompting for confirmation before e.g. deploying or running tests in the environment.
The flag is also given to each provider, which may modify behavior accordingly. In particular, when used with the
kubernetesprovider, it will do the following:
- 1.Set the default number of replicas for
containerservices to 3 (unless specified by the user).
- 2.Set a soft AntiAffinity setting on
containerdeployments to try to schedule Pods in a single Deployment across many nodes.
- 3.Set a restricted
securityContextfor Pods (runAsUser: 1000, runAsGroup: 3000, fsGroup: 2000).
- 4.Increase the
RevisionHistoryLimiton workloads to 10.
- 5.By default, running
garden deploy --forcewill propagate the
helm upgrade, and set the
helm installwhen deploying
helmmodules. This may be okay while developing but risky in production, so the
productionflag prevents both of those.
We would highly appreciate feedback on other configuration settings that should be altered when
production: true. Please send us feedback via GitHub issues or reach out on our Discord Community!