You can now run the garden
binary in the root of the mntd-dot-dev
repository to start the development environment. You can see a full command reference here.
After performing the initial setup, you can get started with developing with the following commands:
1# setup environment variables for vault, garden, etc (populates `garden.dev.env.yaml`) 2garden run workflow get-env-variables 3 4# connect to the remote dev cluster 5garden run workflow get-dev-cluster-creds 6 7# BYPASSED FOR NOW 8# Authenticate and login to garden cloud. 9# If you are not able to authenticate, go to #eng-gardening and tag @garden-admins for help 10# garden login 11 12# initialize your cluster namespace and Okta configuration 13garden run workflow init-user-env 14 15# pull latest for all linked repositories (should be connected to VPN) 16garden update-remote sources 17 18# deploy your environment to the remote dev cluster (often faster if disconnected from VPN) 19garden deploy
All of these commands can be safely re-run as needed.
To develop on a module, you can link a source to a local directory and then run one or more services in dev mode:
1garden link source <source-name> <path-to-source-code> 2garden deploy --dev <service1>[,<service2>]
For more on linking sources, see the Developing docs.
Check the output of the garden dev
or garden deploy
to see where various Minted projects can be accessed. While garden dev
is running, you can also access a web dashboard that will show you the topology of your environment.
For example:
1✔ mono-mysql 2 → Forward: 127.10.0.54:3306 → Service/mono-mysql:3306 (db) 3 → Forward: 127.10.0.55:40533 → Deployment/mono-mysql:3306 (db)
Then you can access the database via localhost and port 40533.
Note: garden dev
MUST continue to be running for those ports to be accessible.
The first time you start your environment, the platform will provision TLS certificates for your ingresses. In some cases, verification of the TLS certificates can take 5-10 minutes, and garden
may time out waiting for them before they complete. In this case, simply wait a few minutes and run the garden dev
command again.
When you access one or more ingresses (exposed service endpoints in Kubernetes parlance), you will be prompted to authenticate to Okta if you have not done so previously. This is intended to protect your deployed environment from unprivileged access.