Overview
Overview¶
In this self-paced exercise, you will setup and use Environment Manager to build and manage resources in Google Cloud Platform. These resources will be controlled as a single environment through the controller.
Environment Manager enables a self-service model for Development and DevOps teams (Admins) to create environments while giving enough control to the central Ops, SRE and Platform teams (End Users) to enforce security, cost, governance guardrails and standardization.
In this exercise, the environment resources that will be created in GCP are defined in Terraform that are stored in a Git repository.
The following resources will be created as part of the environment:
- VPC
- VM
This exercise is expected to take ~60 minutes to complete.
A setup script will be used to assist in setting up the pre-requisites for this guide. The setup script wil perform the following actions:
- Create a repository in the controller
- Create a Secret Sealer in the controller
- Create a GitOps Agent that will run on the machine where the setup script is executed from
- Create a GitOps System-Sync pipeline in the controller that will be used to sync resources between the controller and the forked Git repository
The sequence diagram below illustrates the steps you will experience at a high level.
Important
Either the Environment Template User or the Infra Admin can perform the deploy/destroy operations on an environment.
sequenceDiagram
autonumber
participant admin as Platform Team
participant rafay as Rafay
participant user as Developer
rect rgb(191, 223, 255)
Note over admin,rafay: Setup Environment Template
admin->>admin: Clone Git Repo
admin->>rafay: Setup Env Manager <br>Resources
admin->>rafay: Input Cloud Credentials
end
rect rgb(191, 223, 255)
Note over rafay,user: Provision & Use Environment
user->>rafay: Create Environment
user->>rafay: Use Environment
user->>rafay: Destroy Environment
end
What Will You Do by Part¶
Part | What will you do? |
---|---|
1 | Setup and Configure Environment Manager |
2 | Manage the lifecycle of a GCP environment |
Assumptions¶
- You have access to a Google Cloud Platform Account
- You have access to a Mac or Linux machine
- You have a Git client on your machine that is setup for push/pull
- You have Docker installed on your machine