StrataCTL — bootstrap StrataCI into a customer AWS account and install/update/uninstall StrataBI modules via an ephemeral CodeBuild runner.
Project description
StrataCTL
The local command-line tool for operators. It installs, updates, and removes StrataBI modules and the StrataBI platform in your AWS account, fetches the account-entitled runtime, and version-controls dashboards. It runs on your machine with your own AWS credentials — it is not a hosted service.
The same strata package is also the runner program that executes inside the
ephemeral CodeBuild runner (python -m strata.runner).
Install
python3 -m venv ~/.venvs/strata && source ~/.venvs/strata/bin/activate
pip install -e . # from this directory; exposes the `stratactl` command
stratactl --help
Configure
strata init collects a deployment's configuration into strata.yaml (the source
of truth) and generates the Terraform variable files — you don't hand-edit .tfvars.
stratactl init # interactive; re-run to reuse answers + fill gaps
stratactl init --non-interactive # config + defaults only (automation)
Settings resolve in this precedence (highest first): CLI flag → env (STRATA_*)
→ ./.stratactl.toml → ~/.stratactl/config.toml → AWS SSM (/strataci/hq/*) →
packaged defaults. Point it at a customer account by pasting the
stratactl_customer_config output from strataci-runner into your config, and set
your license token:
export STRATA_HQ_TOKEN=<your license token>
AWS credentials come from your normal profile/keys (--profile, AWS_PROFILE, env).
What you can deploy is governed by your own IAM in the target account.
Commands
stratactl init # configure a deployment (writes strata.yaml + tfvars)
stratactl fetch-runtime --version 1.0.0 # pull the account-entitled runtime wheel -> ./dist (verified)
stratactl install <module> # entitlement -> runner -> tofu apply, in your account
stratactl install-stratabi # install the StrataBI platform (Enterprise)
stratactl install-stratabi-dev # install the Developer/Community edition
stratactl update <module> --to <version>
stratactl uninstall <module> # runs the module's tofu destroy (always available)
stratactl list # what's installed + delivery mode
stratactl logs <job-id> # tail/replay a runner build
stratactl dashboards pull|push|list|diff # git-sync dashboards (no runner needed)
--source stratahq (default) fetches a signed bundle from Shaleio's control plane;
--source customer_s3 installs from your own bucket (offline / air-gapped).
End-to-end: deploy StrataBI Enterprise
# 0. one-time per account: scaffold the runner (see ../strataci-runner)
# 1. build the runtime container image (see ../build_template) -> ECR image URI
# 2. configure + deploy:
export STRATA_HQ_TOKEN=<token>
stratactl init # set stratabi_image=<ECR URI>, vpc_id, subnets, allowed_ip_cidrs
stratactl install-stratabi
stratactl list
Your strata init values ride through to the ephemeral runner automatically (the
CLI uploads them; the runner applies them over the bundle's baked defaults), so the
platform deploys with your networking/image without any manual .tfvars on the runner.
Layout
| Path | What |
|---|---|
src/strata/commands/ |
CLI subcommands (init, install, fetch_runtime, dashboards, …) |
src/strata/hq/ |
StrataHQ client (SigV4-signed entitlement calls) |
src/strata/runner/ |
the program that runs inside CodeBuild |
src/strata/install/ |
the strata init wizard (schema / prompt / store / tfvars) |
src/strata/artifacts/ |
bundle download / verify / manifest |
tests/ |
unit tests (pytest) |
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 stratactl-1.0.0.tar.gz.
File metadata
- Download URL: stratactl-1.0.0.tar.gz
- Upload date:
- Size: 57.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc6a6578d70ba66731630e3b865ecbb0d9df3b485eb8a9f039554c14ec3b1b0d
|
|
| MD5 |
138b28dadab72b049a863c5443c21ef5
|
|
| BLAKE2b-256 |
042d38fc4449b427ceee4915054a8c39b855050431b1b3fb30238287c11fe942
|
Provenance
The following attestation bundles were made for stratactl-1.0.0.tar.gz:
Publisher:
release.yml on shaleio/stratactl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stratactl-1.0.0.tar.gz -
Subject digest:
bc6a6578d70ba66731630e3b865ecbb0d9df3b485eb8a9f039554c14ec3b1b0d - Sigstore transparency entry: 2254921206
- Sigstore integration time:
-
Permalink:
shaleio/stratactl@0e3998c737345df55da7a5028265e54325eca2ee -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/shaleio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e3998c737345df55da7a5028265e54325eca2ee -
Trigger Event:
push
-
Statement type:
File details
Details for the file stratactl-1.0.0-py3-none-any.whl.
File metadata
- Download URL: stratactl-1.0.0-py3-none-any.whl
- Upload date:
- Size: 69.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
873982a859046e0d2ddeb77f6ae8b5303d6b3d33f133c4bca7702cad38706c8e
|
|
| MD5 |
9c8d13301ba7956a1be8a402628b08b4
|
|
| BLAKE2b-256 |
540faa79d0e04366f49fecbda53b2d2d9432af8502951ecc8d5a3178e3201dd3
|
Provenance
The following attestation bundles were made for stratactl-1.0.0-py3-none-any.whl:
Publisher:
release.yml on shaleio/stratactl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stratactl-1.0.0-py3-none-any.whl -
Subject digest:
873982a859046e0d2ddeb77f6ae8b5303d6b3d33f133c4bca7702cad38706c8e - Sigstore transparency entry: 2254921282
- Sigstore integration time:
-
Permalink:
shaleio/stratactl@0e3998c737345df55da7a5028265e54325eca2ee -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/shaleio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e3998c737345df55da7a5028265e54325eca2ee -
Trigger Event:
push
-
Statement type: