knoci

command module
v0.0.0-...-4f52191 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

README

Knoci

Knoci (/'nəʊki/ Know-Key) is an operator that adds a test resource to kubernetes clusters. This allows you to turn build && test && deploy into build && deploy, with your pods only coming online after their relevant tests have passed.

Benefits

  1. You can run your tests anywhere you could run a cluster. This makes it possible to exactly reproduce what happens in a CI pipeline locally
  2. Tests can be completely parallelized, using the same autoscaling logic you'd use for pods (see example/parallelism)
  3. Knoci checksums your tests, and only runs ones whose files or dependencies have changed

Usage

Installing the Operator

See deploy/in/knoci.yaml.tmpl for an RBAC example

Deploying your tests
Complete spec for a Test
# apiVersion and kind are frozen for a specific release, use the ones defined here
apiVersion: tests.knoci.distributedcontainers.com/v1alpha1
kind: Test
metadata:
  # name and namespace mean the same thing they do for other kubernetes objects
  name: api-unit-tests
  namespace: api-unit-tests
spec:
  image: registry.example.com/ApiUnitTests:v1.0.0
status:
  state: Running

Building

To build knoci,

  1. First install sanic and its dependencies
  2. Run sanic env dev sanic build to build the latest version of the docker image.

© Distributed Containers Inc. 2019

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
client/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/versioned/typed/testing/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/versioned/typed/testing/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

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