Skip to content
/ m8s Public

Toolkit for building ephemeral environments via a pipeline

License

Notifications You must be signed in to change notification settings

lastravex/m8s

Repository files navigation

M8s

CircleCI

Maintainer: Nick Schuch

Overview

M8s is a CLI and API for building temporary environments in Kubernetes.

Often in your CI/CD workflows, you want a real environment to run automated or manual tests. For example, you might want to preview changes you are making in a branch or Pull Request. m8s provides a simple tool for acheiving this. It takes a docker compose file, and translates that into a pod definition Kubernetes understands, and deploys it on Kubernetes. The pod is ephemeral, meaning it's not meant to stick around for long, and any data will be deleted once the pod is removed.

Diagram

Getting Started

To get started you will need 1 of each of the following:

Cluster

Kubernetes and the M8s API server running.

  • GKE
  • Openshift - Coming soon...
  • Kops - Coming soon...

Pipelines

A continuous integration service / setup which will send information to the M8s API.

  • CircleCI
  • Bitbucket Pipelines - Coming soon...
  • Jenkins - Coming soon...
  • TravisCI - Coming soon...

Projects

Example implementations for applications.

Documentation

Acknowledgements

Built in partnership with:

Development

Roadmap

Our product roadmap can be found here

Tools

Workflow

# Make sure the parent directories exist.
mkdir -p $GOPATH/src/github.com/<your github>

# Checkout the codebase.
git clone [email protected]:<your github>/m8s $GOPATH/src/github.com/<your github>/m8s

# Change into the project to run workflow commands.
cd $GOPATH/src/github.com/<your github>/m8s

Installing a new dependency

dep ensure -add github.com/foo/bar

Running quality checks

make lint test

Building binaries

make build

Release

Release artifacts are pushed to the github releases page when tagged properly. Use semantic versioning prefixed with v for version scheme. Examples:

  • v1.0.0
  • v1.1.0-beta1

About

Toolkit for building ephemeral environments via a pipeline

Resources

License

Stars

Watchers

Forks

Packages

No packages published