--- id: REEF-STORAGE-WP-0002 type: workplan title: "Fill Scaleway attributes after purchase" domain: financials repo: reef-storage status: active owner: grok topic_slug: railiance created: "2026-08-14" updated: "2026-08-15" related: - RESOURCE-WP-0002 - ADR-0008 --- # REEF-STORAGE-WP-0002 — fill after purchase Purchase happened 2026-08-14. Follow `docs/post-purchase-seed.md`. ## T01 — Write live non-secret attributes ```task id: REEF-STORAGE-WP-0002-T01 status: done priority: high ``` Fill `substrate/object-stores/platform-audit-storage.yaml` endpoint, bucket, prefix, project ref, versioning, lifecycle. Promote topology members. No secrets. Done 2026-08-14: bucket `railiance-platform-pg-backup` in `nl-ams` is live (versioning on, 30-day current and noncurrent expiration, owner-only ACL). Attributes, topology member, and declaration `current_members` written. Reef `lifecycle_state` stays `planned` until RESOURCE-WP-0002-T05. Cost backstop is a founder email billing alert. Scaleway has no euro hard-stop; that gap is accepted. Scaleway S3 is a provider-native API. ADR-0008 does not apply a `public` grant to it. Do not set `exposure.posture: public` on this reef. ## T02 — Wait for restore before lifecycle_state active ```task id: REEF-STORAGE-WP-0002-T02 status: wait priority: medium ``` Depends on `RESOURCE-WP-0002-T05` (first restore). This repo then sets `lifecycle_state: active`. Secrets stay in `railiance-platform`. Backup schedule stays in `rapp-postgres`. **Done when:** declaration `lifecycle_state` matches the first proven restore, or this task is cancelled if resource-control records that decision instead.