Skip to content

irizzante/configuration-caas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cluster-as-a-Service base configuration

This repo provides a configuration for a Cluster-as-a-Service, built on top of Crossplane. This configuration exposes a simple API to your internal developers for creating Kubernetes clusters. In the background, this configuration can create clusters in AWS, Azure, and GCP. It automatically applies common recommended practices, such as connecting the cluster to existing Flux or ArogCD deployments, automating VPC setup, and creating a Flux or ArgoCD operator in a cluster.

This repo is a starting point for you to deliver your own Cluster-as-a-Service. Fork this repository and customize the configuration to meet your teams' needs.

To deploy a multicloud Cluster-as-a-Service control plane in your organization, check out the Multicloud Quickstart.

Advantages of Cluster-as-a-Service:

  • GitOps workflow with Flux or ArgoCD
  • Production-ready template
  • Scalable architecture
  • Product agnostic approach

Available APIs

This repository implements Compositions for AWS, Azure, and GCP provider APIs, as well as the Upbound Control Plane provider. For more information, review the API documentation below:

The apis folder has the CompositeResourceDefinitons (XRDs) that define the schemas for the cloud provider APIs.

Once you clone the repository, you can modify the included compositions to fit your organizations needs.

Deployment

To deploy in a new organization, follow the Get Started guide.

For deployments to an existing organization, log in to your Upbound organization and go to Configurations and click Create Configuration.

Connect your Upbound organization to GitHub. Select the Github organization and repository name for your cloned repo and choose the Cluster as a Service configuration.

When your new configuration is ready, create a new control plane based on the cloned repo you just created.

After a few minutes, your new control plane is ready!

To authenticate and configure your providers, see the multicloud deployment guide.

Once authenticated and configured, your self-service Upbound console lists available cloud resources.

GitOps integration

Cluster-as-a-Service deployments work best when managed in your infrastructure as code lifecycle.

For more information on how to integrate Argo CD and Flux in your Upbound environment, check out the GitOps with Control Planes doc.

Contributing

If you encounter issues or want to request improvements, review the Contributing Guides.

About

Configuration for Cluster-as-a-Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 54.8%
  • Makefile 45.2%