@@ -203,6 +203,132 @@ secrets:
203203 # value: "your-registry-token" # Replace with your token/password
204204 # onMissingValue: error
205205
206+ # ===========================================================================
207+ # COCO (CONFIDENTIAL CONTAINERS) SECRETS
208+ # Uncomment the secrets below when deploying with CoCo support.
209+ # Pre-deployment steps:
210+ # 1. Run ./scripts/gen-secrets-coco.sh to generate KBS keypair
211+ # 2. Run ./scripts/get-pcr.sh to retrieve PCR measurements
212+ # ===========================================================================
213+
214+ # SSH keys for podvm debug access (optional).
215+ # Note: dm-verity based podvm images do not support SSH key injection by design.
216+ # This only works with non-dm-verity images built with SSH debug enabled.
217+ #- name: sshKey
218+ # vaultPrefixes:
219+ # - global
220+ # fields:
221+ # - name: id_rsa.pub
222+ # path: ~/.config/validated-patterns/id_rsa.pub
223+ # - name: id_rsa
224+ # path: ~/.config/validated-patterns/id_rsa
225+
226+ # Container Image Signature Verification Policy
227+ # Controls which container images are allowed to run in confidential containers.
228+ # The policy is fetched by the TEE via initdata using image_security_policy_uri.
229+ #
230+ # Three policy variants are provided:
231+ # - insecure: Accept all images (for development/testing only)
232+ # - reject: Reject all images (useful for testing policy enforcement)
233+ # - signed: Only accept images signed with cosign (for production)
234+ #
235+ # Select policy in initdata:
236+ # image_security_policy_uri = 'kbs:///default/security-policy/insecure'
237+ #
238+ # TODO: Rename to 'container-image-policy' in trustee-chart to better reflect
239+ # that this is about container image signature verification, not general security policy.
240+ #- name: securityPolicyConfig
241+ # vaultPrefixes:
242+ # - hub
243+ # fields:
244+ # # Accept all images without verification (INSECURE - dev/testing only)
245+ # - name: insecure
246+ # value: |
247+ # {
248+ # "default": [{"type": "insecureAcceptAnything"}],
249+ # "transports": {}
250+ # }
251+ # # Reject all images (useful for testing policy enforcement)
252+ # - name: reject
253+ # value: |
254+ # {
255+ # "default": [{"type": "reject"}],
256+ # "transports": {}
257+ # }
258+ # # Only accept signed images (production)
259+ # # Edit the transports section to add your signed images.
260+ # # Each image needs a corresponding cosign public key in cosign-keys secret.
261+ # - name: signed
262+ # value: |
263+ # {
264+ # "default": [{"type": "reject"}],
265+ # "transports": {
266+ # "docker": {
267+ # "registry.example.com/my-image": [
268+ # {
269+ # "type": "sigstoreSigned",
270+ # "keyPath": "kbs:///default/cosign-keys/key-0"
271+ # }
272+ # ]
273+ # }
274+ # }
275+ # }
276+
277+ # PCR measurements for attestation.
278+ # Required: run ./scripts/get-pcr.sh before deploying.
279+ #- name: pcrStash
280+ # vaultPrefixes:
281+ # - hub
282+ # fields:
283+ # - name: json
284+ # path: ~/.config/validated-patterns/trustee/measurements.json
285+
286+ # Attestation status resource accessible via KBS/CDH from inside the TEE.
287+ # Workloads can fetch this to confirm they are running in an attested environment.
288+ #- name: attestationStatus
289+ # vaultPrefixes:
290+ # - hub
291+ # fields:
292+ # - name: status
293+ # value: 'attested'
294+ # - name: random
295+ # value: ''
296+ # onMissingValue: generate
297+ # vaultPolicy: validatedPatternDefaultPolicy
298+
299+ # Cosign public keys for image signature verification
300+ # Required when using the "signed" policy above.
301+ # Add your cosign public key files here.
302+ # Generate a cosign key pair: cosign generate-key-pair
303+ #- name: cosign-keys
304+ # vaultPrefixes:
305+ # - hub
306+ # fields:
307+ # - name: key-0
308+ # path: ~/.config/validated-patterns/trustee/cosign-key-0.pub
309+
310+ # KBS authentication keys (Ed25519) for Trustee admin API
311+ # Generate with:
312+ # mkdir -p ~/.config/validated-patterns/trustee
313+ # openssl genpkey -algorithm ed25519 > ~/.config/validated-patterns/trustee/kbsPrivateKey
314+ # openssl pkey -in ~/.config/validated-patterns/trustee/kbsPrivateKey -pubout -out ~/.config/validated-patterns/trustee/kbsPublicKey
315+ # chmod 600 ~/.config/validated-patterns/trustee/kbsPrivateKey
316+ #- name: kbsPublicKey
317+ # vaultPrefixes:
318+ # - hub
319+ # fields:
320+ # - name: publicKey
321+ # path: ~/.config/validated-patterns/trustee/kbsPublicKey
322+
323+ #- name: passphrase
324+ # vaultPrefixes:
325+ # - hub
326+ # fields:
327+ # - name: passphrase
328+ # value: ''
329+ # onMissingValue: generate
330+ # vaultPolicy: validatedPatternDefaultPolicy
331+
206332 # ===========================================================================
207333 # HUB-SPECIFIC SECRETS (hub/)
208334 # Secrets for hub cluster management (spoke kubeconfigs, etc.)
0 commit comments