initial commit - initial implementation of Version Guard - Cloud Infrastructure Version Compliance Monitoring#2
Conversation
|
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:
For more information about GitHub Code Scanning, check out the documentation. |
…astructure Version Compliance Monitoring Co-authored-by: Claude Code <noreply@anthropic.com> Ai-assisted: true
ae92eb5 to
b2f7916
Compare
bakayolo
left a comment
There was a problem hiding this comment.
🔍 Block-Specific Reference Audit
This PR contains several Block/Square-internal references that must be cleaned up before merging to open source.
🔴 HIGH — Must Fix
.golangci.yml:
local-prefixes: github.com/squareup/version-guard→ should begithub.com/block/Version-Guardskip-dirs: protos/squareup→ should beprotos/block# Based on Square's Go linting standards→ remove "Square's"
Makefile:
4. docker build -t squareup/version-guard:latest (×2 in docker-build and docker-run) → block/version-guard
5. goimports -local github.com/squareup/version-guard → github.com/block/Version-Guard
6. -not -path './protos/squareup/*' (×3 in fmt, fmt-imports, lines targets) → ./protos/block/*
pkg/emitters/emitters.go + pkg/emitters/examples/logging_emitter.go:
7. ASREmitter / ASRResult / LoggingASREmitter — "ASR" = AppSecReporter, Block's internal Security Command Center. Rename to generic names (e.g., IssueTrackerEmitter)
8. DXEmitter / DXResult / LoggingDXEmitter — "DX" = Block's internal developer experience platform. Rename to generic names (e.g., ScorecardEmitter)
9. Comments explicitly name internal tools: "AppSecReporter (SCC issue tracking)", "DX Scorecards"
🟡 MEDIUM — Block-Specific Conventions
pkg/inventory/wiz/aurora.go:
10. Tag keys "block-appname", "block-environment", "block-brand" are Block's internal AWS tagging conventions. These should be made configurable or replaced with generic defaults like "appname", "environment", "brand".
⚠️ Inconsistency
The pre-push hook correctly excludes ./protos/block/*, but the Makefile excludes ./protos/squareup/* — these contradict each other.
✅ Clean
go.mod, cmd/, all detectors, workflows, proto definitions, .env.example, CONTRIBUTING.md, README.md, ARCHITECTURE.md, USAGE.md, CI workflow — no Block-specific leakage. No internal URLs, secrets, or credentials found.
bakayolo
left a comment
There was a problem hiding this comment.
Approving so I am not blocking — please address the inline comments about squareup references, ASR/DX naming, and block-* tag conventions before merging.
Summary
This PR introduces Version Guard, an open-source system for monitoring and reporting on cloud infrastructure version compliance across AWS resources.
What is Version Guard?
Version Guard continuously monitors cloud infrastructure versions (databases, caches, Kubernetes clusters) and classifies them by lifecycle status:
Key Features
Core Components
Detection Pipeline (Stages 1 & 2):
Inventory Integration:
EOL Data Providers:
Classification Engine:
Temporal Workflows:
gRPC Query API:
Command-line Interface:
Extensibility
Emitter Interfaces (Defined, Not Implemented):
ASREmitter- for issue tracking systemsDXEmitter- for compliance dashboardsService Attribution:
Supported Resources
Technical Details
Stack:
Project Structure:
Getting Started
Prerequisites:
Quick Start:
Testing
Test Coverage:
Documentation
Future Extensions
Multi-Cloud Support (framework in place):
Additional Resource Types:
Advanced Features: