mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 19:13:34 +00:00
build corrosion image based on wolfi]
This commit is contained in:
+15
@@ -7,8 +7,23 @@ COPY . .
|
|||||||
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o uncloudd cmd/uncloudd/main.go
|
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o uncloudd cmd/uncloudd/main.go
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine:latest AS corrosion-download
|
||||||
|
RUN wget -q -O /tmp/corrosion.tar.gz \
|
||||||
|
https://github.com/psviderski/corrosion/releases/latest/download/corrosion-aarch64-unknown-linux-gnu.tar.gz \
|
||||||
|
&& tar -xzf /tmp/corrosion.tar.gz -C /tmp \
|
||||||
|
&& install /tmp/corrosion /usr/local/bin/corrosion \
|
||||||
|
&& rm /tmp/corrosion.tar.gz /tmp/corrosion
|
||||||
|
|
||||||
|
FROM chainguard/wolfi-base:latest AS corrosion
|
||||||
|
# TODO: create uncloud user
|
||||||
|
COPY --from=corrosion-download /usr/local/bin/corrosion /usr/local/bin/corrosion
|
||||||
|
|
||||||
|
|
||||||
FROM docker:27.3.1-dind
|
FROM docker:27.3.1-dind
|
||||||
RUN apk --no-cache add \
|
RUN apk --no-cache add \
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
|
# Create system group and user 'uncloud'.
|
||||||
|
RUN addgroup -S uncloud && adduser -SHD -h /nonexistent -G uncloud -g "" uncloud
|
||||||
COPY --from=uncloudd /go/uncloudd /usr/local/bin/uncloudd
|
COPY --from=uncloudd /go/uncloudd /usr/local/bin/uncloudd
|
||||||
|
# TODO: socat to forward uncloud.sock unix socket?
|
||||||
CMD ["uncloudd"]
|
CMD ["uncloudd"]
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ func (s *Subscription) handleChangeEvents() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
slog.Info("Resubscribing to Corrosion query due to an error.",
|
slog.Info("Resubscribing to Corrosion query due to an error.",
|
||||||
"error", err, "id", s.id, "from_change", s.lastChangeID)
|
"err", err, "id", s.id, "from_change", s.lastChangeID)
|
||||||
sub, sErr := s.resubscribe(s.ctx, s.lastChangeID)
|
sub, sErr := s.resubscribe(s.ctx, s.lastChangeID)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
// resubscribe returns a permanent error after unsuccessful retries.
|
// resubscribe returns a permanent error after unsuccessful retries.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ func (d *Daemon) Run(ctx context.Context) error {
|
|||||||
case <-d.machine.Started():
|
case <-d.machine.Started():
|
||||||
_, err := systemd.SdNotify(false, systemd.SdNotifyReady)
|
_, err := systemd.SdNotify(false, systemd.SdNotifyReady)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Failed to notify systemd that the daemon is ready.", "error", err)
|
slog.Error("Failed to notify systemd that the daemon is ready.", "err", err)
|
||||||
}
|
}
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func (s *Store) ListMachines(ctx context.Context) ([]*pb.MachineInfo, error) {
|
|||||||
return nil, fmt.Errorf("unmarshal machine info: %w", err)
|
return nil, fmt.Errorf("unmarshal machine info: %w", err)
|
||||||
}
|
}
|
||||||
if err = m.Network.Validate(); err != nil {
|
if err = m.Network.Validate(); err != nil {
|
||||||
slog.Error("Invalid network configuration for machine in store", "id", m.Id, "error", err)
|
slog.Error("Invalid network configuration for machine in store", "id", m.Id, "err", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
machines = append(machines, &m)
|
machines = append(machines, &m)
|
||||||
|
|||||||
Reference in New Issue
Block a user