This repository contains OpenTofu templates to deploy FalkorDB on cloud.
- OpenTofu CLI
- kubectl
- Helm
- AWS CLI
- GCloud CLI
- Velero CLI
Scripts to help work with this repository
- tofu_init.sh: Initialize OpenTofu working directory.
- tofu_upgrade.sh: Upgrade OpenTofu dependency.
- tofu_new_workspace.sh: Create workspace for deployment.
- tofu_select_workspace.sh: Switch between workspaces.
- tofu_delete_workspace.sh: Delete workspace.
- tofu_list_workspace.sh: List available workspaces.
- tofu_plan.sh: Generate execution plan to be deployed.
- tofu_plan_aws.sh: Generate execution plan to be deployed for the AWS target.
- tofu_plan_k8s.sh: Generate execution plan to be deployed for the K8S target.
- tofu_apply.sh: Deploy the plan to the cloud provider.
- tofu_apply_aws.sh: Deploy the AWS target to the cloud provider.
- tofu_apply_k8s.sh: Deploy the K8S target to the cloud provider.
- tofu_destroy.sh: Delete the deployment from the cloud provider.
- tofu_output.sh: Show deployment output.
- tofu_show.sh: Show the state configuration.
- tofu_test.sh: Run Tofu tests.
- aws_update_kubeconfig.sh: Update kubectl config.
- kubectl_connect_falkordb_master.sh: Port forward into the FalkorDB master node.
- kubectl_connect_grafana.sh: Port forward into the grafana gui.
- kubectl_connect_prometheus.sh: Port forward into the prometheus gui.
- kubectl_connect_alertmanager.sh: Port forward into the alert manager gui.
- gcp_update_kubeconfig.sh: Update kubectl config. Args: 1=cluster-name, 2=region, 3=project-name
This folder contains OpenTofu templates to deploy FalkorDB.
- tofu/gcp: Contain the folder structure for the organization to be deployed on GCP
- bootstrap: Contain the terraform resources for bootstrapping the projects and creating the state bucket
- org: Contain the files for creating the Organization hierarchy and projects required for the system. It also activates required APIs and setup Service Accounts and permissions
- tenant_group: Contain the files to provision a Tenant Group in GCP, including infrastructure and setting up the cluster resources
- tenant: Contain the files to provision a Tenant inside a Tenant Group in GCP, including infrastructure and setting up the cluster resources