ONEX Infrastructure - Service integration and database infrastructure tools
Project description
ONEX Infrastructure
Production infrastructure services for the ONEX execution layer. Handlers, adapters, and runtime services for PostgreSQL, Kafka, Consul, Vault, and Redis.
What is This?
This repository provides the infrastructure layer for ONEX-based systems. While omnibase_core defines the execution protocol and node archetypes, this package provides:
- Handlers for external services (database, HTTP, messaging)
- Adapters wrapping infrastructure clients
- Event bus abstractions for Kafka/Redpanda
- Runtime services deployable via Docker
Built on omnibase-core ^0.8.0 and omnibase-spi ^0.5.0.
Quick Start
# Clone the repository
git clone https://github.com/OmniNode-ai/omnibase_infra.git
cd omnibase_infra
# Start the runtime with Docker
cd docker
cp .env.example .env
# Edit .env - set POSTGRES_PASSWORD, VAULT_TOKEN, REDIS_PASSWORD
docker compose -f docker-compose.runtime.yml --profile main up -d --build
# Verify it's running
curl http://localhost:8085/health
Docker Services
The runtime deploys as containerized services connecting to your infrastructure:
| Service | Profile | Port | Description |
|---|---|---|---|
| runtime-main | main |
8085 | Core kernel - request/response handling |
| runtime-effects | effects |
8086 | External service I/O (DB, HTTP, messaging) |
| runtime-worker | workers |
— | Scalable compute workers (default: 2 replicas) |
Profiles:
# Core only
docker compose -f docker-compose.runtime.yml --profile main up -d
# Core + effects
docker compose -f docker-compose.runtime.yml --profile effects up -d
# Core + workers (parallel compute)
docker compose -f docker-compose.runtime.yml --profile workers up -d
# Everything
docker compose -f docker-compose.runtime.yml --profile all up -d
Infrastructure Dependencies
The runtime connects to external services (not included in compose):
| Service | Purpose | Default Host | Environment Variable |
|---|---|---|---|
| PostgreSQL | Persistence | localhost:5432 |
POSTGRES_HOST, POSTGRES_PORT |
| Kafka/Redpanda | Event bus | localhost:9092 |
KAFKA_BOOTSTRAP_SERVERS |
| Consul | Service discovery | localhost:8500 |
CONSUL_HOST, CONSUL_PORT |
| Vault | Secrets management | localhost:8200 |
VAULT_ADDR |
| Redis/Valkey | Caching | localhost:6379 |
REDIS_HOST, REDIS_PORT |
Configure via .env file - see docker/README.md for details.
Documentation
| I want to... | Go to... |
|---|---|
| Get started quickly | Quick Start Guide |
| Understand the architecture | Architecture Overview |
| Deploy with Docker | Docker Guide |
| See a complete example | Registration Walkthrough |
| Write a contract | Contract Reference |
| Find implementation patterns | Pattern Documentation |
| Read coding standards | CLAUDE.md |
Full documentation: docs/index.md
Repository Structure
src/omnibase_infra/
├── handlers/ # Request/message handlers
├── event_bus/ # Kafka/Redpanda abstractions
├── clients/ # Service clients
├── models/ # Pydantic models
├── nodes/ # ONEX nodes (Effect, Compute, Reducer, Orchestrator)
├── errors/ # Error hierarchy
├── mixins/ # Reusable behaviors
└── enums/ # Centralized enums
Development
# Install dependencies
poetry install
# Run tests
poetry run pytest
# Type checking
poetry run mypy src/omnibase_infra/
# Format code
poetry run ruff format .
poetry run ruff check --fix .
Pre-commit Hooks Setup
Run once after cloning:
poetry run pre-commit install
poetry run pre-commit install --hook-type pre-push
Contributing
See CONTRIBUTING.md for commit conventions and PR guidelines.
License
MIT License - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file omnibase_infra-0.2.8.tar.gz.
File metadata
- Download URL: omnibase_infra-0.2.8.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4de17c7fff305f58b133723173d1ea9268c8f00cec977a7239627dcae18bf1cb
|
|
| MD5 |
a5dc6df2107abf2e199f1a2356ba8451
|
|
| BLAKE2b-256 |
48f0cafd89a79237cfb22e0ef7ba96d6688b5ade257a4cfdaabfb0007bfb0024
|
File details
Details for the file omnibase_infra-0.2.8-py3-none-any.whl.
File metadata
- Download URL: omnibase_infra-0.2.8-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfb3a1d3770aaf68fb632d0dca4b64891167b50196996e4ee4457c57ad2a6cf9
|
|
| MD5 |
64ac6c62d6dce35cff299c1e09fd7ce3
|
|
| BLAKE2b-256 |
9fd45089b53ff635ad0a443cc69fc73f4e13ad9a64956b474722bcd3a7f24988
|