Repository navigation
feature: legacy modernization demo fixture (infra, AWS footprint, discovery, CI, runbook) - #95
Open
devin-ai-integration[bot] wants to merge 6 commits into
Open
devin-ai-integration[bot] wants to merge 6 commits into
devin-ai-integration[bot] wants to merge 6 commits into
Conversation
…/discover, CI, demo runbook Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
…get up Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
…mpact matrix Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
…inated/deleted EC2 resources Co-Authored-By: Ian Moritz <ian.moritz@cognition.ai>
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.
Summary
Turns this repo into the legacy side of a Java 8/11 + Spring Boot 2.7 → Java 21 + Spring Boot 3 modernization demo. The code transform lives in the stacked
plugin/migrationPR; this PR is everything Devin verifies against.App (legacy, kept on Boot 2.7.18 /
javax/ Java 11 runtime) —Topicbecomes a JPA entity on Postgres (TopicRepository,TopicServicewithtopicReport()→SELECT * FROM topic_report()), actuator on/managewith Prometheus, Hikari pool 20,ddl-auto=validate. 9 unit tests (./mvnw testgreen).DockerfilepinsARG BASE_IMAGE=eclipse-temurin:11-jre.infra/(local / CI path) — compose stack on172.28.0.0/24: CoreDNS (*.topics.internal), Postgres (schema + seed +topic_summary_vview +topic_report()function),reportingcron consumer of the view/function, nginx LB (/health → /manage/health/readiness,/manage/denied, allowlist), firewall rules (8080 only), Prometheus + Grafana (provisioned 12-panel dashboard),secrets/vault-stub (dev-only),terraform/pinning the runtime image.Makefile:up/down/reset/smoke/baseline/loadtest/compare/verify.load/topics.js(k6) writes p50/p95/p99/rps/error-rate JSON;infra/scripts/compare_nfr.pygates againstdemo/BASELINE.json.infra/aws/(real-infra path) — Terraform: VPC + 2 public subnets, ALB → TG (hc=/manage/health/readiness :8080) → EC2 t3.small running the ECR image, ALB/app/db SGs (app admits only 8080 from ALB), private Route53 zonedemo.internal, Secrets Manager secret with legacy keyDB_PASSWORD, RDS Postgres 16db.t4g.micro. Everything taggedProject=modernization-demo, Track=java, Owner=devin-demo.make aws-up / aws-baseline / aws-discover / aws-down(down verifiesclean: 0 tagged resources remain). ≈ $0.08/h.tools/discover/—discover.py(boto3, read-only, by tag) walks ELBv2/TG/EC2/SG/Route53/Secrets Manager/RDS/ECR and emitsdemo/dependency-graph.{json,md,dot,png}with edgesroutes_to, health_checks, allows_ingress, resolves_to, reads_secret, connects_to_db, runs_image.diff.pycompares the graph to what the checked-out code declares (JDK/base image, health path/port, secret key, DB contract, SG/DNS, pool/logging) and prints the impact matrix (exit 1 on drift).demo/—RUNBOOK.md(4 acts, Wiz-style Assess beat + Wiz GraphQL sidebar, cost),PLAYBOOK.md(Modernization Verify [v1], phased),VERIFY-REPORT-TEMPLATE.md,RESET.md, and real artifacts:BASELINE.json(local k6, p95 1.70 ms @ 2139 rps),BASELINE-aws.json(ALB, p95 78 ms @ 262 rps),dependency-graph.*discovered from the live AWS footprint.PLANTED-GAPS.mdarrives with the stacked PR.CI —
.github/workflows/ci.yml: build+test (Java 21 toolchain), terraform validate, then compose up → health via nginx → smoke →make verify(k6 threshold gate).actionlintclean.Devin-Org: engineering
Link to Devin session: https://app.devin.ai/sessions/352726bfd41244cca160f073ac24632e
Open in Devin Desktop: https://app.devin.ai/desktop/session/352726bfd41244cca160f073ac24632e?variant=devin
Devin Review