Deploy Care
Overview πΊοΈβ
Terraform provides a declarative approach to deploying Care on Google Cloud Platform (GCP) using various providers. This guide outlines the steps to initiate and manage the deployment process. π
Source: CodeCommit π
The repository contains Terraform scripts that utilize a GCS cloud storage bucket as a backend to deploy Care on GCP. π»
Deployment Process π§β
1. Planning π€β
To plan the deployment, run the following command:
ENV=egov-devops make plan
2. Execution πβ
To deploy, execute the following command:
ENV=egov-devops make deploy
Deployment Steps πβ
-
Enable Cloud Resource Manager API π:
- Enable the Cloud Resource Manager API from the Google Cloud Console.
- Create a service account key and store it in the project root directory.
-
Setup State Bucket π§±:
- Run the state bucket script to set up the state bucket.
-
Enable Required APIs π:
- Run gcp-apis script to enable the necessary APIs for deploying Care.
-
Network Infrastructure Setup π:
- Use VPC scripts to set up the network infrastructure.
-
Configure KMS Keys π:
- Use encryption scripts to configure KMS keys.
-
Allocate Storage Buckets ποΈ:
- Run Storagebuckets script to allocate storage buckets.
-
Initiate Postgres Database π:
- Use database script to initiate the Postgres database.
-
Create and Configure GKE Clusters β:
- Use K8s script to create and configure GKE clusters.
-
Deploy Workloads and Services π’:
- Utilize gke-workload script to deploy workloads, services, and other necessary components.
-
DNS Configuration π:
- Add the IP address obtained from the VPC script to the DNS configuration.
Provider Documentation πβ
- hashicorp/google: Manages lifecycle of GCP resources including Compute Engine, Cloud Storage, Cloud SQL, GKE, BigQuery, and more. π
- hashicorp/helm: Manages installed Charts in Kubernetes cluster similar to Helm. β
- hashicorp/kubernetes: Manages Kubernetes resources such as Deployments, Services, Custom Resources (CRs and CRDs), Policies, and Quotas. π³
This Terraform deployment guide facilitates the deployment of Care on GCP, providing a structured and automated approach to managing cloud resources.