Giter Club home page Giter Club logo

plugn's Introduction

plugn Build Status

Hook system that lets users extend your application with plugins

Installation

$ wget -qO /tmp/plugn_latest.tgz https://github.com/dokku/plugn/releases/download/v0.8.0/plugn_0.8.0_linux_amd64.tgz
$ tar xzf /tmp/plugn_latest.tgz -C /usr/local/bin

Usage

$ PLUGIN_PATH=/var/lib/dokku/plugins plugn

Available commands:
  config                       Plugin configuration
  disable                      Disable a plugin
  enable                       Enable a plugin
  help                         Shows help information for a command
  init                         Initialize an empty plugin path
  install                      Install a new plugin from a Git URL
  list                         List all local plugins
  source                       Source commands for sourcable plugins
  trigger                      Triggers hook in enabled plugins
  uninstall                    Remove plugin from available plugins
  update                       Update plugin and optionally pin to commit/tag/branch
  version                      Show version

Building & Testing (in docker)

$ docker-machine create -d virtualbox plugn-dev
$ eval $(docker-machine env plugn-dev)
$ make build-in-docker
$ make test

Plugin directory structure example

ps (plugin name)
├── [-rw-r--r--]  plugin.toml (metadata)
├── [-rwxr-xr-x]  post-deploy (trigger)
├── [-rwxr-xr-x]  post-stop  (trigger)
└── [-rwxr-xr-x]  pre-deploy (trigger)

plugin.toml format example

[plugin name]
description = "plugin description"
version = "0.1.0"

Releases

Anybody can propose a release. First bump the version in Makefile, make sure CHANGELOG.md is up to date, and make sure tests are passing. Then open a Pull Request from master into the release branch. Once a maintainer approves and merges, CircleCI will build a release and upload it to Github.

License

BSD

plugn's People

Watchers

 avatar

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.