Skip to content
/ holonet Public

Holonet automates the enforcement of your single source of truth, ensuring your infrastructure remains consistent and compliant.

License

Notifications You must be signed in to change notification settings

r2unit/holonet

Holonet

Warning

Holonet is still under development and currently in a pre‑alpha phase. Do not use it in production.

CodeQL CodeRabbit Pull Request Reviews

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.

# 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:

# 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.

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:

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:

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:

# 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

About

Holonet automates the enforcement of your single source of truth, ensuring your infrastructure remains consistent and compliant.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published