docs: fix blocking errors and trim the self-install guides - #1107
Open
pditommaso wants to merge 1 commit into
Open
docs: fix blocking errors and trim the self-install guides#1107pditommaso wants to merge 1 commit into
pditommaso wants to merge 1 commit into
Conversation
Follow-up to #1106. Addresses the review findings in three groups. Deployments that would not work as documented: - aws-build: scan was enabled without wave.scan.reports.path. The bean factory throws on a null path and Application starts Micronaut with eagerInitSingletons(true), so Wave failed to boot. - aws-build: wave-build-pvc existed only in the `wave` namespace while build jobs run in `wave-build`. PVCs are namespaced, so every build, scan, and mirror pod stayed Pending. Now created in both. - aws-build: added the missing `noarch` node selector key. Without it getNoArchSelector returns an empty map and mirror and blob cache pods schedule outside the build node group. - aws-build: the S3 bucket referenced by the IAM policy and the build logs and locks paths is now created, and listed as a requirement. - aws-build: restored WAVE_JVM_OPTS. launch.sh defaults to -Xmx850m regardless of the 4Gi container limit. - docker-compose: DOCKER_USER and DOCKER_PAT are not read by Wave. They work only where config.yml interpolates them, and this guide replaces the config.yml that does. Moved into wave.registries. - kubernetes-lite: the registry snippet was a second top-level `wave:` block, which would drop wave.db.* and wave.server.url. Folded into the single ConfigMap. - kubernetes-lite: added the missing `kubectl apply` step, and completed the ALB ingress with ingressClassName and annotations so the /service-info check in post-install can pass. - Restored the endpoints.health guard dropped from master. jdbc and disk-space are on by default, so a brief Postgres blip turned the liveness probe red. - configure-wave: the MICRONAUT_ENVIRONMENTS examples re-added `lite`, which gates out JobManager and cleanup via @requires(missingBeans). - reference: restored kebab-case on six keys the merge reverted to camelCase, undoing #1096 - they still bind from YAML but lose env-var overridability. - Production checklist now uses wave.capabilities.anonymous-access instead of the wave.allowAnonymous legacy alias, and mentions the strict environment. - Fixed how-wave-works link to the renamed configuration reference. Simplification, per the review rubric: - Moved the seven-registry pre-creation matrix out of the EKS guide and into the reference. - Moved Bottlerocket user-namespace setup to troubleshoot. - Cut the SMTP settings table, the duplicate ECR cache walkthrough, the third IRSA explanation, and the EC2-instance-profile section for Docker builds, which the install paths do not support. - Trimmed the IAM narration to the Wave-specific delta and linked the AWS IRSA procedure. - Dropped "Production enhancements", keeping build-pod egress as a checklist item. - Made the sizing prerequisites per-replica so they match the manifests. Reference and verification: - Added wave.build.enabled, wave.mirror.enabled, wave.blob-cache.enabled, wave.job-manager.max-running-jobs and the mail.smtp.* keys; finished the truncated wave.accounts entry; corrected five (required) labels on settings that ship defaults. - post-install now covers the mirror and scan checks for the features aws-build enables. - Added troubleshoot to the sidebar and gave it front matter; moved post-install ahead of aws-build. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1106 — base is
chris-self-install, notmaster. Merge #1106 first, or merge this into it.Addresses the review on #1106. Every claim was verified against
src/mainat1e4e10dbefore being fixed.Deployments that would not work as documented
aws-build: addwave.scan.reports.pathObjectStorageOperationsFactory.create0throws on a null path, andApplication.groovy:43useseagerInitSingletons(true)— Wave failed to boot.aws-build: createwave-build-pvcin both namespaceswave; jobs run inwave.build.k8s.namespace(wave-build). PVCs are namespaced, so every build, scan, and mirror pod stayedPending.aws-build: add thenoarchnode selectorK8sHelper.getNoArchSelectorreturns an empty map without it, so the mirror and blob-cache podsKubeMirrorStrategy/KubeTransferStrategycreate schedule outside the build node group.aws-build: create the S3 bucket<s3-bucket>was referenced by the IAM policy and the logs/locks paths but never created, and was missing from the requirements.aws-build: restoreWAVE_JVM_OPTSsrc/main/jib/launch.shdefaults to-Xmx850mregardless of the 4 GiB limit. The comment notes that setting the variable replaces the default option set.docker-compose: move credentials intowave.registriessrc/mainreadsDOCKER_USER/DOCKER_PAT. They work only via theconfig.ymlthe image ships (build.gradle:184) — the same file this guide mounts over.kubernetes-lite: foldregistries:into the ConfigMapwave:block; Wave loads one YAML document, so appending it droppedwave.db.*andwave.server.url.kubernetes-lite: addkubectl apply, complete the ingressingressClassNameor annotations, so/service-infocould not pass.endpoints.healthin both guidesjdbcanddisk-spaceare on by default (micronaut-management+micronaut-jdbc-hikari, noendpoints:inapplication.yml). Master's compose guide disabled them; the new guides probe/healthfor liveness.configure-wave: stop hardcodingMICRONAUT_ENVIRONMENTSlite, which gates outJobManager,JobServiceImpl, both job queues and cleanup via@Requires(missingBeans = WaveLite).reference: restore kebab-case on six keyswave.denyHosts,wave.blobCache.s5cmdImageand fourwave.blobCache.storage.*keys, undoing #1096. They still bind from YAML — Micronaut hyphenates — but lose env-var overridability, which is how blob-cache credentials are injected.wave.capabilities.anonymous-accessapplication.yml:56-63makeswave.allowAnonymousa legacy alias, and the reference documented the toggle twice. Adds a pointer toMICRONAUT_ENVIRONMENTS=strict.how-wave-works.md:126./configuration.md, renamed here toinstall/reference.md.Simplification
Guides shrank, the reference absorbed the detail:
reference.md#registry-pre-creation.troubleshoot.md, reached from a note where builds are configured.aws-buildcreates), the third IRSA explanation, and the EC2-instance-profile section for Docker builds — a pathindex.mdsays is unsupported.$AWS_REGIONbefore it is set.m5a.2xlargefor a one-replica stack.Reference and verification
wave.build.enabled,wave.mirror.enabled,wave.blob-cache.enabled,wave.job-manager.max-running-jobs, and themail.smtp.*keys; finished the truncatedwave.accountsentry; corrected five(required)labels on settings that ship defaults.config.ymlinterpolates them — the root cause of theDOCKER_USERissue.post-install.mdnow covers mirror and scan, the featuresaws-buildenables. Flags checked againstwave-cliApp.java:--mirrorneeds--build-repoand conflicts with--containerfile/--conda-package/--freeze;--scan-modetakesnone|async|required.troubleshoot.mdadded to the sidebar with front matter;post-installmoved ahead ofaws-build.Checks
config.ymlembedded in each ConfigMap.src/main.Two judgement calls worth a look: the four
aws iam/eks describe-clustercommands are kept rather than fully replaced by the AWS link, on the grounds that an install guide should be followable end to end; and the database SQL block stays duplicated across both Lite guides for the same reason.🤖 Generated with Claude Code