chore(deps): update apache/age, spicedb, and ubi9 base images#304
chore(deps): update apache/age, spicedb, and ubi9 base images#304
Conversation
…lembic - Add SQLAlchemy 2.0 with asyncpg for async database operations - Add Alembic for schema migrations - Add python-ulid for ULID support instead of UUID - Create read/write engine separation with connection pooling - Create FastAPI dependency injection for database sessions - Create SQLAlchemy declarative base with timestamp mixin - Initialize Alembic with async migration support - Create initial migration for teams table (ULID primary key) - Add comprehensive unit tests for engines and dependencies - Configure Alembic to use settings module for database URL - Enable ruff post-write hook for migration formatting Refs: AIHCM-121
- Add authzed library for SpiceDB integration - Add python-ulid for ULID support - Create ResourceType, RelationType, Permission enums (using Group not Team) - Create AuthorizationProvider protocol for swappable implementations - Implement SpiceDBClient with async methods for relationships and permissions - Create SpiceDB schema (.zed) with Tenant→Workspace→Group hierarchy - Create AuthorizationProbe for domain-oriented observability - Move ObservationContext to shared_kernel (fix architectural boundary) - Add 35 unit tests for types and probes - All 410 tests passing Refs: AIHCM-122
Resolved conflicts in authorization files by accepting remote changes: - shared_kernel/authorization/types.py (docstring fix) - shared_kernel/authorization/spicedb/client.py (_parse_reference helper)
- apache/age: release_PG17_1.6.0 → release_PG18_1.7.0 - authzed/spicedb: v1.48.0 → v1.50.0 - ubi9/python-312: pin to digest sha256:d7b4607a... Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
LGTM |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThis PR updates container image versions across CI, Compose, Kubernetes manifests, and a Dockerfile: PostgreSQL/Apache AGE images move from PG17 (postgres:17-alpine / apache/age:release_PG17_1.6.0) to PG18 (postgres:18-alpine / apache/age:release_PG18_1.7.0); SpiceDB images are bumped from authzed/spicedb:v1.48.0 to v1.50.0 in CI, Compose, Job, and Deployment manifests; the API Dockerfile now uses an explicit UBI9 Python 3.12 sha256 digest for its base image. No other logic or configuration changes were made. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
compose.yaml (1)
54-56: Consider pinningspicedb-migrateimage version for consistency.The
spicedb-migrateservice uses an untagged image (authzed/spicedb), which defaults tolatest. This creates version drift risk since the mainspicedbservice is explicitly pinned tov1.50.0.Proposed fix
spicedb-migrate: - image: "authzed/spicedb" + image: "authzed/spicedb:v1.50.0" command: "migrate head"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@compose.yaml` around lines 54 - 56, The spicedb-migrate service is using the untagged image "authzed/spicedb" causing drift; update the spicedb-migrate image to the same pinned tag as the main spicedb service (e.g., change image for the spicedb-migrate service to "authzed/spicedb:v1.50.0" or whatever tag is used by the spicedb service) so both services use an explicit version; after changing the image ensure you pull/recreate containers to apply the pinned version.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@deploy/apps/kartograph/base/postgres-deployment.yaml`:
- Line 22: The init job is still using postgres:17-alpine while the deployment
image was changed to apache/age:release_PG18_1.7.0 causing a PG version
mismatch; update job-db-init.yaml to use a PG18-compatible image (e.g.,
postgres:18-alpine or the matching apache/age PG18 image) for both its
initContainers and main container, ensure the PVC name kartograph-postgres-pvc
is preserved, and make sure the init job completes before the postgres/age
deployment starts so any initialization runs with the same major PG version to
avoid catalog incompatibility.
---
Nitpick comments:
In `@compose.yaml`:
- Around line 54-56: The spicedb-migrate service is using the untagged image
"authzed/spicedb" causing drift; update the spicedb-migrate image to the same
pinned tag as the main spicedb service (e.g., change image for the
spicedb-migrate service to "authzed/spicedb:v1.50.0" or whatever tag is used by
the spicedb service) so both services use an explicit version; after changing
the image ensure you pull/recreate containers to apply the pinned version.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 21b778d1-99a3-45d8-9279-d82b952a40a2
📒 Files selected for processing (6)
.github/workflows/tests.ymlcompose.yamldeploy/apps/kartograph/base/job-spicedb-migrate.yamldeploy/apps/kartograph/base/postgres-deployment.yamldeploy/apps/kartograph/base/spicedb-deployment.yamlsrc/api/Dockerfile
…o PG18 - Pin spicedb-migrate to v1.50.0 to match spicedb service - Update db-init job and compose postgres client from 17-alpine to 18-alpine Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
apache/agefromrelease_PG17_1.6.0torelease_PG18_1.7.0authzed/spicedbfromv1.48.0tov1.50.0ubi9/python-312base image to digestsha256:d7b4607a...Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit