⭐ Add GCP Artifact Registry support with 9 new resource types and ~45 fields#6701
⭐ Add GCP Artifact Registry support with 9 new resource types and ~45 fields#6701
Conversation
This comment has been minimized.
This comment has been minimized.
c98619a to
117b59a
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
This PR adds GCP Artifact Registry support as a new resource provider. The implementation follows established patterns from other GCP services (alloydb, bigtable, etc.). The code is well-structured with proper sub-resource decomposition, IAM policy support, and unit tests for pure functions. A few issues worth noting: a version inconsistency in the versions file, a potential nil pointer dereference in the repository init function, and the location enumeration approach (iterating all locations before listing repositories) could be slow for projects with many locations but appears intentional given the API limitation noted in comments.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Superseded by new review
There was a problem hiding this comment.
This PR adds GCP Artifact Registry support as a new provider resource. The change is well-structured and follows established patterns in the codebase. The implementation covers repositories, IAM policy bindings, vulnerability scanning config, cleanup policies, format config, and mode config. A few minor issues worth noting: a version inconsistency in the versions file, and a potential nil-pointer dereference in the IAM policy loop. Overall the change is consistent and mechanically sound.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
This PR adds GCP Artifact Registry support as a new MQL resource provider. The implementation follows established patterns from other GCP services (alloydb, bigtable, etc.) and is structurally consistent. The code correctly handles the Artifact Registry API's lack of wildcard location support by enumerating locations first. Sub-resources are properly decomposed. Tests cover the pure functions. A few minor issues noted below.
dc43c0a to
402e9ed
Compare
Add new resources for exploring the GCP Artifact Registry Signed-off-by: Tim Smith <tsmith84@gmail.com>
…onfig
Adds a policyType field ("condition" or "mostRecentVersions") to
cleanupPolicy so MQL users can filter by type before inspecting
type-specific sub-resources. Adds a format field to formatConfig
mirroring the parent repository's format so the sub-resource is
self-describing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract cleanupPolicyType() and extractFormatConfigFields() as testable pure functions. Add tests covering cleanup policy type discrimination, format config field extraction for Docker/Maven/NPM, and vuln scan timestamp handling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… check Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…comments Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add KFP to spelling expect list to fix CI spellcheck failure. - Use role-based IAM binding IDs (repoPath + "/" + role) instead of index-based IDs for stability across API call reordering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
402e9ed to
8deecb8
Compare
Summary
Add GCP Artifact Registry support with 9 new resource types and ~45 fields:
New Resources
New Fields on repository
projectId,resourcePath,name,location,description,format,mode,labels,kmsKeyName,createTime,updateTime,sizeBytes,registryUri,satisfiesPzs,satisfiesPzi,cleanupPolicyDryRun,vulnerabilityScanningConfig,cleanupPolicies,formatConfig,modeConfig,iamPolicy()Alias
gcp.artifactregistry→gcp.project.artifactRegistryServiceTest plan
make providers/build/gcp && make providers/install/gcpmql shell gcp --project <project>thengcp.artifactregistry.repositoriesgcp.artifactregistry.repositories { formatConfig { * } }gcp.artifactregistry.repositories { iamPolicy { role members } }gcp.artifactregistry.repositories { cleanupPolicies { policyType action } }🤖 Generated with Claude Code