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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions