kubecc

module
v0.0.0-...-211e212 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2021 License: GPL-3.0

README

Welcome! This project is still in development, but we will be releasing an alpha build soon.

logo

Build Go Report Card Maintainability Gitpod Ready-to-Code

Kubecc is a modern Kubernetes-native distributed build system for teams working on C/C++ projects. Inspired by the original distcc, Kubecc was written from the ground up in Go to be a fast, highly-concurrent build system that lives on your on-prem development cluster and works silently in the background to speed up builds for your entire team.


Features

  • Distribute builds across all machines connected to your cluster without manual setup or per-machine configuration
  • Containerized build environments prevent the need to manually install compilers and tools on each machine
  • A built-in shared cache enables all developers connected to the cluster to share previously-built object files, with multi-layered caching in memory and optional S3 storage
  • Real-time monitoring using the CLI utility, and Prometheus integration to enable custom charts and graphs in Grafana
  • Support for mixed-architecture clusters and cross-compiling
  • Smart but simple task scheduling using Go's excellent concurrency tools
  • Easily runnable outside Kubernetes if needed (requires some setup and configuration)
  • OpenTracing integration to view build traces in Jaeger or other supported services

Documentation coming soon!

Directories

Path Synopsis
api
v1alpha1
+kubebuilder:validation:Optional Package v1alpha1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=kubecc.io
+kubebuilder:validation:Optional Package v1alpha1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=kubecc.io
cmd
/usr/bin/true; exec /usr/bin/env go run "$0" "$@"
/usr/bin/true; exec /usr/bin/env go run "$0" "$@"
internal
logkc
Package logkc contains project-wide logging configuration and tools
Package logkc contains project-wide logging configuration and tools
zapkc
Package zapkc contains internal code copied from zap that we need to adjust slightly but can't import
Package zapkc contains internal code copied from zap that we need to adjust slightly but can't import
pkg
cc
run
Package run contains machinery for working with runnable tasks and objects which control tasks.
Package run contains machinery for working with runnable tasks and objects which control tasks.
servers
Package servers contains helper functions and types for dealing with gRPC servers and streams.
Package servers contains helper functions and types for dealing with gRPC servers and streams.
storage
Package storage implements storage providers for the cache server.
Package storage implements storage providers for the cache server.
test/mock_types
Package mock_types is a generated GoMock package.
Package mock_types is a generated GoMock package.
ui
test
e2e

Jump to

Keyboard shortcuts

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