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: demo/aws-sdk-go-v2/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,4 +7,6 @@ The important Runtime Conditions convention is inside `service/s3`:
7
7
-`runtimeconditions.package.yaml` maps SDK symbols to Runtime Conditions.
8
8
-`aws-object-store-v1alpha1.yaml` is the extension definition owned by this SDK package.
9
9
10
+
The manifest also declares the environment variable names the SDK needs for bucket, region, and credential inputs. It does not include those values.
11
+
10
12
The demo application imports `service/s3` and calls `Client.PutObject` normally. The generator resolves the direct import through `go.mod`, reads the package manifest, loads the embedded extension definition, and emits an `aws.object_store` Condition without any explicit no-op declaration in the application source.
The `todos-api` and `request-cache` Conditions come from explicit `rc` declarations in the workload. The `s3-object-store` Condition comes from normal SDK usage plus the SDK package manifest.
128
171
172
+
The profile records the environment variable names expected by the workload. It does not contain the values for those variables. In the Kratix demo, the runtime-workload adapter maps these requested properties to provider-owned outputs:
173
+
174
+
| Condition property | Kubernetes source |
175
+
| ---- | ---- |
176
+
| `baseUrl` | Literal service URL from the API catalog |
The same adapter emits Cilium policy requests for the resolved workload:
182
+
183
+
- A `CiliumNamespaceLockdown` request creates namespace default-deny pod networking.
184
+
- A `CiliumAPIAccess` request is emitted for API Conditions that declare HTTP operations. That request contains the workload selector, resolved service or FQDN destination, port, and only the `method` and `path` pairs declared by the Condition.
185
+
- Redis and S3Bucket requests include the workload selector so their Promises can render dependency-specific Cilium policies.
186
+
187
+
The generator still emits only the Runtime Conditions Profile. Network-policy requests are adapter output.
188
+
129
189
---
130
190
131
191
# 4. Extension Dependency Resolution
@@ -144,6 +204,7 @@ The extension definition declares its dependencies:
Copy file name to clipboardExpand all lines: docs/guides/package-artifact-conventions.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,6 +101,18 @@ go:
101
101
values:
102
102
- target: interface.bucketClass
103
103
value: standard
104
+
configuration:
105
+
env:
106
+
- property: bucket
107
+
name: AUDIT_LOG_BUCKET
108
+
- property: region
109
+
name: AWS_REGION
110
+
- property: accessKeyId
111
+
name: AWS_ACCESS_KEY_ID
112
+
sensitive: true
113
+
- property: secretAccessKey
114
+
name: AWS_SECRET_ACCESS_KEY
115
+
sensitive: true
104
116
```
105
117
106
118
Fields:
@@ -132,6 +144,7 @@ Declaration fields:
132
144
| `interfaceType` | YES | `interface.type` value |
133
145
| `values` | NO | Static field values to include in the generated Condition |
134
146
| `options` | NO | Nested function calls that provide field values |
147
+
| `configuration` | NO | Static workload-facing configuration mappings to include in the generated Condition |
135
148
136
149
At least one of `method` or `function` must be present. A declaration should provide either `name` or `nameArg`.
137
150
@@ -154,6 +167,8 @@ options:
154
167
155
168
Nested options are useful for no-op declaration packages. SDK operation manifests usually prefer static values or future language-specific extraction rules.
156
169
170
+
Configuration mappings let SDK authors surface hidden SDK inputs without emitting concrete values. For example, an SDK can state that generated S3 Conditions require a `bucket`, `region`, `accessKeyId`, and `secretAccessKey`, and can name the environment variables that the workload expects for those inputs. The generated profile carries the names; adapters map those properties to platform-provided ConfigMaps, Secrets, service URLs, or other delivery mechanisms.
171
+
157
172
---
158
173
159
174
# 4. Language Placement Conventions
@@ -254,13 +269,16 @@ The extension definition owns vocabulary and dependencies:
The package manifest maps source symbols to that vocabulary. It does not define vocabulary itself.
263
279
280
+
If a package manifest emits `configuration`, the extension definition should depend on `https://runtimeconditions.io/extensions/env-configuration:v1alpha1` or another extension that defines the configuration shape it uses.
0 commit comments