Global InfraGlobal Infra Cloud

Environments & Git

Understand tenant namespaces, Git repositories, and split deployments

Edit

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 automation

Windows (PowerShell):

./deploymentv2.exe -tenant core -region apac -service compute -name automation -token XXX

Arguments:

ArgumentDescription
tenantThe tenant you want to provision to
regionThe region of your tenant
serviceThe service (any service hosted in autov2)
nameThe name for your new deployment
tokenYour 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.

On this page