liqo

module
Version: v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2022 License: Apache-2.0

README

Integration Pipeline Status



Liqo Logo

Enable dynamic and seamless Kubernetes multi-cluster topologies



Explore the docs »

View Demo · Report Bug · Request Feature

About the project

Liqo is a platform to enable dynamic and decentralized resource sharing across Kubernetes clusters, either on-prem or managed. Liqo allows to run pods on a remote cluster seamlessly and without any modification of Kubernetes and the applications. With Liqo it is possible to extend the control plane of a Kubernetes cluster across the cluster's boundaries, making multi-cluster native and transparent: collapse an entire remote cluster to a virtual local node, by allowing workloads offloading and resource management compliant with the standard Kubernetes approach.



Table of Contents
  1. Main Features
  2. Quickstart
  3. Installation
  4. Roadmap
  5. Contributing
  6. Community
  7. License

Main features

  • Decentralized governance: peer-to-peer paradigm, without any centralized management entity.
  • Clusters discovery: leverage on three different ways to discover (and peer to) other clusters:
    • Manual configuration: through a custom API representing other clusters
    • DNS: automatic discovery through DNS records
    • LAN: automatic discovery of neighboring clusters available in the same LAN.
  • Transparent offloading: pods scheduled on the virtual node are offloaded to the remote cluster; they can be controlled by merely accessing the pod objects in the local one; the resources needed by the pods (services, endpoints, configmaps, etc.) are translated and replicated remotely. It allows inter-cluster pod-to-pod and pod-to-service communication.
  • Pod resilience: the offloaded pods' lifecycle is controlled by a remote Custom Resource (the ShadowPod).
  • Inter-cluster networking: the clusters inter-connection is implemented by a Wireguard tunnel, which ensures encryption and reliability.
  • CNI independence: compliance with many CNIs (Calico, Flannel, Weavenet, GKE, EKS, Azure CNI, etc.) even in heterogeneous scenarios (the two clusters can have different CNIs).

Quickstart

This quickstart lets you try Liqo in a playground environment built by two clusters in KinD.

Install liqoctl

First, set the variables corresponding to your set-up:

OS=linux # possible values: linux,windows,darwin
ARCH=amd64 # possible values: amd64,arm64

Then, you should execute the following commands to install the latest version of liqoctl:

curl --fail -LSO "https://get.liqo.io/liqoctl-${OS}-${ARCH}" && \
chmod +x "liqoctl-${OS}-${ARCH}" && \
sudo mv "liqoctl-${OS}-${ARCH}" /usr/local/bin/liqoctl

Alternatively, you can directly download liqoctl from the Liqo releases page on GitHub.

Install on macOS
brew install liqoctl

Provision two KinD clusters.

