From d968e3ebfdec7f2d7e681d5b47f03202f77827f7 Mon Sep 17 00:00:00 2001 From: Christopher Aubuchon Date: Wed, 12 Aug 2026 09:39:37 -0700 Subject: [PATCH 1/2] updated source description --- .../StackSpecContainerConfigIntegrations.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/stackspec/schema/StackSpecContainerConfigIntegrations.yml b/stackspec/schema/StackSpecContainerConfigIntegrations.yml index fbdd812f..94c2b3b5 100644 --- a/stackspec/schema/StackSpecContainerConfigIntegrations.yml +++ b/stackspec/schema/StackSpecContainerConfigIntegrations.yml @@ -97,10 +97,24 @@ properties: - destination properties: source: + description: + Endpoint serving the file(s) to provision into the container. + + The following query parameters are recognized by Cycle and are + stripped before the request is made upstream + - cycle-cache (duration string) — how long Cycle may serve its + cached copy of the file before re-fetching from the origin. + Accepts a duration such as 30m, 10h, or 2d. + - cycle-version (string) — an opaque version identifier for the + file. Changing it invalidates the cached copy, so a redeploy pulls + fresh content even when the URL is otherwise unchanged. + Both may be combined with any query parameters the origin expects. oneOf: - $ref: StackVariable.yml - type: string destination: + description: + File path for the files to be downloaded to on the container instance(s). oneOf: - type: string - $ref: StackVariable.yml From 397c99e4c57c7ebee7f727e05f0ad715f62c6a29 Mon Sep 17 00:00:00 2001 From: Christopher Aubuchon Date: Wed, 12 Aug 2026 09:52:05 -0700 Subject: [PATCH 2/2] example and better description for stack variables. --- .../StackSpecContainerConfigIntegrations.yml | 5 +++-- stackspec/schema/StackVariable.yml | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/stackspec/schema/StackSpecContainerConfigIntegrations.yml b/stackspec/schema/StackSpecContainerConfigIntegrations.yml index 94c2b3b5..4a3b7ff2 100644 --- a/stackspec/schema/StackSpecContainerConfigIntegrations.yml +++ b/stackspec/schema/StackSpecContainerConfigIntegrations.yml @@ -106,12 +106,13 @@ properties: cached copy of the file before re-fetching from the origin. Accepts a duration such as 30m, 10h, or 2d. - cycle-version (string) — an opaque version identifier for the - file. Changing it invalidates the cached copy, so a redeploy pulls - fresh content even when the URL is otherwise unchanged. + file. Changing it invalidates the cached copy. Both may be combined with any query parameters the origin expects. oneOf: - $ref: StackVariable.yml - type: string + examples: + - https://example.com/config/app.conf?cycle-cache=10h&cycle-version=v2.1.1 destination: description: File path for the files to be downloaded to on the container instance(s). diff --git a/stackspec/schema/StackVariable.yml b/stackspec/schema/StackVariable.yml index 882f24c3..7b0ff029 100644 --- a/stackspec/schema/StackVariable.yml +++ b/stackspec/schema/StackVariable.yml @@ -1,5 +1,20 @@ title: StackVariable -description: A variable specified in a stack spec. +description: + A variable specified in a stack spec. At deploy time the placeholder is replaced with the value supplied for that variable. + + Two substitution forms are available + + - "{{stack-variable}}" — **string substitution.** The value is inserted as a + JSON string. Passing 1 yields "1". + - "{{$stack-variable}}" — **literal substitution.** The value is inserted + verbatim, including the surrounding quotes, so it keeps its own JSON type. + Given instances "{{$stack-variable}}" and a passed value of 1, the + resulting JSON is instances 1 — a number, not a string. Use this form for + numbers, booleans, arrays, and objects. + + In both forms the placeholder must be wrapped in quotes wherever it appears in + the JSON. An unquoted placeholder is not valid JSON/YAML and will break the + surrounding document before substitution can run. pattern: '"?\{\{(\$)?([a-z0-9-]+)\}\}"?' type: string examples: