You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/aws/aws-vpc-webserver/stackql_manifest.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ version: 1
2
2
name: "aws-vpc-webserver"
3
3
description: Provisions a complete AWS networking stack (VPC, subnet, internet gateway, route table, security group) with an Apache web server EC2 instance.
Copy file name to clipboardExpand all lines: examples/aws/patch-doc-test/stackql_manifest.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ version: 1
2
2
name: "patch-doc-test"
3
3
description: Demonstrates the Cloud Control API update (PatchDocument) workflow using an S3 bucket - deploy, modify versioning config, re-deploy to apply the update.
Copy file name to clipboardExpand all lines: website/docs/getting-started.md
+56-28Lines changed: 56 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,44 +10,42 @@ unlisted: false
10
10
---
11
11
12
12
import File from '/src/components/File';
13
+
import Tabs from '@theme/Tabs';
14
+
import TabItem from '@theme/TabItem';
13
15
14
16
`stackql-deploy` is a model driven, declarative framework for provisioning, de-provisioning and testing cloud resources. Heard enough and ready to get started? Jump to a [__Quick Start__](#quick-start).
15
17
16
18
## Installing `stackql-deploy`
17
19
18
-
`stackql-deploy` is distributed as a standalone binary with no runtime dependencies required.
19
-
20
-
import Tabs from '@theme/Tabs';
21
-
import TabItem from '@theme/TabItem';
20
+
`stackql-deploy` is distributed as a standalone binary with no runtime dependencies required. You can also download directly from your browser at [__get-stackql-deploy.io__](https://get-stackql-deploy.io).
22
21
23
22
<Tabs>
24
-
<TabItemvalue="macos"label="macOS">
23
+
<TabItemvalue="linux-macos"label="Linux / macOS">
25
24
26
-
**Apple Silicon (ARM64):**
25
+
The canonical install URL detects your OS and redirects to the latest release asset automatically:
27
26
28
27
```bash
29
-
curl -L https://github.com/stackql/stackql-deploy-rs/releases/latest/download/stackql-deploy-macos-arm64.tar.gz| tar xz
28
+
curl -L https://get-stackql-deploy.io| tar xzf -
30
29
sudo mv stackql-deploy /usr/local/bin/
31
30
```
32
31
33
-
**Intel (x86_64):**
32
+
Or download a specific platform build:
33
+
34
+
**macOS Universal (Apple Silicon + Intel):**
34
35
35
36
```bash
36
-
curl -L https://github.com/stackql/stackql-deploy-rs/releases/latest/download/stackql-deploy-macos-x86_64.tar.gz | tar xz
37
+
curl -L https://github.com/stackql/stackql-deploy-rs/releases/latest/download/stackql-deploy-macos-universal.tar.gz | tar xz
37
38
sudo mv stackql-deploy /usr/local/bin/
38
39
```
39
40
40
-
</TabItem>
41
-
<TabItemvalue="linux"label="Linux">
42
-
43
-
**x86_64:**
41
+
**Linux x86_64:**
44
42
45
43
```bash
46
44
curl -L https://github.com/stackql/stackql-deploy-rs/releases/latest/download/stackql-deploy-linux-x86_64.tar.gz | tar xz
47
45
sudo mv stackql-deploy /usr/local/bin/
48
46
```
49
47
50
-
**ARM64:**
48
+
**Linux ARM64:**
51
49
52
50
```bash
53
51
curl -L https://github.com/stackql/stackql-deploy-rs/releases/latest/download/stackql-deploy-linux-arm64.tar.gz | tar xz
If you have Rust installed (via [rustup](https://rustup.rs/)):
77
+
Pre-built binaries are attached to every release on the [__GitHub Releases__](https://github.com/stackql/stackql-deploy-rs/releases) page. A `SHA256SUMS` file is included for verification.
80
78
81
-
```bash
82
-
cargo install stackql-deploy
83
-
```
84
-
85
-
This builds from source and installs to `~/.cargo/bin/`.
79
+
| Platform | Asset |
80
+
|----------|-------|
81
+
| Linux x86_64 |`stackql-deploy-linux-x86_64.tar.gz`|
82
+
| Linux ARM64 |`stackql-deploy-linux-arm64.tar.gz`|
Use the [`stackql/setup-deploy`](https://github.com/marketplace/actions/stackql-deploy) action to install and run `stackql-deploy` in your CI/CD pipelines:
89
+
Use the [`stackql/setup-deploy`](https://github.com/marketplace/actions/stackql-deploy) action to install and run `stackql-deploy` in your CI/CD pipelines. The action automatically downloads the latest binary for the runner's platform.
90
+
91
+
**Deploy a stack:**
91
92
92
93
```yaml
93
94
steps:
94
95
- uses: actions/checkout@v4
95
-
96
96
- name: Deploy Stack
97
97
uses: stackql/setup-deploy@v1.0.1
98
98
with:
@@ -102,12 +102,39 @@ steps:
102
102
env_vars: 'AWS_REGION=us-east-1'
103
103
```
104
104
105
-
The action automatically downloads the latest binary for the runner's platform. See [__Deploying with GitHub Actions__](/github-actions) for the full reference.
If you have the Rust toolchain installed (via [rustup](https://rustup.rs/)):
109
129
110
-
All platform binaries are available on the [__GitHub Releases__](https://github.com/stackql/stackql-deploy-rs/releases) page.
130
+
```bash
131
+
cargo install stackql-deploy
132
+
```
133
+
134
+
This builds from source and installs to `~/.cargo/bin/`.
135
+
136
+
</TabItem>
137
+
</Tabs>
111
138
112
139
## How `stackql-deploy` works
113
140
@@ -255,7 +282,8 @@ For more detailed information see [`cli-reference/build`](/cli-reference/build),
255
282
256
283
To get up and running quickly, `stackql-deploy` provides a set of quick start templates for common cloud providers. These templates include predefined configurations and resource queries tailored to AWS, Azure, and Google Cloud, among others.
257
284
258
-
- [**AWS Quick Start Template**](/template-library/aws/vpc-and-ec2-instance): A basic setup for deploying a VPC, including subnets and routing configurations.
285
+
- [**AWS Quick Start Template**](/template-library/aws/vpc-and-ec2-instance): A complete VPC networking stack with an EC2 web server using the `awscc` Cloud Control provider.
286
+
- [**Databricks Quick Start Template**](/template-library/databricks/serverless-workspace): A multi-provider stack deploying a Databricks serverless workspace on AWS with Unity Catalog.
259
287
- [**Azure Quick Start Template**](/template-library/azure/simple-vnet-and-vm): A setup for creating a Resource Group with associated resources.
260
288
- [**Google Cloud Quick Start Template**](/template-library/google/k8s-the-hard-way): A configuration for deploying a VPC with network and firewall rules.
**Description**: List of variable names to export to a JSON file after deployment completion. Variables must exist in the deployment context (from globals or resource exports). Use with the `--output-file` CLI argument to specify the destination file.
4
-
5
-
**Usage**: Use this to extract key deployment outputs for use in CI/CD pipelines, downstream processes, or for record-keeping.
6
-
7
-
**Example**:
8
-
9
-
```yaml
10
-
exports:
11
-
- databricks_workspace_name
12
-
- databricks_workspace_id
13
-
- aws_iam_role_arn
14
-
- deployment_timestamp
15
-
```
16
-
17
-
**Notes**:
18
-
- `stack_name`, `stack_env`, and `elapsed_time` are automatically included in exports and do not need to be listed
19
-
- Export order: automatic exports (`stack_name`, `stack_env`) first, then user-defined exports, then timing (`elapsed_time`) last
20
-
- `elapsed_time`is formatted as a string showing the total deployment duration (e.g., "0:01:23.456789")
21
-
- Variables are exported exactly as they exist in the deployment context
22
-
- Complex objects and arrays are preserved as JSON structures
23
-
- If a listed variable doesn't exist in the context, deployment will fail
24
-
- Requires `--output-file` CLI argument to be specified, otherwise exports are skipped
25
-
- Exported JSON file contains a flat object with variable names as keys
1
+
**Type**: `array of strings` (optional)
2
+
3
+
**Description**: List of variable names to export after a successful `build` or `test` operation. Variables must exist in the deployment context (from globals or resource exports). Exported variables are displayed in a table, written to a sourceable shell file (`.stackql-deploy-exports`), and optionally to a JSON file when `--output-file` is specified.
4
+
5
+
**Usage**: Use this to extract key deployment outputs for use in CI/CD pipelines, downstream processes, or interactive shell sessions.
Exported variable names follow the pattern `STACKQL_DEPLOY__<stack_name>__<stack_env>__<variable>`, where hyphens in stack name or env are replaced with underscores (since shell environment variables don't support hyphens).
57
+
58
+
**Notes**:
59
+
-`stack_name`, `stack_env`, and `elapsed_time` are automatically included in exports and do not need to be listed
60
+
- Stack exports are displayed on both `build` and `test` operations
61
+
- The `.stackql-deploy-exports` file is written to the current working directory and contains `export KEY='value'` lines
62
+
- If `--output-file` is also specified, exports are additionally written as a JSON file
63
+
- Variables are exported exactly as they exist in the deployment context
64
+
- Complex objects and arrays are preserved as JSON structures
65
+
- If a listed variable doesn't exist in the context, the operation will fail
0 commit comments