No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin initial Nov 29, 2017
docker/kubeatf initial Nov 29, 2017
examples
playbooks initial Nov 29, 2017
profiles initial Nov 29, 2017
.gitignore
CONTRIBUTING.md initial Nov 29, 2017
LICENSE.md
README.md
VERSION initial Nov 29, 2017
ansible.cfg initial Nov 29, 2017
kubeatf initial Nov 29, 2017
runacs.sh
runaks.sh initial Nov 29, 2017
rungke1.7.3.sh initial Nov 29, 2017
rungke1.7.8.sh
runheptio.sh initial Nov 29, 2017
runkops1.5.3.sh initial Nov 29, 2017
runkops1.7.0.sh
runkubeawsv0.9.7.sh initial Nov 29, 2017
runkubicorn.sh initial Nov 29, 2017
runtectonic-1.7.1-tectonic.2.sh initial Nov 29, 2017

README.md

KubeATF

Description

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.

Use Cases

  1. 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.

  2. Kubernetes Release Testing - If you are running the e2e (end to end) testing suite on various releases/configurations, this tool may help you.

  3. 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.

  4. 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.

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

In order to run this tool, you will need the following installed on your Linux/OSX system (which you probably already have):

  • bash 3.x or newer
  • git 2.x or newer
  • docker 1.12 or newer

Downloading KubeATF

  1. In order to install the tool, simply clone this repository:
$ git clone https://github.com/bgeesaman/kubeatf
$ cd kubeatf
  1. Ensure you have your SSH key (.pem) in ~/.ssh/
$ ls ~/.ssh/kube.pem
kube.pem
  1. Ensure you have your AWS credentials in ~/.aws
$ ls ~/.aws/
config      credentials
  1. Build the docker image locally:
$ ./kubeatf docker build

Listing available releases

$ ./kubeatf get releases <toolname>

e.g.

$ ./kubeatf get releases kops

Obtaining a release

$ ./kubeatf get <toolname> <release>

e.g.

$ ./kubeatf get kops 1.7.0

Configuring an Environment

  1. TODO
  2. sa

Running a test

  1. TODO
  2. sa

Viewing the results

  1. TODO
  2. sa

Troubleshooting

Run ./kubeatf for basic usage or ./kubeatf help <command> to access detailed usage instructions.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contributors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Docker
  • Ansible
  • Kubernetes and the Kubernetes Community