Problem Statement
GoReleaser is currently configured to build only linux/amd64. Users who work from macOS (common for developers targeting remote OpenShift clusters) have no pre-built binary and must build from source with CGo enabled (required by the SQLite dependency), which adds friction.
Proposed Solution
Add darwin/amd64 and darwin/arm64 build targets to .goreleaser.yaml. Since the project uses github.com/mattn/go-sqlite3 (CGo), cross-compilation requires either:
- Cross-compilation toolchains in CI (e.g.
zig cc as the C compiler)
- Separate macOS CI runners
- Switching to a pure-Go SQLite driver like
modernc.org/sqlite to eliminate the CGo requirement entirely
Alternatives Considered
- Status quo — macOS users build from source. Acceptable for an internal tool but not ideal for GA.
- Pure-Go SQLite driver —
modernc.org/sqlite is a CGo-free alternative. This would make cross-compilation trivial but requires migration and testing of the audit system.
Area
CLI / Configuration
Additional Context
The container image only targets linux/amd64 as well. Multi-arch container images (linux/arm64) could be a follow-up if there's demand for ARM-based OpenShift nodes.
Problem Statement
GoReleaser is currently configured to build only
linux/amd64. Users who work from macOS (common for developers targeting remote OpenShift clusters) have no pre-built binary and must build from source with CGo enabled (required by the SQLite dependency), which adds friction.Proposed Solution
Add
darwin/amd64anddarwin/arm64build targets to.goreleaser.yaml. Since the project usesgithub.com/mattn/go-sqlite3(CGo), cross-compilation requires either:zig ccas the C compiler)modernc.org/sqliteto eliminate the CGo requirement entirelyAlternatives Considered
modernc.org/sqliteis a CGo-free alternative. This would make cross-compilation trivial but requires migration and testing of the audit system.Area
CLI / Configuration
Additional Context
The container image only targets
linux/amd64as well. Multi-arch container images (linux/arm64) could be a follow-up if there's demand for ARM-based OpenShift nodes.