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