arc

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2025 License: MIT

README

ARC - Agentic Runtime Controller

GoDoc Go Report Card CI License

ARC is a production-ready, unopinionated agent & workflow management system.

built by rizome labs | contact: hi@rizome.dev

go get github.com/rizome-dev/arc

Quick Start

package main

import (
    "context"
    "log"
    
    "github.com/rizome-dev/arc/pkg/messagequeue"
    "github.com/rizome-dev/arc/pkg/orchestrator"
    "github.com/rizome-dev/arc/pkg/runtime"
    "github.com/rizome-dev/arc/pkg/state"
    "github.com/rizome-dev/arc/pkg/types"
)

func main() {
    ctx := context.Background()
    
    // Create Docker runtime
    dockerRuntime, _ := runtime.NewDockerRuntime(runtime.Config{
        Type: "docker",
    })
    
    // Create message queue
    mq, _ := messagequeue.NewAMQMessageQueue(messagequeue.Config{
        StorePath:      "./arc-amq-data",
        WorkerPoolSize: 10,
        MessageTimeout: 300,
    })
    defer mq.Close()
    
    // Create state manager
    stateManager := state.NewMemoryStore()
    stateManager.Initialize(ctx)
    defer stateManager.Close(ctx)
    
    // Create orchestrator
    arc, _ := orchestrator.New(orchestrator.Config{
        Runtime:      dockerRuntime,
        MessageQueue: mq,
        StateManager: stateManager,
    })
    
    // Start orchestrator
    arc.Start()
    defer arc.Stop()
    
    // Create and execute workflow
    workflow := &types.Workflow{
        Name: "data-pipeline",
        Tasks: []types.Task{
            {
                Name: "fetch-data",
                AgentConfig: types.AgentConfig{
                    Command: []string{"python"},
                    Args:    []string{"fetch.py"},
                },
            },
            {
                Name:         "process-data",
                Dependencies: []string{"fetch-data"},
                AgentConfig: types.AgentConfig{
                    Command: []string{"python"},
                    Args:    []string{"process.py"},
                },
            },
        },
    }
    
    arc.CreateWorkflow(ctx, workflow)
    arc.StartWorkflow(ctx, workflow.ID)
}

Deployment

Kubernetes
helm install arc ./helm/arc
# or
helm install arc ./helm/arc -f values.yaml

License

MIT License - see the LICENSE file for details.


Built with ❤️ by Rizome Labs

Directories

Path Synopsis
examples
basic command
gvisor command
internal
version
Package version provides build version information.
Package version provides build version information.
pkg
client
Package client provides the core HTTP client for arc
Package client provides the core HTTP client for arc
errors
Package errors provides error types for arc
Package errors provides error types for arc
messagequeue
Package messagequeue provides AMQ implementation
Package messagequeue provides AMQ implementation
orchestrator
Package orchestrator provides the core orchestration engine
Package orchestrator provides the core orchestration engine
runtime
Package runtime provides Docker runtime implementation
Package runtime provides Docker runtime implementation
state
Package state provides BadgerDB-based state management
Package state provides BadgerDB-based state management
types
Package types contains shared types for arc
Package types contains shared types for arc
validation
Package validation provides image validation and security scanning for ARC
Package validation provides image validation and security scanning for ARC
Package main provides a shared library for signing and verification.
Package main provides a shared library for signing and verification.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL