Git Product home page Git Product logo

miniovol's Introduction

Miniovol

The original Docker volume plugin, for minio, can be found in the minfs repo.
This repo can serve as an extensive example for how to write docker volume plugins for Docker 1.13.
If you're looking for running things in production, then always choose the official supported software rather than 3rd party.

A docker volume plugin for Minio. This plugin provisions new Minio buckets and mounts them inside Docker volumes.
Only compatible with Docker 1.13 and above.
See Docker docs about the managed plugin system.

Dev stuff

To create a new version of the plugin and register it with docker do:

make clean build rootfs create  

clean :

  • remove the previously compiled miniovol binary and packages from the _output directory.
  • remove the rootfs generated files from plugin.spec.
  • remove the previously docker built image that is used for the rootfs spec.

build:

  • compiles the miniovol binary.

rootfs:

  • builds a docker image that we then export to use as an OCI spec image for the plugin.

create:

  • disables and removes the previous version of the plugin.
  • creates the new plugin based on the rootfs from the plugin.spec folder.
  • enables the newly created plugin.

devel:

  • creates a docker image with everything preinstalled.
  • launches a privileged dev container that you can then attach to debug the latest plugin version.

miniovol's People

Contributors

pi-victor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cloudxtreme

miniovol's Issues

Write tests

Since this was written fast and focused on functionality it should have testable code.
Circle CI also.

Create and deploy minFS config

currently whenever you want to use the minfs fs driver, you need a config.json in /etc/ with an API version, a secret key and an access key, in a json format, that point to the Minio instance you're trying to connect to.
The step of provisioning this config should be done after we connect to the client with the access key and secret key provided as options when we mount the docker volume. This automatically validates them, making any actual validation unnecessary in the provisioning code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.