Skip to main content
New

Dockerfile for wingman-agent and sdk...

Related products:AI SoftwareAxelera Community
  • August 8, 2026
  • 0 replies
  • 1 view

Forum|alt.badge.img

sdk as dockerized container 

Egg ollama etc..

 

docker run -d \

  --name wingman-agent \

  --privileged \

  -v /dev/axelera:/dev/axelera \

  -p 8000:8000 \

  axelera-wingman-app:latest

 

podman-docker or helm chart is also possible from docker file to heml 

kompose convert -f docker-compose.yaml --chart etc... 

 

#Dockerfile 

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: wingman-sdk-cache
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: axelera-wingman-service
  labels:
    app: wingman-agent
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wingman-agent
  template:
    metadata:
      labels:
        app: wingman-agent
    spec:
      # Init container dynamically updates both the Voyager SDK and the Wingman Debian binaries
      initContainers:
      - name: dynamic-updater
        image: python:3.11-slim
        command: ["/bin/sh", "-c"]
        args:
          - |
            echo "1. Upgrading Voyager SDK Python library..."
            pip install --target=/sdk-bin/python-libs --upgrade --extra-index-url https://axelera.ai axelera-runtime axelera-devkit axelera-types

            echo "2. Fetching newest Axelera Wingman Release Metadata..."
            # Adjust architecture (amd64 or arm64) depending on your cluster node hardware
            ARCH="amd64"
            LATEST_TAG=$(curl -s https://github.com | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
            VERSION=$(echo $LATEST_TAG | sed 's/v//')
            
            echo "Found Wingman version: $VERSION"
            DEB_URL="https://github.com{LATEST_TAG}/wingman_${VERSION}_${ARCH}.deb"
            
            echo "3. Downloading and extracting Wingman binary dynamically..."
            cd /tmp
            curl -L -O "$DEB_URL"
            # Unpack the .deb package contents straight into our shared application folder
            dpkg-deb -x "wingman_${VERSION}_${ARCH}.deb" /sdk-bin/wingman-root
            
            # Synchronize binary structure to the mapped storage directory
            cp -r /tmp/usr/bin/* /sdk-bin/
        volumeMounts:
        - name: app-binaries
          mountPath: /sdk-bin
      
      containers:
      - name: wingman-agent-app
        image: python:3.11-slim
        command: ["/bin/sh", "-c"]
        args: 
          - |
            # Link dynamically downloaded pip dependencies and launch the system agent tool
            export PYTHONPATH=/app-storage/python-libs:$PYTHONPATH
            export PATH=/app-storage:$PATH
            exec wingman --server --port 8000
        env:
        - name: PYTHONPATH
          value: "/app-storage/python-libs"
        ports:
        - containerPort: 8000
          name: agent-port
        volumeMounts:
        - name: app-binaries
          mountPath: /app-storage
      
      volumes:
      - name: app-binaries
        persistentVolumeClaim:
          claimName: wingman-sdk-cache
---
apiVersion: v1
kind: Service
metadata:
  name: wingman-cluster-entrypoint
spec:
  type: ClusterIP
  selector:
    app: wingman-agent
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8000