| name | deployment |
| description | Game server deployment with Docker, Kubernetes, and global distribution strategies |
| sasmp_version | 1.3.0 |
| version | 2.0.0 |
| bonded_agent | 07-devops-deployment |
| bond_type | PRIMARY_BOND |
| parameters | {"required":["platform","environment"],"optional":["replicas","regions"],"validation":{"platform":{"type":"string","enum":["docker","kubernetes","ecs","bare_metal"]},"environment":{"type":"string","enum":["dev","staging","prod"]},"replicas":{"type":"integer","min":1,"max":1000,"default":3},"regions":{"type":"array","items":"string"}}} |
| retry_config | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":5000,"max_delay_ms":60000} |
| observability | {"logging":{"level":"info","fields":["deployment_id","version","status"]},"metrics":[{"name":"deployment_duration_seconds","type":"histogram"},{"name":"deployment_success_total","type":"counter"},{"name":"pods_ready","type":"gauge"}]} |
Game Server Deployment
Deploy scalable game servers with containerization and orchestration.
Docker Production Build
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
FROM node:20-alpine
WORKDIR /app
RUN addgroup -g 1001 -S app && adduser -S app -u 1001
COPY --from=builder --chown=app:app /app/dist ./dist
COPY --from=builder --chown=app:app /app/node_modules ./node_modules
USER app
HEALTHCHECK --interval=30s --timeout=5s \
CMD wget -q --spider http://localhost:8080/health || exit 1
EXPOSE 7777/udp 8080/tcp
CMD ["node", "dist/server.js"]
Kubernetes Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: game-server
spec:
replicas: 3
selector:
matchLabels:
app: game-server
template:
spec:
containers:
- name: game-server
image: game-server:latest
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2000m"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: