{"id":13416041,"url":"https://github.com/DIPSAS/SwarmManagement","last_synced_at":"2025-03-14T23:31:15.154Z","repository":{"id":90879927,"uuid":"133943568","full_name":"DIPSAS/SwarmManagement","owner":"DIPSAS","description":"Swarm Management is a python application, installed with pip. The application makes it easy to manage a Docker Swarm by configuring a single *.yml file describing which stacks to deploy, and which networks, configs or secrets to create.","archived":true,"fork":false,"pushed_at":"2021-09-22T23:52:41.000Z","size":64,"stargazers_count":25,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-07-31T21:55:12.175Z","etag":null,"topics":["containers","deployment","docker","docker-swarm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DIPSAS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-05-18T11:06:50.000Z","updated_at":"2023-12-04T18:10:23.000Z","dependencies_parsed_at":"2024-01-14T19:13:24.210Z","dependency_job_id":"49f0dd53-85ca-4630-a667-10ba2ab39237","html_url":"https://github.com/DIPSAS/SwarmManagement","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIPSAS%2FSwarmManagement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIPSAS%2FSwarmManagement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIPSAS%2FSwarmManagement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIPSAS%2FSwarmManagement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DIPSAS","download_url":"https://codeload.github.com/DIPSAS/SwarmManagement/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243663478,"owners_count":20327299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containers","deployment","docker","docker-swarm"],"created_at":"2024-07-30T21:00:53.864Z","updated_at":"2025-03-14T23:31:14.601Z","avatar_url":"https://github.com/DIPSAS.png","language":"Python","readme":"# Docker Swarm Management\n\n[![PyPI version](https://badge.fury.io/py/SwarmManagement.svg)](https://badge.fury.io/py/SwarmManagement)\n[![Build Status](https://travis-ci.com/DIPSAS/SwarmManagement.svg?branch=master)](https://travis-ci.com/DIPSAS/SwarmManagement)\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\n# !DEPRECATED!\nPlease follow new source: \n- https://github.com/hansehe/SwarmManagement\n\nSwarm Management is a python application, installed with pip.\nThe application makes it easy to manage a Docker Swarm by configuring a single *.yml file describing which stacks to deploy, and which networks, configs or secrets to create.\n\n## Install Or Upgrade\n- pip install --upgrade SwarmManagement\n\n## Verify Installation\n- `swm -help`\n\n## Example\n1. Create a `swarm.management.yml` file describing all properties of the swarm.\n    - The `swarm.management.yml` file contains following properties:\n    ```yaml\n    stacks:\n        \u003cstack_name\u003e: \u003ccompose_file\u003e\n    networks:\n        \u003cnetwork_name\u003e: \n            encrypted: false\n            driver: overlay\n            attachable: true\n            options:\n              - --ipv6\n    configs:\n        \u003cconfig_name\u003e: \u003cconfig_file\u003e\n    secrets:\n        \u003csecret_name\u003e: \u003csecret_file\u003e\n    volumes:\n        \u003cvolume_name\u003e:\n            driver: local\n            driverOptions:\n              - type=tmpfs\n              - device=tmpfs\n              - o=size=100m,uid=1000\n    env_files:\n        - \u003cenvironment_file\u003e\n    ```\n\n2. Manage Swarm:\n    - Start Swarm with:\n        - -\u003e swm -start\n    - Stop Swarm with:\n        - -\u003e swm -stop\n    - Restart Swarm with:\n        - -\u003e swm -restart\n    - Deploy/Update or Remove a single stack:\n        - -\u003e swm -stack -deploy `\u003cstack_name\u003e`\n        - -\u003e swm -stack -remove `\u003cstack_name\u003e`\n        - Or deploy/remove all stacks with the `all` attribute:\n            - -\u003e swm -stack -deploy all\n            - -\u003e swm -stack -remove all\n    - Create or Remove a single network:\n        - -\u003e swm -network -create `\u003cnetwork_name\u003e`\n        - -\u003e swm -network -remove `\u003cnetwork_name\u003e`\n        - Or create/remove all networks with the `all` attribute:\n            - -\u003e swm -network -create all\n            - -\u003e swm -network -remove all\n    - Create or Remove a single config:\n        - -\u003e swm -config -create `\u003cconfig_name\u003e`\n        - -\u003e swm -config -remove `\u003cconfig_name\u003e`\n        - Or create/remove all configs with the `all` attribute:\n            - -\u003e swm -stack -create all\n            - -\u003e swm -stack -remove all\n    - Create or Remove a single secret:\n        - -\u003e swm -secret -create `\u003csecret_name\u003e`\n        - -\u003e swm -secret -remove `\u003csecret_name\u003e`\n        - Or create/remove all secrets with the `all` attribute:\n            - -\u003e swm -secret -create all\n            - -\u003e swm -secret -remove all\n    - Create or Remove a single volume:\n        - -\u003e swm -volume -create `\u003cvolume_name\u003e`\n        - -\u003e swm -volume -remove `\u003cvolume_name\u003e`\n        - Or create/remove all volumes with the `all` attribute:\n            - -\u003e swm -volume -create all\n            - -\u003e swm -volume -remove all\n    - SwarmManagement uses the `swarm.management.yml` file by default to configure the swarm.\n        - Specify a single or multiple *.yml files to use for configuring the swarm using the `-f` attribute:\n            - -\u003e swm -start -f swarm-stacks.yml -f swarm-networks.yml\n    - Additional info is found by asking SwarmManagement:\n        - -\u003e swm -help\n        - -\u003e swm -stack -help\n        - -\u003e swm -network -help\n        - -\u003e swm -config -help\n        - -\u003e swm -secret -help\n        - -\u003e swm -volume -help\n\nPlease have a look at an example of use here:\n- https://github.com/DIPSAS/SwarmManagement/tree/master/example\n\n## Section Features\n\n## Start/Stop or Restart Swarm\nDeploy the swarm with `swm -start`, and stop the swarm with `swm -stop`.\nRestart the swarm with `swm -restart \u003crestart_delay_in_seconds\u003e`. The `\u003crestart_delay_in_seconds\u003e` argument is optional, and defaults to 10 seconds if not given.\n\n### Stacks\nThe `stacks` section lists all stacks to be deployed as: `\u003cstack_name\u003e: \u003ccompose_file\u003e`\n\n### Networks\nThe `networks` section lists all networks to be created as, and each network is created with the following default properties:\n* `encrypted: false`\n* `driver: overlay`\n* `attachable: true`\n* `options:`\n    - `\u003clist_of_network_options\u003e`\n\n### Configs\nThe `configs` section lists all configs to be created as: `\u003cconfig_name\u003e: \u003cconfig_file\u003e`\n\n### Secrets\nThe `secrets` section lists all secrets to be created as: `\u003csecret_name\u003e: \u003csecret_file\u003e`\n\n### Volumes\nThe `volumes` section lists all volumes to be created as, and each volumes is created with the following default properties:\n* `driver: local`\n* `driverOptions:`\n    - `\u003clist_of_driver_options\u003e`\n\n### Environment variables\nThe `env_files` section lists all environmnet (`.env`) files with environment variables to expose.\nBy convention, a present `.env` file will automatically be loaded.\n\n## Prerequisites\n- Docker:\n    - https://www.docker.com/get-docker\n- Install Dependencies:\n    - pip install -r requirements.txt\n\n## Additional Info\n- The pip package may be located at:\n    - https://pypi.org/project/SwarmManagement\n\n## Publish New Version.\n1. Configure setup.py with new version.\n2. Install build tools: `pip install twine wheel`\n3. Build: python setup.py bdist_wheel\n4. Check: twine check dist/*\n5. Publish: twine upload dist/*\n\n## Run Unit Tests\n- python -m unittest","funding_links":[],"categories":["Container Operations"],"sub_categories":["Deployment and Infrastructure"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDIPSAS%2FSwarmManagement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDIPSAS%2FSwarmManagement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDIPSAS%2FSwarmManagement/lists"}