Adding Your First Project

This page contains a simple guide to help you get started with Garden Enterprise and become familiar with its main concepts.

Add Your First Project

After installing Garden Enterprise, you can log in to the web UI from your browser. The URL will be the main hostname you provided during the installation. After logging in, follow the instructions on the page to add your first project.

Connect the Project

Once you've added the project, click on it, and take note of the project ID and domain:

Project ID and domain

If you haven't configured this project for Garden before, you'll have to do that before proceeding.

Next, go the project level garden.yml file for this project and add the ID and domain as top level keys, for example:

kind: Project
name: project-a
id: e633f47d-370d-4d33-a60a-6e514ab1b6c1

Log In From Garden Core CLI

Once you've added the ID and domain to your project, you can log in to Garden Enterprise from the Garden Core CLI by running:

garden login

Follow the instructions on the screen to complete the log in.

The Garden Core CLI is now connected to Garden Enterprise, and can read secrets and stream events and logs.

You can bypass the manual log in flow, e.g. if you're running Garden Core from a CI environment, by generating an access token for the user you want to log in as from the Teams page.

Once you've generated the token, set it in your environment like so: GARDEN_AUTH_TOKEN=<my-generated-auth-token>.

Add Your First Secret

Go to the project's Secrets page and create a secret called MY_TEST_SECRET:

Create a secret

(We'll be printing this secret later so use a fake value).

Secrets can be project wide, scoped to a specific environment, or scoped to a specific environment and a specific user. Garden will resolve the secret to the correct value at runtime.

If you don't see the environment you're looking for in the environment dropdown, you can create it by running a Garden command in that environment while logged in.

Create a Workflow

Next, create the following workflow for your project:

kind: Workflow
name: enterprise-test
description: Testing out Garden Enterprise
- script: echo "Got secret ${secrets.MY_TEST_SECRET}"
name: echo
description: Echo the secret value
- events: [pull-request]
environment: ci # <--- Use one of your own environments here

Make sure to use one of your own environments in the triggers[].environment field.

This is a simple workflow that just prints the secret value. For a more comprehensive guide on configuring workflows see our core docs, and for a guide on configuring workflows specifically for Garden Enterprise, see here.

The triggers spec is specific to Garden Enterprise and tells it to run this particular workflow in the ci environment (or the environment that you specified) on VCS events of type pull-request. I.e., when you open or update a pull/merge request on GitHub or GitLab.

Run the Workflow Locally

Now, try running the workflow from the command line:

garden run workflow enterprise-test

The workflow run should now be visible in the Garden Enterprise UI under Project > Environment > Namespace:

Namespace page

You can click the logs icon next to the workflow run to see the actual result:

Workflow run logs

Trigger Workflow on VCS Event

Finally, let's open a pull/merge request with our changes and see how Garden Enterprise automatically runs the workflow.

This is where the triggers spec we defined above comes into play.

Commit your changes, push them to GitHub/GitLab and open a pull/merge request.

As soon as you do that, Garden Enterprise will proceed to clone the branch, validate your configuration and run this workflow. On GitHub, you will see checks that report the status of the workflow. On GitLab you will see status updates reported via comments (WIP as of writing).

Garden Enterprise also sends the service endpoints it finds to GitHub/GitLab so that you can view the preview environments that may have been deployed, straight from the pull/merge request page.

As with the workflow you ran locally, this workflow run is also visible in the Garden Enterprise UI, under the environment and namespace in which it ran.

Next Steps

Now that you're familiar with the basics of Garden Enterprise, you can proceed to add more of your team members from the Teams page.

You can also look at our workflow configuration for more information on configuring triggered workflows, deploying preview environments and cleaning them up.