An open API service indexing awesome lists of open source software.

https://github.com/bottlerocket-os/bottlerocket-test-system

A system for testing Bottlerocket
https://github.com/bottlerocket-os/bottlerocket-test-system

Last synced: 8 months ago
JSON representation

A system for testing Bottlerocket

Awesome Lists containing this project

README

          

# Bottlerocket Test System

A system for testing Bottlerocket.
To learn more about how it works, see the [design](docs/DESIGN.md) document.

## Overview

The system consists of a command line interface, Kubernetes controller, custom resource definition (CRD) objects and containers that allow you to create resources and run tests.
You install TestSys into a cluster of your choice, we call this the *TestSys cluster*.
When running a test, resource agents create an external cluster where we run Bottlerocket instances and run tests.
This is called an *external cluster*.

## Quickstart

See our [QUICKSTART](docs/QUICKSTART.md) for a walk through of compiling, deploying, and running a quick test.

More detailed quickstart guides can be found in the main [Bottlerocket](https://github.com/bottlerocket-os/bottlerocket/) repo.
See the `QUICKSTART-*.md` files for information on the various deployment targets.

## Development

See the [Developer Guide for TestSys](docs/DEVELOPER.md) for an introduction to the framework and start up guide.

### Project Structure

- `testsys-model` is the root dependency. It includes the CRDs and clients for interacting with them.
- `controller` contains the Kubernetes controller responsible for running resource and test pods.
- `agent` contains libraries with the traits and harnesses for creating test and resource agents.
- `bottlerocket/agents` contains the implementations of the test and resource traits that we use for Bottlerocket testing.

The `testsys-model`, `agents` and `controller` crates are general-purpose, and define the TestSys system.
It is possible to use these libraries and controller for testing purposes other than Bottlerocket.

The `bottlerocket/agents` crates are more specialized to Bottlerocket's testing use cases.

## Security

See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.

## License

This project is dual licensed under either the Apache-2.0 License or the MIT license, your choice.