Skip to content
This repository has been archived by the owner on Oct 27, 2022. It is now read-only.

Latest commit

 

History

History
62 lines (42 loc) · 2.05 KB

README.md

File metadata and controls

62 lines (42 loc) · 2.05 KB

⚠️ Archived

This repository has been deprecated and archived on Oct 27th, 2022.

Octopus

Overview

Octopus is a testing framework that allows you to run tests defined as Docker images on a running cluster. It was created to replace the helm test by providing these additional features:

  • Selective testing, which is especially useful for local development when you want to execute only tests that local changes can affect.
  • Automatic retries on failed tests, which is a remedy for flaky tests.
  • Running tests multiple times, which is helpful when you add a new test and you want to validate if it is stable, or when you want to reproduce a problem that occurs on CI.
  • Full support for concurrent testing, which allows you to specify how many tests should be executed at the same time.

Octopus provides extensions for kubectl. For more information, read this document.

Prerequisites

Use the following tools to set up the project:

Installation

To install the Octopus helm chart on a cluster, run the following command:

helm install ./chart/octopus/ --name={release name} --namespace={namepsace}

Development

Install dependencies

This project uses go modules as the dependency manager. To install all required dependencies, use the following command:

make resolve

Run tests

To test your changes before each commit, use the following command:

make validate

Regenerate mocks

To regenerate mocks in this project, use the following script:

./hack/mocks-gen.sh

Upgrade chart

Chart chart/octopus is upgraded manually, by copying respective files from the config directory.