Draft
Conversation
Introduce storage.StoredDeployment as the persistence-only type used at the postgres store boundary, keeping storage.Deployment as the API type used by all consumers (~250+ files unchanged). This separation enables independent evolution of the storage schema (e.g., init/ephemeral container support, table normalization) without impacting sensor, detection, API, or policy evaluation consumers. Key changes: - Add ContainerType enum (STANDARD, INIT, EPHEMERAL) to proto - Add StoredDeployment, StoredContainer, StoredContainerImage messages with SQL tags for persistence - Add init_containers and ephemeral_containers fields to Deployment - Remove SQL tags from Deployment and ContainerImage (API-only types) - Internal Store interface now uses StoredDeployment; public DataStore interface unchanged - Conversion layer (ToStoredDeployment/FromStoredDeployment) merges and splits containers by type at the store boundary - No migration needed: same table name, same field numbers, GORM auto-creates new container_type column Code partially generated by AI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
This change is part of the following stack: Change managed by git-spice. |
|
Skipping CI for Draft Pull Request. |
Contributor
|
Images are ready for the commit at 0459905. To use with deploy scripts, first |
Add search:"-" tags to init_containers and ephemeral_containers fields on storage.Deployment to prevent the boolean policy evaluator from traversing them. Without this, the evaluator panics at init time due to duplicate search tags (e.g., "Environment Key" appearing at both Containers.Config.Env.Key and InitContainers.Config.Env.Key). This matches the existing pattern used for Container.ports, which is suppressed with policy:",ignore" search:"-" in favor of Deployment.ports. A future PR will extend the evaluator to support multi-path tags, enabling policy evaluation on init/ephemeral containers. See artifacts/multi-path-evaluator-plan.md for the design. Code partially generated by AI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
dashrews78
commented
Mar 12, 2026
Comment on lines
+62
to
+63
| repeated Container init_containers = 36; // @gotags: search:"-" | ||
| repeated Container ephemeral_containers = 37; // @gotags: search:"-" |
Contributor
Author
There was a problem hiding this comment.
Without these we get a duplicate tag when policy eval paths are built.
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.
Introduce storage.StoredDeployment as the persistence-only type used at
the postgres store boundary, keeping storage.Deployment as the API type
used by all consumers (~250+ files unchanged).
This separation enables independent evolution of the storage schema
(e.g., init/ephemeral container support, table normalization) without
impacting sensor, detection, API, or policy evaluation consumers.
Key changes:
with SQL tags for persistence
interface unchanged
splits containers by type at the store boundary
auto-creates new container_type column
Code partially generated by AI.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
Description
change me!
User-facing documentation
Testing and quality
Automated testing
How I validated my change
change me!