Home

Awesome

Deis Workflow is no longer maintained.<br />Please read the announcement for more detail.
09/07/2017Deis Workflow v2.18 final release before entering maintenance mode
03/01/2018End of Workflow maintenance: critical patches no longer merged
Hephy is a fork of Workflow that is actively developed and accepts code contributions.

Deis Minio v2

Build Status Go Report Card Docker Repository on Quay

Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.

For more information about the Deis workflow, please visit the main project page at https://github.com/deis/workflow.

We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the "Development" section below and submit a pull request.

About

The Deis minio component provides an S3 API compatible object storage server, based on Minio, that can be run on Kubernetes. It's intended for use within the Deis v2 platform as an object storage server, but it's flexible enough to be run as a standalone pod on any Kubernetes cluster.

Note that in the default Helm chart for the Deis platform, this component is used as a storage location for the following components:

Also note that we aren't currently providing this component with any kind of persistent storage, but it may work with persistent volumes.

Development

The Deis project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.

Minio Binary Mirror

Also, note that the Dockerfile uses an ADD directive to download pre-built Minio binaries from a Google Cloud Storage bucket. The bucket is in the deis-mirrors project, and if you have access to that project, this link should take you directly to that bucket.

To bump this component to use a newer build of Minio, simply add a new binary to the bucket (under the linux-amd64 folder), check the checkbox under the Share publicly column, and update the URL in the ADD directive in the aforementioned Dockerfile.

Docker Based Development Environment

The preferred environment for development uses the go-dev Docker image. The tools described in this section are used to build, test, package and release each version of Deis.

To use it yourself, you must have make installed and Docker installed and running on your local development machine.

If you don't have Docker installed, please go to https://www.docker.com/ to install it.

After you have those dependencies, build your code with make build and execute unit tests with make test.

Native Go Development Environment

You can also use the standard go toolchain to build and test if you prefer. To do so, you'll need glide 0.9 or above and Go 1.6 or above installed.

After you have those dependencies, you can build and unit-test your code with go build and go test $(glide nv), respectively.

Note that you will not be able to build or push Docker images using this method of development.

Testing

The Deis project requires that as much code as possible is unit tested, but the core contributors also recognize that some code must be tested at a higher level (functional or integration tests, for example).

The end-to-end tests repository has our integration tests. Additionally, the core contributors and members of the community also regularly dogfood the platform.

Running End-to-End Tests

Please see README.md on the end-to-end tests reposotory for instructions on how to set up your testing environment and run the tests.

Dogfooding

Please follow the instructions on the official Deis docs to install and configure your Deis cluster and all related tools, and deploy and configure an app on Deis.