zlambda/netbis: agenix로 APISIX admin key 암호화
- apisix.nix가 템플릿 + 런타임 sed 치환 구조로 변경됨 - admin key는 agenix로 암호화되어 git에 평문 없음 - /run/apisix/config.yaml(tmpfs)에 렌더링 후 컨테이너 마운트 - 회전 절차 문서화
This commit is contained in:
@@ -91,9 +91,9 @@ flake input:
|
||||
- 컨테이너: apisix(172.22.222.20), apisix-etcd(172.22.222.3), docker network `apisix-net` (172.22.222.0/24)
|
||||
- 포트: 80→9080, 443→9443, 9180(admin)
|
||||
- 데이터: etcd는 `/var/lib/apisix/etcd` bind mount, apisix 로그는 named volume `apisix-logs`
|
||||
- config.yaml은 `pkgs.writeText`로 Nix store에 생성 후 read-only 마운트
|
||||
- systemd 의존성: `init-apisix-net.service`(oneshot network 생성) → `docker-apisix-etcd` → `docker-apisix`
|
||||
- Admin key `edd1c9f034335f136f87ad84b625c8f1` (현재 평문 하드코딩 — TODO: sops-nix 또는 agenix로 이전)
|
||||
- config.yaml은 **템플릿(Nix store) + 런타임 렌더링(`apisix-render-config.service`) → `/run/apisix/config.yaml`** 후 read-only bind mount. admin key는 자리표시자 `__ADMIN_KEY__`로 들어있고 render 서비스가 agenix 복호화 값으로 sed 치환.
|
||||
- systemd 의존성: `init-apisix-net.service`(oneshot network 생성) → `docker-apisix-etcd`; `apisix-render-config.service`(oneshot) + `init-apisix-net.service` → `docker-apisix`
|
||||
- 시크릿: agenix(`secrets/apisix-admin-key.age`) → activation 시 `/run/agenix/apisix-admin-key`로 복호화. zlambda host ed25519 키와 kaffa 사용자 ed25519 키 두 개로 암호화됨.
|
||||
- 상세 운영: [[netbis]]
|
||||
|
||||
**커널 / sysctl 튜닝** (2026-04-08 추가):
|
||||
|
||||
Reference in New Issue
Block a user