octopus

module
v0.0.0-...-6105717 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2022 License: Apache-2.0

README

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.

Directories

Path Synopsis
cmd
pkg
apis
Package apis contains Kubernetes API groups.
Package apis contains Kubernetes API groups.
apis/testing
Package testing contains testing API versions
Package testing contains testing API versions
apis/testing/v1alpha1
Package v1alpha1 contains API Schema definitions for the testing v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-incubator/octopus/pkg/apis/testing +k8s:defaulter-gen=TypeMeta +groupName=testing.kyma-project.io
Package v1alpha1 contains API Schema definitions for the testing v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-incubator/octopus/pkg/apis/testing +k8s:defaulter-gen=TypeMeta +groupName=testing.kyma-project.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL