Skip to content

Releases: stackql/stackql-deploy-rs

v2.0.4

19 Mar 11:10

Choose a tag to compare

stackql-deploy v2.0.4

Identifier capture from exists queries

The exists query can now return a named field (e.g. vpc_id) instead of count. The returned value is automatically captured as a resource-scoped variable ({{ this.<field> }}) and made available to all subsequent queries (statecheck, exports, delete) for that resource. This enables a two-step workflow where exists discovers the resource identifier and statecheck verifies its properties.

  • When exists returns null or empty for the captured field, the resource is treated as non-existent
  • Multiple rows from an exists (identifier pattern) or exports query is now a fatal error
  • After a create, the exists query is automatically re-run to capture the identifier for use in post-deploy statecheck and exports queries

RETURNING * identifier capture

When a create statement includes RETURNING * and the response contains an Identifier field, it is automatically injected as this.identifier — skipping the post-create exists re-run and saving an API call per resource.

return_vals manifest field

New optional return_vals field on resources to explicitly map fields from RETURNING * responses to resource-scoped variables:

return_vals:
  create:
    - Identifier: identifier   # rename pattern
    - ErrorCode                 # direct capture

If return_vals is specified but the field is missing from the response, the build fails.

to_aws_tag_filters template filter

New AWS-specific Tera filter that converts global_tags (list of Key/Value pairs) to the AWS Resource Groups Tagging API TagFilters format:

AND TagFilters = '{{ global_tags | to_aws_tag_filters }}'

YAML type preservation fix

Fixed an issue where YAML string values that look like numbers (e.g. IpProtocol: "-1") were being coerced to integers during JSON serialization. String types declared in YAML are now preserved through to the rendered query.

Teardown improvements

  • Teardown no longer retries exports queries that return empty results — missing exports are set to <unknown> and teardown continues best-effort
  • Post-delete existence checks accept the first empty response instead of retrying, reducing teardown time significantly

AWS starter template updated

The stackql-deploy init --provider aws starter template now uses:

  • awscc (Cloud Control) provider instead of aws
  • CTE + INNER JOIN exists pattern with to_aws_tag_filters
  • AWS_POLICY_EQUAL for statecheck tag comparison
  • this.<field> identifier capture pattern
  • RETURNING * on create statements
  • stackql:stack-name / stackql:stack-env / stackql:resource-name tag taxonomy

AWS VPC Web Server example

Complete rewrite of the examples/aws/aws-vpc-webserver stack (renamed from aws-stack) using the awscc provider exclusively. Includes 10 resources demonstrating all query patterns: tag-based discovery, identifier capture, property-level statechecks, PatchDocument updates, and the to_aws_tag_filters filter.

Patch Document Test example

New examples/aws/patch-doc-test example demonstrating the Cloud Control API UPDATE workflow with PatchDocument — deploy an S3 bucket, modify its versioning config in the manifest, and re-deploy to apply the update.

Other changes

  • Fixed init command missing --env argument (defaulting to dev)
  • Added debug log import to build command
  • Debug logging now shows full RETURNING * payloads
  • Documentation updates: resource-query-files.md, template-filters.md, manifest-file.md, and AWS template library

Download

Platform Architecture Asset
Linux x86_64 stackql-deploy-linux-x86_64.tar.gz
Linux arm64 stackql-deploy-linux-arm64.tar.gz
macOS Universal (Apple Silicon + Intel) stackql-deploy-macos-universal.tar.gz
Windows x86_64 stackql-deploy-windows-x86_64.zip