source <(curl -L https://get.liqo.io/clusters.sh)
Install Liqo on both clusters:
export KUBECONFIG=$KUBECONFIG_1
liqoctl install kind --cluster-name cluster1
export KUBECONFIG=$KUBECONFIG_2
liqoctl install kind --cluster-name cluster2

Wait that all containers are up and running. When a new virtual-kubelet pops out, a new node modeling the remote cluster is present and ready to receive pods. Check it out with:

kubectl get nodes
Use the resources

Create a new namespace and label it to tell Liqo that the pods created in that namespace are suitable for offloading in the remote cluster.

kubectl create namespace liqo-demo
kubectl label namespace liqo-demo liqo.io/enabled=true

Deploy the Google microservice Shop application.

kubectl apply -f https://get.liqo.io/app.yaml -n liqo-demo

You can observe that:

  • Your application is correctly working by exposing the application frontend port and later connecting with a browser to localhost:8000. To expose the pod port:
kubectl port-forward -n liqo-demo service/frontend 8080:80
  • Your application is transparently deployed across two different clusters:
kubectl get pods -n liqo-demo -o wide  

Going Further

If you want to explore the Liqo internals, including how to inspect and interact with a service deployed with Liqo, you can explore the documentation website:

Roadmap

Planned features for the next release (v0.4, expected mid-March, 2022) are the following:

  • Introduce first support to Persistent Storage (PVC) on Liqo.
  • Improve the resource naming to let users easily understand resources relationships.
  • Introduce the support to allow the peering of a cluster not directly accessible (i.e. behind NAT).

Contributing

All contributors are warmly welcome. If you want to become a new contributor, we are so happy! Just, before doing it, read the repo's guidelines presented on our documentation website.

Community

To get involved with the Liqo community, join the slack channel.

notification Community Meeting
Liqo holds weekly community meetings on Monday, 5.30pm UTC (6.30pm CET, 9.30am PST). To join the community meeting, follow this link. Convert to your timezone here. You can see and add the Liqo Calendar following this link.

License

This project includes code from the Virtual Kubelet project https://github.com/virtual-kubelet/virtual-kubelet, licensed under the Apache 2.0 license.

Liqo is distributed under the Apache-2.0 License. See License for more information.

FOSSA Status

Liqo is a project kicked off at Polytechnic of Turin (Italy) and actively maintained with :heart: by all the Liqoers.

Directories

Path Synopsis
apis
discovery/v1alpha1
Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group +kubebuilder:object:generate=true +groupName=discovery.liqo.io
Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group +kubebuilder:object:generate=true +groupName=discovery.liqo.io
net/v1alpha1
Package v1alpha1 contains API Schema definitions for the liqonetliqoio v1alpha1 API group +kubebuilder:object:generate=true +groupName=net.liqo.io
Package v1alpha1 contains API Schema definitions for the liqonetliqoio v1alpha1 API group +kubebuilder:object:generate=true +groupName=net.liqo.io
offloading/v1alpha1
Package v1alpha1 contains API Schema definitions for the offloading v1alpha1 API group +kubebuilder:object:generate=true +groupName=offloading.liqo.io
Package v1alpha1 contains API Schema definitions for the offloading v1alpha1 API group +kubebuilder:object:generate=true +groupName=offloading.liqo.io
sharing/v1alpha1
Package v1alpha1 contains API Schema definitions for the sharing v1alpha1 API group +kubebuilder:object:generate=true +groupName=sharing.liqo.io
Package v1alpha1 contains API Schema definitions for the sharing v1alpha1 API group +kubebuilder:object:generate=true +groupName=sharing.liqo.io
virtualkubelet/v1alpha1
Package v1alpha1 contains API Schema definitions for the virtualkubelet v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the virtualkubelet v1alpha1 API group.
cmd
liqoctl/cmd
Package cmd defines the structure of commands available in liqoctl
Package cmd defines the structure of commands available in liqoctl
virtual-kubelet/root
Package root provides methods to build and start the virtual-kubelet.
Package root provides methods to build and start the virtual-kubelet.
pkg
auth
Package auth contains structures, interfaces and utility functions useful for both server and client authentication agents.
Package auth contains structures, interfaces and utility functions useful for both server and client authentication agents.
auth/errors
Package errors contains error types definition and related functions used by the Liqo Auth package.
Package errors contains error types definition and related functions used by the Liqo Auth package.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/virtualkubelet/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/virtualkubelet/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
consts
Package consts provides most useful constant for Liqo Controllers
Package consts provides most useful constant for Liqo Controllers
discovery
Package discovery contains structures, interfaces and utility functions useful for the discovery component.
Package discovery contains structures, interfaces and utility functions useful for the discovery component.
discoverymanager
Package discovery implements the logic of the discovery of other clusters, both on local networks and in wide area networks
Package discovery implements the logic of the discovery of other clusters, both on local networks and in wide area networks
discoverymanager/utils
Package utils contains functions useful for the discovery component, in particular during the communications with a remote cluster.
Package utils contains functions useful for the discovery component, in particular during the communications with a remote cluster.
identityManager
Package identitymanager provides an interface, and its implementation, to handle the creation and the issue process of an identity for a remote cluster.
Package identitymanager provides an interface, and its implementation, to handle the creation and the issue process of an identity for a remote cluster.
identityManager/fake
Package fake implements mock Identity interfaces for test purposes.
Package fake implements mock Identity interfaces for test purposes.
identityManager/responseTypes
Package responsetypes contains utils for methods responses.
Package responsetypes contains utils for methods responses.
identityManager/testUtils
Package identitymanagertestutils provides utility funcition for identity manager testing.
Package identitymanagertestutils provides utility funcition for identity manager testing.
liqo-controller-manager
Package liqocontrollermanager implements the utility functions for the liqo controller manager
Package liqocontrollermanager implements the utility functions for the liqo controller manager
liqo-controller-manager/foreign-cluster-operator
Package foreignclusteroperator implements the logic of the ForeignCluster Operator
Package foreignclusteroperator implements the logic of the ForeignCluster Operator
liqo-controller-manager/namespace-controller
Package namespacectrl contains Namespace Controller logic, and some tests for it
Package namespacectrl contains Namespace Controller logic, and some tests for it
liqo-controller-manager/namespaceOffloading-controller
Package namespaceoffloadingctrl contains NamespaceOffloading Controller logic and some functions for adding DesiredMappings to NamespaceMaps Spec
Package namespaceoffloadingctrl contains NamespaceOffloading Controller logic and some functions for adding DesiredMappings to NamespaceMaps Spec
liqo-controller-manager/namespacemap-controller
Package namespacemapctrl contains NamespaceMap Controller logic and some functions for managing remote Namespaces.
Package namespacemapctrl contains NamespaceMap Controller logic and some functions for managing remote Namespaces.
liqo-controller-manager/offloadingStatus-controller
Package offloadingstatuscontroller contains OffloadingStatus Controller logic.
Package offloadingstatuscontroller contains OffloadingStatus Controller logic.
liqo-controller-manager/resource-request-controller
Package resourcerequestoperator contains the ResourceRequest controller which reconciles the resource and creates new ResourceOffer and related tests.
Package resourcerequestoperator contains the ResourceRequest controller which reconciles the resource and creates new ResourceOffer and related tests.
liqo-controller-manager/resourceoffer-controller
Package resourceoffercontroller implements the logic of the ResourceOffer Operator
Package resourceoffercontroller implements the logic of the ResourceOffer Operator
liqo-controller-manager/search-domain-operator
Package searchdomainoperator implements the logic of the SearchDomain Operator
Package searchdomainoperator implements the logic of the SearchDomain Operator
liqo-controller-manager/shadowpod-controller
Package shadowpodctrl contains Shadowpod Controller logic.
Package shadowpodctrl contains Shadowpod Controller logic.
liqo-controller-manager/storageprovisioner
Package storageprovisioner implements the provisioner for the liqo virtual storage class.
Package storageprovisioner implements the provisioner for the liqo virtual storage class.
liqo-controller-manager/virtualNode-controller
Package virtualnodectrl contains VirtualNode Controller logic and some functions for managing NamespaceMap lifecycle.
Package virtualnodectrl contains VirtualNode Controller logic and some functions for managing NamespaceMap lifecycle.
liqoctl/add
Package add contains the logic to initiate an outgoing peering to a remote cluster
Package add contains the logic to initiate an outgoing peering to a remote cluster
liqoctl/autocompletion
Package autocompletion contains the utility funtions to autocomplete commands and flags.
Package autocompletion contains the utility funtions to autocomplete commands and flags.
liqoctl/common
Package common contains common definition and utils used across liqoctl
Package common contains common definition and utils used across liqoctl
liqoctl/connect
Package connect contains the logic that handles the connect command in liqoctl
Package connect contains the logic that handles the connect command in liqoctl
liqoctl/disconnect
Package disconnect contains the logic that handles the disconnect command in liqoctl
Package disconnect contains the logic that handles the disconnect command in liqoctl
liqoctl/docs
Package docs contains the logic that handle the docs command in liqoctl
Package docs contains the logic that handle the docs command in liqoctl
liqoctl/generate
Package generate contains the logic that handle the generate-add-command command in liqoctl
Package generate contains the logic that handle the generate-add-command command in liqoctl
liqoctl/install
Package install implements the install command in liqoctl.
Package install implements the install command in liqoctl.
liqoctl/install/aks
Package aks implements the logic to install Liqo on a AKS-based cluster
Package aks implements the logic to install Liqo on a AKS-based cluster
liqoctl/install/eks
Package eks implements the logic to install Liqo on a EKS-based cluster
Package eks implements the logic to install Liqo on a EKS-based cluster
liqoctl/install/gke
Package gke implements the logic to install Liqo on a GKE-based cluster
Package gke implements the logic to install Liqo on a GKE-based cluster
liqoctl/install/k3s
Package k3s implements the logic to install Liqo on a K3S-based cluster
Package k3s implements the logic to install Liqo on a K3S-based cluster
liqoctl/install/kind
Package kind implements the logic to install Liqo on a kind-based cluster
Package kind implements the logic to install Liqo on a kind-based cluster
liqoctl/install/kubeadm
Package kubeadm implements the logic to install Liqo on a kubeadm-based cluster
Package kubeadm implements the logic to install Liqo on a kubeadm-based cluster
liqoctl/install/openshift
Package openshift implements the logic to install Liqo on a OpenShift-based cluster
Package openshift implements the logic to install Liqo on a OpenShift-based cluster
liqoctl/install/provider
Package provider contains the interface required to support the Liqo install for a given provider.
Package provider contains the interface required to support the Liqo install for a given provider.
liqoctl/install/utils
Package installutils implements some utility functions for the liqo install providers
Package installutils implements some utility functions for the liqo install providers
liqoctl/move
Package move contains the logic to move volumes between clusters.
Package move contains the logic to move volumes between clusters.
liqoctl/offload
Package offload includes the logic for the `liqoctl offload` command
Package offload includes the logic for the `liqoctl offload` command
liqoctl/remove
Package remove contains the logic to terminate an outgoing peering to a remote cluster
Package remove contains the logic to terminate an outgoing peering to a remote cluster
liqoctl/status
Package status contains the logic that handles the status command in liqoctl
Package status contains the logic that handles the status command in liqoctl
liqoctl/uninstall
Package uninstall implements the uninstall command in liqoctl.
Package uninstall implements the uninstall command in liqoctl.
liqoctl/version
Package version contains the logic that handle the version command in liqoctl
Package version contains the logic that handle the version command in liqoctl
liqonet/errors
Package errors contains error types definition and related functions used by the Liqonet package.
Package errors contains error types definition and related functions used by the Liqonet package.
liqonet/ipam
Package ipam contains the IPAM module.
Package ipam contains the IPAM module.
liqonet/ipam/fake
Package fake implements fake IPAM grpc interfaces for testing purposes.
Package fake implements fake IPAM grpc interfaces for testing purposes.
liqonet/iptables
Package iptables contains the necessary data structures and functions to interact with iptables and therefore insert/delete filter and NAT rules.
Package iptables contains the necessary data structures and functions to interact with iptables and therefore insert/delete filter and NAT rules.
liqonet/natmappinginflater
Package natmappinginflater contains the NatMappingInflater, an object in charge of notify the Gateway component that a NAT mapping has to be carried out.
Package natmappinginflater contains the NatMappingInflater, an object in charge of notify the Gateway component that a NAT mapping has to be carried out.
liqonet/netns
Package netns defines and implements basic functions used to create and configure new network namespaces.
Package netns defines and implements basic functions used to create and configure new network namespaces.
liqonet/overlay
Package overlay contains the overlays implementations supported in liqo.
Package overlay contains the overlays implementations supported in liqo.
liqonet/routing
Package routing defines a common interface used to configure the routing tables and policy routing rules in order to reach the remote networks of the peering clusters.
Package routing defines a common interface used to configure the routing tables and policy routing rules in order to reach the remote networks of the peering clusters.
liqonet/tunnel
Package tunnel specifies the interface that has to be implemented by the different vpn technologies.
Package tunnel specifies the interface that has to be implemented by the different vpn technologies.
liqonet/tunnel/wireguard
Package wireguard implements the Wireguard tunnels to be used as vpn technology to interconnect clusters.
Package wireguard implements the Wireguard tunnels to be used as vpn technology to interconnect clusters.
liqonet/utils
Package utils contain utility functions for the Liqonet package.
Package utils contain utility functions for the Liqonet package.
liqonet/utils/links
Package links contains utils functions to interact with link in linux systems.
Package links contains utils functions to interact with link in linux systems.
mutate
Package mutate defines the logic of Liqo Mutating Webhook.
Package mutate defines the logic of Liqo Mutating Webhook.
mutate/testUtils
Package mutatetestutils provides utility funcition for webhook testing.
Package mutatetestutils provides utility funcition for webhook testing.
peering-roles
Package peeringroles implements some utility functions to retrieve the ClusterRoles to bind in the different peering phases
Package peeringroles implements some utility functions to retrieve the ClusterRoles to bind in the different peering phases
peering-roles/basic
Package basic defines the permission to be enabled with the creation of the Tenant Namespace, this ClusterRole has the basic permissions to give to a remote cluster
Package basic defines the permission to be enabled with the creation of the Tenant Namespace, this ClusterRole has the basic permissions to give to a remote cluster
peering-roles/incoming
Package incoming defines the permission to be enabled when a ResourceRequest has been accepted, this ClusterRole has the permissions required to a remote cluster to manage an outgoing peering (incoming for the local cluster), when the Pods will be offloaded to the local cluster
Package incoming defines the permission to be enabled when a ResourceRequest has been accepted, this ClusterRole has the permissions required to a remote cluster to manage an outgoing peering (incoming for the local cluster), when the Pods will be offloaded to the local cluster
peering-roles/outgoing
Package outgoing defines the permission to be enabled when we send a ResourceRequest, this ClusterRole has the permissions required to a remote cluster to manage an incoming peering (outgoing for the local cluster), when the Pods will be offloaded from the local cluster
Package outgoing defines the permission to be enabled when we send a ResourceRequest, this ClusterRole has the permissions required to a remote cluster to manage an incoming peering (outgoing for the local cluster), when the Pods will be offloaded from the local cluster
remotemetrics
Package remotemetrics contains the logic to scrape and parse metrics from a remote cluster.
Package remotemetrics contains the logic to scrape and parse metrics from a remote cluster.
tenantNamespace
Package tenantnamespace provides an interface, and its implementation, to handle the creation and the management of tenant namespaces
Package tenantnamespace provides an interface, and its implementation, to handle the creation and the management of tenant namespaces
uninstaller
Package uninstaller contains the Liqo uninstaller logic for a clean uninstall.
Package uninstaller contains the Liqo uninstaller logic for a clean uninstall.
utils
Package utils contains shared utility methods for the Liqonet package.
Package utils contains shared utility methods for the Liqonet package.
utils/apiserver
Package apiserver contains utility functions to configure the connection parameters to the Kubernetes API server to advertise to peering clusters.
Package apiserver contains utility functions to configure the connection parameters to the Kubernetes API server to advertise to peering clusters.
utils/args
Package args contains shared utility methods for argument parsing and validation.
Package args contains shared utility methods for argument parsing and validation.
utils/authenticationtoken
Package authenticationtoken contains shared utility methods for the management of the authentication token.
Package authenticationtoken contains shared utility methods for the management of the authentication token.
utils/cachedClient
Package cachedclient contains utility methods to create a new controller runtime client with cache.
Package cachedclient contains utility methods to create a new controller runtime client with cache.
utils/errors
Package errors contains utility functions to deal with errors.
Package errors contains utility functions to deal with errors.
utils/foreignCluster
Package foreigncluster contains shared utility methods to handle the ForeignCluster resources.
Package foreigncluster contains shared utility methods to handle the ForeignCluster resources.
utils/getters
Package getters contains utility functions to get k8s resources and at the same time to extract data from the same resources.
Package getters contains utility functions to get k8s resources and at the same time to extract data from the same resources.
utils/labels
Package labels label selectors used throughout the liqo code in order to get k8s resources.
Package labels label selectors used throughout the liqo code in order to get k8s resources.
utils/logs
Package logs contains shared utility methods for logging.
Package logs contains shared utility methods for logging.
utils/mapper
Package mapper contains the utility functions for k8s resource REST mapping.
Package mapper contains the utility functions for k8s resource REST mapping.
utils/peeringConditions
Package peeringconditionsutils contains shared utility methods to handle the PeeringCondition resource.
Package peeringconditionsutils contains shared utility methods to handle the PeeringCondition resource.
utils/pod
Package pod contains utilities to deal with Pod objects.
Package pod contains utilities to deal with Pod objects.
utils/restcfg
Package restcfg contains utility functions to deal with rest configs.
Package restcfg contains utility functions to deal with rest configs.
utils/slice
Package slice contains utility functions to manage slices.
Package slice contains utility functions to manage slices.
utils/syncset
Package syncset provides a structure describing a set of elements safe for concurrent usage.
Package syncset provides a structure describing a set of elements safe for concurrent usage.
utils/testutil
Package testutil contains some methods useful to mock components while testing
Package testutil contains some methods useful to mock components while testing
utils/trace
Package trace contains utility functions to deal with traces.
Package trace contains utility functions to deal with traces.
virtualKubelet/forge
Package forge groups the methods used to forge the Kubernetes object definitions for the reflection logic.
Package forge groups the methods used to forge the Kubernetes object definitions for the reflection logic.
virtualKubelet/liqoNodeProvider
Package liqonodeprovider implements the VirtualKubelet NodeProvider interface, it manages the node status monitoring the status of the Liqo resources (i.e.
Package liqonodeprovider implements the VirtualKubelet NodeProvider interface, it manages the node status monitoring the status of the Liqo resources (i.e.
virtualKubelet/provider
Package provider contains methods implementing virtual-kubelet provider
Package provider contains methods implementing virtual-kubelet provider
virtualKubelet/reflection/configuration
Package configuration implements the reflection logic for configmaps and secrets.
Package configuration implements the reflection logic for configmaps and secrets.
virtualKubelet/reflection/exposition
Package exposition implements the reflection logic for services and endpointslices.
Package exposition implements the reflection logic for services and endpointslices.
virtualKubelet/reflection/generic
Package generic implements the generic logic to reflect Kubernetes objects between the local and the remote cluster, for a set of resources and namespaces.
Package generic implements the generic logic to reflect Kubernetes objects between the local and the remote cluster, for a set of resources and namespaces.
virtualKubelet/reflection/generic/fake
Package fake implements the reflector interfaces for testing purposes.
Package fake implements the reflector interfaces for testing purposes.
virtualKubelet/reflection/manager
Package manager implements the generic logic to manage the resource reflection between the local and the remote cluster, for a set of resources and namespaces.
Package manager implements the generic logic to manage the resource reflection between the local and the remote cluster, for a set of resources and namespaces.
virtualKubelet/reflection/namespacemap
Package namespacemap implements the logic to start and stop the reflection of resources for namespaces.
Package namespacemap implements the logic to start and stop the reflection of resources for namespaces.
virtualKubelet/reflection/namespacemap/fake
Package fake implements a fake namespace start and stopper used for testing purpouses.
Package fake implements a fake namespace start and stopper used for testing purpouses.
virtualKubelet/reflection/options
Package options implements the options to configure the reflection.
Package options implements the options to configure the reflection.
virtualKubelet/reflection/storage
Package storage implements the reflection logic for persistentvolumeclaims.
Package storage implements the reflection logic for persistentvolumeclaims.
virtualKubelet/reflection/workload
Package workload implements the reflection logic for pods.
Package workload implements the reflection logic for pods.
virtualKubelet/roles/local
Package local defines the ClusterRole containing the permissions required by the virtual kubelet in the local cluster.
Package local defines the ClusterRole containing the permissions required by the virtual kubelet in the local cluster.
virtualKubelet/roles/remote
Package remote defines the ClusterRole containing the permissions required by the virtual kubelet in the remote cluster.
Package remote defines the ClusterRole containing the permissions required by the virtual kubelet in the remote cluster.
vkMachinery
Package vkMachinery contains the logic required to forge a new virtualKubelet instance and all related objects
Package vkMachinery contains the logic required to forge a new virtualKubelet instance and all related objects
vkMachinery/csr
Package csr contains the logic required to generate, create and approve Certificate Signing Requests (CSR) for the Virtual Kubelet instances.
Package csr contains the logic required to generate, create and approve Certificate Signing Requests (CSR) for the Virtual Kubelet instances.
vkMachinery/forge
Package forge contains the logic required to generate the virtual kubelet resources.
Package forge contains the logic required to generate the virtual kubelet resources.
webhookConfiguration
Package webhookConfiguration contains the logic to forge certificates and register the Liqo AdmissionWebhook
Package webhookConfiguration contains the logic to forge certificates and register the Liqo AdmissionWebhook
test
e2e/testconsts
Package testconsts contains all the consts used by the E2E tests.
Package testconsts contains all the consts used by the E2E tests.
e2e/testutils/microservices
Package microservices implements an E2E test based on the Google Online Boutique (https://github.com/GoogleCloudPlatform/microservices-demo) to assess the E2E functionality of Liqo
Package microservices implements an E2E test based on the Google Online Boutique (https://github.com/GoogleCloudPlatform/microservices-demo) to assess the E2E functionality of Liqo
e2e/testutils/net
Package net implements basic network connecitivity test on Liqo to assess E2E functionality of the network
Package net implements basic network connecitivity test on Liqo to assess E2E functionality of the network
e2e/testutils/storage
Package storage implements an E2E storage test suite.
Package storage implements an E2E storage test suite.
e2e/testutils/tester
Package tester contains the logic to access the test context and the cluster included
Package tester contains the logic to access the test context and the cluster included
e2e/testutils/util
Package util contains all the utility methods to execute the test (APIServer interaction, wait for condition, etc.).
Package util contains all the utility methods to execute the test (APIServer interaction, wait for condition, etc.).
internal
auth-service
Package authservice implements the logic of the Authentication Service
Package authservice implements the logic of the Authentication Service
crdReplicator
Package crdreplicator implements the logic for the replication of CustomResourceDefinitions between the peered clusters.
Package crdreplicator implements the logic for the replication of CustomResourceDefinitions between the peered clusters.
crdReplicator/reflection
Package reflection implements the reflection logic of custom resources between a local cluster to a remote one.
Package reflection implements the reflection logic of custom resources between a local cluster to a remote one.
crdReplicator/resources
Package resources contains information about the resources to replicate through the CRD replicator.
Package resources contains information about the resources to replicate through the CRD replicator.
liqonet/network-manager/netcfgcreator
Package netcfgcreator implements the logic to react to ForeignClusters status changes, in order to enforce/remove the related NetworkConfig resources for network establishment.
Package netcfgcreator implements the logic to react to ForeignClusters status changes, in order to enforce/remove the related NetworkConfig resources for network establishment.
liqonet/network-manager/tunnelendpointcreator
Package tunnelendpointcreator implements the logic to create TunnelEndpoints given the parameters negotiated through NetworkConfig resources.
Package tunnelendpointcreator implements the logic to create TunnelEndpoints given the parameters negotiated through NetworkConfig resources.
liqonet/route-operator
Package routeoperator contains the needed k8s operators in order to configure each k8s node to send traffic to the gateway pod when destined to a remote cluster.
Package routeoperator contains the needed k8s operators in order to configure each k8s node to send traffic to the gateway pod when destined to a remote cluster.
liqonet/tunnel-operator
Package tunneloperator contains the tunnel controller which configures the vpn tunnels, natting rules and routes in order to comunicate with the remote peering clusters and also the natmapping controller that configures nat rules for ExternalCIDR.
Package tunneloperator contains the tunnel controller which configures the vpn tunnels, natting rules and routes in order to comunicate with the remote peering clusters and also the natmapping controller that configures nat rules for ExternalCIDR.
utils/errdefs
Package errdefs defines the error types that are understood by other packages in this project.
Package errdefs defines the error types that are understood by other packages in this project.

Jump to

Keyboard shortcuts

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