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
- Host: GitHub
- URL: https://github.com/bottlerocket-os/bottlerocket-test-system
- Owner: bottlerocket-os
- License: other
- Created: 2021-06-29T16:48:04.000Z (almost 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-10-02T22:25:48.000Z (9 months ago)
- Last Synced: 2025-10-09T19:37:15.295Z (8 months ago)
- Language: Rust
- Homepage:
- Size: 2.47 MB
- Stars: 19
- Watchers: 17
- Forks: 26
- Open Issues: 66
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Notice: NOTICE
- Copyright: COPYRIGHT
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.