Workloads

Credentials | Workloads | Policies

Axemere Console — Workloads


A workload is a named identity scope within your organization. Requests tagged with a workload ID are grouped for policy evaluation, attribution defaults, and spend tracking. You decide how to map workloads to your systems; common patterns include one workload per application, per team, per environment, or per deployment tier.

Table of Contents

Managing workloads in the console

Go to Workloads in the left nav. From there you can:

  • Add a workload: enter a name (required) and optionally a workload ID (auto-generated if left blank); the console creates it in your org automatically
  • View workloads: see all registered workloads and their attribution defaults
  • Delete a workload: removes the workload registration; existing records are retained

When your org is created, a default workload is provisioned automatically so you can start sending requests immediately without a separate registration step. All traffic is attributed to this workload until you create additional workloads and configure your callers to pass the appropriate workload ID.


Identity hierarchy

The gateway uses a layered identity model. A workload sits at the second level and scopes all requests that carry its ID.

LevelFieldScopeExample
1org_idTenant / organizationorg-acme-corp
2workload_idNamed scope within the orgwl-chatbot-prod
3project_idBilling / chargeback bucketproj-chatbot-v2

Risk scoring baselines are maintained per workload; a spike on one workload does not affect the score for another. See Risk Scoring for how baselines and signals work.

Managing workloads on the Free Gateway

Location: configs/workloads/workloads.yaml (env: MVGC_WORKLOADS_DIR)

File structure

workloads:
  - workload_id: wl-prod-app-1
    org_id: org-example-001
    name: "Production Application"
    default_project_id: proj-default
    default_account_id: acct-default
    default_customer_id: cust-default

  - workload_id: wl-dev-app-1
    org_id: org-example-001
    name: "Development Application"
    default_customer_id: cust-dev
    default_account_id: acct-dev
    default_project_id: proj-dev
    default_labels:
      env: dev
    allowed_connection_types:
      - direct_api

Field reference

FieldTypeRequiredDescription
workload_idstringyesUnique identifier for this workload. Passed in each request.
org_idstringyesOrganization this workload belongs to. Must match MVGC_ORG_ID when set.
namestringyesHuman-readable display name shown in the console.
descriptionstringnoOptional longer description (informational).
default_project_idstringnoDefault project identifier applied when the caller omits it.
default_account_idstringnoDefault billing account identifier applied when the caller omits it.
default_customer_idstringnoDefault customer identifier for chargeback applied when the caller omits it.
default_labelsmap[string]stringnoArbitrary key-value pairs attached to execution records for reporting and filtering. Applied when the caller omits labels.
allowed_connection_types[]stringnoRestricts which connection types this workload may use. When omitted, all types are permitted. See allowed_connection_types valid values.

Default attribution fields

The default_project_id, default_account_id, default_customer_id, and default_labels fields are applied to execution records when the caller does not supply them. They allow you to set a consistent chargeback and reporting baseline for a workload without requiring every caller to pass attribution fields on every request.

allowed_connection_types valid values

Each execution record carries two independent dimensions that describe how the request arrived:

Connection Type — the transport mechanism:

ValueUI labelDescription
direct_apiDirect APIApp called the gateway using the Axemere wire format (POST /v1/actions:execute).
sdk_redirectSDK RedirectAI SDK was pointed at the gateway via base-URL redirect (e.g. ANTHROPIC_BASE_URL=http://localhost:7080/proxy/anthropic/).
connect_proxySystem ProxyApp used an OS-level HTTPS proxy; gateway intercepted via TLS inspection.

Traffic Class — the behavioral intent (recorded per request; not a workload restriction):

ValueUI labelDescription
developerDeveloperDeliberate per-session routing: SDK calls, CLI tools, or a manually set proxy.
ambientAmbientAutonomous background traffic from apps configured once via mvgc-gateway install or a PAC file.

allowed_connection_types restricts the first dimension only. When omitted (the default in the Customer Console), all connection types are permitted. To restrict a workload to direct API calls only:

allowed_connection_types:
  - direct_api

Pushing workloads at runtime

Register a workload

curl -X PUT http://localhost:7080/v1/admin/workloads \
  -H "MVGC-Admin-Token: $MVGC_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "workload_id": "wl-prod-app-1",
    "org_id": "org-example-001",
    "name": "Production Application",
    "default_project_id": "proj-default",
    "default_account_id": "acct-default",
    "default_customer_id": "cust-default",
    "allowed_connection_types": ["direct_api"]
  }'

  • Policies — how the identity layer uses workload_id in policy conditions
  • Risk Scoring — per-workload behavioral anomaly detection