Skip to content

[ Docs ] Combine install/config pages #1002

@gwright99

Description

@gwright99

Background

I recently executed an initiative to stand-up my own Wave deployment, using the existing state of the Wave documentation as my guide. I found it confusing that installation/configuration settings were documented across a few different places in the repo hierarchy:

  • wave/docs/install/kubernetes
    • Contains manifests for wave app itself but does not contain other necessary manifests like EFS StorageClass / PV / PVCs / wave-build resources.
    • Ingress resource defined in "Next Steps" (technically true, but realistically should live with rest of application manifests).
    • Has details on pre-requisite infrastructure (Postgres) that is also required by Docker-Compose Wave Lite deployment.
    • Has ECR token IAM permissions that intermingle permissions needed for proxy flow only and those needed for build flow (e.g. ecr:UploadLayerPart.
  • wave/docs/install/configure-wave-build
    • Has manifests for Wave build. Defines PV/PVC for wave namespace but not the second set of PV/PVC needed for wave-build namespace.
    • Has an updated Deployment different from the base manifest (despite most content being similar).
    • No admonition re: specific provisioning settings required by backing EFS instance.
    • Mixes basic setup steps with Production-readiness activities (e.g. dedicated node pools) which are more suited to being in the pre-requisites section.
  • wave/docs/configure-wave.md
    • Mixes generic config (SMTP), with cloud-specific (SES), with Build-specific (security scanning and ECR cache repository permission), with ECR lifecycle suggestions.
    • Contains small tables of subset of configurations
  • wave/docs/configuration.md
    • Laundry list of configuration values
    • Description quality varies between sections (e.g. missing good description for why one might want to activate the blobCache
    • Documented default values do not always reflect underlying value in code (e.g. wave.build.status.duration)
    • Mixes infrastructure/deployment-related settings (e.g. S3 cache authentication with actual application-level settings.
  • wave/docs/install/docker-compose
    • Duplication of postgres config.
    • Subset of wave-config.yml app configuration (_maybe ok to keep separate since formatting is slightly different than the Kubernetes ConfigMap).

Proposed Approach

I'm not sure how to resolve all problems / whether it's worth resolving everything. To begin, however, I'd advise:

  1. Collapse all infrastructure/K8s deployment activity into a single page.
  2. Single source configuration into a single page (laundry-list, with subsections for K8s & Docker-Compose).
  3. TBD ...

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