This repo includes a complete Digital Ocean infrastructure complete with Kubernetes, Container Registry, Postgres, Spaces, Load Balancers SSL (via LetsEncrypt) and Project Resource Management all built using CDKTF & Terraform Cloud.
The repo also includes a PaaS workflow integration with CTO.ai that streamlines Developer Experience for utilizing the infrastructure, which includes interative workflows that work in the CLI & Slack, but also full CI/CD & Preview Environments for all delivery.
- Overview
- CTO.ai Account and CLI installed
- Docker, AWS CDK, and AWS CLI installed on your machine.
- Digital Ocean Account & CLI installed
- Terraform Cloud Account
- Kubernetes Lens or any Kubernetes Orchestration tool installed on your machine.
This repo includes the following resources:
- Docker Registry
- Kubernetes Cluster
- MySQL Databases
- Postgres Databases
- Redis Databases
- Load balancers
You can try run, configure, and deploy the DigitalOcean Kubernetes workflow directly on our Platform. kindly follow the steps below to get started 🚀
The DigitalOcean Kubernetes workflow is updated and running the latest version
git clone https://github.com/workflows-sh/do-k8s-cdktf.git
cd do-k8s-cdktf
Before you can deploy this Workflow, you need to Setup your account on CTO.ai
- Sign up and log in to your account on Terraform Cloud and add your Tokens to your account on CTO.ai.
After creating your accounts on CTO.ai and Terraform Cloud, set up your Infrastructure.
In your application directory, build your DigitalOcean workflow, the Docker image from your Dockerfile, and your ops.yml
file located in the specified path you created in your source directory using the ops build .
command.
Next, set up your DigitalOcean Kubernetes infrastructure to build, and run your DOKS workflow using the ops run .
and select setup kubernetes infrastructure on DigitalOcean
the command will provision your DigitalOcean stack using CDK and Terraform.
- Back in your Terraform Workspace you will see your DigitalOcean workflow created in your Terraform workspace As it is synchronizing the state to Terraform Cloud and your workflow grabs the output and synchronizes it in your developer control plane.
Next, deploy your changes to your environment using ops run -b .
. This command will deploy your DigitalOcean Kubernetes CDKTF workflow to your managed Kubernetes environment on DigitalOcean where you'll be able to input your environment name
, application repo
and branch
Back in your service application, you can view all running services and nodes using a Kubernetes tool like Lens
After configuring your DigitalOcean Kubernetes Workflow, you can destroy your environment and services that are running using the ops run .
command and select destroy an environment
CTO.ai DigitalOcean Kubernetes Workflow is an open-source project and is supported by the community. All versions on DOKS CTO.ai are supported on our Platform.
Learn more about CTO.ai community support channels here
- Slack (Chat): https://cto.ai/community
Feel free to submit PRs or to fill issues. Every kind of help is appreciated.
Kindly check our Contributing guide on how to propose bugfixes and improvements, and submitting pull requests to the project.
- View issues related to this image in our GitHub repository issue tracker
- Read the manual on our website
- Check out our Commands file on how to set up configs in your environment.
Check out our FAQ, send us an email, or open an issue with your question. We'd love to hear from you!
© CTO.ai, Inc., 2023
Distributed under MIT License (The MIT License
).
See LICENSE for more information.