Skip to content

Implement Environment-Aware Configuration and Naming Conventions for Multi-Environment Deployments #9

@AndrewGearhart

Description

@AndrewGearhart

This issue focuses on enhancing the PDF Accessibility project to support better resource management and deployment across multiple environments (e.g., dev, prod). The goal is to make deployments more scalable, avoid naming conflicts, and improve organization through consistent naming and configuration. This is useful for organizations where account level segregation is not possible or desired.

Key Changes:

  • Environment Context: Add support for env and stackBase parameters via CDK context or environment variables, defaulting to dev and pdfaccessibility respectively.
  • Resource Naming: Update all AWS resources (S3 buckets, ECS clusters, Lambda functions, Step Functions, etc.) to use a consistent prefix format like <stackBase>-<env>-<resource> for uniqueness and clarity.
  • Secrets Management: Namespace Secrets Manager paths to /{stackBase}/{env}/client_credentials for environment isolation.
  • Tagging and Metadata: Add environment and project tags to resources, plus environment variables in containers/Lambdas.
  • Repository Cleanup: Remove all .DS_Store files to keep the repo clean.
  • Documentation: Update README.md with deployment patterns, naming conventions, and examples for different environments.

Benefits:

  • Easier multi-environment deployments without conflicts.
  • Improved traceability and organization via tags and names.
  • Better security through namespaced secrets.
  • Cleaner repository state.

Acceptance Criteria:

  • CDK stack deploys successfully with environment-specific names.
  • Resources are tagged appropriately.
  • Secrets are accessed via new paths.
  • README reflects the new deployment options.
  • No .DS_Store files in the repository (unrelated, basic clean-up)

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