Skip to content

A system for testing Bottlerocket

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

bottlerocket-os/bottlerocket-test-system

This branch is 1 commit ahead of, 16 commits behind develop.

Folders and files

NameName
Last commit message
Last commit date
Oct 27, 2021
Oct 3, 2024
Aug 1, 2024
Nov 22, 2021
Jan 14, 2025
Aug 1, 2024
Aug 8, 2024
Jul 8, 2024
Jun 12, 2023
Aug 8, 2024
Aug 1, 2024
Oct 3, 2024
Aug 27, 2021
Jan 31, 2023
Aug 17, 2022
Aug 1, 2024
Aug 17, 2022
Jul 25, 2022
Jun 29, 2021
Aug 8, 2024
Feb 2, 2023
Jul 19, 2024
Jun 29, 2021
Jun 29, 2021
Oct 3, 2024
Jun 29, 2021
Feb 2, 2023
Jul 19, 2024
Jul 19, 2024

Bottlerocket Test System

A system for testing Bottlerocket. To learn more about how it works, see the design 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.

Project Status

🚧 👷

The project is in active pre-release development. Eventually we plan to publish container images and other aspects of the system, but we aren't quite there yet. We also are not quite ready for external contributions, but we are happy to respond to issues and discussions.

Quickstart

See our QUICKSTART for a walk through of compiling, deploying, and running a quick test.

More detailed quickstart guides can be found in the main Bottlerocket repo. See the QUICKSTART-*.md files for information on the various deployment targets.

Development

See the Developer Guide for TestSys 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 for more information.

License

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