Asya🎭 provides Helm charts for deploying framework components.

Available Charts

asya-operator

Deploys Asya operator (CRD controller).

Location: deploy/helm-charts/asya-operator/

Installation:

kubectl apply -f src/asya-operator/config/crd/
helm install asya-operator deploy/helm-charts/asya-operator/ -n asya-system --create-namespace -f values.yaml

Key values:

transports:
  sqs:
    enabled: true
    type: sqs
    config:
      region: us-east-1
  rabbitmq:
    enabled: true
    type: rabbitmq
    config:
      host: rabbitmq.default.svc.cluster.local
      port: 5672
      username: guest
      passwordSecretRef:
        name: rabbitmq-secret
        key: password

image:
  repository: asya-operator
  tag: latest

serviceAccount:
  create: true
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT:role/operator-role

asya-gateway

Deploys MCP HTTP gateway.

Location: deploy/helm-charts/asya-gateway/

Installation:

helm install asya-gateway deploy/helm-charts/asya-gateway/ -f values.yaml

Key values:

config:
  sqsRegion: us-east-1
  postgresHost: postgres.default.svc.cluster.local
  postgresDatabase: asya_gateway
  postgresUsername: postgres
  postgresPasswordSecretRef:
    name: postgres-secret
    key: password

routes:
  tools:
  - name: text-processor
    description: Process text
    parameters:
      text:
        type: string
        required: true
    route: [preprocess, infer, postprocess]

serviceAccount:
  create: true
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT:role/gateway-role

service:
  type: LoadBalancer
  port: 80

asya-crew

Deploys crew actors (happy-end, error-end) as AsyncActor CRDs.

Location: deploy/helm-charts/asya-crew/

Installation:

helm install asya-crew deploy/helm-charts/asya-crew/ --namespace asya-e2e -f values.yaml

Key values:

happy-end:
  enabled: true
  transport: rabbitmq
  scaling:
    enabled: true
    minReplicas: 1
    maxReplicas: 10
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          image: asya-crew:latest
          env:
          - name: ASYA_HANDLER
            value: handlers.end_handlers.happy_end_handler
          # Optional S3/MinIO persistence
          - name: ASYA_S3_BUCKET
            value: asya-results
          - name: ASYA_S3_ENDPOINT
            value: http://minio:9000
          - name: ASYA_S3_ACCESS_KEY
            value: minioadmin
          - name: ASYA_S3_SECRET_KEY
            value: minioadmin

error-end:
  enabled: true
  transport: rabbitmq
  scaling:
    enabled: true
    minReplicas: 1
    maxReplicas: 10
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          image: asya-crew:latest
          env:
          - name: ASYA_HANDLER
            value: handlers.end_handlers.error_end_handler
          # Optional S3/MinIO persistence
          - name: ASYA_S3_BUCKET
            value: asya-results

Note: Chart templates automatically inject ASYA_HANDLER_MODE=envelope and ASYA_ENABLE_VALIDATION=false.

asya-actor

Deploys user actors (batch deployment).

Location: deploy/helm-charts/asya-actor/

Installation:

helm install my-actors deploy/helm-charts/asya-actor/ -f values.yaml

Key values:

actors:
  - name: text-processor
    transport: sqs
    scaling:
      minReplicas: 0
      maxReplicas: 50
      queueLength: 5
    image: my-processor:v1
    handler: processor.TextProcessor.process
    env:
      - name: MODEL_PATH
        value: /models/v2

  - name: image-processor
    transport: sqs
    scaling:
      minReplicas: 0
      maxReplicas: 20
    image: my-image:v1
    handler: image.process
    resources:
      requests:
        nvidia.com/gpu: 1

serviceAccount:
  create: true
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT:role/actor-role

Common Patterns

AWS with SQS + S3

Operator (operator-values.yaml):

transports:
  sqs:
    enabled: true
    type: sqs
    config:
      region: us-east-1

Crew (crew-values.yaml):

happy-end:
  transport: sqs
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          env:
          - name: ASYA_S3_BUCKET
            value: asya-results
          # AWS_REGION from IRSA or instance metadata

error-end:
  transport: sqs
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          env:
          - name: ASYA_S3_BUCKET
            value: asya-results

Actors:

apiVersion: asya.sh/v1alpha1
kind: AsyncActor
spec:
  transport: sqs

Local with RabbitMQ + MinIO

Operator (operator-values.yaml):

transports:
  rabbitmq:
    enabled: true
    type: rabbitmq
    config:
      host: rabbitmq.default.svc.cluster.local
      port: 5672
      username: guest
      passwordSecretRef:
        name: rabbitmq-secret
        key: password

Crew (crew-values.yaml):

happy-end:
  transport: rabbitmq
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          env:
          - name: ASYA_S3_BUCKET
            value: asya-results
          - name: ASYA_S3_ENDPOINT
            value: http://minio.default.svc.cluster.local:9000
          - name: ASYA_S3_ACCESS_KEY
            value: minioadmin
          - name: ASYA_S3_SECRET_KEY
            value: minioadmin

error-end:
  transport: rabbitmq
  workload:
    template:
      spec:
        containers:
        - name: asya-runtime
          env:
          - name: ASYA_S3_BUCKET
            value: asya-results
          - name: ASYA_S3_ENDPOINT
            value: http://minio.default.svc.cluster.local:9000
          - name: ASYA_S3_ACCESS_KEY
            value: minioadmin
          - name: ASYA_S3_SECRET_KEY
            value: minioadmin

Actors:

apiVersion: asya.sh/v1alpha1
kind: AsyncActor
spec:
  transport: rabbitmq

Upgrading Charts

# Upgrade operator
helm upgrade asya-operator deploy/helm-charts/asya-operator/ -n asya-system -f values.yaml

# Upgrade gateway
helm upgrade asya-gateway deploy/helm-charts/asya-gateway/ -f values.yaml

# Upgrade crew
helm upgrade asya-crew deploy/helm-charts/asya-crew/ -f values.yaml

Uninstalling

# Uninstall components
helm uninstall asya-gateway
helm uninstall asya-crew
helm uninstall asya-operator -n asya-system

# Remove CRDs (will delete all AsyncActors)
kubectl delete -f src/asya-operator/config/crd/