Skip to content

Quick start guide

This guide will help you get XTM Composer up and running quickly with OpenAEV.

Prerequisites

Before starting, ensure you have:
- XTM Composer installed (see Installation Guide)
- Access to an OpenAEV instance
- OpenAEV API token
- RSA private key (4096-bit)

Step 1: Generate RSA private key

Generate a 4096-bit RSA private key for authentication:

openssl genrsa -out private_key_4096.pem 4096

Step 2: Basic configuration

Create a configuration file based on your environment.

Option A: Using Configuration File

Create config/production.yaml:

manager:
  id: "my-manager-001"
  name: "Production Manager"
  credentials_key_filepath: "/path/to/private_key_4096.pem"
  logger:
    level: info
    format: json

openaev:
  enable: true
  url: "https://openaev.example.com"
  token: "your-openaev-api-token"
  daemon:
    selector: kubernetes  # or 'docker' or 'portainer'

Option B: Using Environment Variables

Set configuration through environment variables:

export COMPOSER_ENV=production
export MANAGER__ID="my-manager-001"
export MANAGER__CREDENTIALS_KEY_FILEPATH="/path/to/private_key_4096.pem"
export OPENAEV__URL="https://openaev.example.com"
export OPENAEV__TOKEN="your-openaev-api-token"
export OPENAEV__DAEMON__SELECTOR="kubernetes"

Step 3: Choose your orchestration platform

For Kubernetes

openaev:
  daemon:
    selector: kubernetes
    kubernetes:
      image_pull_policy: IfNotPresent

For Docker

openaev:
  daemon:
    selector: docker
    docker:
      network_mode: bridge

Note: Docker mode requires socket access:

docker run -v /var/run/docker.sock:/var/run/docker.sock ...

For Portainer

openaev:
  daemon:
    selector: portainer
    portainer:
      api: "https://portainer.example.com:9443"
      api_key: "your-portainer-api-key"
      env_id: "3"
      env_type: "docker"

Step 4: Run XTM Composer

Using Docker

docker run -d \
  --name xtm-composer \
  -v $(pwd)/config:/config \
  -v $(pwd)/private_key_4096.pem:/keys/private_key.pem \
  -e COMPOSER_ENV=production \
  filigran/xtm-composer:latest

Using Binary

COMPOSER_ENV=production ./xtm-composer

Step 5: Verify connection

Check the logs to verify XTM Composer is connected to OpenAEV:

# Docker
docker logs xtm-composer

# Binary/Systemd
tail -f /var/log/xtm-composer/composer.log

You should see messages like:

INFO  Starting XTM Composer
INFO  Connecting to OpenAEV at https://openaev.example.com
INFO  Successfully connected to OpenAEV
INFO  Manager registered with ID: my-manager-001

Step 6: Verify in OpenAEV

  1. Log into your OpenAEV instance
  2. Navigate to Integrations > Catalog
  3. You should not see any alert message indicating that the Integration Manager installation is required.

Common configuration examples

Development environment

manager:
  id: "dev-manager"
  credentials_key_filepath: "./private_key_4096.pem"
  logger:
    level: debug
    format: pretty
    console: true
  debug:
    show_env_vars: true

openaev:
  enable: true
  url: "http://localhost:4000"
  token: "development-token"
  daemon:
    selector: docker

Production with high availability

manager:
  id: "prod-manager-ha"
  execute_schedule: 5      # Check every 5 seconds
  ping_alive_schedule: 30  # Ping every 30 seconds
  logger:
    level: warn
    format: json
    directory: true
    console: false

openaev:
  enable: true
  url: "https://openaev.prod.example.com"
  token: "${OPENAEV_TOKEN}"  # Use environment variable
  logs_schedule: 5
  daemon:
    selector: kubernetes
    kubernetes:
      image_pull_policy: Always

Troubleshooting

For common issues and their solutions, see the Troubleshooting Guide.

Next steps

  • Review the complete Configuration Reference
  • Set up monitoring and alerting
  • Configure collector, injector or executor specific settings
  • Implement security best practices
  • Join the OpenAEV community for support