Skip to content

feat: add five bundled Kubernetes apps and fix archive aggregation - #210

Merged
st-yclee merged 2 commits into
m-cmp:mainfrom
eunjun-strato:codex/k8s-builtin-five
Sep 23, 2026
Merged

st-yclee merged 2 commits into
m-cmp:mainfrom
eunjun-strato:codex/k8s-builtin-five

Conversation

@eunjun-strato

Copy link
Copy Markdown
Contributor

Summary

  • Bundle versioned, digest-pinned Helm charts for Apache HTTP Server, Tomcat, Redis, MariaDB, and PostgreSQL in AM.
  • Register missing Helm catalog mappings on startup, reusing existing VM entries without replacing their settings or user-customized Helm mappings.
  • Add StorageClass/capacity inputs and backend validation for single-instance persistent applications. Reject HTTP Ingress, HPA, and workload rebalancing for the bundled database/cache charts.
  • Generate credentials in Kubernetes Secrets and retain data PVCs/credentials on uninstall; document access, cleanup, and the fact that a new AM deployment does not automatically reuse an earlier release's retained volume.
  • Include the previously unmerged archive fix: correct Spring Data native projection aliases and add explicitly scoped, rollback-by-default daily-summary backfill tooling and tests.

Commits

  • 30f205b — restore daily archive aggregation and add safe backfill tooling.
  • 92626d6 — bundle five Kubernetes application charts with persistent storage safeguards.

Validation

  • Fresh backend run: bash gradlew test --no-daemon --rerun-tasks — 682 tests, zero failures/errors, one opt-in SSH smoke test skipped.
  • Frontend: built-in Helm form (22 scenarios plus storage/identity checks), Ingress preflight (33), install-target integration (18 parser + 7 VM-resolution cases), VM clustering (320 cases) passed.
  • Frontend production build and Vue type checks passed.
  • Live AM deployment on AWS and GCP: all five applications passed readiness and HTTP/native-protocol checks; database/cache tests included invalid-authentication rejection and persistence after restart. Test applications, volumes, clusters, and associated test resources were cleaned up.

Validation limits / follow-up

  • Azure application testing was blocked by the selected VM family's regional vCPU quota.
  • Alibaba worker creation was blocked by a missing ACK node-problem-detector add-on. An unresolved discrepancy in the pre-existing cloud inventory stopped further cloud creation; this is not claimed as a successful full-environment restoration.
  • Tencent, IBM, NHN, and NCP live tests remain pending on the replacement test environment. The current KT Kubernetes provisioning path was reported unsupported.
  • Live external Ingress/CIDR behavior is not certified by these AWS/GCP app tests; Ingress/TLS mappings were checked through Helm rendering/pipeline tests.
  • No production redeployment or changes to existing archiving workloads are part of this PR creation.

Build / deployment notes

Build the frontend and include it in the JAR before building the Docker image (Java 17 and compatible Node.js required):

(cd applicationFE && npm ci && npm run build)
bash gradlew bootJar -PincludeFrontend
docker build -t mc-application-manager:<new-tag> .

The charts ship inside AM; the application container images are still pulled by Kubernetes workers from Docker Hub. Existing retained PVCs/Secrets require deliberate operator cleanup after any needed backup. Archive backfill is an explicit operator action, not an automatic startup migration.

@st-yclee
st-yclee merged commit c7a5582 into m-cmp:main Sep 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants