CLI that generates ready-to-run Docker Compose stacks for Ignition 8.3 SCADA demos and SE engagements
Project description
ignition-stack
CLI that generates ready-to-run Docker Compose stacks for Ignition 8.3 SCADA demos and SE engagements. Picks an architecture profile, asks a few questions, writes a self-contained project with 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
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.
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 a profile 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-profile |
Reshape an SE-demo project under a different profile. |
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ignition_stack-0.1.0.tar.gz.
File metadata
- Download URL: ignition_stack-0.1.0.tar.gz
- Upload date:
- Size: 88.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b9baf0643101b7103d46686130f721fe32675e8022dabce0c714d9c0ffecc86
|
|
| MD5 |
4f54800ccf21be1a025e5c56ac721961
|
|
| BLAKE2b-256 |
f06209b82a4d7f2967a126643d8bcb787b16591354d9baa2f3ad259842ddb2bd
|
Provenance
The following attestation bundles were made for ignition_stack-0.1.0.tar.gz:
Publisher:
release.yml on ia-eknorr/ignition-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ignition_stack-0.1.0.tar.gz -
Subject digest:
7b9baf0643101b7103d46686130f721fe32675e8022dabce0c714d9c0ffecc86 - Sigstore transparency entry: 1708069260
- Sigstore integration time:
-
Permalink:
ia-eknorr/ignition-stack@b4ca9e28a258d8b6290d94a547115724ed07ada1 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ia-eknorr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b4ca9e28a258d8b6290d94a547115724ed07ada1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ignition_stack-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ignition_stack-0.1.0-py3-none-any.whl
- Upload date:
- Size: 97.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea99439e8463522e5cd3b1915b0ddceac47228d5671ebb6922f09211652013d6
|
|
| MD5 |
d12b4f005af82b7aa7cb5dbdc4660c1a
|
|
| BLAKE2b-256 |
072c5ccb6ababbc203e0dca92d31f8b7ee4882e6efe74a937f15e145a58a24eb
|
Provenance
The following attestation bundles were made for ignition_stack-0.1.0-py3-none-any.whl:
Publisher:
release.yml on ia-eknorr/ignition-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ignition_stack-0.1.0-py3-none-any.whl -
Subject digest:
ea99439e8463522e5cd3b1915b0ddceac47228d5671ebb6922f09211652013d6 - Sigstore transparency entry: 1708069333
- Sigstore integration time:
-
Permalink:
ia-eknorr/ignition-stack@b4ca9e28a258d8b6290d94a547115724ed07ada1 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ia-eknorr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b4ca9e28a258d8b6290d94a547115724ed07ada1 -
Trigger Event:
release
-
Statement type: