Skip to main content

CLI that generates ready-to-run Docker Compose stacks for Ignition 8.3 SCADA demos and SE engagements

Project description

ignition-stack

CI Docs Documentation

CLI that generates ready-to-run Docker Compose stacks for Ignition 8.3 SCADA demos and SE engagements. Pick a system architecture (basic, scale-out, or hub-and-spoke), layer on services, and it writes a self-contained project: a hand-readable compose file, .env, file-config seed resources, and a POST-SETUP.md listing only what could not be pre-seeded.

See docs/docs/reference/seeding-matrix.md for which Ignition 8.3 connection types can be provisioned from the filesystem and env on a live 8.3.6 gateway. Full documentation lives in the docs/ Docusaurus site.

Install

pipx install ignition-stack

To install from source instead of PyPI - the latest off main, or a specific branch:

pipx install git+https://github.com/ia-eknorr/ignition-stack.git
pipx install git+https://github.com/ia-eknorr/ignition-stack.git@<branch>

Quickstart

Generate a project and bring it up:

ignition-stack init demo --arch basic
cd demo
docker compose up -d

The gateway reaches RUNNING with no UI prompts. The admin user is admin / password and the gateway is at http://localhost:9088. The default Postgres credentials are ignition / ignition on the db service.

Run init without --arch to walk the interactive wizard instead: it opens architecture-first, then layers database, edition, IIoT, services, and exposure on top, with a summary you can preview, tweak, or generate.

Everything that ships in the generated project is hand-readable: docker-compose.yaml, .env, scripts/docker-bootstrap.sh, and a services/ignition/ resources tree the gateway reads on first boot.

Commands

Command What it does
init <name> Generate a project at ./<name>/ from an architecture and a few prompts.
modules Download, verify, and manage the .modl / JDBC catalog.
reset Re-run generation from an SE-demo project's recorded config.
switch-arch Reshape an SE-demo project under a different architecture.
wipe Remove this project's containers and volumes only.

See the CLI reference for every command, argument, and option.

What gets generated

demo/
  docker-compose.yaml         # one gateway, one Postgres, one bootstrap init container
  .env                        # values referenced by docker-compose.yaml
  scripts/
    docker-bootstrap.sh       # seeds /data, sets gateway-network UUID, hands ownership to uid 2003
  services/
    ignition/
      config/resources/core/config-mode.json
      config/resources/dev/config-mode.json
      projects/.gitkeep

The bootstrap script is run once per data volume. It copies the gateway's base data into a named volume, layers the project's services/ignition/ tree on top, sets a deterministic gateway-network UUID derived from the project name, and hands ownership of /data to uid 2003 so the gateway can write its resource caches.

Commissioning is fully env-driven (ACCEPT_IGNITION_EULA=Y, GATEWAY_ADMIN_PASSWORD, IGNITION_EDITION), so first boot needs no UI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ignition_stack-0.6.0.tar.gz (212.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ignition_stack-0.6.0-py3-none-any.whl (190.8 kB view details)

Uploaded Python 3

File details

Details for the file ignition_stack-0.6.0.tar.gz.

File metadata

  • Download URL: ignition_stack-0.6.0.tar.gz
  • Upload date:
  • Size: 212.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ignition_stack-0.6.0.tar.gz
Algorithm Hash digest
SHA256 e4c7ff508fc6afc473ac0c26c181f855d8e61143aece05a2766caae9ea10f3db
MD5 ed585c4f8852ab6a9d0c3031eb75add0
BLAKE2b-256 d55645c697509924af1bd65a2e722a6f2c73a140bf37d441f532809279736336

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignition_stack-0.6.0.tar.gz:

Publisher: release.yml on ia-eknorr/ignition-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignition_stack-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ignition_stack-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 190.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ignition_stack-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3bc6cea51a6f707bb76a8c4c1bb15caffc32cc0800610e36f7a452e90f823fa
MD5 57dba49691bc499cd73e905d0d8628eb
BLAKE2b-256 0e316bb8e302ae2b1bb1e901b6eb13d6e425ed3f6ee3eed9632dad90765ce969

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignition_stack-0.6.0-py3-none-any.whl:

Publisher: release.yml on ia-eknorr/ignition-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page