@opengeni/runtime 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2PO56VAL.js +3478 -0
- package/dist/chunk-2PO56VAL.js.map +1 -0
- package/dist/index.d.ts +912 -0
- package/dist/index.js +3663 -0
- package/dist/index.js.map +1 -0
- package/dist/sandbox/index.d.ts +1738 -0
- package/dist/sandbox/index.js +187 -0
- package/dist/sandbox/index.js.map +1 -0
- package/package.json +49 -0
- package/src/bundled_hashicorp_terraform_skills/LICENSE +373 -0
- package/src/bundled_hashicorp_terraform_skills/README.md +18 -0
- package/src/bundled_hashicorp_terraform_skills/UPSTREAM_GIT_SHA +1 -0
- package/src/bundled_hashicorp_terraform_skills/azure-verified-modules/SKILL.md +613 -0
- package/src/bundled_hashicorp_terraform_skills/checkov/SKILL.md +43 -0
- package/src/bundled_hashicorp_terraform_skills/refactor-module/SKILL.md +538 -0
- package/src/bundled_hashicorp_terraform_skills/social-media-marketing/SKILL.md +35 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-search-import/SKILL.md +372 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-search-import/references/MANUAL-IMPORT.md +113 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-search-import/scripts/list_resources.sh +38 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/SKILL.md +480 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/api-monitoring.md +543 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/component-blocks.md +476 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/deployment-blocks.md +391 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/examples.md +1529 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/linked-stacks.md +187 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-stacks/references/troubleshooting.md +671 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-style-guide/SKILL.md +353 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-test/SKILL.md +451 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-test/references/CI_CD.md +80 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-test/references/EXAMPLES.md +314 -0
- package/src/bundled_hashicorp_terraform_skills/terraform-test/references/MOCK_PROVIDERS.md +171 -0
- package/src/codex-tool-search.ts +267 -0
- package/src/context-compaction.ts +538 -0
- package/src/history-sanitizer.ts +719 -0
- package/src/index.ts +3299 -0
- package/src/sandbox/capabilities.ts +69 -0
- package/src/sandbox/channel-a.ts +1031 -0
- package/src/sandbox/display-stack.ts +231 -0
- package/src/sandbox/errors.ts +34 -0
- package/src/sandbox/index.ts +832 -0
- package/src/sandbox/providers/blaxel.ts +35 -0
- package/src/sandbox/providers/cloudflare.ts +24 -0
- package/src/sandbox/providers/daytona.ts +34 -0
- package/src/sandbox/providers/docker.ts +17 -0
- package/src/sandbox/providers/e2b.ts +36 -0
- package/src/sandbox/providers/index.ts +107 -0
- package/src/sandbox/providers/local.ts +13 -0
- package/src/sandbox/providers/modal.ts +55 -0
- package/src/sandbox/providers/none.ts +13 -0
- package/src/sandbox/providers/runloop.ts +32 -0
- package/src/sandbox/providers/selfhosted.ts +96 -0
- package/src/sandbox/providers/types.ts +38 -0
- package/src/sandbox/providers/vercel.ts +29 -0
- package/src/sandbox/recording.ts +286 -0
- package/src/sandbox/routing/backend-resolver.ts +189 -0
- package/src/sandbox/routing/routing-session.ts +455 -0
- package/src/sandbox/select.ts +371 -0
- package/src/sandbox/selfhosted/capabilities.ts +255 -0
- package/src/sandbox/selfhosted/control-rpc.ts +351 -0
- package/src/sandbox/selfhosted/session.ts +930 -0
- package/src/sandbox/selfhosted/testing.ts +230 -0
- package/src/sandbox/stream-port.ts +185 -0
- package/src/sandbox/stream-token.ts +90 -0
- package/src/sandbox/terminal-server.ts +203 -0
- package/src/sandbox-computer.ts +835 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Linked Stacks Reference
|
|
2
|
+
|
|
3
|
+
Complete reference for linking Terraform Stacks together using published outputs and upstream inputs.
|
|
4
|
+
|
|
5
|
+
## Publish Output Block
|
|
6
|
+
|
|
7
|
+
Exports outputs from a Stack for consumption by other Stacks (linked Stacks).
|
|
8
|
+
|
|
9
|
+
###Syntax
|
|
10
|
+
|
|
11
|
+
```hcl
|
|
12
|
+
publish_output "<output_name>" {
|
|
13
|
+
type = <type>
|
|
14
|
+
value = <expression>
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Arguments
|
|
19
|
+
|
|
20
|
+
- **output_name** (label, required): Unique identifier for this published output
|
|
21
|
+
- **type** (required): Data type of the output
|
|
22
|
+
- **value** (required): Expression to export
|
|
23
|
+
|
|
24
|
+
### Accessing Deployment Outputs
|
|
25
|
+
|
|
26
|
+
Reference deployment outputs using: `deployment.<deployment_name>.<output_name>`
|
|
27
|
+
|
|
28
|
+
### Important Notes
|
|
29
|
+
|
|
30
|
+
- Must apply the Stack's deployment configuration before downstream Stacks can reference outputs
|
|
31
|
+
- Published outputs create a snapshot that other Stacks can read
|
|
32
|
+
- Changes to published outputs automatically trigger runs in downstream Stacks
|
|
33
|
+
|
|
34
|
+
### Examples
|
|
35
|
+
|
|
36
|
+
**Basic Published Output:**
|
|
37
|
+
|
|
38
|
+
```hcl
|
|
39
|
+
publish_output "vpc_id" {
|
|
40
|
+
type = string
|
|
41
|
+
value = deployment.network.vpc_id
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
publish_output "subnet_ids" {
|
|
45
|
+
type = list(string)
|
|
46
|
+
value = deployment.network.private_subnet_ids
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Multiple Deployment Outputs:**
|
|
51
|
+
|
|
52
|
+
```hcl
|
|
53
|
+
publish_output "regional_vpc_ids" {
|
|
54
|
+
type = map(string)
|
|
55
|
+
value = {
|
|
56
|
+
us_east = deployment.us_east.vpc_id
|
|
57
|
+
us_west = deployment.us_west.vpc_id
|
|
58
|
+
eu_west = deployment.eu_west.vpc_id
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Complex Output:**
|
|
64
|
+
|
|
65
|
+
```hcl
|
|
66
|
+
publish_output "database_config" {
|
|
67
|
+
type = object({
|
|
68
|
+
endpoint = string
|
|
69
|
+
port = number
|
|
70
|
+
name = string
|
|
71
|
+
})
|
|
72
|
+
value = {
|
|
73
|
+
endpoint = deployment.production.db_endpoint
|
|
74
|
+
port = deployment.production.db_port
|
|
75
|
+
name = deployment.production.db_name
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Regional Endpoints:**
|
|
81
|
+
|
|
82
|
+
```hcl
|
|
83
|
+
publish_output "api_endpoints" {
|
|
84
|
+
type = map(object({
|
|
85
|
+
url = string
|
|
86
|
+
region = string
|
|
87
|
+
}))
|
|
88
|
+
value = {
|
|
89
|
+
for env in ["dev", "staging", "prod"] : env => {
|
|
90
|
+
url = deployment[env].api_url
|
|
91
|
+
region = deployment[env].region
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Upstream Input Block
|
|
98
|
+
|
|
99
|
+
References published outputs from another Stack (linked Stacks).
|
|
100
|
+
|
|
101
|
+
### Syntax
|
|
102
|
+
|
|
103
|
+
```hcl
|
|
104
|
+
upstream_input "<input_name>" {
|
|
105
|
+
type = "stack"
|
|
106
|
+
source = "<stack_address>"
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Arguments
|
|
111
|
+
|
|
112
|
+
- **input_name** (label, required): Local name for this upstream input
|
|
113
|
+
- **type** (required): Must be "stack"
|
|
114
|
+
- **source** (required): Full Stack address in format: `app.terraform.io/<org>/<project>/<stack-name>`
|
|
115
|
+
|
|
116
|
+
### Accessing Upstream Outputs
|
|
117
|
+
|
|
118
|
+
Reference upstream outputs using: `upstream_input.<input_name>.<output_name>`
|
|
119
|
+
|
|
120
|
+
### Important Notes
|
|
121
|
+
|
|
122
|
+
- Creates a dependency on the upstream Stack
|
|
123
|
+
- Upstream Stack must have applied its deployment configuration
|
|
124
|
+
- Changes in upstream Stack automatically trigger downstream Stack runs
|
|
125
|
+
- Only works with Stacks in the same HCP Terraform project
|
|
126
|
+
|
|
127
|
+
### Examples
|
|
128
|
+
|
|
129
|
+
**Basic Upstream Reference:**
|
|
130
|
+
|
|
131
|
+
```hcl
|
|
132
|
+
upstream_input "network" {
|
|
133
|
+
type = "stack"
|
|
134
|
+
source = "app.terraform.io/my-org/my-project/networking-stack"
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
deployment "application" {
|
|
138
|
+
inputs = {
|
|
139
|
+
vpc_id = upstream_input.network.vpc_id
|
|
140
|
+
subnet_ids = upstream_input.network.subnet_ids
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Multiple Upstream Stacks:**
|
|
146
|
+
|
|
147
|
+
```hcl
|
|
148
|
+
upstream_input "network" {
|
|
149
|
+
type = "stack"
|
|
150
|
+
source = "app.terraform.io/my-org/my-project/network-stack"
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
upstream_input "database" {
|
|
154
|
+
type = "stack"
|
|
155
|
+
source = "app.terraform.io/my-org/my-project/database-stack"
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
deployment "application" {
|
|
159
|
+
inputs = {
|
|
160
|
+
vpc_id = upstream_input.network.vpc_id
|
|
161
|
+
subnet_ids = upstream_input.network.private_subnet_ids
|
|
162
|
+
database_endpoint = upstream_input.database.endpoint
|
|
163
|
+
database_credentials = upstream_input.database.credentials
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Regional Upstream Dependencies:**
|
|
169
|
+
|
|
170
|
+
```hcl
|
|
171
|
+
upstream_input "regional_network" {
|
|
172
|
+
type = "stack"
|
|
173
|
+
source = "app.terraform.io/my-org/my-project/regional-networks"
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
deployment "us_east_app" {
|
|
177
|
+
inputs = {
|
|
178
|
+
region = "us-east-1"
|
|
179
|
+
vpc_id = upstream_input.regional_network.regional_vpc_ids["us_east"]
|
|
180
|
+
subnet_ids = upstream_input.regional_network.regional_subnet_ids["us_east"]
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Complete Working Example
|
|
186
|
+
|
|
187
|
+
For a complete example showing full Stack configurations with all files (variables, providers, components, outputs, deployments) for both upstream and downstream Stacks, see the "Linked Stacks (Cross-Stack Dependencies)" section in `examples.md`.
|