Abbenay
Abbenay provides a unified daemon that connects your Ansible developer tools to the AI models you choose — local, cloud, or Red Hat AI — through a single configuration file.
Why this matters
Section titled “Why this matters”AI coding assistants generate better Ansible automation when connected to AI models that understand your environment, your collections, and your organizational policies. Without a unified provider layer, each tool embeds its own LLM client — duplicating configuration, fragmenting secret management, and locking you into a single provider.
How Abbenay helps
Section titled “How Abbenay helps”Abbenay is a background daemon that centralizes AI model access for the Ansible developer toolchain. Configure your providers once, and every consuming tool — the Ansible VS Code extension, CLI scripts, or custom applications — connects through the same daemon.
Key capabilities:
- Bring Your Own Model (BYOM) — use any model from 20 production provider engines (plus a
mockengine for testing), including OpenAI, Anthropic, Google Gemini, Ollama, and Red Hat AI. Runaby list-enginesor see the configuration reference for the full list. - One configuration file — define all providers, models, and API keys in a single
config.yamlfile (for example,~/.config/abbenay/config.yamlon Linux). - Centralized secret management — store API keys in your system keychain or environment variables.
- OpenAI-compatible API — expose any configured model through a standard
/v1/chat/completionsendpoint for tools that speak the OpenAI protocol.
Get started
Section titled “Get started”- Install Abbenay — download the pre-built binary, pull the container image, or (on Windows) run from source.
- Configure a provider — set up Ollama for local development, a cloud provider for BYOM, or Red Hat AI for enterprise deployments.
- Verify your connection — launch Abbenay and send a test prompt.
For the full list of settings, security options, and engine reference, see the Abbenay configuration reference.
Related links
Section titled “Related links”- Install Abbenay
- Set up a local model with Ollama
- Connect a cloud provider
- Connect Red Hat AI Inference
- Verify your connection
- Abbenay configuration reference
Architecture and positioning
Section titled “Architecture and positioning”Abbenay sits between your Ansible developer tools and the model providers you configure. A single daemon exposes a gRPC API for integrated tools (VS Code extension, CLI), an OpenAI-compatible HTTP API for generic clients, an MCP server for AI agents, and a web dashboard for configuration and approvals. It is the provider-agnostic BYOM layer in the Ansible developer toolchain — complementary to Ansible Lightspeed, which remains a separate Red Hat-hosted service.
For component-level design, see the Abbenay architecture guide. For product positioning and ecosystem context, see the Abbenay product overview.
Install Abbenay
Section titled “Install Abbenay”Prerequisites
Section titled “Prerequisites”- Linux x86_64, Linux ARM64, macOS Apple Silicon, or Windows (see the Windows notes).
- For the container method: Podman or a compatible container runtime.
Choose one of the following installation methods.
The pre-built binary is a Node.js Single Executable Application (SEA) that requires no runtime dependencies.
-
Download the latest release archive for your platform from the Abbenay releases page:
Platform Archive name Linux x86_64 abbenay-<version>-linux-x64.tar.gzLinux ARM64 abbenay-<version>-linux-arm64.tar.gzmacOS Apple Silicon abbenay-<version>-darwin-arm64.tar.gz -
Extract the archive:
Terminal window tar xzf abbenay-<version>-<platform>.tar.gz -
Rename the binary and move it to a directory on your
PATH:Terminal window chmod +x abbenay-daemonsudo mv abbenay-daemon /usr/local/bin/aby -
Verify the installation:
Terminal window aby --version
Pull the pre-built container image from GitHub Container Registry. The image is available for linux/amd64 and linux/arm64.
-
Pull the image:
Terminal window podman pull ghcr.io/redhat-developer/abbenay:latest -
Verify the image:
Terminal window podman run --rm ghcr.io/redhat-developer/abbenay:latest aby --version
Windows builds run from source (no pre-built SEA binary yet):
git clone https://github.com/redhat-developer/abbenay.gitcd abbenaynpm installcd packages/daemonnpx tsx src/daemon/index.ts daemonSee Windows support below for how Abbenay’s runtime paths and transport differ from Linux and macOS.
Windows support
Section titled “Windows support”Abbenay runs on Windows with two platform-specific differences from Linux and macOS:
| Aspect | Linux | macOS | Windows |
|---|---|---|---|
| Runtime directory | XDG data dir | Platform data dir | %TEMP%\abbenay |
| Local daemon transport | Unix domain socket | Unix domain socket | Loopback TCP |
| Config directory | ~/.config/abbenay |
~/Library/Application Support/abbenay |
%APPDATA%\abbenay |
Because Windows has no native Unix domain sockets, the daemon falls back to a loopback TCP listener for local IPC (CLI, VS Code extension) instead of the Unix socket used on Linux and macOS. This is functionally equivalent for single-user, local-machine use — the listener still binds to 127.0.0.1 only, so it is not reachable from other hosts.
What to do next
Section titled “What to do next”Configure a provider. See Set up a local model with Ollama, Connect a cloud provider, or Connect Red Hat AI Inference.
Set up a local model with Ollama
Section titled “Set up a local model with Ollama”Configure Abbenay to use Ollama so that you can get AI-powered Ansible assistance without external network access.
Prerequisites
Section titled “Prerequisites”- Abbenay is installed. See Install Abbenay.
- Ollama is installed and running at
http://localhost:11434. - At least one model is pulled in Ollama (for example,
ollama pull llama3.2).
Procedure
Section titled “Procedure”-
Create the Abbenay configuration directory and open
config.yaml:Terminal window mkdir -p ~/.config/abbenayvi ~/.config/abbenay/config.yamlTerminal window mkdir -p ~/Library/Application\ Support/abbenayvi ~/Library/Application\ Support/abbenay/config.yamlTerminal window mkdir $env:APPDATA\abbenaynotepad $env:APPDATA\abbenay\config.yaml -
Add the Ollama provider configuration:
providers:ollama:engine: ollamamodels:llama3.2: {}qwen2.5-coder: {} -
Save the file.
What to do next
Section titled “What to do next”Start Abbenay and verify your connection. See Verify your connection.
Connect a cloud provider
Section titled “Connect a cloud provider”Configure Abbenay to use a cloud AI provider so that you can use your existing AI investments with Ansible developer tools.
Prerequisites
Section titled “Prerequisites”- Abbenay is installed. See Install Abbenay.
- You have an API key from your cloud AI provider.
Abbenay supports 20 production provider engines, plus a mock engine for testing. This procedure uses OpenAI as an example. Run aby list-engines to see all engine IDs, or see the configuration reference for the full list.
Procedure
Section titled “Procedure”-
Create the Abbenay configuration directory if it does not exist yet, then open
config.yaml(see Set up a local model with Ollama for platform-specific paths). -
List all supported engine IDs:
Terminal window aby list-engines -
Add the cloud provider configuration:
providers:openai:engine: openaiapi_key_env_var_name: 'OPENAI_API_KEY'models:gpt-4o: {}gpt-4o-mini: {} -
Set the API key as an environment variable:
Terminal window export OPENAI_API_KEY="your-api-key-here"Alternatively, store the API key in your system keychain for persistent, secure storage:
providers:openai:engine: openaiapi_key_keychain_name: 'OPENAI_API_KEY'models:gpt-4o: {}
Some commonly used cloud engines:
| Provider | Engine ID | Default env var |
|---|---|---|
| OpenAI | openai |
OPENAI_API_KEY |
| Anthropic | anthropic |
ANTHROPIC_API_KEY |
| Google Gemini | gemini |
GOOGLE_API_KEY |
| Mistral | mistral |
MISTRAL_API_KEY |
| xAI (Grok) | xai |
XAI_API_KEY |
| DeepSeek | deepseek |
DEEPSEEK_API_KEY |
| Groq | groq |
GROQ_API_KEY |
| Cohere | cohere |
COHERE_API_KEY |
| Amazon Bedrock | bedrock |
(AWS credentials) |
| OpenRouter | openrouter |
OPENROUTER_API_KEY |
| Plus 10 more production engines | — | — |
The table above lists 10 of the 20 production engines. For the complete list (including mock for testing), see the configuration reference.
What to do next
Section titled “What to do next”Start Abbenay and verify your connection. See Verify your connection.
Connect Red Hat AI Inference
Section titled “Connect Red Hat AI Inference”Configure Abbenay to use a Red Hat AI Inference endpoint so that you can use enterprise-governed models for Ansible development.
Prerequisites
Section titled “Prerequisites”- Abbenay is installed. See Install Abbenay.
- A Red Hat AI Inference endpoint is running and serving at least one model. For installation and configuration, see the Red Hat AI Inference documentation.
Red Hat AI Inference is a standalone vLLM instance that exposes an OpenAI-compatible REST API. It runs locally, on a RHEL AI host, or in an OpenShift container. For full details on both deployment profiles (Inference Server and OpenShift AI MaaS), see the Red Hat AI engine guide and the Red Hat AI engine reference in the configuration reference.
Procedure
Section titled “Procedure”-
Verify that your Red Hat AI Inference endpoint is running and serving models:
Terminal window curl http://127.0.0.1:8000/v1/models -
Open the Abbenay
config.yamland add the Red Hat AI provider configuration:providers:redhat-inference:engine: redhatmodels:RedHatAI/Llama-3.2-1B-Instruct-FP8: {}Replace the model ID with whatever your server’s
/v1/modelsendpoint reports. -
Optional — if your endpoint requires authentication (started with the
--api-keyflag), add an API key:providers:redhat-inference:engine: redhatapi_key_env_var_name: 'REDHAT_AI_API_KEY'models:RedHatAI/Llama-3.2-1B-Instruct-FP8: {}Terminal window export REDHAT_AI_API_KEY="your-server-api-key" -
Optional — if your endpoint runs on a non-default port or remote host, set
base_url:providers:redhat-inference:engine: redhatbase_url: 'http://192.168.1.100:8080/v1'models:RedHatAI/Llama-3.2-1B-Instruct-FP8: {} -
Optional — for servers with self-signed or internal CA certificates:
Terminal window export NODE_EXTRA_CA_CERTS="/path/to/ca-bundle.crt"
If Abbenay runs inside a container and the Red Hat AI Inference endpoint runs on the host, use:
providers: redhat-inference: engine: redhat base_url: 'http://host.containers.internal:8000/v1' models: RedHatAI/Llama-3.2-1B-Instruct-FP8: {}What to do next
Section titled “What to do next”Start Abbenay and verify your connection. See Verify your connection.
Verify your connection
Section titled “Verify your connection”Start the Abbenay daemon and send a test prompt to verify that your AI model is connected and responding.
Prerequisites
Section titled “Prerequisites”- Abbenay is installed. See Install Abbenay.
- At least one provider is configured. See Set up a local model with Ollama, Connect a cloud provider, or Connect Red Hat AI Inference.
- Your provider is running and accessible — for example, Ollama is started, or your cloud API key is valid.
Procedure
Section titled “Procedure”-
Start the Abbenay daemon:
Terminal window aby startAbbenay starts the daemon, web dashboard, OpenAI-compatible API, and MCP server on port
8787. A bearer token is generated automatically for HTTP API authentication. -
Verify your configured models are available:
Terminal window aby list-modelsTo see all supported engine IDs (not just configured models), run:
Terminal window aby list-engines -
Optional — discover models available from a specific provider, including models not yet in your configuration:
Terminal window aby list-models --discover ollamaaby list-models --discover redhat -
Send a test prompt, using
<provider>/<model>format:Terminal window aby chat -m ollama/llama3.2 -
Type a test message and verify you receive a response. Press Ctrl+D to end the chat session.
Stop Abbenay
Section titled “Stop Abbenay”aby stop # Stop all Abbenay servicesaby status # Check if Abbenay is runningTroubleshooting
Section titled “Troubleshooting”| Symptom | Cause | Resolution |
|---|---|---|
aby list-models shows no models |
Configuration file not found or malformed YAML | Verify your config.yaml path and syntax |
| Connection refused when chatting | Provider not running | Start your provider (for example, ollama serve, or verify your Red Hat AI endpoint is accessible) |
401 Unauthorized |
Missing or invalid API key | Verify your API key environment variable is set and matches the provider’s requirements |
| Model name not found | Incorrect model ID | Run aby list-models --discover <engine> to see available models, and use the exact ID in your config |
Additional resources
Section titled “Additional resources”- Abbenay configuration reference — full
config.yamldocumentation, security hardening, and engine reference - Abbenay architecture — daemon design and component overview
- Abbenay product overview — architecture and positioning in the Ansible ecosystem
- Red Hat AI Inference documentation — RHEL AI endpoint setup
- Abbenay container guide — Kubernetes manifests, TLS, and security hardening
- Abbenay on GitHub — source repository, issues, and releases
- Our AI approach — how Abbenay fits alongside the MCP server, skills, and Lightspeed