Blueprints for Crossplane on Amazon EKS
Note: AWS Blueprints for Crossplane on Amazon Elastic Kubernetes Service is under active development and should be considered a pre-production framework.
Welcome to the AWS Crossplane Blueprints.
Introduction
AWS Crossplane Blueprints is an open source repo to bootstrap Amazon Elastic Kubernetes Service Clusters. and provision AWS resources with a library of Crossplane Compositions (XRs) with Composite Resource Definitions (XRDs).
If you are new to Crossplane, it is highly recommended to get yourself familiarized with Crossplane concepts. The official documentation and this blog post are good starting points.
Compositions in this repository enable platform teams to define and offer bespoke AWS infrastructure APIs to the teams of application developers based on predefined Composite Resources (XRs), encompassing one or more of AWS Managed Resources (MRs)
Features
✅ Bootstrap Amazon EKS Cluster and Crossplane with Terraform
✅ Bootstrap Amazon EKS Cluster and Crossplane with eksctl
✅ AWS Provider - Crossplane Compositions for AWS Services
✅ Upbound AWS Provider - Upbound Crossplane Compositions for AWS Services
✅ AWS IRSA on EKS - AWS Provider Config with IRSA enabled
✅ Patching 101 - Learn how patches work.
✅ Example deployment patterns for Composite Resources (XRs) for AWS Provider
✅ Example deployment patterns for Crossplane Managed Resources (MRs)
Getting Started
✅ Bootstrap EKS Cluster
This repo provides multiple options to bootstrap Amazon EKS Clusters with Crossplane and AWS Providers. Checkout the following README for full deployment configuration
✅ Configure the EKS cluster
Enable IRSA support for your EKS cluster for the necessary permissions to spin up other AWS services. Depending on the provider, refer to the bootstrap README for this configuration.
- AWS Provider - Crossplane Compositions for AWS Services
- Upbound AWS Provider - Upbound Crossplane Compositions for AWS Services
✅ Deploy the Examples
With the setup complete, you can then follow instructions on deploying crossplane compositions or managed resources you want to experiment with. Keep in mind that the list of compositions and managed resources in this repository are evolving.
- Deploy the Examples by following this README
✅ Work with nested compositions.
Compositions can be nested to further define and abstract application specific needs.
- Take a quick tour of a nested composition example
✅ Work with external secrets.
Crossplane can be configured to publish secrets external to the cluster in which it runs.
- Try it out with this guide
✅ Check out the RDS day 2 operation doc
✅ Checkout example Gatekeeper configurations.
✅ Upbound AWS provider examples
- Deploy the Examples by following this README
Learn More
- Amazon EKS
- Crossplane
- AWS Provider for Crossplane
- API Docs provider-aws
Debugging
For debugging Compositions, CompositionResourceDefinitions, etc, please see the debugging guide.
Security
See CONTRIBUTING for more information.
License
This library is licensed under the Apache 2.0 License.