feat(edge): envsubst 템플릿 기반으로 설정을 전환한다
Edge Dockerfile에서 envsubst를 사용해 환경 변수를 템플릿에 대입한 후 설정 파일을 생성하도록 변경한다. - Dockerfile에 gettext 패키지를 추가한다 - configs/edge-compose.yaml을 configs/edge-compose.yaml.tmpl로 전환하여 환경 변수 대치 지원 - docker-compose.yml edge 서비스에 환경 변수를 명시적으로 전달
This commit is contained in:
parent
68f6e08da8
commit
0eb8b03eb6
3 changed files with 19 additions and 11 deletions
|
|
@ -16,14 +16,14 @@ RUN CGO_ENABLED=0 GOFLAGS=-trimpath go build -o /out/edge ./apps/edge/cmd/edge
|
||||||
|
|
||||||
FROM alpine:3.22
|
FROM alpine:3.22
|
||||||
|
|
||||||
RUN addgroup -S iop && adduser -S iop -G iop
|
RUN apk add --no-cache gettext && addgroup -S iop && adduser -S iop -G iop
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY --from=builder /out/edge /usr/local/bin/edge
|
COPY --from=builder /out/edge /usr/local/bin/edge
|
||||||
COPY --from=builder /workspace/iop/configs/edge-compose.yaml /app/configs/edge-compose.yaml
|
COPY --from=builder /workspace/iop/configs/edge-compose.yaml.tmpl /app/configs/edge-compose.yaml.tmpl
|
||||||
|
|
||||||
EXPOSE 9090
|
EXPOSE 9090
|
||||||
|
|
||||||
USER iop
|
USER iop
|
||||||
ENTRYPOINT ["edge"]
|
ENTRYPOINT ["/bin/sh", "-c"]
|
||||||
CMD ["serve", "--config", "/app/configs/edge-compose.yaml"]
|
CMD ["envsubst < /app/configs/edge-compose.yaml.tmpl > /tmp/edge-compose.yaml && exec edge serve --config /tmp/edge-compose.yaml"]
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
edge:
|
edge:
|
||||||
id: "edge-compose"
|
id: "${IOP_EDGE_ID}"
|
||||||
name: "Compose Edge"
|
name: "${IOP_EDGE_NAME}"
|
||||||
|
|
||||||
server:
|
server:
|
||||||
listen: "0.0.0.0:9090"
|
listen: "${IOP_EDGE_LISTEN}"
|
||||||
advertise_host: ""
|
advertise_host: ""
|
||||||
|
|
||||||
bootstrap:
|
bootstrap:
|
||||||
|
|
@ -24,7 +24,7 @@ metrics:
|
||||||
|
|
||||||
control_plane:
|
control_plane:
|
||||||
enabled: true
|
enabled: true
|
||||||
wire_addr: "control-plane:19081"
|
wire_addr: "${IOP_CONTROL_PLANE_EDGE_WIRE_ADDR}"
|
||||||
reconnect_interval_sec: 5
|
reconnect_interval_sec: 5
|
||||||
|
|
||||||
a2a:
|
a2a:
|
||||||
|
|
@ -41,9 +41,9 @@ console:
|
||||||
timeout_sec: 300
|
timeout_sec: 300
|
||||||
|
|
||||||
nodes:
|
nodes:
|
||||||
- id: "external-node"
|
- id: "${IOP_EDGE_NODE_ID}"
|
||||||
alias: "external-node"
|
alias: "${IOP_EDGE_NODE_ALIAS}"
|
||||||
token: "changeme"
|
token: "${IOP_EDGE_NODE_TOKEN}"
|
||||||
adapters:
|
adapters:
|
||||||
cli:
|
cli:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
@ -61,6 +61,14 @@ services:
|
||||||
context: ..
|
context: ..
|
||||||
dockerfile: iop/apps/edge/Dockerfile
|
dockerfile: iop/apps/edge/Dockerfile
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
IOP_EDGE_ID: "${IOP_EDGE_ID:-edge-compose}"
|
||||||
|
IOP_EDGE_NAME: "${IOP_EDGE_NAME:-Compose Edge}"
|
||||||
|
IOP_EDGE_LISTEN: "0.0.0.0:9090"
|
||||||
|
IOP_CONTROL_PLANE_EDGE_WIRE_ADDR: "control-plane:19081"
|
||||||
|
IOP_EDGE_NODE_ID: "${IOP_EDGE_NODE_ID:-external-node}"
|
||||||
|
IOP_EDGE_NODE_ALIAS: "${IOP_EDGE_NODE_ALIAS:-external-node}"
|
||||||
|
IOP_EDGE_NODE_TOKEN: "${IOP_EDGE_NODE_TOKEN:?set IOP_EDGE_NODE_TOKEN for external node access}"
|
||||||
ports:
|
ports:
|
||||||
- "${IOP_EDGE_NODE_BIND:-0.0.0.0}:${IOP_EDGE_NODE_PORT:-19090}:9090"
|
- "${IOP_EDGE_NODE_BIND:-0.0.0.0}:${IOP_EDGE_NODE_PORT:-19090}:9090"
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue