Initial public ModelForge release
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Disposable Node Agent identity for the M15 node-loss and re-enrollment rehearsal.
|
||||
#
|
||||
# Production node credentials are never revoked to prove recovery. This projection runs a second,
|
||||
# throwaway Node Agent with its own persisted identity and state volume, so credential loss,
|
||||
# revocation and re-enrollment can be exercised end to end without touching GPU Node.
|
||||
#
|
||||
# docker compose -p modelforge --env-file .env \
|
||||
# -f docker-compose.node-recovery.yml up -d node-recovery-agent
|
||||
services:
|
||||
node-recovery-agent:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: node-agent/Dockerfile
|
||||
hostname: ${MODELFORGE_RECOVERY_AGENT_HOSTNAME:-modelforge-recovery-rehearsal}
|
||||
environment:
|
||||
MODELFORGE_AGENT_CONTROL_PLANE_URL: ${MODELFORGE_RECOVERY_AGENT_URL:-http://api:8000}
|
||||
MODELFORGE_AGENT_ENROLLMENT_TOKEN: ${MODELFORGE_RECOVERY_AGENT_TOKEN:-}
|
||||
MODELFORGE_AGENT_DISPLAY_NAME: ${MODELFORGE_RECOVERY_AGENT_DISPLAY_NAME:-M15 node recovery rehearsal}
|
||||
MODELFORGE_AGENT_IDENTITY_MODE: persisted
|
||||
MODELFORGE_AGENT_IDENTITY_FILE: /data/state/node-id
|
||||
MODELFORGE_AGENT_CREDENTIAL_FILE: /data/state/node-credential
|
||||
MODELFORGE_AGENT_STATE_FILE: /data/state/agent-state.json
|
||||
MODELFORGE_AGENT_TLS_VERIFY: "false"
|
||||
MODELFORGE_AGENT_HEARTBEAT_INTERVAL_SECONDS: "5"
|
||||
volumes:
|
||||
- node-recovery-state:/data/state
|
||||
- node-recovery-cache:/data/hf-cache
|
||||
- node-recovery-artifacts:/data/artifacts
|
||||
- node-recovery-quarantine:/data/quarantine
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=64m,mode=1777
|
||||
cap_drop:
|
||||
- ALL
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
restart: "no"
|
||||
|
||||
volumes:
|
||||
node-recovery-state:
|
||||
node-recovery-cache:
|
||||
node-recovery-artifacts:
|
||||
node-recovery-quarantine:
|
||||
Reference in New Issue
Block a user