apate

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2020 License: Apache-2.0

README

Emulating Kubernetes

Apate deals with emulating Kubernetes pods, making it possible to run thousands of pods on a single laptop to emulate how Kubernetes will respond to that.

Documentation

The full Apate documentation can be found here

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Project structure
.
├── api/          # gRPC definitions for services both on the Apatelet and the controlplane
├── ci/           # CI configuration files
├── cmd/          # The code for the CLI
├── config/       # Configuration files used by the control plane
├── docs/         # Documentation
├── examples/     # Some example CRDs
├── internal/     # Internal utilities 
├── pkg/          # Utilities that could be useful to anyone
├── services/     # Contains the Apatelet and controlplane main files
├── Makefile      # A makefile containing some commands which aid in building / testing the project
├── go.*          # The go module and sum files, containing versions of dependencies
└── LICENSE       # The license of this project

License

Apate is licensed under the Apache 2.0 license

Directories

Path Synopsis
api
Package api contains all our protobuf definitions and generated go code It will not contain any implementation
Package api contains all our protobuf definitions and generated go code It will not contain any implementation
health/mock_health
Package mock_health is a generated GoMock package.
Package mock_health is a generated GoMock package.
cmd
apate-cli/run
Package run is the main package for the apate cli
Package run is the main package for the apate cli
internal
crd/node
Package node defines utilities for the NodeConfiguration
Package node defines utilities for the NodeConfiguration
crd/pod
Package pod defines utilities for the PodConfiguration CRD
Package pod defines utilities for the PodConfiguration CRD
kubectl
Package kubectl provides functions to interact with the kubectl binary
Package kubectl provides functions to interact with the kubectl binary
network
Package network contains network related utilities
Package network contains network related utilities
service
Package service provides an a wrapper for connection information and a small wrapper around the grpc server
Package service provides an a wrapper for connection information and a small wrapper around the grpc server
pkg
apis/nodeconfiguration
Package nodeconfiguration contains the different API versions of the NodeConfiguration CRD
Package nodeconfiguration contains the different API versions of the NodeConfiguration CRD
apis/nodeconfiguration/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/podconfiguration
Package podconfiguration contains the different API versions of the PodConfiguration CRD.
Package podconfiguration contains the different API versions of the PodConfiguration CRD.
apis/podconfiguration/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
channel
Package channel contains utilities related to channels
Package channel contains utilities related to channels
clients/apatelet
Package apatelet contains all the GRPC clients that can be used to interact with the apatelet
Package apatelet contains all the GRPC clients that can be used to interact with the apatelet
clients/controlplane
Package controlplane contains all the GRPC clients that can be used to interact with the control plane
Package controlplane contains all the GRPC clients that can be used to interact with the control plane
clients/health
Package health provides the client side gRPC API for the healthcheck service
Package health provides the client side gRPC API for the healthcheck service
container
Package container deals with the creation of docker containers
Package container deals with the creation of docker containers
env
Package env provides access to environment variable defaults, definitions & utils
Package env provides access to environment variable defaults, definitions & utils
kubernetes
Package kubernetes provides an interface to manage a kubernetes cluster with the help of kind en kubernetes' client-go modules.
Package kubernetes provides an interface to manage a kubernetes cluster with the help of kind en kubernetes' client-go modules.
kubernetes/kubeconfig
Package kubeconfig provides the ability to create, read, and manage the kubeconfig file/bytes.
Package kubeconfig provides the ability to create, read, and manage the kubeconfig file/bytes.
kubernetes/mock_kubernetes
Package mock_kubernetes is a generated GoMock package.
Package mock_kubernetes is a generated GoMock package.
kubernetes/node
Package node contains some utilities to describe Kubernetes nodes
Package node contains some utilities to describe Kubernetes nodes
runner
Package runner exposes an interface to run new apatelets, and a registry to track all runners
Package runner exposes an interface to run new apatelets, and a registry to track all runners
runner/mock_runner
Package mock_runner is a generated GoMock package.
Package mock_runner is a generated GoMock package.
scenario
Package scenario defines types and utils used in the scenario
Package scenario defines types and utils used in the scenario
scenario/events
Package events lists all the events supported by the Apatelet
Package events lists all the events supported by the Apatelet
services
apatelet/crd/node
Package node provides functions and types to deal with the NodeConfiguration on the apatelet
Package node provides functions and types to deal with the NodeConfiguration on the apatelet
apatelet/crd/pod
Package pod provides functions and types to deal with the PodConfiguration CRD
Package pod provides functions and types to deal with the PodConfiguration CRD
apatelet/provider
Package provider handles the interaction with the virtual kubelet library (and node-cli)
Package provider handles the interaction with the virtual kubelet library (and node-cli)
apatelet/provider/condition
Package condition provides functions to more easily work with kubernetes node conditions
Package condition provides functions to more easily work with kubernetes node conditions
apatelet/provider/mock_cache_store
Package mock_cache is a generated GoMock package.
Package mock_cache is a generated GoMock package.
apatelet/provider/podmanager
Package podmanager contains the pod manager interface and a simple thread safe map-based implementation
Package podmanager contains the pod manager interface and a simple thread safe map-based implementation
apatelet/provider/podmanager/mock_podmanager
Package mock_podmanager is a generated GoMock package.
Package mock_podmanager is a generated GoMock package.
apatelet/run
Package run is the entry point of the actual apatelet
Package run is the entry point of the actual apatelet
apatelet/scheduler
Package scheduler handles the scheduling of tasks
Package scheduler handles the scheduling of tasks
apatelet/services
Package services contains all the clients and servers for the services
Package services contains all the clients and servers for the services
apatelet/store
Package store provides a way for the apatelet to have state
Package store provides a way for the apatelet to have state
apatelet/store/mock_store
Package mock_store is a generated GoMock package.
Package mock_store is a generated GoMock package.
controlplane/cluster
Package cluster contains utilities to interact with the apate cluster and kubernetes cluster
Package cluster contains utilities to interact with the apate cluster and kubernetes cluster
controlplane/cluster/watchdog
Package watchdog contains the functions for removing an apatelet fully from the cluster and functions to ensure all unhealthy nodes are removed from the cluster
Package watchdog contains the functions for removing an apatelet fully from the cluster and functions to ensure all unhealthy nodes are removed from the cluster
controlplane/crd/node
Package node provides functions and types to deal with the NodeConfiguration on the control plane
Package node provides functions and types to deal with the NodeConfiguration on the control plane
controlplane/crd/pod
Package pod provides functions to watch the pod CRD on the control plane
Package pod provides functions to watch the pod CRD on the control plane
controlplane/run
Package run is the main package for the controlplane
Package run is the main package for the controlplane
controlplane/services
Package services contains the implementation of the GRPC services of the control plane
Package services contains the implementation of the GRPC services of the control plane
controlplane/store
Package store provides state to the apate cluster
Package store provides state to the apate cluster
controlplane/store/mock_store
Package mock_store is a generated GoMock package.
Package mock_store is a generated GoMock package.
test
e2e
Package e2e contains end to end tests for Apate.
Package e2e contains end to end tests for Apate.

Jump to

Keyboard shortcuts

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