Skip to content
No description or website provided.
Go Shell Python Other
Branch: master
Clone or download
k8s-ci-robot Merge pull request #1129 from ncdc/credentials-error
 Record events for credentials and permissions issues
Latest commit 9dc57fd Sep 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add prow image building Sep 11, 2019
api Specified measurement unit for rootdevicesize comment Sep 10, 2019
build Update Bazel Aug 28, 2019
cmd Name v1alpha2 imports Aug 29, 2019
config Specified measurement unit for rootdevicesize comment Sep 10, 2019
controllers 🏃 Return an error if ELB doesn't have necessary subnets Sep 12, 2019
docs Fix broken link in docs/ Sep 12, 2019
examples Merge pull request #1115 from tahsinrahman/fix-gen-example Sep 10, 2019
hack Merge pull request #1129 from ncdc/credentials-error Sep 16, 2019
pkg Merge pull request #1129 from ncdc/credentials-error Sep 16, 2019
scripts Fix e2e error Aug 28, 2019
test Update files, Dockerfile and tooling to remove bazel and vendor Aug 28, 2019
.dockerignore Update files, Dockerfile and tooling to remove bazel and vendor Aug 28, 2019
.gitignore Add .DS_Store to .gitignore Sep 10, 2019
.golangci.yml Fix linting issues with asm_shim (#636) Mar 8, 2019 Update PR template to match CAPI Aug 19, 2019
Dockerfile 🏃 Allow to provide custom GOPROXY Aug 28, 2019
LICENSE Initial commit Jul 11, 2018
Makefile Remove hack/ Sep 12, 2019
OWNERS Adds ashish-amarnath as a reviewer (#616) Mar 4, 2019
OWNERS_ALIASES Match ncdc owner alias membership with k/org (#855) Jul 5, 2019
PROJECT Move types, controller, and manager to kubebuilder v2 Aug 13, 2019 📖 Update getting started guide to prerequisites doc Sep 10, 2019
cloudbuild.yaml Add prow image building Sep 11, 2019 Initial project skeleton Jul 11, 2018
envfile.example Lookup AMIs instead of hardcoding them. (#479) Jan 9, 2019
go.mod Get Secrets Sep 10, 2019
go.sum go mod tidy Sep 12, 2019
main.go make manager syncperiod configurable Aug 30, 2019

Kubernetes Cluster API Provider AWS

Go Report Card

Powered by AWS Cloud Computing

Kubernetes-native declarative infrastructure for AWS.

What is the Cluster API Provider AWS

The Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management.

The API itself is shared across multiple cloud providers allowing for true AWS hybrid deployments of Kubernetes. It is built atop the lessons learned from previous cluster managers such as kops and kubicorn.

Launching a Kubernetes cluster on AWS

Check out the Cluster API Quick Start for launching a cluster on AWS.


  • Native Kubernetes manifests and API
  • Manages the bootstrapping of VPCs, gateways, security groups and instances.
  • Choice of Linux distribution between Amazon Linux 2, CentOS 7 and Ubuntu 18.04, using pre-baked AMIs.
  • Deploys Kubernetes control planes into private subnets with a separate bastion server.
  • Doesn't use SSH for bootstrapping nodes.
  • Installs only the minimal components to bootstrap a control plane and workers.
  • Currently supports control planes on EC2 instances.

Compatibility with Cluster API and Kubernetes Versions

This provider's versions are compatible with the following versions of Cluster API:

Cluster API v1alpha1 (v0.1) Cluster API v1alpha2 (unreleased)
AWS Provider v1alpha1 (v0.2)
AWS Provider v1alpha1 (v0.3)
AWS Provider v1alpha2 (unreleased)

This provider's versions are able to install and manage the following versions of Kubernetes:

Kubernetes 1.13 Kubernetes 1.14 Kubernetes 1.15
AWS Provider v1alpha1 (v0.2)
AWS Provider v1alpha1 (v0.3)

Each version of Cluster API for AWS will attempt to support two Kubernetes versions; e.g., Cluster API for AWS v0.2 may support Kubernetes 1.13 and Kubernetes 1.14.

NOTE: As the versioning for this project is tied to the versioning of Cluster API, future modifications to this policy may be made to more closely align with other providers in the Cluster API ecosystem.

Kubernetes versions with published AMIs

Note: These AMIs are not updated for security fixes and it is recommended to always use the latest patch version for the Kubernetes version you wish to run. For production-like environments, it is highly recommended to build and use your own custom images.

Kubernetes minor version Kubernetes full version
v1.13 v1.13.3
v1.14 v1.14.0
v1.15 v1.15.0


Documentation is in the /docs directory, and the index is here.

Getting involved and contributing

Are you interested in contributing to cluster-api-provider-aws? We, the maintainers and community, would love your suggestions, contributions, and help! Also, the maintainers can be contacted at any time to learn more about how to get involved.

In the interest of getting more new people involved we to tag issues with good first issue. These are typically issues that have smaller scope but are good ways to start to get acquainted with the codebase.

We also encourage ALL active community participants to act as if they are maintainers, even if you don't have "official" write permissions. This is a community effort, we are here to serve the Kubernetes community. If you have an active interest and you want to get involved, you have real power! Don't assume that the only people who can get things done around here are the "maintainers".

We also would love to add more "official" maintainers, so show us what you can do!

This repository uses the Kubernetes bots. See a full list of the commands here.

Implementer office hours

Maintainers hold office hours every two weeks, with sessions open to all developers working on this project.

Office hours are hosted on a zoom video chat every other Monday at 10:00 (Pacific) / 13:00 (Eastern) / 18:00 (Europe/London), and are published on the Kubernetes community meetings calendar.

Other ways to communicate with the contributors

Please check in with us in the #cluster-api-aws channel on Slack.

Github issues


If you think you have found a bug please follow the instructions below.

  • Please spend a small amount of time giving due diligence to the issue tracker. Your issue might be a duplicate.
  • Get the logs from the cluster controllers. Please paste this into your issue.
  • Open a new issue.
  • Remember that users might be searching for your issue in the future, so please give it a meaningful title to help others.
  • Feel free to reach out to the cluster-api community on the kubernetes slack.

Tracking new features

We also use the issue tracker to track features. If you have an idea for a feature, or think you can help kops become even more awesome follow the steps below.

  • Open a new issue.
  • Remember that users might be searching for your issue in the future, so please give it a meaningful title to help others.
  • Clearly define the use case, using concrete examples. EG: I type this and cluster-api-provider-aws does that.
  • Some of our larger features will require some design. If you would like to include a technical design for your feature please include it in the issue.
  • After the new feature is well understood, and the design agreed upon, we can start coding the feature. We would love for you to code it. So please open up a WIP (work in progress) pull request, and happy coding.

“Amazon Web Services, AWS, and the “Powered by AWS” logo materials are trademarks of, Inc. or its affiliates in the United States and/or other countries."

You can’t perform that action at this time.