Skip to content

fix: standardize deployment manifest image names (TECA-25 Stream 3)#261

Merged
CaptainPowerTurtle merged 20 commits into
mainfrom
fix/deployment-manifest-consistency
Jun 19, 2026
Merged

fix: standardize deployment manifest image names (TECA-25 Stream 3)#261
CaptainPowerTurtle merged 20 commits into
mainfrom
fix/deployment-manifest-consistency

Conversation

@CaptainPowerTurtle

Copy link
Copy Markdown
Member

Summary

Standardizes container image names across all 11 service deployment manifests to follow the convention ghcr.io/teck-lab/teck-cloud/{kebab-name}.

Changes

Image name standardization (50 files)

  • admin-gateway: web-admin-gatewayadmin-gateway
  • yarp-gateway: web-public-gatewayyarp-gateway
  • *-api services (basket, catalog, customer, device, location, order, product, statistic): added -api suffix
  • image-generator: already correct, no change

Files touched

  • 30 deployment.yaml files (image: line)
  • 22 kustomization.yaml files (images: - name: line)
  • 2 minor indentation fixes in preview deployment files

Verification

  • All 11 unique image names match their service directory names
  • Migrations images (teck-cloud-migrations) preserved
  • No httproute.yaml changes needed (production overlays already clean)

Closes TECA-25

…teck-cloud/{kebab-name}

- Rename admin-gateway images: web-admin-gateway → admin-gateway
- Rename yarp-gateway images: web-public-gateway → yarp-gateway
- Rename all *-api images to include -api suffix (basket → basket-api, etc.)
- Fix pre-existing indentation in 4 preview deployment.yaml files
- Migrations images (teck-cloud-migrations) preserved as-is

All 11 services now follow consistent ghcr.io/teck-lab/teck-cloud/{directory-name} naming.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 5bd3e3c.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

  • src/services/image-generator/Image.Generator.Api/Image.Generator.Api.csproj

CaptainPowerTurtle and others added 3 commits June 18, 2026 20:43
- Add service name normalization in find-services: basket → basket-api, etc.
- Add gateway name normalization: web-admin-gateway → admin-gateway, web-public-gateway → yarp-gateway
- Update hardcoded conditions in reusable-build-sign-sbom.yml (catalog → catalog-api, customer → customer-api)
- Apply gateway normalization in dotnet-test-check.yaml

Fixes Trivy scan configuration mismatch on PR #261.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Migration centralization (Stream 1) deleted per-service migration projects
but left dangling ProjectReference entries in Catalog.Api, Customer.Api, and
Catalog.IntegrationTests. This caused CI build failures with
'Could not find a part of the path' errors.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

🎯 Affected Projects

  • 📄 Project: Teck.Cloud.AppHost
  • 📄 Project: Teck.Cloud.ServiceDefaults
  • 📄 Project: SharedKernel.Core
  • 📄 Project: SharedKernel.Events
  • 📄 Project: SharedKernel.Grpc.Contracts
  • 📚 Library: SharedKernel.Infrastructure
  • 📄 Project: SharedKernel.Persistence
  • 📄 Project: Teck.Cloud.Migrations.MySql
  • 📄 Project: Teck.Cloud.Migrations.PostgreSQL
  • 📄 Project: Teck.Cloud.Migrations.SqlServer
  • 📄 Project: Teck.Cloud.Migrations
  • 📚 Library: Basket.Application
  • 📚 Library: Basket.Domain
  • 📚 Library: Basket.Infrastructure
  • 📚 Library: Billing.Application
  • 📚 Library: Billing.Domain
  • 📚 Library: Billing.Infrastructure
  • 🧪 Test: Web.Public.Gateway.Arch.UnitTests
  • 🧪 Test: Device.Arch.UnitTests
  • 🧪 Test: Catalog.Arch.UnitTests
  • 🧪 Test: Product.Arch.UnitTests
  • 🧪 Test: Location.Arch.UnitTests
  • 🧪 Test: Image.Generator.Arch.UnitTests
  • 🧪 Test: Catalog.UnitTests
  • 🚀 Service: Catalog.Api
  • 🧪 Test: Customer.Arch.UnitTests
  • 🧪 Test: Statistic.Arch.UnitTests
  • 🧪 Test: Order.Arch.UnitTests
  • 🧪 Test: Teck.Cloud.Arch.Tests
  • 🧪 Test: Catalog.IntegrationTests
  • 🧪 Test: Web.Admin.Gateway.Arch.UnitTests
  • 🧪 Test: Basket.Arch.UnitTests
  • 📚 Library: Catalog.Application
  • 📚 Library: Catalog.Domain
  • 📚 Library: Catalog.Infrastructure
  • 🚀 Service: Customer.Api
  • 🧪 Test: Customer.IntegrationTests
  • 🧪 Test: Customer.UnitTests
  • 📚 Library: Customer.Application
  • 📚 Library: Customer.Domain
  • 📚 Library: Customer.Infrastructure
  • 📚 Library: Device.Application
  • 📚 Library: Device.Domain
  • 📚 Library: Device.Infrastructure
  • 📄 Project: Device.VendorWorker
  • 🧪 Test: Image.Generator.IntegrationTests
  • 🧪 Test: Image.Generator.UnitTests
  • 🚀 Service: Image.Generator.Api
  • 📚 Library: Image.Generator.Application
  • 📚 Library: Image.Generator.Domain
  • 📚 Library: Location.Application
  • 📚 Library: Location.Domain
  • 📚 Library: Location.Infrastructure
  • 📚 Library: Order.Application
  • 📚 Library: Order.Domain
  • 📚 Library: Order.Infrastructure
  • 📚 Library: Product.Application
  • 📚 Library: Product.Domain
  • 📚 Library: Product.Infrastructure
  • 📚 Library: Statistic.Application
  • 📚 Library: Statistic.Domain
  • 📚 Library: Statistic.Infrastructure
  • 🧪 Test: Basket.IntegrationTests
  • 🧪 Test: Billing.IntegrationTests
  • 🧪 Test: Device.IntegrationTests
  • 🧪 Test: Location.IntegrationTests
  • 🧪 Test: Order.IntegrationTests
  • 🧪 Test: Product.IntegrationTests
  • 🧪 Test: Teck.Cloud.IntegrationTests.Shared
  • 🧪 Test: Web.Public.Gateway.IntegrationTests
  • 🧪 Test: Billing.UnitTests
  • 🧪 Test: Device.UnitTests
  • 🧪 Test: Product.UnitTests
  • 🧪 Test: Web.Public.Gateway.UnitTests
  • 🚀 Service: Basket.Api
  • 🧪 Test: Web.Admin.Gateway.UnitTests
  • 📄 Project: Web.Admin.Gateway
  • 🧪 Test: Web.Admin.Gateway.IntegrationTests
  • 🚀 Service: Statistic.Api
  • 🧪 Test: Statistic.IntegrationTests
  • 🧪 Test: Location.UnitTests
  • 🚀 Service: Billing.Api
  • 📄 Project: Web.Public.Gateway
  • 🚀 Service: Device.Api
  • 🚀 Service: Product.Api
  • 🚀 Service: Location.Api
  • 🚀 Service: Order.Api
  • 🧪 Test: Order.UnitTests
  • 🧪 Test: Basket.UnitTests
  • 🧪 Test: SharedKernel.Infrastructure.UnitTests
  • 🧪 Test: Statistic.UnitTests
  • 🧪 Test: SharedKernel.Persistence.UnitTests
ℹ️ About CI/CD Strategy

Testing Strategy:

  • Build: Only affected projects are built for fast feedback
  • Test: Non-E2E .NET tests run on every PR to ensure no regressions
  • 🎯 E2E: Runs only when run-e2e label is added to the PR
  • 🐳 Docker: Only affected service Docker images are built to save time

These jobs run in parallel for maximum speed.

Detection Method:
Projects are detected using dotnet-affected, which tracks:

  • Projects with direct file changes
  • Projects that depend on changed projects
  • Projects affected by NuGet package updates in Directory.Packages.props
  • Projects affected by changes to Directory.Build.props

Dev Team 1 Junior BE and others added 15 commits June 18, 2026 21:08
- Change 'dotnet restore --locked-mode' to '--force-evaluate' in CI pipeline
- Delete 6 stale packages.lock.json files that were inconsistent with
  current project state after migration centralization (TECA-23)

Affected: Image.Generator arch tests, Statistic.Infrastructure, and 4
architecture test projects with stale MessagePack/ILLink references.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
MessagePack 3.1.4 is a transitive dependency flagged by NuGet audit
(GHSA-hv8m-jj95-wg3x). TreatWarningsAsErrors elevates this to a build
error. Temporarily suppress until MessagePack is upgraded to 3.1.7.

This is a pre-existing transitive dependency issue from Stream 1, not
caused by deployment manifest changes.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Pin transitive MessagePack dependency to the patched version via
central package management. Resolves NU1903 vulnerability audit
error without suppressing it.

Reverts NU1903 WarningsNotAsErrors suppression from fb8268a.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
MessagePack pinned to 3.1.7 in Directory.Packages.props. All 45 lock files
that referenced 3.1.4 are deleted and will be regenerated by CI
(dotnet restore --force-evaluate).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
… violations

- Add SharedKernel.Infrastructure project reference to Image.Generator.Application.csproj
  (provides Wolverine, FusionCache, FluentValidation packages needed for build)
- Split multi-value object initializers onto separate lines
- Fix indentation in SkiaRenderJobRendererLogicTests
- Fix collection expression spacing in TemplateCompilerTests
- Reorder using directives alphabetically with aliases last
…tions

- Fix using directive in ImageStorageServiceCollectionExtensions (Domain.Storage not Application.Storage)
- Fix collection expression spacing in CacheKeyAndRequestTests
- Fix using directive ordering in ProductTests
… format, remove BOM

- Restore Image.Generator.Application.Storage using (needed for FluentImageStorage)
- Fix single-line if statements to multi-line in SkiaRenderJobRenderer
- Remove BOM from ClientCredentialsAuthorizationServerClient.cs
- Add using Image.Generator.Domain.Render to Program.cs
- Add Image.Generator.Domain.Render (ProviderProfile, ITenantFontAssetStore)
- Add Image.Generator.Domain.Storage (IImageStorage)
- ProviderEncoderTests: add Image.Generator.Domain.Render
- SubmitBatchRenderJobCommandHandlerTests: add Domain.Render and Domain.Storage
…ontainerfiles

Per-service migration projects were consolidated into src/migrations/ in commit e30d647.
Containerfiles still referenced the deleted per-service paths, causing Docker build failures.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
FastEndpoints generator tool was unavailable on CI runner in previous
build attempt — likely a transient runner state issue.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
FastEndpoints.Generator 8.1.0 requires fastendpoints-generator as a
local dotnet tool. Image.Generator.Api was the first affected project
to trigger this during build, exposing the missing manifest entry.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Image.Generator.Api has no FastEndpoints endpoints so the generator
has nothing to generate. The package was harmless but its MSBuild
targets require fastendpoints-generator as a local dotnet tool that
is not registered in the manifest, causing build failures.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Previous edit left the JSON malformed causing dotnet tool restore to fail.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

- Run dotnet restore to update all packages.lock.json (MessagePack
  restructuring, version bumps from 10.0.8 to 10.0.9, etc.)
- Run dotnet format to fix remaining C# style violations
  (infrastructure config files indentation, thin-slice tests)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Basket.Api 31% 17% 38
Basket.Application 100% 88% 102
Basket.Domain 100% 100% 27
Basket.Infrastructure 0% 0% 191
Billing.Api 39% 50% 21
Billing.Application 100% 100% 92
Billing.Domain 100% 100% 39
Billing.Infrastructure 0% 0% 72
Catalog.Api 45% 43% 176
Catalog.Application 96% 89% 625
Catalog.Domain 100% 100% 574
Catalog.Infrastructure 89% 55% 328
Customer.Api 70% 75% 168
Customer.Application 97% 84% 624
Customer.Domain 96% 90% 269
Customer.Infrastructure 28% 19% 557
Device.Api 71% 49% 93
Device.Application 95% 77% 944
Device.Domain 99% 95% 241
Device.Infrastructure 72% 38% 328
Image.Generator.Api 31% 46% 25
Image.Generator.Application 51% 29% 2526
Image.Generator.Domain 72% 33% 29
Location.Api 61% 64% 134
Location.Application 53% 33% 420
Location.Infrastructure 56% 56% 469
Order.Api 23% 14% 16
Order.Application 96% 82% 102
Order.Domain 100% 100% 18
Order.Infrastructure 0% 0% 179
Product.Api 0% 0% 25
Product.Application 21% 10% 94
Product.Domain 95% 100% 56
Product.Infrastructure 23% 14% 148
SharedKernel.Core 29% 11% 635
SharedKernel.Events 66% 100% 415
SharedKernel.Grpc.Contracts 67% 100% 152
SharedKernel.Infrastructure 28% 24% 1299
SharedKernel.Persistence 55% 40% 1015
Statistic.Api 0% 0% 18
Statistic.Application 100% 100% 3
Statistic.Domain 83% 100% 96
Statistic.Infrastructure 69% 62% 129
Teck.Cloud.Migrations.PostgreSQL 36% 28% 59
Teck.Cloud.ServiceDefaults 0% 0% 9
Web.Admin.Gateway 10% 11% 111
Web.Public.Gateway 39% 34% 305
Summary 53% (14919 / 28186) 39% (2653 / 6747) 13996

@CaptainPowerTurtle CaptainPowerTurtle merged commit 2fe37dd into main Jun 19, 2026
41 checks passed
@CaptainPowerTurtle CaptainPowerTurtle deleted the fix/deployment-manifest-consistency branch June 19, 2026 22:51
@teck-lab

teck-lab Bot commented Jun 20, 2026

Copy link
Copy Markdown

🚀 PR was released in v0.25.0 🚀

@teck-lab teck-lab Bot added the released This issue/pull request has been released. label Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released This issue/pull request has been released.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants