4adb7224d8
Updated the README to provide clearer descriptions for the `gcp-bucket-crossplane-health` and `stg-workspace-smoke` code bundles. The `gcp-bucket-crossplane-health` now specifies its focus on Kubernetes platform and k8s-kubectl-cmd runtime, while the `stg-workspace-smoke` is noted for its integration of runwhen and tool-builder runtime. This improves documentation clarity for users regarding the purpose and structure of these bundles.
98 lines
2.9 KiB
Markdown
98 lines
2.9 KiB
Markdown
# Staging Workspace Smoke Check
|
|
|
|
Verify tool-builder runtime can execute a simple custom task against the stg-test workspace.
|
|
|
|
**Bundle:** `stg-workspace-smoke` · **Task title:** `Run staging workspace smoke check` ·
|
|
**Runtime:** tool-builder (python)
|
|
|
|
## When this SLX gets created
|
|
|
|
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
|
|
- **Resource types:** `workspace`
|
|
- **Match rules (plain English):**
|
|
- matches every resource (pattern `.+` on name)
|
|
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-stg-smoke`
|
|
- **Qualifiers:** `workspace`
|
|
|
|
## What this SLX does
|
|
|
|
The task runs a python script via the shared `tool-builder` codebundle in
|
|
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
|
|
a base64-encoded `GEN_CMD` at deploy time; this file shows the decoded script for review.
|
|
|
|
### Script (decoded)
|
|
|
|
```python
|
|
import os
|
|
|
|
|
|
def main():
|
|
workspace = os.environ.get("WORKSPACE_NAME", "unknown")
|
|
location = os.environ.get("LOCATION_NAME", "unknown")
|
|
return [
|
|
{
|
|
"issue title": "Staging smoke check passed",
|
|
"issue description": (
|
|
f"Tool-builder smoke script ran on workspace={workspace} "
|
|
f"location={location}."
|
|
),
|
|
"issue severity": 4,
|
|
"issue next steps": (
|
|
"No action required — this is an informational smoke test."
|
|
),
|
|
}
|
|
]
|
|
```
|
|
|
|
### Environment variables
|
|
|
|
| Name | Value | Notes |
|
|
|---|---|---|
|
|
| _(none)_ | | |
|
|
|
|
|
|
### Secrets (names only — values live in RunWhen workspace secrets)
|
|
|
|
| Name | Required |
|
|
|---|---|
|
|
| _(none)_ | no |
|
|
|
|
|
|
### Runtime variables (user-supplied at run time)
|
|
|
|
| Name | Default | Description |
|
|
|---|---|---|
|
|
| _(none)_ | | |
|
|
|
|
|
|
## Operational metadata
|
|
|
|
- **Timeout:** 300s
|
|
- **Access:** `read-only` · **Data:** `logs-bulk`
|
|
- **Owners:** {{workspace.owner_email}}
|
|
|
|
## Provenance
|
|
|
|
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` vlocal-e2e-test
|
|
- Source workspace: `stg-test`
|
|
- Generated at: `2026-07-02T21:13:33Z`
|
|
|
|
## Deploying this codecollection
|
|
|
|
Add to your runwhen-local runner `workspaceInfo.yaml`:
|
|
|
|
```yaml
|
|
codeCollections:
|
|
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
|
|
ref: main
|
|
```
|
|
|
|
Then reconcile (Flux example):
|
|
|
|
```bash
|
|
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
|
|
```
|
|
|
|
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
|
|
> release lands, generation rules using `platform: runwhen` will not render SLXs.
|