Skip to content

Network Operations Workflow Stack - Docker Compose deployment for StackStorm + Rundeck with Pathgate's workflows pack.

Notifications You must be signed in to change notification settings

xmas-ar/netopsw-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

netopsw-stack: Network Operations Workflow Stack

Docker Compose deployment for StackStorm + Rundeck with the Pathgate workflows pack.

This repository provides a ready-to-run StackStorm environment with a custom action runner for modern Ansible/Junos, a development pack pathgate (Orquesta workflows) with Jinja templates, and a preloaded Rundeck job to trigger the main workflow.

  • Custom action runner image built from Dockerfile.override
  • Ansible + Juniper collections preinstalled and wired via an entrypoint shim
  • packs.dev/pathgate with actions and workflows (e.g., epl_aso_v1)
  • Playbooks and inventory for Junos devices
  • Rundeck job which calls StackStorm via API Key

Quick start and details are in this document. For the original upstream st2-docker README, see the StackStorm project docs.

  • Spanish version of this README: readme.es.md

What's included

  • Services: st2api, st2auth, st2web, st2stream, st2scheduler, st2workflowengine, st2rulesengine, st2sensorcontainer, st2notifier, st2garbagecollector, st2client
  • Custom runner: st2actionrunner-custom
  • Rundeck rundeck/rundeck:5.15.0 with bootstrap jobs/tools
  • Datastores: MongoDB 4.4, RabbitMQ 3.12, Redis 7.2
  • Key mounts: playbooks, inventory, templates, packs.dev, configs, virtualenvs

Requirements

  • Docker with Compose v2
  • Free ports: 80 (st2web), 4440 (Rundeck) – configurable

First run

# From repo root
docker compose up -d --build

# Install Exchange packs used by workflows
docker compose exec st2client bash -lc "st2 pack install ansible netbox"

# Configure NetBox pack if used
docker compose exec st2client bash -lc "st2 pack config netbox"

# Register and set up the development pack
docker compose exec st2client bash -lc "st2 run packs.load packs=pathgate register=all"
docker compose exec st2client bash -lc "st2 run packs.setup_virtualenv packs=pathgate"

# Create a StackStorm API key for Rundeck and store it in Rundeck Key Storage
docker compose exec st2client bash -lc "st2 apikey create -k"

Run the main workflow

docker compose exec st2client bash -lc "\
  st2 run pathgate.epl_aso_v1 \
    sid=12345 pad=PE-A paif=xe-0/0/0 \
    pbd=PE-B pbif=xe-0/0/1 \
    bw=50 lmpvlan=123 prov=ACME dry_run=true"

Or use the preloaded Rundeck job “pathgate - epl_aso_v1” and provide the same inputs.

Notes

  • Inventory template is provided as ansible_inventory.example. Copy to ansible_inventory and edit safely (the real file is gitignored).
  • The custom runner exposes a modern Ansible toolchain and Juniper modules for the ansible runner.
  • Templates live under templates/ and can be referenced by the render_vpls action.

License

Based on StackStorm st2-docker (see LICENSE). This repository adds the Pathgate customization on top of upstream.

About

Network Operations Workflow Stack - Docker Compose deployment for StackStorm + Rundeck with Pathgate's workflows pack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published