Skip to content

Environment Variables

Configure authentication using environment variables for CI/CD workflows.

Environment variables take highest priority and override profile settings.

VariableDescriptionExample
F5XC_API_URLF5 XC tenant API URLhttps://mytenant.console.ves.volterra.io
F5XC_API_TOKENAPI authentication tokenyour-api-token-here
F5XC_P12_BUNDLEPath to P12 certificate bundle/path/to/certificate.p12
F5XC_P12_PASSWORDPassword for P12 bundlecertificate-password
F5XC_CERTPath to certificate PEM file/path/to/certificate.pem
F5XC_KEYPath to private key PEM file/path/to/private-key.pem
F5XC_NAMESPACEDefault namespace for operationsmy-namespace
F5XC_TLS_INSECUREDisable TLS verification (staging only)true
F5XC_CA_BUNDLEPath to custom CA bundle/path/to/ca-bundle.pem

Credentials are resolved in the following order (highest to lowest priority):

  1. Environment variables - Override everything
  2. Active profile - From ~/.config/f5xc/profiles/
  3. Documentation mode - No credentials (read-only operations)
#!/bin/bash
# .github/workflows/deploy.yml or similar
export F5XC_API_URL="https://mytenant.console.ves.volterra.io"
export F5XC_API_TOKEN="${{ secrets.F5XC_API_TOKEN }}"
export F5XC_NAMESPACE="production"
node deploy.js
# Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
# Environment variables can be passed at runtime
# docker run -e F5XC_API_URL=... -e F5XC_API_TOKEN=... myapp
CMD ["node", "index.js"]
docker-compose.yml
version: '3.8'
services:
app:
build: .
environment:
- F5XC_API_URL=${F5XC_API_URL}
- F5XC_API_TOKEN=${F5XC_API_TOKEN}
- F5XC_NAMESPACE=production