Automated deployment and management of CloudberryDB environments on Google Cloud Platform (GCP) using Terraform and Ansible.
This repository contains Terraform configurations and Ansible playbooks for setting up and managing GCP environments for CloudberryDB.
ansible/
creds/
gcp-rocky9/
gcp-ubuntu24/
scripts/
terraform/
git clone <repository-url>
cd <repository-directory>
Create a service account in the Google Cloud Console and download the corresponding JSON key file. The service account should have the necessary permissions to provision VMs in your project.
Copy the JSON key file into the creds
directory (to be created by user) and rename it to ${project_id}-srvc.json
, replacing ${project_id}
with your actual GCP project ID.
cd gcp-rocky9 # or gcp-ubuntu24
terraform init
terraform plan
terraform apply
Navigate to the ansible directory and run the following command to configure CloudberryDB:
ansible-playbook --inventory ../gcp-rocky9/inventory.ini --private-key=../gcp-rocky9/ssh_keys/id_rsa-VMs playbooks/cloudberry_setup.yml
- Ansible version: 2.17.1 (installed via Homebrew)
- Operating System: macOS Sonoma 14.5
- Hardware: MacBook Air
- Terraform
- Google Cloud SDK
- direnv
- jq
- Ansible
- GCP project and credentials
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
Contributions are welcome! Please submit a pull request with your changes and a brief description of what you've added or modified.