https://github.com/r2unit/holonet
Holonet automates the enforcement of your single source of truth, ensuring your infrastructure remains consistent and compliant.
https://github.com/r2unit/holonet
ansible ansible-automation-platform devnet devops go golang workflow-automation workflows
Last synced: 14 days ago
JSON representation
Holonet automates the enforcement of your single source of truth, ensuring your infrastructure remains consistent and compliant.
- Host: GitHub
- URL: https://github.com/r2unit/holonet
- Owner: r2unit
- License: gpl-3.0
- Created: 2025-02-13T03:04:31.000Z (12 months ago)
- Default Branch: develop
- Last Pushed: 2025-10-05T10:07:05.000Z (4 months ago)
- Last Synced: 2025-10-05T11:36:59.351Z (4 months ago)
- Topics: ansible, ansible-automation-platform, devnet, devops, go, golang, workflow-automation, workflows
- Language: Go
- Homepage:
- Size: 36.2 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# Holonet
> [!WARNING]
> Holonet is still under development and currently in a pre‑alpha phase. Do not use it in production.
[](https://github.com/r2unit/holonet/actions/workflows/github-code-scanning/codeql)

Holonet is a platform for automating infrastructure management, making your systems reliable, auditable, and ready for advanced automation.
## Getting Started
Below are several ways to install and run Holonet. Choose the option that best fits your environment.
### 1) Docker Compose (recommended for local trials)
A ready‑to‑use Compose file is provided at deployments/compose.yml.
```bash
# From the repository root
docker compose -f deployments/compose.yml up -d
# View logs
docker compose -f deployments/compose.yml logs -f holonet
```
This will start a PostgreSQL instance and Holonet core bound to localhost:3000.
Environment variables (editable in deployments/compose.yml):
- DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME
- LOG_LEVEL, ENABLE_NETBOX, ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD
### 2) Docker (single container)
Build and run Holonet against an existing PostgreSQL database:
```bash
# Build image
docker build -f build/package/dockerfile -t holonet:local .
# Run container (adjust DB_* to your setup)
docker run --name holonet \
-e LOG_LEVEL=debug \
-e DB_HOST=127.0.0.1 -e DB_PORT=5432 \
-e DB_USER=postgres -e DB_PASSWORD=insecure -e DB_NAME=holonet \
-e ENABLE_NETBOX=false \
-p 3000:3000 \
holonet:local
```
### 3) Kubernetes
Below is a minimal example Deployment and Service. Replace with your published image (you can build/push the Docker image from step 2) and adjust DB_* values to point to a reachable PostgreSQL service.
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: holonet
spec:
replicas: 1
selector:
matchLabels:
app: holonet
template:
metadata:
labels:
app: holonet
spec:
containers:
- name: holonet
image: your-registry/holonet:latest
ports:
- containerPort: 3000
env:
- name: LOG_LEVEL
value: debug
- name: ENABLE_NETBOX
value: "false"
- name: DB_HOST
value: postgres
- name: DB_PORT
value: "5432"
- name: DB_USER
value: postgres
- name: DB_PASSWORD
value: insecure
- name: DB_NAME
value: holonet
---
apiVersion: v1
kind: Service
metadata:
name: holonet
spec:
type: ClusterIP
selector:
app: holonet
ports:
- name: http
port: 3000
targetPort: 3000
```
Apply it with:
```bash
kubectl apply -f holonet.yaml
```
Note: You must provide a PostgreSQL instance in your cluster (e.g., via a Helm chart or your own StatefulSet/Service) and point DB_* accordingly.
### 4) Install script
If you prefer a one‑liner install on a Linux host, you can use an install script approach:
```bash
curl -fsSL https://raw.githubusercontent.com/r2unit/holonet/main/scripts/install.sh | bash
```
- The script should install a holonet binary under /usr/local/bin and optionally register a systemd service.
- If your environment restricts curl | bash, download, review, and run the script manually.
- TODO: Provide an official script URL in releases.
### 5) Binary file
You can run Holonet as a single binary.
Option A — Download from releases:
- Download the appropriate archive for your OS/arch from the GitHub Releases page.
- Extract the holonet (or holonet-core) binary and place it in your PATH (e.g., /usr/local/bin).
Option B — Build from source:
```bash
# From repository root
GO111MODULE=on go build -o holonet ./cmd/core
# Environment variables (example)
export DB_HOST=127.0.0.1
export DB_PORT=5432
export DB_USER=postgres
export DB_PASSWORD=insecure
export DB_NAME=holonet
# Run
./holonet
```
For additional guidance and advanced configuration, see the documents linked in the Documentation section below.
## Documentation