📘 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