feat: funcs as global Go service (sless-funcs-service:v0.1.1)

- services/funcs/main.go: standalone Go HTTP server
  extracts JWT sub -> SHA256[:8] -> namespace -> calls operator API
  returns plain text list, sorted active first, /health probe endpoint
- services/funcs/Dockerfile: multi-stage Go build -> alpine
- deployments/k8s/funcs-service.yaml: Deployment+Service+Ingress in sless ns
  ingress path /funcs -> sless-funcs-service:8090, reuses sless-operator-tls
- examples/POSTGRES/resources.tf: removed funcs_list function+trigger+output

Image: naeel/sless-funcs-service:v0.1.1
This commit is contained in:
Naeel
2026-03-18 15:58:08 +03:00
parent 9bc91841c8
commit e8cd62e171
5 changed files with 398 additions and 44 deletions
+15
View File
@@ -0,0 +1,15 @@
# 2026-03-18
# Dockerfile для sless-funcs-service.
# Многоэтапная сборка: Go → alpine (минимальный образ).
# Сервис не нуждается во внешних зависимостях — только stdlib.
FROM golang:1.23-alpine AS builder
WORKDIR /build
COPY go.mod main.go ./
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o funcs-service .
FROM alpine:3.20
RUN apk add --no-cache ca-certificates
COPY --from=builder /build/funcs-service /funcs-service
EXPOSE 8090
ENTRYPOINT ["/funcs-service"]