Skip to content

📘 OpenWiki.network Technical Documentation

📖 Introduction

AgentsWiki is a unified knowledge and embeddings stack designed for AI agents, multi-agent systems, and data-driven applications. It combines:

  • ArangoDB (graph/document DB) → for structured knowledge.
  • Embeddings DBs (Weaviate, Pinecone) → for semantic vector storage & search.
  • Ingestor → to sync structured data into semantic embeddings with pluggable embedding models.
  • Kubernetes Deployer → for automated deployment of ArangoDB and embeddings databases in clusters.
  • Python SDKs → to manage CRUD operations, ingestion, and semantic search programmatically.

Together, these components give you a hybrid knowledge layer that supports both symbolic reasoning (graphs, facts) and semantic similarity (vectors, embeddings).


🌐 Deployer API Documentation

The Deployer API (wiki_stack_deployer/core/api.py) provides Flask REST endpoints for provisioning ArangoDB and Embeddings DB stacks on Kubernetes. This makes it possible to programmatically deploy infrastructure without manually applying Kubernetes manifests.


Base URL

http://<host>:<port>

(Default: http://localhost:8000 if running locally)


Endpoints

1. POST /deploy/arango

Deploy only ArangoDB.

Request Body:

{
  "kubeconfig": { "current-context": "...", "clusters": [], "contexts": [], "users": [] },
  "namespace": "databases",
  "name": "arangodb",
  "mode": "Cluster",
  "agents_count": 3,
  "coordinators_count": 2,
  "dbservers_count": 3,
  "default_number_of_shards": 6,
  "default_replication_factor": 2,
  "write_concern": 2
}

Key Parameters:

  • kubeconfig (dict, required) → Kubernetes cluster config.
  • namespace (str) → Namespace for deployment.
  • mode (str) → Deployment mode (Cluster / Single).
  • agents_count, coordinators_count, dbservers_count (int) → Cluster topology.
  • default_number_of_shards, default_replication_factor, write_concern (int) → Sharding & replication settings.

Response:

{
  "success": true,
  "message": "ArangoDB deployment submitted"
}

2. POST /deploy/embeddings

Deploy only Embeddings DB (choose Weaviate or Pinecone).

Request Body (Weaviate example):

{
  "kubeconfig": { "current-context": "...", "clusters": [], "contexts": [], "users": [] },
  "provider": "weaviate",
  "namespace": "vector-db",
  "name": "weaviate",
  "weaviate_replicas": 3,
  "weaviate_service_type": "NodePort",
  "weaviate_http_node_port": 31311,
  "weaviate_grpc_node_port": 31312,
  "weaviate_pvc_size": "100Gi"
}

Request Body (Pinecone example):

{
  "kubeconfig": { "current-context": "...", "clusters": [], "contexts": [], "users": [] },
  "provider": "pinecone",
  "pinecone_api_key": "YOUR_KEY",
  "pinecone_index_name": "embeddings-index",
  "pinecone_dimension": 1536,
  "pinecone_metric": "cosine",
  "pinecone_cloud": "aws",
  "pinecone_region": "us-east-1",
  "pinecone_deploy_gateway": true
}

Response:

{
  "success": true,
  "message": "Embedding DB deployment submitted"
}

3. POST /deploy/both

Deploy ArangoDB first, then the Embeddings DB in the same flow.

Request Body:

{
  "arango": {
    "kubeconfig": { "current-context": "...", "clusters": [], "contexts": [], "users": [] },
    "namespace": "databases",
    "name": "arangodb",
    "mode": "Cluster",
    "agents_count": 3,
    "coordinators_count": 2,
    "dbservers_count": 3
  },
  "embeddings": {
    "kubeconfig": { "current-context": "...", "clusters": [], "contexts": [], "users": [] },
    "provider": "weaviate",
    "namespace": "vector-db",
    "name": "weaviate",
    "weaviate_replicas": 3
  }
}

Response:

{
  "success": true,
  "message": "ArangoDB + Embedding DB deployments submitted"
}

API Features

  • Deploys ArangoDB and Embeddings DB independently or as a stack
  • Fully configurable topology (replication, sharding, resources, storage classes)
  • Supports Weaviate StatefulSet deployment
  • Supports Pinecone managed index creation with optional in-cluster gateway
  • REST-based, making it easy to integrate with CI/CD or orchestration pipelines