Each archive contains a single binary named stackql-deploy (or stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.

Install (quick)

Linux / macOS:

curl -L https://get-stackql-deploy.rs -o stackql-deploy.tar.gz && tar xz stackql-deploy.tar.gz

Windows (PowerShell):

Invoke-WebRequest -Uri https://get-stackql-deploy.rs -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath .

cargo:

cargo install stackql-deploy

Full documentation: stackql-deploy.io - Source: github.com/stackql/stackql-deploy

v2.0.3

16 Mar 09:10

Choose a tag to compare

stackql-deploy v2.0.3

What's new

This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.

Key improvements over the Python version:

  • Single self-contained binary — no Python runtime, pip, or virtualenv required.
    Drop the binary on any supported platform and run.
  • Faster startup and execution — Rust compile-time optimisations mean commands
    that previously took seconds to initialise now start instantly.
  • Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
    no transitive Python dependencies to manage.
  • Statically linked on Linux — works on any glibc >= 2.17 distro without
    installing extra system libraries.
  • Native Windows and macOS ARM64 support — pre-built for all five major targets
    (see assets below).

Download

Platform Architecture Asset
Linux x86_64 stackql-deploy-linux-x86_64.tar.gz
Linux arm64 stackql-deploy-linux-arm64.tar.gz
macOS Apple Silicon (arm64) stackql-deploy-macos-arm64.tar.gz
macOS Intel (x86_64) stackql-deploy-macos-x86_64.tar.gz
Windows x86_64 stackql-deploy-windows-x86_64.zip

Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.

Migrating from the Python package

If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/

The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.

Install (quick)

Linux / macOS:

curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.3/stackql-deploy-linux-x86_64.tar.gz \
  | tar -xz -C /usr/local/bin

Windows (PowerShell):

Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.3/stackql-deploy-windows-x86_64.zip `
  -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.2

16 Mar 07:18

Choose a tag to compare

stackql-deploy v2.0.2

What's new

This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.

Key improvements over the Python version:

  • Single self-contained binary — no Python runtime, pip, or virtualenv required.
    Drop the binary on any supported platform and run.
  • Faster startup and execution — Rust compile-time optimisations mean commands
    that previously took seconds to initialise now start instantly.
  • Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
    no transitive Python dependencies to manage.
  • Statically linked on Linux — works on any glibc >= 2.17 distro without
    installing extra system libraries.
  • Native Windows and macOS ARM64 support — pre-built for all five major targets
    (see assets below).

Download

Platform Architecture Asset
Linux x86_64 stackql-deploy-linux-x86_64.tar.gz
Linux arm64 stackql-deploy-linux-arm64.tar.gz
macOS Apple Silicon (arm64) stackql-deploy-macos-arm64.tar.gz
macOS Intel (x86_64) stackql-deploy-macos-x86_64.tar.gz
Windows x86_64 stackql-deploy-windows-x86_64.zip

Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.

Migrating from the Python package

If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/

The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.

Install (quick)

Linux / macOS:

curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.2/stackql-deploy-linux-x86_64.tar.gz \
  | tar -xz -C /usr/local/bin

Windows (PowerShell):

Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.2/stackql-deploy-windows-x86_64.zip `
  -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.1

16 Mar 00:55

Choose a tag to compare

stackql-deploy v2.0.1

What's new

This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.

Key improvements over the Python version:

  • Single self-contained binary — no Python runtime, pip, or virtualenv required.
    Drop the binary on any supported platform and run.
  • Faster startup and execution — Rust compile-time optimisations mean commands
    that previously took seconds to initialise now start instantly.
  • Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
    no transitive Python dependencies to manage.
  • Statically linked on Linux — works on any glibc ≥ 2.17 distro without
    installing extra system libraries.
  • Native Windows and macOS ARM64 support — pre-built for all five major targets
    (see assets below).

Download

Platform Architecture Asset
Linux x86_64 stackql-deploy-linux-x86_64.tar.gz
Linux arm64 stackql-deploy-linux-arm64.tar.gz
macOS Apple Silicon (arm64) stackql-deploy-macos-arm64.tar.gz
macOS Intel (x86_64) stackql-deploy-macos-x86_64.tar.gz
Windows x86_64 stackql-deploy-windows-x86_64.zip

Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.

Migrating from the Python package

If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/

The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.

Install (quick)

Linux / macOS:

curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.1/stackql-deploy-linux-x86_64.tar.gz \
  | tar -xz -C /usr/local/bin

Windows (PowerShell):

Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.1/stackql-deploy-windows-x86_64.zip `
  -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.0

16 Mar 00:36
7b5d5b2

Choose a tag to compare

stackql-deploy v2.0.0

What's new

This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.

Key improvements over the Python version:

  • Single self-contained binary — no Python runtime, pip, or virtualenv required.
    Drop the binary on any supported platform and run.
  • Faster startup and execution — Rust compile-time optimisations mean commands
    that previously took seconds to initialise now start instantly.
  • Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
    no transitive Python dependencies to manage.
  • Statically linked on Linux — works on any glibc ≥ 2.17 distro without
    installing extra system libraries.
  • Native Windows and macOS ARM64 support — pre-built for all five major targets
    (see assets below).

Download

Platform Architecture Asset
Linux x86_64 stackql-deploy-linux-x86_64.tar.gz
Linux arm64 stackql-deploy-linux-arm64.tar.gz
macOS Apple Silicon (arm64) stackql-deploy-macos-arm64.tar.gz
macOS Intel (x86_64) stackql-deploy-macos-x86_64.tar.gz
Windows x86_64 stackql-deploy-windows-x86_64.zip

Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.

Migrating from the Python package

If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/

The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.

Install (quick)

Linux / macOS:

curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.0/stackql-deploy-linux-x86_64.tar.gz \
  | tar -xz -C /usr/local/bin

Windows (PowerShell):

Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.0/stackql-deploy-windows-x86_64.zip `
  -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deploy

Or install via cargo:

cargo install stackql-deploy