Development Quickstart

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.

Finding hosts and ports

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.

TLS Certificates

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.

Access Control

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.