All Projects → swarm-pack → swarm-pack

swarm-pack / swarm-pack

Licence: other
Package management for Docker Swarm

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to swarm-pack

Ansible Dockerswarm
Docker Engine clustering using "Swarm Mode" and Ansible
Stars: ✭ 226 (+927.27%)
Mutual labels:  docker-swarm
docker-roj
Portable environments for Docker swarms and stacks
Stars: ✭ 31 (+40.91%)
Mutual labels:  docker-swarm
vagrant-boot2docker-swarm
A multi-machine Docker swarm Vagrant environment
Stars: ✭ 16 (-27.27%)
Mutual labels:  docker-swarm
Fabricio
Docker deploy automation tool
Stars: ✭ 250 (+1036.36%)
Mutual labels:  docker-swarm
Docker-Swarm-DDOS
How to create a Denial of Service Attack through Docker Swarm.
Stars: ✭ 36 (+63.64%)
Mutual labels:  docker-swarm
docker-volume-hetzner
Docker Volume Plugin for accessing Hetzner Cloud Volumes
Stars: ✭ 81 (+268.18%)
Mutual labels:  docker-swarm
Docker Prometheus Swarm
Sample prometheus that can be used as a sample to get Swarm cluster metrics
Stars: ✭ 210 (+854.55%)
Mutual labels:  docker-swarm
pipfile-requirements
A CLI tool to covert Pipfile/Pipfile.lock to requirments.txt
Stars: ✭ 47 (+113.64%)
Mutual labels:  package-management
FastAPI Tortoise template
FastAPI - Tortoise ORM - Celery - Docker template
Stars: ✭ 144 (+554.55%)
Mutual labels:  docker-swarm
renv
Creating virtual environments for R.
Stars: ✭ 18 (-18.18%)
Mutual labels:  package-management
Labs
Container Orchestration Labs
Stars: ✭ 14 (-36.36%)
Mutual labels:  docker-swarm
purescript.nix
📦 PureScript package management with Nix
Stars: ✭ 12 (-45.45%)
Mutual labels:  package-management
rust
RustPräzi: Representing crates.io as a call-based dependency network
Stars: ✭ 77 (+250%)
Mutual labels:  package-management
Docker Mastery For Nodejs
Docker Mastery for Node.js Projects, From a Docker Captain
Stars: ✭ 231 (+950%)
Mutual labels:  docker-swarm
gradejs
GradeJS analyzes production Webpack bundles without having access to the source code of a website. Instantly see vulnerabilities, outdated packages, and more just by entering a web application URL.
Stars: ✭ 362 (+1545.45%)
Mutual labels:  package-management
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (+877.27%)
Mutual labels:  docker-swarm
libdnf
Package management library.
Stars: ✭ 157 (+613.64%)
Mutual labels:  package-management
scim-examples
1Password SCIM bridge deployment examples
Stars: ✭ 91 (+313.64%)
Mutual labels:  docker-swarm
ddpt
Template for Django Projects - From development to production with Docker Swarm.
Stars: ✭ 54 (+145.45%)
Mutual labels:  docker-swarm
holo-build
Cross-distribution system package compiler
Stars: ✭ 43 (+95.45%)
Mutual labels:  package-management

swarm-pack

Package management for Docker Swarm services.

Overview

Swarm Pack lets you package Docker Swarm services with common patterns, templating and custom values. Swarm Pack is to Docker Swarm what Helm is to Kubernetes.

The best way to learn is by example, so take a look at the official repo first.

Installation

For now, pre-compiled binaries for Mac, Linux & Windows are published into releases.

You can copy this into your environment and make it executable and run on the CLI.

Alternatively, if you have nodejs 10+, checkout the code run npm i and then npm link should create a link to swarm-pack in your PATH which will be executed with nodejs.

Installation improvements are planned for the future.

Repositories

There is an official Pack repository here: https://github.com/swarm-pack/repository

You can also create your own repos for Swarm Packs and configure Swarm Pack to use them.

CLI Usage

Deploy

swarm-pack deploy <pack> <stack>

pack - either a local path for a local pack dir, e.g. ./my_pack or a repo reference (the repo must be defined in config) e.g. official/incubator/portainer.

stack - this is the Docker Stack namespace on the Swarm which will be used for the deployment.

List deployed Packs

swarm-pack ls

Inspect a Pack in the repository

swarm-pack inspect <pack>

pack - either a local path for a local pack dir, e.g. ./my_pack or a repo reference (the repo must be defined in config) e.g. official/incubator/portainer.

Manage the local repo cache

Update the local repo cache

swarm-pack cache update

Clear the cache

swarm-pack cache clear

Search for Packs in repos

swarm-pack search <keyword>

Manage configured Pack repositories

Pack repos are repo git URLS, e.g. official repo

List repos in use:

swarm-pack repo ls

Add a remote repo:

swarm-pack repo add <name> <url>

Remove a configured repo:

swarm-pack repo rm <name> || <url>

NPM usage

Swarm Pack can also be used as an npm package from another javascript application.

const SwarmPack = require('swarm-pack');
const swarmpack = SwarmPack({ config });

const stack = "nonprod"
const packRef = "official/incubator/portainer"
const values = {
  tag: "latest"
}

swarmpack.compileAndDeploy({ stack, packRef, values });

config parameter is an object which is a de-serialized version of the config file. Config files are ignored when used as an NPM package, so this is where config must be provided.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].