Skip to content

Prod environment, approval gate and go-live in the Pixelbar server #12

Closed

Description

@NinjaLikesCheez

Context

Once dev is proven, Pixel needs a production environment and to join the real Pixelbar Discord server.

Depends on:

Goal

Pixel runs in a prod environment, with deploys gated by human approval, and is live in the Pixelbar server.

Scope

  • infra/envs/prod, using the same module as dev:
    • its own Discord application, Key Vault, Sentry environment prod, and real access lists
  • Approval gate: a GitHub Environment prod with required reviewers
  • Promotion: prod deploys the same image digest already verified in dev, never a rebuild
  • Go-live:
    • invite the bot to the Pixelbar server with the minimum permissions it needs
    • register commands
    • load the real admin and member lists
    • announce to members

Acceptance criteria

  • Prod deploys need an approving review, and nothing deploys to prod automatically
  • Prod secrets and access lists live only in the prod Key Vault
  • The bot has only the Discord permissions it needs, written down
  • Commands work in the Pixelbar server for each tier
  • Coding agents can't apply Terraform to prod or change prod secrets (already in AGENTS.md; enforce it where possible)
  • The privacy notice (Privacy notice and data retention (GDPR) #7) is live and linked from /help

Open questions

  • Who are the approvers for prod deploys?
  • Who are the initial Pixel admins in prod?
  • When, and in which channel, do we announce Pixel to members?

Activity

  1. added
    infrastructureTerraform, Azure, CI/CD, operations
    securityAuth, access control, privacy, secrets — needs human review
    on Oct 3, 2026
  2. NinjaLikesCheez commented on Oct 9, 2026

    @NinjaLikesCheez
    ContributorAuthor

    Audit follow-up (2026-10-09)

    This is still the prod go-live ticket. Extra constraints from live bootstrap / dev:

    Do first (separate issues, not this stack)

    • Prod GitHub OIDC FIC is still the name-only subject repo:pixelbar/pixel:environment:prod. Dev already needed the immutable form (repo:pixelbar@1690472/pixel@1402859166:environment:…). Fix that before any prod workflow azure/login (Fix prod GitHub OIDC subject and add Environment reviewers #71).
    • GitHub Environment prod exists but has no reviewers, no ARM_*, no branch policy. Add reviewers + main only before enabling login.
    • cd.yml must stay off Azure until those exist (ADR 0010).

    When infra/envs/prod exists

    • Same module, another env root — not a clone of pixel-dev-kv or the Mini / Pixel Dev Discord token
    • Own bot, guild, vault, Sentry environment, access lists
    • Purge protection on; do not purge_soft_delete_on_destroy (dev is the opposite on purpose)
    • Max replicas = 1, no public ingress, no Postgres, no extra replica
    • Same image digest already on GHCR from main, never a rebuild for prod

    pixel-prod RG and pixel-github-prod already exist (bootstrap). Do not apply a fake prod “to use” them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    infrastructureTerraform, Azure, CI/CD, operationssecurityAuth, access control, privacy, secrets — needs human review

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions