Point ArgoCD at ordermanager-iac; fix stale monolith references#19
Point ArgoCD at ordermanager-iac; fix stale monolith references#19devin-ai-integration[bot] wants to merge 2 commits into
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
| RUN dotnet restore | ||
| COPY . . | ||
| COPY --from=client-build /app/client/dist/client-app/browser src/OrderManager.Api/wwwroot/ | ||
| COPY --from=client-build /app/src/OrderManager.Api/wwwroot/browser src/OrderManager.Api/wwwroot/ |
There was a problem hiding this comment.
🔍 Dockerfile Angular output path depends on angular.json configuration in a separate repository
The COPY source path changed from /app/client/dist/client-app/browser (standard Angular CLI default output) to /app/src/OrderManager.Api/wwwroot/browser (docker/Dockerfile:18). This new path assumes the Angular project's angular.json has a custom outputPath set to ../src/OrderManager.Api/wwwroot. If the ordermanager-monolith app repo's angular.json doesn't have this exact configuration, the Docker build will fail at this COPY step. The comment on line 7 documents this assumption, but it cannot be verified from this repo alone.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Confirmed against the app repo: ordermanager-monolith/client-app/angular.json sets outputPath: ../src/OrderManager.Api/wwwroot and the Angular 17 application builder emits into a browser/ subfolder, so the assets land at /app/src/OrderManager.Api/wwwroot/browser. I verified end-to-end with a real docker build — it succeeds and the container serves /, /health, and /api/products (all 200). The prior dist/client-app/browser path did not exist and the build failed at that COPY.
Summary
Makes the GitOps deployment for the OrderManager monolith actually resolve. The ArgoCD Applications pointed at a repo that no longer exists (pre-rename
app_dotnet-angular-monolith-iac), and the reference Dockerfile/CI pointed at the old app repo name and had a broken Angular copy path.Changes
argocd/application-{dev,staging}.yaml—repoURL→https://github.com/Cognition-Partner-Workshops/ordermanager-iac.git(this repo, where the Helm chart lives). Without this, ArgoCD can't sync the chart.ci/build-push.yaml— reference workflow now checks outCognition-Partner-Workshops/ordermanager-monolith(wasapp_dotnet-angular-monolith), and runsdotnet testbefore the build/push so a failing test can't push a broken image.docker/Dockerfile— corrected the reference build so it works against the monolith repo:dist/client-app/browser→src/OrderManager.Api/wwwroot/browser(Angular 17applicationbuilder output per the app'sangular.json).npm ciretained (the app repo now commitspackage-lock.json).Context
The executing CI workflow lives in the monolith repo (
ordermanager-monolith/.github/workflows/build-push.yaml) and pushesdev-latest/staging-latest, which the value overrides here pin viaimage.tag.ci/build-push.yamlhere remains the platform reference/template. The ECR repoworkshop/ordermanagerand OIDC rolegithub-actions-ecr-pushwere provisioned in AWS (they didn't exist) reusing the existing GitHub OIDC provider.Helm renders cleanly for both envs (
helm templatewithvalues.yaml+values-dev.yaml/values-staging.yaml).Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/d037c53ae9c947cdbd6e73c95a4ae62d
Requested by: @mbatchelor81