Environments & Git
Understand tenant namespaces, Git repositories, and split deployments
Tenant Namespace
An environment is a dedicated abstraction of your infrastructure, usable via your Git namespace (with the name of your environment).
Each tenant has a GitLab tree with repositories for different services (puppet, terraform, container, etc.).
Important
DO NOT move or change permissions of any repositories or groups managed by GI (puppet, terraform, container, etc.). If you do, Terraform will destroy everything.
In each repository, you can target your platform (prod, preprod, sandbox) by working on the corresponding branch.
Split Deployments
The automation service (autov2) gives you the ability to split your deployments independently. This means:
- Smaller Terraform states
- Quicker and isolated deployments
- No impact on other deployments in your service
Create a Split Deployment
Download the deploymentv2 binary from Artifactory.
Linux:
./deploymentv2 -tenant core -region apac -service compute -name automationWindows (PowerShell):
./deploymentv2.exe -tenant core -region apac -service compute -name automation -token XXXArguments:
| Argument | Description |
|---|---|
tenant | The tenant you want to provision to |
region | The region of your tenant |
service | The service (any service hosted in autov2) |
name | The name for your new deployment |
token | Your GitLab token |
The new deployment repository will appear under your service group in GitLab.
Moving existing resources
If you already have resources in the default repository and want to move them into your new repository, follow the migration guide.