feat: switch to public GitHub kmsvc-proto dependency and GHCR image builds

Forgejo registry unreachable from cluster nodes (WireGuard overlay vs LAN
network isolation, plus host-to-ClusterIP routing gaps). Move to public
GitHub dependency and GHCR image hosting to remove the private-network
dependency entirely.
This commit is contained in:
Story Crater Bot
2026-07-13 10:09:41 -07:00
parent c354876178
commit 9c01076092
7 changed files with 54 additions and 11 deletions
+48
View File
@@ -0,0 +1,48 @@
name: build-push
on:
push:
branches: [main]
tags: ["v*"]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/kmsvc-management-service
jobs:
build-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=semver,pattern={{version}}
type=sha
- uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
-5
View File
@@ -1,10 +1,5 @@
FROM golang:1.26 AS build
WORKDIR /src
ENV GOPRIVATE=forgejo.riotpiao.homelab.com
# forgejo.riotpiao.homelab.com's cert is signed by a homelab-private CA, not
# a public one -- without this, `go mod download` can't fetch kmsvc-proto.
COPY hack/homelab-ca.pem /usr/local/share/ca-certificates/homelab-ca.crt
RUN update-ca-certificates
COPY go.mod go.sum ./
RUN go mod download
COPY . .
+1 -1
View File
@@ -16,7 +16,7 @@ import (
"syscall"
"time"
kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1"
kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
goredis "github.com/redis/go-redis/v9"
"google.golang.org/grpc"
+1 -1
View File
@@ -3,7 +3,7 @@ module github.com/rockliang/kafka-management-service
go 1.26.0
require (
forgejo.riotpiao.homelab.com/homelab/kmsvc-proto v1.1.0
github.com/Riotpiaole/kmsvc-proto v1.3.0
github.com/alicebob/miniredis/v2 v2.38.0
github.com/google/uuid v1.6.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0
+2 -2
View File
@@ -1,7 +1,7 @@
forgejo.riotpiao.homelab.com/rock/kmsvc-proto v1.1.0 h1:T7Y0aWFucwtwoOKy0XTCb+MAtay8U5j4SHCgi6PCrQo=
forgejo.riotpiao.homelab.com/rock/kmsvc-proto v1.1.0/go.mod h1:pKNhLE2KPpNUeu2BL5BFDgXmPlbyB9LHCfi0G4aE38s=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Riotpiaole/kmsvc-proto v1.3.0 h1:W+Nlbk5Rj9FmEctk9fPgDhR82xhkx9yRAw3EAnJ+UxY=
github.com/Riotpiaole/kmsvc-proto v1.3.0/go.mod h1:20/7jwP4wRxbNGq+qeFeZfTQs7Vtxaoqok6t+3Sc0U8=
github.com/alicebob/miniredis/v2 v2.38.0 h1:nZAzCR+Lj+Vxk4ZXzm2NuKq2O33RXj1XxJ2e2uP9jiw=
github.com/alicebob/miniredis/v2 v2.38.0/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"strings"
"time"
kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1"
kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1"
goredis "github.com/redis/go-redis/v9"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"testing"
"time"
kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1"
kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1"
"github.com/alicebob/miniredis/v2"
goredis "github.com/redis/go-redis/v9"
"github.com/twmb/franz-go/pkg/kfake"