Skip to content

A PaaS workflow with GitOps / ChatOps features that supports DO K8S, VPC, Spaces, LetEncrypt TLS, Container Registry & CDN via CDKTF

License

Notifications You must be signed in to change notification settings

workflows-sh/do-k8s-cdktf

Repository files navigation

digitalocean

Overview

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.

Table of contents


Prerequisites

DigitalOcean Infrastructure

This repo includes the following resources:

  • Docker Registry
  • Kubernetes Cluster
  • MySQL Databases
  • Postgres Databases
  • Redis Databases
  • Load balancers

Demo

You can try run, configure, and deploy the DigitalOcean Kubernetes workflow directly on our Platform. kindly follow the steps below to get started 🚀

Latest Version

The DigitalOcean Kubernetes workflow is updated and running the latest version


Getting Started

git clone https://github.com/workflows-sh/do-k8s-cdktf.git

cd do-k8s-cdktf

Create Account

Before you can deploy this Workflow, you need to Setup your account on CTO.ai

Create API keys on DigitalOcean


Create an Account on Terraform Cloud


Usage

After creating your accounts on CTO.ai and Terraform Cloud, set up your Infrastructure.

Build Pipelines for your DigitalOcean 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.

Setup DigitalOcean Kubernetes Infrastructure

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.

View Configuration in Terraform Workspace

Run the Deploy Workflow

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

View your Kubernetes Services

Back in your service application, you can view all running services and nodes using a Kubernetes tool like Lens


Destroy your Environment

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


Getting help

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

Reporting bugs and Contributing

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

Learn more

Commands

  • Check out our Commands file on how to set up configs in your environment.

Other questions?

Check out our FAQ, send us an email, or open an issue with your question. We'd love to hear from you!

License

© CTO.ai, Inc., 2023

Distributed under MIT License (The MIT License).

See LICENSE for more information.

About

A PaaS workflow with GitOps / ChatOps features that supports DO K8S, VPC, Spaces, LetEncrypt TLS, Container Registry & CDN via CDKTF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published