KubeOrbit is an open-source abstraction layer library that turns easy apps testing&debuging on Kubernetes in a new way

Like KubeOrbit idea? Give us a GitHub Star!

work in progress badge Apache License 2.0 Docker Image Size (latest by date) Discord channel

KubeOrbit is an open-source abstraction layer library that turns easy apps testing&debuging on Kubernetes in a new way. Our KubeOrbit is meant to create a channel automatically. You can test your cloud-native applications through this channel in a hands-free style.

It solves the following problems during integration tests:

  • Under limited resource and restricted environment, developers in a team may be blocked by others who are testing their own functionalities, and it slows down the development progress.
  • On the other hand, an unstable feature being deployed to a microservice may cause entire system crash.

Features

From now on, stop testing your application in local infra naively. Also, no more endless efforts in managing various cloud-based test environments.

  • Workload tag: tag your workload by creating a new channel. Then your request can be routed to the right workload replica, where you can work with your mates to test&debug the same feature together.
  • Protocol support: various protocols based on Layer-7 are supported. HTTP, gRPC, Thrift, Dubbo ...
  • Cost-effective: when test your app, you don't need to configure the entire infra environment. Save your costs by using less resource according to your incremental environment request only. That is, you can have an isolated environment built from your base environment, which is achieved by KubeOrbit's high-scalability.

Getting Started

With the following tutorials:

Contributing

We're a warm and welcoming community of open source contributors. Please join. All types of contributions are welcome. Be sure to read our Contributing Guide before submitting a Pull Request to the project.

Community

Discord

Join the KubeOrbit Discord channel to chat with KubeOrbit developers and other users. This is a good place to learn about KubeOrbit, ask questions, and share your experiences.

License

The KubeOrbit user space components are licensed under the Apache License, Version 2.0.

Similar Resources

Open Source runtime tool which help to detect malware code execution and run time mis-configuration change on a kubernetes cluster

Open Source runtime tool which help to detect malware code execution and run time mis-configuration change on a kubernetes cluster

Kube-Knark Project Trace your kubernetes runtime !! Kube-Knark is an open source tracer uses pcap & ebpf technology to perform runtime tracing on a de

Sep 19, 2022

Devtron is an open source software delivery workflow for kubernetes written in go.

Devtron is an open source software delivery workflow for kubernetes written in go.

Devtron is an open source software delivery workflow for kubernetes written in go.

Jan 8, 2023

TriggerMesh open source event-driven integration platform powered by Kubernetes and Knative.

TriggerMesh open source event-driven integration platform powered by Kubernetes and Knative. TriggerMesh allows you to declaratively define event flows between sources and targets as well as add even filter, splitting and processing using functions.

Dec 30, 2022

OpenAIOS is an incubating open-source distributed OS kernel based on Kubernetes for AI workloads

OpenAIOS is an incubating open-source distributed OS kernel based on Kubernetes for AI workloads

OpenAIOS is an incubating open-source distributed OS kernel based on Kubernetes for AI workloads. OpenAIOS-Platform is an AI development platform built upon OpenAIOS for enterprises to develop and deploy AI applications for production.

Dec 9, 2022

Kubernetes is an open source system for managing containerized applications across multiple hosts.

Kubernetes is an open source system for managing containerized applications across multiple hosts.

Kubernetes Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deploym

Nov 25, 2021

Karpenter: an open-source node provisioning project built for Kubernetes

Karpenter: an open-source node provisioning project built for Kubernetes

Karpenter is an open-source node provisioning project built for Kubernetes. Its goal is to improve the efficiency and cost of running workloads on Kub

Dec 1, 2022

The OCI Service Operator for Kubernetes (OSOK) makes it easy to connect and manage OCI services from a cloud native application running in a Kubernetes environment.

OCI Service Operator for Kubernetes Introduction The OCI Service Operator for Kubernetes (OSOK) makes it easy to create, manage, and connect to Oracle

Sep 27, 2022

An Easy to use Go framework for Kubernetes based on kubernetes/client-go

k8devel An Easy to use Go framework for Kubernetes based on kubernetes/client-go, see examples dir for a quick start. How to test it ? Download the mo

Mar 25, 2022

The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes.

The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes.

The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes. Apache NiFI is a free, open-source solution that support powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

Dec 26, 2022
Comments
  • Failed to build the executable locally (with make command)

    Failed to build the executable locally (with make command)

    go: creating new go.mod: module tmp
    Downloading sigs.k8s.io/controller-tools/cmd/[email protected]
    go: downloading sigs.k8s.io/controller-tools v0.7.0
    go: downloading k8s.io/apiextensions-apiserver v0.22.2
    go: downloading k8s.io/apimachinery v0.22.2
    go: downloading k8s.io/api v0.22.2
    go: downloading github.com/fatih/color v1.12.0
    go: downloading golang.org/x/tools v0.1.5
    go: downloading github.com/gobuffalo/flect v0.2.3
    go: downloading github.com/mattn/go-colorable v0.1.8
    go get: installing executables with 'go get' in module mode is deprecated.
            To adjust and download dependencies of the current module, use 'go get -d'.
            To install using requirements of the current module, use 'go install'.
            To install ignoring the current module, use 'go install' with a version,
            like 'go install example.com/cmd@latest'.
            For more information, see https://golang.org/doc/go-get-install-deprecation
            or run 'go help get' or 'go help install'.
    go get: added github.com/fatih/color v1.12.0
    go get: added github.com/go-logr/logr v0.4.0
    go get: added github.com/gobuffalo/flect v0.2.3
    go get: added github.com/gogo/protobuf v1.3.2
    go get: added github.com/google/go-cmp v0.5.6
    go get: added github.com/google/gofuzz v1.1.0
    go get: added github.com/inconshreveable/mousetrap v1.0.0
    go get: added github.com/json-iterator/go v1.1.11
    go get: added github.com/mattn/go-colorable v0.1.8
    go get: added github.com/mattn/go-isatty v0.0.12
    go get: added github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
    go get: added github.com/modern-go/reflect2 v1.0.1
    go get: added github.com/spf13/cobra v1.2.1
    go get: added github.com/spf13/pflag v1.0.5
    go get: added golang.org/x/mod v0.4.2
    go get: added golang.org/x/net v0.0.0-20210520170846-37e1c6afe023
    go get: added golang.org/x/sys v0.0.0-20210616094352-59db8d763f22
    go get: added golang.org/x/text v0.3.6
    go get: added golang.org/x/tools v0.1.5
    go get: added golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
    go get: added gopkg.in/inf.v0 v0.9.1
    go get: added gopkg.in/yaml.v2 v2.4.0
    go get: added gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
    go get: added k8s.io/api v0.22.2
    go get: added k8s.io/apiextensions-apiserver v0.22.2
    go get: added k8s.io/apimachinery v0.22.2
    go get: added k8s.io/klog/v2 v2.9.0
    go get: added k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a
    go get: added sigs.k8s.io/controller-tools v0.7.0
    go get: added sigs.k8s.io/structured-merge-diff/v4 v4.1.2
    go get: added sigs.k8s.io/yaml v1.2.0
    /Users/igorgov/dev/kubeorbit/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
    go fmt ./...
    go vet ./...
    # kubeorbit.io/pkg/cli/core
    pkg/cli/core/forward.go:45:2: misuse of unbuffered os.Signal channel as argument to signal.Notify
    pkg/cli/core/channel.go:98:4: unreachable code
    make: *** [vet] Error 2
    
  • Failed to install

    Failed to install

    trying to install the KubeOrbit, but got this error message

    Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "webhook.cert-manager.io": Post "https://cert-manager-webhook.cert-manager.svc:443/mutate?timeout=10s": no endpoints available for service "cert-manager-webhook"
    Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "webhook.cert-manager.io": Post "https://cert-manager-webhook.cert-manager.svc:443/mutate?timeout=10s": no endpoints available for service "cert-manager-webhook"
    make: *** [deploy] Error 1
  • Support for local development

    Support for local development

    Considering that KubeOrbit needs to serve more scenarios, we want a way to redirect traffic to in-cluster service to my laptop like Telepresence does, But for Registry-based service discovery instead of SVC.

  • [Feature] Support for registrie-based microservices architecture

    [Feature] Support for registrie-based microservices architecture

    We still use registries such as Nacos, Eureka, and ZK for service discovery in the Kubernetes cluster. Use RPC frameworks such as OpenFeign and Dubbo for service invocation. These functions are based on Cluster IP. Hopefully Kubeorbit will support this architecture.


    我们在Kubernetes集群中仍然使用注册中心例如Nacos、Eureka、ZK进行服务发现。使用RPC框架例如OpenFeign、Dubbo进行服务调用。这些功能都基于Cluster IP实现的。希望Kubeorbit能支持这种架构。

Application open new tab in chrome when your favourite youtuber add new video.

youtube-opener This application open new tab in Chrome when your favourite youtuber add new video. It checks channel every one minute. How to run go r

Jan 16, 2022
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

Oct 19, 2021
runtime - an abstraction library on top of the Open Policy Agent (OPA)

runtime - an abstraction library on top of the Open Policy Agent (OPA) Introduction The "runtime" project is a library that sits on top of OPA. The go

Nov 7, 2022
Fab - fabricate a new project from a template... in a fabulous way

fab fabricate a new project from a template... in a fabulous way :-) setup The f

Jun 1, 2022
Litmus helps Kubernetes SREs and developers practice chaos engineering in a Kubernetes native way.
Litmus helps Kubernetes SREs and developers practice chaos engineering in a Kubernetes native way.

Litmus Cloud-Native Chaos Engineering Read this in other languages. ???? ???? ???? ???? Overview Litmus is a toolset to do cloud-native chaos engineer

Jan 1, 2023
kitex running in kubernetes cluster and discover each other in kubernetes Service way

Using kitex in kubernetes Kitex [kaɪt'eks] is a high-performance and strong-extensibility Golang RPC framework. This go module helps you to build mult

Feb 21, 2022
go-opa-validate is an open-source lib that evaluates OPA (open policy agent) policy against JSON or YAML data.
go-opa-validate is an open-source lib that evaluates OPA (open policy agent) policy against JSON or YAML data.

go-opa-validate go-opa-validate is an open-source lib that evaluates OPA (open policy agent) policy against JSON or YAML data. Installation Usage Cont

Nov 17, 2022
Kubernetes IN Docker - local clusters for testing Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes

kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Jan 5, 2023
Kubernetes IN Docker - local clusters for testing Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes

Please see Our Documentation for more in-depth installation etc. kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Feb 14, 2022