The Kubernetes Ansible Testing Framework is a tool meant to spin up, test, save results, and spin down Kubernetes clusters using the various installation tools/kits/templates readily available in a human and CI/CD friendly way.
In order to reduce conflicts of tools/versions as well as negate the need for having to install specific tools onto your system,
KubeATF builds all the tools needed into a Docker container. This is to allow for easy customization by you, the end user, to bake in whatever tools and scripts you may want to inject and make easy to deploy inside a CI/CD system that can run docker containers as build steps.
Kubernetes Installation Tool Testing - If you are a maintainer of a Kubernetes installation tool, this provides a mechanism to create a repeatable process for creating test clusters to improve consistency and reduce time spent during development.
Kubernetes Release Testing - If you are running the e2e (end to end) testing suite on various releases/configurations, this tool may help you.
Kubernetes Application Testing - If you are deploying an application or a helm chart inside Kubernetes and you are concerned with ensuring compatibility across clouds and versions of Kubernetes, this tool may help you.
Kubernetes Security Testing - If you are assessing multiple installation tools for their security posture using things like CIS Benchmarking checks, this tool can help automate the testing process.
These instructions will get you a copy of the project up and running on your local machine.
In order to run this tool, you will need the following installed on your Linux/OSX system (which you probably already have):
bash 3.xor newer
git 2.xor newer
docker 1.12or newer
- In order to install the tool, simply clone this repository:
$ git clone https://github.com/bgeesaman/kubeatf $ cd kubeatf
- Ensure you have your SSH key (.pem) in
$ ls ~/.ssh/kube.pem kube.pem
- Ensure you have your AWS credentials in
$ ls ~/.aws/ config credentials
- Build the docker image locally:
$ ./kubeatf docker build
Listing available releases
$ ./kubeatf get releases <toolname>
$ ./kubeatf get releases kops
Obtaining a release
$ ./kubeatf get <toolname> <release>
$ ./kubeatf get kops 1.7.0
Configuring an Environment
Running a test
Viewing the results
./kubeatf for basic usage or
./kubeatf help <command> to access detailed usage instructions.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Brad Geesaman - Author - bgeesaman
This project is licensed under the MIT License - see the LICENSE.md file for details
- Kubernetes and the Kubernetes Community