Skip to content

vdice/minio

 
 

Repository files navigation

Deis Minio v2

Build Status Go Report Card Docker Repository on Quay

Deis (pronounced DAY-iss) is an open source PaaS that makes it easy to deploy and manage applications on your own servers. Deis builds on Kubernetes to provide a lightweight, Heroku-inspired workflow.

Work in Progress

Deis Graphic

Deis Minio v2 is changing quickly. Your feedback and participation are more than welcome, but be aware that this project is considered a work in progress.

About

This package provides a Minio S3-compatible object storage system on Kubernetes. It can be used as a Deis component to provide object storage for various other components, but it is flexible enough to be run anywhere else.

We provide it as a Docker container, and also provide the following manifests to run it inside Kubernetes:

  • A replication controller to run a server on a single pod
  • A service to run in front of the replication controller
  • Secrets for:
    • User credentials
    • Admin credentials
    • SSL (note that the current version does not run with SSL enabled, however)

Note: this component currently does not offer persistent storage from the Docker container.

Hacking Minio

First, install helm and boot up a kubernetes cluster. Next, add the deis repository to your chart list:

$ helm repo add deis https://github.com/deis/charts

Then, install the Deis chart!

$ helm install deis/deis

The chart will install the entire Deis platform onto Kubernetes. You can monitor all the pods that it installs by running:

$ kubectl get pods --namespace=deis

Once this is done, SSH into a Kubernetes minion, and run the following:

$ curl -sSL http://deis.io/deis-cli/install.sh | sh
$ sudo mv deis /bin
$ kubectl get service deis-workflow
$ deis register 10.247.59.157 # or the appropriate CLUSTER_IP
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
$ eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa
$ deis keys:add ~/.ssh/id_rsa.pub
$ deis create --no-remote
Creating Application... done, created madras-radiator
$ deis pull deis/example-go -a madras-radiator
Creating build... ..o

If you want to hack on a new feature, re-compile your code, then rebuild the deis/minio image and push it to a Docker registry. The $DEIS_REGISTRY environment variable must point to a registry accessible to your Kubernetes cluster. If you're using a locally hosted Docker registry, you may need to configure the Docker engines on your Kubernetes nodes to allow --insecure-registry 192.168.0.0/16 (or the appropriate address range).

$ make build docker-push

(note that docker-push runs docker-build implicitly)

Next, you'll want to remove the deis-minio replication controller and re-create it to run your new image.

make kube-clean kube-rc

Installation

The following steps assume that you have the Docker CLI and Kubernetes CLI installed and correctly configured.

make deploy kube-service

License

Copyright 2013, 2014, 2015 Engine Yard, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Minio Object Storage in Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 46.6%
  • Shell 28.1%
  • Makefile 25.3%