Skip to content
adhar-ioPublic

Latest commit

Β 

History

344 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Adhar β€” Open Cloud-Native Foundation

Open Foundation for Cloud-Native Platform Engineering

Adhar Version Kubernetes Crossplane Go Version License Slack

Adhar β€’ Built with ❀️ for developers!


🎯 What is Adhar?

Sanskrit: ΰ€…ΰ€§ΰ€Ύΰ€° (Adhāra) – Foundation

Adhar is an Open Internal Developer Platform that eliminates the trade-off between developer freedom and organizational governance.

Traditional platforms force organizations to choose: either give developers freedom (leading to inconsistent architectures and security gaps) or enforce governance (creating bottlenecks and slowing teams down). Adhar takes a fundamentally different approachβ€”standardization as enablement, not constraint.

Adhar delivers battle-tested architectural patterns with 100+ production-grade packagesβ€”from Kubernetes and Cilium to ArgoCD, Vault, Prometheus, and beyondβ€”all pre-configured, security-hardened, and ready to use. A single adhar up command provisions complete platforms across AWS, Azure, GCP, DigitalOcean, Civo, or local Kind clusters in under 10 minutes. No infrastructure tickets, no security reviews, no integration projects. Developers get instant self-service access to everything they need, while organizations get consistent, secure, compliant infrastructure enforced automatically through code.

The result: Teams spend 100% of their time on business value, zero time on undifferentiated infrastructure work. 100% open source (Apache 2.0) with no vendor lock-in. This is the foundation modern engineering teams deserve.

⚠️ Active Development: This project is in active development stage. APIs and configurations may change. Recommended for development and evaluation purposes only.


Platform Capabilities

Capability Description
πŸ“ Standardized Architecture Organizational and application patterns that enforce best practices automatically
πŸš€ Self-Service with Guardrails Instant provisioning within security/compliance boundaries - no approval workflows
🎯 Golden Paths Pre-built patterns for microservices, microfrontends, data pipelines, and ML workflows
πŸ—οΈ True Multi-Cloud Consistent experience across AWS, Azure, GCP, DigitalOcean, Civo, and Onprem
πŸ”„ GitOps Native Declarative infrastructure and application management via Git and ArgoCD
πŸ›‘οΈ Security Built-In Zero-trust networking, secrets vault, vulnerability scanning, policy enforcement
πŸ“Š Complete Observability Prometheus, Grafana, Loki, Tempo and Hubble configured with auto instrument
πŸ€– AI/ML Platform Jupyter, analytics, ETL and pipeline orchestration ready for data teams
πŸ“¦ 100+ Packages Integrated From Kafka to databases - production-ready out-of-the-box services

πŸš€ Quick Start

Prerequisites

The local provider runs Kubernetes in containers, so it needs a container engine. Any one of these works β€” Adhar detects which is present and uses it for everything: creating the cluster, running the local image cache and tearing it down.

Requirement Version Purpose
A container engine β€” one of:
Docker Β· Podman Β· nerdctl Β· Finch
Docker v20.10+
Podman v4+
Hosts the local Kubernetes nodes
kubectl v1.24+ Kubernetes CLI
RAM 8GB min, 16GB+ recommended Platform resources
Storage 20GB+ free Images and data
CPU 4+ cores Processing power

Adhar follows Kind's own rule for picking an engine: KIND_EXPERIMENTAL_PROVIDER if set, otherwise the first one installed and responding, in the order above.

adhar version                                  # shows the engine actually in use
export KIND_EXPERIMENTAL_PROVIDER=podman       # force a specific engine

Cloud targets need no container engine at all β€” they provision real machines. See the provider pages.

Install the CLI

1. Homebrew (macOS and Linux) β€” from the adhar-io/homebrew-tap tap:

brew install adhar-io/tap/adhar

Then verify, upgrade, or remove it:

adhar version                  # also reports the container engine in use
brew upgrade adhar
brew uninstall adhar           # and: brew untap adhar-io/tap

2. Install script β€” the same released archives, without Homebrew:

curl -fsSL https://raw.githubusercontent.com/adhar-io/adhar/main/scripts/install.sh | bash

3. From source β€” needs Go 1.26+, and gives you exactly the working tree:

git clone https://github.com/adhar-io/adhar.git
cd adhar
make build                     # builds ./adhar with version metadata

Homebrew and the install script put adhar on your PATH; a source build leaves it in the repo root, so the commands below become ./adhar up.

Local Development (Under 10 Minutes)

#1. Install the CLI (see above β€” e.g. brew install adhar-io/tap/adhar)

#2. Create local cluster with core platform services
adhar up

#3. Access the platform, Adhar Console (each UI has its own subdomain)
open https://console.adhar.localtest.me:8443

#4. Retrieve application secrets
adhar get secrets

#5. Check platform usage
adhar help

#6. Destroy Adhar platform
adhar down

Cloud Environment

The example below uses DigitalOcean, the provider verified end to end. The steps are identical for the others β€” only the credentials and the providers: block change. Pick your target from the provider pages.

1. Delegate a DNS zone to your cloud's DNS. Every platform URL is <app>.<your-domain>, and ACME solves DNS-01 challenges there.

2. Export a token with read/write on compute, networking, load balancers, block storage, SSH keys and DNS.

export DIGITALOCEAN_ACCESS_TOKEN="dop_v1_…"

3. Build the CLI and copy the example configuration.

git clone https://github.com/adhar-io/adhar.git && cd adhar
make build
cp examples/digitalocean-config.yaml config.yaml

Edit three fields: globalSettings.defaultHost (your zone), globalSettings.email (ACME address) and providers.digitalocean.region.

4. Check the plan, then provision.

./adhar up -f config.yaml --env dev --dry-run   # resolves config, creates nothing
./adhar up -f config.yaml --env dev             # ~13 min to a usable platform

--env matters: without it, every environment in the file is provisioned.

5. Verify and get in.

export KUBECONFIG=~/.adhar/clusters/adhar/kubeconfig   # cluster is `adhar` unless --name is passed
kubectl get nodes
./adhar get status
./adhar get secrets -p argocd

The catalogue keeps converging for another 30–45 minutes after the CLI returns, and the autoscaler adds workers while it does.

6. Remove everything.

./adhar down -f config.yaml --env dev --purge-orphaned-volumes

adhar down without --file only tears down a local Kind cluster. A cloud environment needs its configuration file, or nothing is deleted.

Full reference, including day-2 operations and the limits that actually bite: DigitalOcean provider.


πŸ“¦ Integrated Tools (100+ Packages)

Core Platform & Infrastructure (15)
  • Backstage - Unified developer portal
  • Kubernetes - Container orchestration platform
  • Kamaji - Multi-tenant Kubernetes control plane
  • vCluster - Virtual Kubernetes clusters
  • Karmada - Multi-cluster orchestration and fleet placement
  • Crossplane - Cloud-native Infrastructure as Code
  • ArgoCD - GitOps continuous delivery
  • Gitea - Self-hosted Git service
  • Cilium - eBPF-based networking & security
  • Cilium Gateway API - HTTP/HTTPS traffic routing (Gateway adhar-gateway)
  • External DNS - Automated DNS management
  • Velero - Backup & disaster recovery
  • Harbor - Container registry & artifact repository
  • Armada - Multi-cluster batch job scheduling
Security & Compliance (11)
  • Vault - Secrets management & encryption
  • Keycloak - Identity & access management
  • Kyverno - Kubernetes policy engine
  • Falco - Runtime threat detection
  • Trivy - Vulnerability & security scanning
  • cert-manager - Certificate lifecycle automation
  • Tetragon - eBPF-based security observability
  • Cosign - Container image signing & verification
  • External Secrets Operator - External secrets synchronization
  • SPIFFE/SPIRE - Workload identity & authentication
  • SealedSecrets - Encrypted secrets for GitOps
Observability (16)
  • Prometheus - Metrics collection & monitoring
  • Grafana - Visualization & dashboards
  • Loki - Log aggregation & querying
  • Tempo - Distributed tracing backend
  • Jaeger - Distributed tracing & analysis
  • Hubble - Cilium network observability
  • AlertManager - Alert routing & management
  • Grafana Mimir - Scalable long-term metrics storage
  • OpenTelemetry - Unified observability framework
  • Grafana Alloy - OpenTelemetry collector distribution
  • FluentBit - Lightweight log processor & forwarder
  • Pixie - eBPF-based Kubernetes observability
  • Pyroscope - Continuous profiling platform
  • Grafana Beyla - eBPF application auto-instrumentation
  • Grafana Faro - Real user monitoring for web apps
  • Grafana OnCall - On-call management & incident response
Application Development & Delivery (22)
  • ArgoCD - GitOps continuous delivery
  • Argo Workflows - Container-native workflow engine
  • Argo Rollouts - Progressive delivery with canary/blue-green
  • Argo Events - Event-driven workflow automation
  • Gitea - Self-hosted Git service
  • Harbor - Container registry & artifact repository
  • Tekton - Cloud-native CI/CD pipelines
  • FluxCD - GitOps toolkit for Kubernetes
  • Knative - Kubernetes-based serverless platform
  • OpenFaaS - Functions as a Service framework
  • DAPR - Distributed application runtime
  • Cilium Service Mesh - eBPF-based service mesh
  • Cilium Gateway API - Kubernetes Gateway API implementation
  • Coder - Cloud development environments (CDE)
  • DevSpace - Developer workflow automation
  • Kargo - Freight promotion for GitOps
  • K6 - Modern load testing tool
  • ChaosMesh - Chaos engineering platform
  • Penpot - Open-source design & prototyping
  • Webstudio - Visual web development platform
  • Plane - Project management & issue tracking
  • Buildpacks - Cloud-native buildpack support
Data & Analytics (15)
  • PostHog - Product analytics & feature flags
  • Metabase - Business intelligence dashboard
  • PostgreSQL - Relational database
  • Valkey - In-memory data store (Redis fork)
  • RustFS - S3-compatible object storage (the platform store; MinIO remains an optional package)
  • Kafka - Distributed event streaming platform
  • Airbyte - Data integration & ELT platform
  • Iceberg - Open table format for data lakes
  • Kubeflow - Machine learning workflows on Kubernetes
  • Dagster - Data orchestration platform
  • MLflow - ML lifecycle management platform
  • Flink - Stream processing engine
  • OpenSearch - Search & analytics engine
  • LibreDB Studio - Browser SQL IDE over every platform database
  • Milvus - Vector database for AI applications

πŸ“š Documentation

Resource Description
Documentation Home Complete documentation index and navigation
Getting Started Guide Quick start and installation walkthrough
User Guide Platform capabilities, configuration, and CLI reference
Architecture Overview System design, components, and technical details
Provider Guide Choosing a target and what is proven where
DigitalOcean Β· Kind Β· AWS Β· Azure Β· GCP Β· Civo Β· Own hosts One page per provider: credentials, full config, exact commands, limits
Production Guide HA, hardening, backup/DR, upgrades, and day-2 operations
Customization Guide Every supported extension point, from package toggles to new providers
Roadmap Phased path to the full multi-cluster platform vision
Release Guide Release process, versioning, and GoReleaser automation
Contributing Guide How to contribute to the Adhar project

🀝 Community & Support

Channel Purpose Link
πŸ’¬ Slack Real-time chat & support Join Workspace
πŸ› GitHub Issues Bug reports & feature requests Open Issue
πŸ“– Documentation Comprehensive guides docs/README.md
πŸ’‘ Discussions Ideas, questions & feedback GitHub Discussions
πŸ“¦ Examples Sample configs & apps examples/

🀝 Contributing

We welcome contributions from the community! Here's how to get started:

Development Setup

# Clone repository
git clone https://github.com/adhar-io/adhar.git
cd adhar

# Install dependencies
go mod download

# Build from source
make build

# Run tests
make test

# Run linter
make lint

# Test Adhar platform
./adhar up

Contributing Guidelines

  • Code Contributions: See our Contributing Guide for detailed instructions
  • Bug Reports: Open an issue with detailed reproduction steps
  • Feature Requests: Discuss new ideas in GitHub Discussions
  • Documentation: Help improve our docs - PRs welcome!

πŸ™ Acknowledgments

Adhar is built on the shoulders of giants. We're grateful to the open-source community and the maintainers of these incredible projects:


Adhar β€’ Built with ❀️ for developers!

🎯 Get Started β€’ πŸ“– Documentation β€’ πŸ—ΊοΈ Roadmap β€’ 🀝 Contribute β€’ πŸ’¬ Slack β€’ πŸ› Issues

Β© 2026 Anvita Systems Pvt Ltd β€’ Licensed under Apache License 2.0

Releases

Contributors

Languages