liqo

module
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0

README

Integration Pipeline Status



Liqo Logo

Enable dynamic and seamless Kubernetes multi-cluster topologies


Explore the docs »

View Videos · Report Bug · Request Feature

What is Liqo?

Liqo is an open-source project that enables dynamic and seamless Kubernetes multi-cluster topologies, supporting heterogeneous on-premise, cloud and edge infrastructures.

What does it provide?

  • Peering: automatic peer-to-peer establishment of resource and service consumption relationships between independent and heterogeneous clusters. No need to worry about complex VPN configurations and certification authorities: everything is transparently self-negotiated for you.
  • Offloading: seamless workloads offloading to remote clusters, without requiring any modification to Kubernetes or the applications themselves. Multi-cluster is made native and transparent: collapse an entire remote cluster to a virtual node compliant with the standard Kubernetes approaches and tools.
  • Network fabric: transparent multi-cluster pod-to-pod and pod-to-service connectivity, regardless of the underlying configurations and CNI plugins. Natively access the services exported by remote clusters, and spread interconnected application components across multiple infrastructures, with all cross-cluster traffic flowing through secured network tunnels.
  • Storage fabric: support for remote execution of stateful workloads, according to the data gravity approach. Seamlessly extend standard (e.g., database) high availability deployment techniques to the multi-cluster scenarios, for increased guarantees. All without the complexity of managing multiple independent cluster and application replicas.

Quick start

Would you like to quickly join the fray and experiment with Liqo? Set up your playground and check out the getting started examples, which will guide you through a scenario-driven tour of the most notable features of Liqo:

  • Quick Start: grasp a quick overview of what Liqo can do.
  • Offloading with Policies: discover how to tune namespace offloading, and how to use policies to select which clusters may host each workload.
  • Offloading a Service: learn how to create a multi-cluster service, and how to consume it from each connected cluster.
  • Stateful Applications: find out how to deploy a database across a multi-cluster environment, leveraging the Liqo storage fabric.
  • Global Ingress: discover how route external traffic to multi-cluster applications through a global ingress and automatic DNS configurations.
  • Replicated Deployments: learn how to deploy an application by replicating it on multiple remote clusters.
  • Provision with Terraform: explore Liqo Terraform provider capabilities.

Going Further

Got curious? Check out the documentation website for an in-depth overview of the Liqo features, to discover how to install Liqo on your clusters, as well as to find out about the different usage and configuration options.

Roadmap

Want to know about the features to come? Check out the project roadmap for more information.

Contributing

All contributors are warmly welcome. If you want to become a new contributor, we are so happy! Just, before doing it, read the tips and guidelines presented in the dedicated documentation page.

Community

To get involved with the Liqo community, join the Slack workspace.

🔔 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, licensed under the Apache 2.0 license.

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

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
Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group
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
liqo-controller-manager
Package main contains the main function for the Liqo controller manager.
Package main contains the main function for the Liqo controller manager.
liqoctl/cmd
Package cmd defines the structure of commands available in liqoctl
Package cmd defines the structure of commands available in liqoctl
metric-agent
Package main is the entrypoint of the metric-agent.
Package main is the entrypoint of the metric-agent.
telemetry
Package main provides the main entrypoint for the Liqo Telemetry job.
Package main provides the main entrypoint for the Liqo Telemetry job.
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.
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.
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/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/namespaceoffloading-controller
Package nsoffctrl contains the logic to reconcile NamespaceOffloading resources and appropriately populate NamespaceMaps.
Package nsoffctrl contains the logic to reconcile NamespaceOffloading resources and appropriately populate NamespaceMaps.
liqo-controller-manager/nodefailure-controller
Package nodefailurectrl contains a controller that enforces a logic that ensure offloaded pods running on a failed node are evicted and rescheduled on a healthy node, preventing them to remain in a terminating state indefinitely.
Package nodefailurectrl contains a controller that enforces a logic that ensure offloaded pods running on a failed node are evicted and rescheduled on a healthy node, preventing them to remain in a terminating state indefinitely.
liqo-controller-manager/podstatus-controller
Package podstatusctrl implements a controller that enforces the presence/absence of the remote unavailable label on local offloaded pods.
Package podstatusctrl implements a controller that enforces the presence/absence of the remote unavailable label on local offloaded pods.
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/resource-request-controller/resource-monitors
Package resourcemonitors contains the ResourceReader API that is used to create ResourceOffers, as well as resource monitors implementing this API.
Package resourcemonitors contains the ResourceReader API that is used to create ResourceOffers, as well as resource monitors implementing this API.
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/shadowendpointslice-controller
Package shadowendpointslicectrl contains the ShadowEndpointSlice logic.
Package shadowendpointslicectrl contains the ShadowEndpointSlice logic.
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.
liqo-controller-manager/webhooks/foreigncluster
Package fcwh contains the logic of the ForeignCluster webhook.
Package fcwh contains the logic of the ForeignCluster webhook.
liqo-controller-manager/webhooks/namespaceoffloading
Package nsoffwh contains the logic of the NamespaceOffloading webhook.
Package nsoffwh contains the logic of the NamespaceOffloading webhook.
liqo-controller-manager/webhooks/pod
Package pod contains the logic of the pod mutating webhook.
Package pod contains the logic of the pod mutating webhook.
liqo-controller-manager/webhooks/pod/testutils
Package testutils provides utility function for webhook testing.
Package testutils provides utility function for webhook testing.
liqo-controller-manager/webhooks/shadowpod
Package shadowpod contains the validating webhook logic and the cache of peering information.
Package shadowpod contains the validating webhook logic and the cache of peering information.
liqo-controller-manager/webhooks/virtualnode
Package virtualnode contains the validating webhook logic and the cache of peering information.
Package virtualnode contains the validating webhook logic and the cache of peering information.
liqoctl/completion
Package completion contains the utility functions to autocomplete commands and flags.
Package completion contains the utility functions to autocomplete commands and flags.
liqoctl/create
Package create contains the implementation of the 'create' command
Package create contains the implementation of the 'create' command
liqoctl/delete
Package delete contains the implementation of the 'delete' command
Package delete contains the implementation of the 'delete' command
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/factory
Package factory implements the logic to initialize common objects for liqoctl commands.
Package factory implements the logic to initialize common objects for liqoctl commands.
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/inband
Package inband contains common functions used for the in-band peer and unpeer commands.
Package inband contains common functions used for the in-band peer and unpeer commands.
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/generic
Package generic implements the logic to install Liqo on a generic cluster
Package generic implements the logic to install Liqo on a generic 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/util
Package util implements utility functions for the liqo install providers
Package util implements 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/output
Package output implements the logic to dealing with the commands output.
Package output implements the logic to dealing with the commands output.
liqoctl/peer
Package peer contains the logic to enable a peering towards a remote cluster.
Package peer contains the logic to enable a peering towards a remote cluster.
liqoctl/peerib
Package peerib contains the logic to perform an in-band peering towards a remote cluster.
Package peerib contains the logic to perform an in-band peering towards a remote cluster.
liqoctl/peeroob
Package peeroob contains the logic to perform an out-of-band peering towards a remote cluster.
Package peeroob contains the logic to perform an out-of-band peering towards a remote cluster.
liqoctl/rest
Package rest contains the types and interfaces to interact with the Liqo API.
Package rest contains the types and interfaces to interact with the Liqo API.
liqoctl/rest/virtualnode
Package virtualnode contains the rest API commands to allow liqoctl to interact with the VirtualNodes.
Package virtualnode contains the rest API commands to allow liqoctl to interact with the VirtualNodes.
liqoctl/status
Package status contains the implementation of the status command.
Package status contains the implementation of the status command.
liqoctl/status/local
Package statuslocal contains the logic that handles the status local command in liqoctl
Package statuslocal contains the logic that handles the status local command in liqoctl
liqoctl/status/peer
Package statuspeer contains the logic that handles the status peer command in liqoctl
Package statuspeer contains the logic that handles the status peer command in liqoctl
liqoctl/status/utils/resources
Package resources contains utilities to get share resources quantities.
Package resources contains utilities to get share resources quantities.
liqoctl/uninstall
Package uninstall implements the uninstall command in liqoctl.
Package uninstall implements the uninstall command in liqoctl.
liqoctl/unoffload
Package unoffload includes the logic for the `liqoctl unoffload` command
Package unoffload includes the logic for the `liqoctl unoffload` command
liqoctl/unpeerib
Package unpeerib contains the logic to tear-down an in-band peering towards a remote cluster.
Package unpeerib contains the logic to tear-down an in-band peering towards a remote cluster.
liqoctl/unpeeroob
Package unpeeroob contains the logic to tear-down an out-of-band peering towards a remote cluster.
Package unpeeroob contains the logic to tear-down an out-of-band peering towards a remote cluster.
liqoctl/util
Package util contains common definition and utils used across liqoctl
Package util contains common definition and utils used across liqoctl
liqoctl/version
Package version includes the logic for the `liqoctl version` command
Package version includes the logic for the `liqoctl version` command
liqoctl/wait
Package wait contains the functions to wait for resource events.
Package wait contains the functions to wait for resource events.
liqonet/conncheck
Package conncheck checks if a connection is alive.
Package conncheck checks if a connection is alive.
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/ipset
Package ipset contains the functions to interact with ipset.
Package ipset contains the functions to interact with ipset.
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/metrics
Package metrics provides a set of metrics for the VPN tunnel.
Package metrics provides a set of metrics for the VPN tunnel.
liqonet/tunnel/resolver
Package resolver implements the resolver used to resolve hostnames to IP addresses.
Package resolver implements the resolver used to resolve hostnames to IP addresses.
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.
liqonet/utils/signals
Package signals contains signals utilities which cannot be imported by windows.
Package signals contains signals utilities which cannot be imported by windows.
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.
telemetry
Package telemetry builds and sends telemetry data to the Liqo telemetry server.
Package telemetry builds and sends telemetry data to the Liqo telemetry server.
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/clients
Package clients contains utility methods to create and manage clients with custom features.
Package clients contains utility methods to create and manage clients with custom features.
utils/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.
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/indexer
Package indexer provides indexers for controller-runtime managers.
Package indexer provides indexers for controller-runtime managers.
utils/json
Package json contains some utilities to work with JSON.
Package json contains some utilities to work with JSON.
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/mapper
Package mapper contains the utility functions for k8s resource REST mapping.
Package mapper contains the utility functions for k8s resource REST mapping.
utils/maps
Package maps contains utility functions to manage maps.
Package maps contains utility functions to manage maps.
utils/netmonitor
Package netmonitor is a package that allows to monitor changes in the network interfaces.
Package netmonitor is a package that allows to monitor changes in the network interfaces.
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.
utils/virtualkubelet
Package virtualkubelet contains utility functions to deal with virtual kubelet.
Package virtualkubelet contains utility functions to deal with virtual kubelet.
utils/virtualnode
Package virtualnode contains utils functions to manage virtual nodes.
Package virtualnode contains utils functions to manage virtual nodes.
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/leaderelection
Package leaderelection implements the leader election mechanism.
Package leaderelection implements the leader election mechanism.
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/metrics
Package metrics provides a set of metrics for Virtual Kubelet component.
Package metrics provides a set of metrics for Virtual Kubelet component.
virtualKubelet/portforwarder
Package portforwarder implements the logic to create a Port Forwarder that takes a stream from the virtual kubelet and forwards it to an offloaded pod
Package portforwarder implements the logic to create a Port Forwarder that takes a stream from the virtual kubelet and forwards it to an offloaded pod
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/event
Package event implements the reflection logic for events.
Package event implements the reflection logic for events.
virtualKubelet/reflection/exposition
Package exposition implements the reflection logic for services, endpointslices and ingresses.
Package exposition implements the reflection logic for services, endpointslices and ingresses.
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/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.
vkMachinery/utils
Package utils contains some utility functions used by the virtual node controller.
Package utils contains some utility functions used by the virtual node controller.
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/apiserver
Package apiserver implements the logic to perform the tests concerning the interaction with the local API server from an offloaded pod.
Package apiserver implements the logic to perform the tests concerning the interaction with the local API server from an offloaded pod.
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.).

Jump to

Keyboard shortcuts

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