Skip to content

STORY-058: GCP Secret Manager for Admin Credentials #26

@trigrman

Description

@trigrman

User Story: GCP Secret Manager for Admin Credentials

Story ID: STORY-058
Iteration: 2025-12-08-final-fixes
Priority: High
Status: Ready
Labels: 2025-12-08-final-fixes, conference-organizer, admin, security, infrastructure, llm-dev

User Story

As a Conference Organizer,
I want admin credentials stored securely in GCP Secret Manager,
So that sensitive passwords are not exposed in the codebase or deployment commands.

Context

Currently, admin credentials must be passed via command-line substitutions on every deployment (--substitutions=_VITE_ADMIN_PASSWORD="..."). This is error-prone and risks exposing credentials in shell history. Storing credentials in GCP Secret Manager allows secure, centralized management with automatic retrieval during builds.

Acceptance Criteria

Functional Scenarios

Scenario 1: Deploy without specifying credentials

  • Given admin credentials are stored in GCP Secret Manager
  • When I run gcloud builds submit --config=deploy/gcp/cloudbuild.yaml
  • Then the build retrieves credentials from Secret Manager automatically
  • And the frontend is deployed with the correct admin password

Scenario 2: Update credentials in Secret Manager

  • Given I need to change the admin password
  • When I update the secret value in GCP Secret Manager
  • And I trigger a new deployment
  • Then the new password is used in the deployed application

Scenario 3: Credentials not in repo or logs

  • Given the deployment is configured with Secret Manager
  • When I search the repository for the admin password
  • Then the password is not found in any file
  • And the password is not visible in Cloud Build logs

Non-Functional Requirements

  • Security: Credentials never appear in repo, logs, or shell history
  • Security: Only authorized service accounts can access secrets
  • Usability: Deployment command is simpler (no substitutions needed)
  • Documentation: README updated with Secret Manager setup instructions

Quality Checklist

  • Secret created in GCP Secret Manager
  • Cloud Build service account has Secret Manager access
  • cloudbuild.yaml updated to retrieve secret
  • Deployment works without command-line credential substitutions
  • README documents the Secret Manager setup
  • Existing admin login functionality unchanged

Dependencies

  • STORY-053 (Admin Password Protection) - Built

Estimate

Size: S
Confidence: High

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions