tarak

module
v1.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2026 License: MIT

README ยถ

Tarak Logo

Tarak

Tarak is a lightning-fast, lightweight, and native container orchestration platform that works everywhereโ€”without requiring Docker Desktop, WSL, or heavy VMs. Compatible with Kubernetes APIs, but reimagined for pure speed, minimal memory usage, and zero external dependencies.

Go Version Platform Architecture Release Docs Go Reference License


โšก Quick Installation

Linux & macOS (One-Line Install)
curl -fsSL https://raw.githubusercontent.com/vikukumar/tarak/main/install.sh | bash
Windows (PowerShell One-Line Install)
irm https://raw.githubusercontent.com/vikukumar/tarak/main/install.ps1 | iex
Go SDK Package (for developers)
go get -u github.com/vikukumar/tarak/pkg/client@latest

๐Ÿš€ Why Tarak vs Kubernetes & K3s?

Feature / Metric โšก Tarak โ›ต K3s โ˜ธ๏ธ Standard Kubernetes (K8s)
Idle RAM Footprint < 25 MB ~500 MB ~1.2 GB+
Cold Start Time < 180 ms 10 โ€“ 20 sec 45 โ€“ 90 sec
Windows Native Isolation Native (Zero WSL / No Hyper-V) Requires WSL2 Requires Docker/WSL2
External Dependencies 0 (Pure Go Standalone) containerd, runc containerd/CRI-O, etcd, CNI
Kubernetes API Compatibility 100% Core K8s API Compliant 100% Compliant Standard
Cross-Platform Support Windows / Linux / macOS (ARM64 & AMD64) Linux only (WSL on Win) Linux only (WSL on Win)

๐Ÿ“ฆ Included Binaries in Release

Each release includes ready-to-run binaries for all platforms and architectures:

  • โšก tarak: The All-in-One unified runtime (Server + Agent + Init + CLI in one single executable).
  • ๐Ÿ–ฅ๏ธ tarakd: The dedicated standalone API server & control-plane daemon.
  • ๐Ÿค– taraks: The dedicated lightweight worker node runtime agent.
  • ๐ŸŽฎ tarakctl (alias taraktl): The high-performance Kubernetes-compatible CLI control tool.

๐Ÿ› ๏ธ Quick Start

1. Start the Server

Start the Tarak API Server and native node runtime locally:

tarak server
2. Deploy an App

Using tarakctl, deploy a sample workload. It automatically extracts and runs real OCI containers:

tarakctl apply -f app-sample.yml
tarakctl get pods -n demo -o wide
3. Access your Workload
tarakctl port-forward pod/web-app-pod 8080:80 -n demo

Visit http://localhost:8080 in your browser!


๐Ÿ”Œ Reusable Go Client SDK Example

You can embed Tarak orchestration directly into your Go applications using pkg/client:

package main

import (
    "context"
    "fmt"
    "log"

    "github.com/vikukumar/tarak/pkg/client"
)

func main() {
    c, err := client.NewClientFromKubeconfig("")
    if err != nil {
        log.Fatal(err)
    }

    pods, err := c.Pods("default").List(context.Background())
    if err != nil {
        log.Fatal(err)
    }

    for _, p := range pods {
        fmt.Printf("Pod: %s (Phase: %s, IP: %s)\n", p.Name, p.Phase, p.IP)
    }
}

๐Ÿ“– Full Documentation & GitHub Pages

Visit the live interactive documentation portal: ๐Ÿ‘‰ https://vikukumar.github.io/tarak/


๐Ÿค Contributing

Contributions make the open source community such an amazing place to learn, inspire, and create. Please read our CONTRIBUTING.md and CODE_OF_CONDUCT.md.

๐Ÿ›ก๏ธ Security

If you discover a security vulnerability within Tarak, please refer to SECURITY.md.

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.

Directories ยถ

Path Synopsis
api
apps/v1
Package v1 contains API types for the apps API group.
Package v1 contains API types for the apps API group.
batch/v1
Package v1 contains API types for the batch API group.
Package v1 contains API types for the batch API group.
core/v1
Package v1 contains API types for the core API group.
Package v1 contains API types for the core API group.
meta
Package meta โ€” label and field selector parsing and matching.
Package meta โ€” label and field selector parsing and matching.
networking/v1
Package v1 contains API types for the networking.k8s.io API group.
Package v1 contains API types for the networking.k8s.io API group.
rbac/v1
Package v1 contains API types for the rbac.authorization.k8s.io API group.
Package v1 contains API types for the rbac.authorization.k8s.io API group.
storage/v1
Package v1 contains API types for the storage.k8s.io API group.
Package v1 contains API types for the storage.k8s.io API group.
tarak/v1
Package v1 contains API types for Tarak-native custom resources and security extensions.
Package v1 contains API types for Tarak-native custom resources and security extensions.
cmd
genicons command
tarak command
Package main provides the all-in-one tarak binary with cluster bootstrap (init) and server run commands.
Package main provides the all-in-one tarak binary with cluster bootstrap (init) and server run commands.
tarakctl command
tarakctl โ€” Unified CLI for Tarak container orchestration platform.
tarakctl โ€” Unified CLI for Tarak container orchestration platform.
tarakd command
Tarak โ€” the main entry point.
Tarak โ€” the main entry point.
taraks command
taraks โ€” The dedicated high-performance Tarak Node Agent & Worker Daemon.
taraks โ€” The dedicated high-performance Tarak Node Agent & Worker Daemon.
taraktl command
taraktl is a first-class alias for tarakctl, implemented via direct Go package import.
taraktl is a first-class alias for tarakctl, implemented via direct Go package import.
examples
go-client command
internal
controller
Package controller implements the native Tarak micro-Kubelet node manager.
Package controller implements the native Tarak micro-Kubelet node manager.
network
Package network implements embedded micro-CoreDNS service discovery for Tarak.
Package network implements embedded micro-CoreDNS service discovery for Tarak.
runtime
Package runtime provides the native container runtime integration for Tarak.
Package runtime provides the native container runtime integration for Tarak.
runtime/tcr
Package tcr provides Container Runtime Interface (CRI v1) implementation for Tarak.
Package tcr provides Container Runtime Interface (CRI v1) implementation for Tarak.
server
Package server implements the Tarak API server.
Package server implements the Tarak API server.
statestore
Package statestore โ€” BoltDB implementation of the Store interface.
Package statestore โ€” BoltDB implementation of the Store interface.
ui
ws
pkg
api/admission
Package admission implements server-side validation of API objects.
Package admission implements server-side validation of API objects.
api/handler
Package handler implements the core Kubernetes-compatible REST handlers for the Tarak API server.
Package handler implements the core Kubernetes-compatible REST handlers for the Tarak API server.
api/middleware
Package middleware โ€” Audit logging middleware.
Package middleware โ€” Audit logging middleware.
api/watch
Package watch implements the SSE (Server-Sent Events) watch stream handler for the Tarak API server.
Package watch implements the SSE (Server-Sent Events) watch stream handler for the Tarak API server.
cli
tarakctl โ€” The unified command-line control tool for Tarak clusters.
tarakctl โ€” The unified command-line control tool for Tarak clusters.
client
Package client provides a high-performance, typed Go client SDK for Tarak clusters.
Package client provides a high-performance, typed Go client SDK for Tarak clusters.
health
Package health implements the Tarak API server health check endpoints.
Package health implements the Tarak API server health check endpoints.
metrics
Package metrics provides Prometheus-compatible metrics for the Tarak API server.
Package metrics provides Prometheus-compatible metrics for the Tarak API server.
security
Package security provides TLS certificate management for the Tarak cluster.
Package security provides TLS certificate management for the Tarak cluster.
tcr
Package tcr provides public access to the Tarak Container Runtime primitives.
Package tcr provides public access to the Tarak Container Runtime primitives.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL