Note: AWS Blueprints for Crossplane is under active development and should be considered a pre-production framework.
Welcome to the AWS Crossplane Blueprints.
AWS Crossplane Blueprints is an open source repo to bootstrap EKS Clusters and provision AWS resources with a library of Crossplane Compositions (XRs) with Composite Resource Definitions (XRDs).
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)
✅ Bootstrap Amazon EKS Cluster and Crossplane with Terraform
✅ Bootstrap Amazon EKS Cluster and Crossplane with eksctl
✅ AWS Provider - Crossplane Compositions for AWS Services
✅ Terrajet AWS Provider - Crossplane Compositions for AWS Services
✅ AWS IRSA on EKS - AWS Provider Config with IRSA enabled
✅ Example deployment patterns for Composite Resources (XRs) for AWS Provider and Terrajet AWS Provider
✅ Example deployment patterns for Crossplane Managed Resources (MRs)
✅ 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
Depending on whether you want to use the jet provider or the default provider for AWS, you need to install one or both of the crossplane providers on the EKS cluster. You will also need to enable IRSA support for your EKS cluster for the necessary permissions to spin up other AWS services. Refer to the bootstrap README for this configuration.
- AWS Provider - Crossplane Compositions for AWS Services
- Terrajet AWS Provider - 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
✅ Checkout example Gatekeeper configurations.
- Amazon EKS
- Crossplane
- AWS Provider for Crossplane
- API Docs provider-aws
- Terrajet AWS provider for Crossplane
- API Docs provider-jet-aws
For debugging Compositions, CompositionResourceDefinitions, etc, please see the debugging guide.
This repo is maintained by AWS OSS team:
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.