/poco

Poco will help you to organise and manage Docker, Docker-Compose, Kubernetes, Openshift projects of any complexity using simple YAML config files to shorten the route from finding your project to initialising it in your local environment.

Primary LanguagePythonMIT LicenseMIT

POCO

Build Status pypi pypi Test Coverage Maintainability

Poco helps to organise and manage Docker, Docker-Compose, Kubernetes projects of any complexity using simple YAML config files to shorten the route from finding your project to initialising it in your local environment.

  • Simple. Configure, run and switch between projects with a very simple command line interface.
  • Flexibility. Manage, scale, maintain projects of any complexity with ease.
  • Configure Once, Use Everywhere. Configure project once so the rest of your team will feel the value of zero configuration.

Features

  • Docker, Docker-Compose, Kubernetes, Helm support out of the box.
  • Git, SVN support out of the box.
  • Project Catalog, Multiple Catalogues. Create your own project catalog. Organise and your projects without additional tools.
  • Multiple Plans. Create multiple plans for different environments or even environments for demo purposes. Switch between plans (environments) with ease.
  • Simple Config Files. Poco helps to split config files, so it is easy to maintain and scale them any time.
  • Script Support (Hooks). Add additional scripts any time.

Documentation

All documentation is available on getpoco.io

Requirements

  • Git or SVN
  • SSH
  • Docker (17.0.0 or higher version is recommended)
  • kubectl, for Kubernetes support
  • helm, for helm functionality support

Quick start

Install poco:

$:~ pip install poco

Init project:

$:~ mkdir my-project
$:~ cd my-project
$:~ poco init

poco.yml and docker-compose.yml example files will be created.

Start project:

$:~ poco up

Before adding your project to Poco Repo create new empty git repository, add repository to your local Poco Repo config:

$:~ poco repo add <name> <git-url>

Now you can add you project to repo:

$:~ poco project add [<target-dir>] [<catalog>]

Publish your changes:

$:~ poco repo push

Stop your project:

$:~ poco stop

Licence

MIT Copyright (c) 2017-present, Shiwaforce.com