Go-based network automation with YANG models, gRPC, Ansible, Terraform, and Kubernetes integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
# Kedge development environment — podman-compose / docker-compose
|
|
# Usage: podman-compose up -d
|
|
|
|
services:
|
|
# Go build + dev container with hot reload support.
|
|
dev:
|
|
build:
|
|
context: .
|
|
dockerfile: Containerfile.dev
|
|
volumes:
|
|
- .:/src:z
|
|
- go-mod-cache:/go/pkg/mod
|
|
- go-build-cache:/root/.cache/go-build
|
|
working_dir: /src
|
|
command: sleep infinity
|
|
network_mode: host
|
|
privileged: true
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_ADMIN
|
|
|
|
# YANG compiler dev container (Python).
|
|
yang-compiler:
|
|
image: docker.io/library/python:3.12-slim
|
|
volumes:
|
|
- ./yang:/src/yang:z
|
|
working_dir: /src/yang
|
|
command: >
|
|
bash -c "pip install -r requirements.txt && sleep infinity"
|
|
|
|
# Local Quartermaster mock for development.
|
|
# Uses the real QM image if available, otherwise a gRPC echo server.
|
|
quartermaster:
|
|
image: docker.io/library/golang:1.23-bookworm
|
|
command: >
|
|
bash -c "echo 'Quartermaster mock — replace with real QM image when available' && sleep infinity"
|
|
ports:
|
|
- "50051:50051"
|
|
|
|
volumes:
|
|
go-mod-cache:
|
|
go-build-cache:
|