id: CCR-2026-0011 kind: credential-change-request schema_version: 1 request_type: workload-kv-read title: Scaleway bootstrap API key for reef-storage / WP-0002 bucket create status: in_flight created: '2026-08-14' updated: '2026-08-14' in_flight: missing_fields: - openbao.policy_file - openbao.auth blocking_reason: Founder bootstrap API key and final operator authentication design are pending; do not invent metadata or fill placeholders. owner: platform-operator requester: agent: grok reason: >- RESOURCE-WP-0002 T03 is human-approved to create a private Scaleway Multi-AZ bucket in nl-ams. This session has no Scaleway CLI profile. Founder will provision a bootstrap org/project API key into OpenBao; the agent reads it only to create the bucket and then writes the scoped bucket key to a separate path. Values must not appear in Git or chat. review: required: true required_approvers: - platform-operator comments: - at: '2026-08-14T00:00:00+00:00' reviewer: bernd.worsch decision: approved comment: >- Approved in chat (Grok session): put Scaleway bootstrap key in OpenBao first, then create the bucket. target: domain: financials tenant: railiance workload: scaleway-bootstrap environment: production purpose: Create reef-storage object-store members; not the Barman runtime key openbao: mount: platform kv_path: platform/workloads/railiance/scaleway/bootstrap fields: - ACCESS_KEY - SECRET_KEY - DEFAULT_ORGANIZATION_ID - DEFAULT_PROJECT_ID policy_name: operator-kv-scaleway-bootstrap access_frontdoor: type: operator-local catalog_id: scaleway-bootstrap selector: scaleway bootstrap api command: bao kv put platform/workloads/railiance/scaleway/bootstrap resolvable: false readiness: approved-pending-apply delivery: surface: operator-workstation target: reef-storage/tools/create-platform-audit-bucket.sh (reads, never prints) risk: classification: high notes: - Bootstrap key can create projects/buckets; rotate or delete after scoped key exists. - Scoped backup key is a different path: platform/workloads/railiance/backup/object-storage - Values must not appear in Git, State Hub, or chat. verification: positive: - Field names present on the KV path; values not printed. negative: - default-policy token denied on the data path. activation_conditions: - Founder supplies the bootstrap credential through attended custody outside Git, chat, argv, and State Hub. - Platform operator records the exact policy artifact and authentication method before the request leaves in_flight status. lifecycle: deactivate: Delete bootstrap key at Scaleway after the scoped bucket key works. rotate: Put a new bootstrap key; do not reuse the scoped backup key. compromised: Revoke both Scaleway keys; rotate bucket policy.