Code Organization

ACK is a collection of source repositories containing a common runtime and type system, a code generator and individual service controllers that manage resources in a specific AWS API. (this repo)

The source code repository (this repo) contains the documentation that gets published to

Bug reports and feature requests
NOTE: All [bug reports and feature requests][issues] for all ACK source repositories are contained in this repository.

The source code repository contains the common ACK controller runtime (/pkg/runtime, /pkg/types) and core public Kubernetes API types (/apis/core).

The source code repository contains the ack-generate CLI tool (/cmd/ack-generate), the Go packages that are used in API inference and code generation (/pkg/generate, /pkg/model) and Bash scripts to build an ACK service controller (/scripts/

The source code repository contains the acktest Python package for common ACK e2e test code, the CDK to deploy our Prow CI/CD system and the scripts for running tests locally.$SERVICE-controller

Each AWS API that has had a Kubernetes controller built to manage resources in that API has its own source code repository in the Github Organization. The source repos will be called $SERVICE-controller, for example the ACK service controller for S3 is located at

These service controller repositories contain Go code for the main controller binary (/cmd/controller/), the public API types for the controllers (/apis), the Go code for the resource managers used by the controller (/pkg/resource/*/), static configuration manifests (/config), Helm charts for the controller installation (/helm) along with a set of end-to-end tests for the resources exposed by that controller (/test/e2e).

Edit this page on GitHub