liqo

module
v0.11.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 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
authentication/v1alpha1
Package v1alpha1 contains API Schema definitions for the authentication v1alpha1 API group
Package v1alpha1 contains API Schema definitions for the authentication v1alpha1 API group
core/v1alpha1
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group
networking/v1alpha1
Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group
Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group
networking/v1alpha1/firewall
Package firewall contains API Schema definitions for the structs contained in firewallconfiguration API in networking v1alpha1.
Package firewall contains API Schema definitions for the structs contained in firewallconfiguration API in networking v1alpha1.
offloading/v1alpha1
Package v1alpha1 contains API Schema definitions for the offloading v1alpha1 API group
Package v1alpha1 contains API Schema definitions for the offloading v1alpha1 API group
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
fabric
Package wireguard contains the logic to configure the Wireguard interface.
Package wireguard contains the logic to configure the Wireguard interface.
gateway
Package wireguard contains the logic to configure the Wireguard interface.
Package wireguard contains the logic to configure the Wireguard interface.
gateway/geneve
Package wireguard contains the logic to configure the Wireguard interface.
Package wireguard contains the logic to configure the Wireguard interface.
gateway/wireguard
Package wireguard contains the logic to configure the Wireguard interface.
Package wireguard contains the logic to configure the Wireguard interface.
ipam
Package main contains the main function for the Liqo controller manager.
Package main contains the main function for the Liqo controller manager.
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.
liqo-controller-manager/modules
Package modules contains functions to setup liqo modules.
Package modules contains functions to setup liqo modules.
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.
webhook
Package main contains the main function for the Liqo controller manager.
Package main contains the main function for the Liqo controller manager.
internal
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.
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.
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/ipam/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/ipam/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
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
fabric
Package fabric contains the logic to manage internal network fabric on each node.
Package fabric contains the logic to manage internal network fabric on each node.
fabric/source-detector
Package sourcedetector contains the logic to detect the source IP used by nodes to contact pods.
Package sourcedetector contains the logic to detect the source IP used by nodes to contact pods.
firewall
Package firewall contains the controller that manages the firewall configuration.
Package firewall contains the controller that manages the firewall configuration.
firewall/utils
Package utils contains utility functions for firewalls.
Package utils contains utility functions for firewalls.
gateway
Package gateway contains the gateway controllers and utilities.
Package gateway contains the gateway controllers and utilities.
gateway/connection
Package connection menages the connection resource.
Package connection menages the connection resource.
gateway/connection/conncheck
Package conncheck checks if a connection is alive.
Package conncheck checks if a connection is alive.
gateway/fabric
Package fabric implements the connection between gateways and the internal network.
Package fabric implements the connection between gateways and the internal network.
gateway/fabric/geneve
Package geneve provides a fabric gateway implementation for the Geneve protocol.
Package geneve provides a fabric gateway implementation for the Geneve protocol.
gateway/forge
Package forge contains the utilities to forge gateway resources.
Package forge contains the utilities to forge gateway resources.
gateway/tunnel
Package tunnel contains the implementation of the tunneling system used by the Liqo Gateway.
Package tunnel contains the implementation of the tunneling system used by the Liqo Gateway.
gateway/tunnel/wireguard
Package wireguard contains the implementation of the wireguard tunnel.
Package wireguard contains the implementation of the wireguard tunnel.
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.
ipam
Package ipam contains the IPAM module.
Package ipam contains the IPAM module.
ipam/errors
Package errors contains error types definition and related functions used by the IPAM package.
Package errors contains error types definition and related functions used by the IPAM package.
ipam/fake
Package fake implements fake IPAM grpc interfaces for testing purposes.
Package fake implements fake IPAM grpc interfaces for testing purposes.
ipam/utils
Package utils contain utility functions for the IPAM package.
Package utils contain utility functions for the IPAM package.
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/authentication
Package authentication contains the logic to authenticate foreign clusters.
Package authentication contains the logic to authenticate foreign clusters.
liqo-controller-manager/authentication/forge
Package forge contains utility functions to forge resources of the authentication module.
Package forge contains utility functions to forge resources of the authentication module.
liqo-controller-manager/authentication/getters
Package getters contains utility functions to get resources of the authentication module.
Package getters contains utility functions to get resources of the authentication module.
liqo-controller-manager/authentication/identity-controller
Package identitycontroller contains the controller managing Identity resources.
Package identitycontroller contains the controller managing Identity resources.
liqo-controller-manager/authentication/identitycreator-controller
Package identitycreatorcontroller contains the logic to create Identities from ResourceSlices resources.
Package identitycreatorcontroller contains the logic to create Identities from ResourceSlices resources.
liqo-controller-manager/authentication/localresourceslice-controller
Package localresourceslicecontroller contains the logic to manage the local ResourceSlice.
Package localresourceslicecontroller contains the logic to manage the local ResourceSlice.
liqo-controller-manager/authentication/noncecreator-controller
Package noncecreatorcontroller contains the logic to manage Nonces.
Package noncecreatorcontroller contains the logic to manage Nonces.
liqo-controller-manager/authentication/noncesigner-controller
Package noncesignercontroller contains the controller to sign Nonce secrets.
Package noncesignercontroller contains the controller to sign Nonce secrets.
liqo-controller-manager/authentication/remoteresourceslice-controller
Package remoteresourceslicecontroller contains the logic to manage the remote ResourceSlice.
Package remoteresourceslicecontroller contains the logic to manage the remote ResourceSlice.
liqo-controller-manager/authentication/tenant-controller
Package tenantcontroller contains the controller to manage Tenant resources.
Package tenantcontroller contains the controller to manage Tenant resources.
liqo-controller-manager/authentication/utils
Package utils contains utility functions for the authentication module.
Package utils contains utility functions for the authentication module.
liqo-controller-manager/foreigncluster-controller
Package foreignclustercontroller implements the logic of the ForeignCluster controller
Package foreignclustercontroller implements the logic of the ForeignCluster controller
liqo-controller-manager/ipmapping
Package ipmapping contains the logic to connect the network moduler with the offloading one.
Package ipmapping contains the logic to connect the network moduler with the offloading one.
liqo-controller-manager/networking/external-network
Package externalnetwork contains the logic to manage the external network.
Package externalnetwork contains the logic to manage the external network.
liqo-controller-manager/networking/external-network/client-operator
Package clientoperator contains the logic to manage the gateway clients.
Package clientoperator contains the logic to manage the gateway clients.
liqo-controller-manager/networking/external-network/configuration
Package configurationcontroller contains the logic to manage the Configuration resource.
Package configurationcontroller contains the logic to manage the Configuration resource.
liqo-controller-manager/networking/external-network/remapping
Package remapping contains the logic to remap the CIDRs in case of repeated ones.
Package remapping contains the logic to remap the CIDRs in case of repeated ones.
liqo-controller-manager/networking/external-network/route
Package route contains the logic to manage the routesconfiguration for the external-network.
Package route contains the logic to manage the routesconfiguration for the external-network.
liqo-controller-manager/networking/external-network/server-operator
Package serveroperator contains the logic to manage the gateway servers.
Package serveroperator contains the logic to manage the gateway servers.
liqo-controller-manager/networking/external-network/utils
Package utils contains utilities to manage the external network.
Package utils contains utilities to manage the external network.
liqo-controller-manager/networking/external-network/wireguard
Package wireguard contains the logic to manage WireGuard gateway servers and clients.
Package wireguard contains the logic to manage WireGuard gateway servers and clients.
liqo-controller-manager/networking/forge
Package forge contains utility functions to forge resources of the networking module.
Package forge contains utility functions to forge resources of the networking module.
liqo-controller-manager/networking/getters
Package getters contains utility functions to get resources of the networking module.
Package getters contains utility functions to get resources of the networking module.
liqo-controller-manager/networking/internal-network
Package internalnetwork contains the common logic to manage the internal network
Package internalnetwork contains the common logic to manage the internal network
liqo-controller-manager/networking/internal-network/client-controller
Package clientcontroller implements the logic of the GatewayClient Controller to create InternalFabrics.
Package clientcontroller implements the logic of the GatewayClient Controller to create InternalFabrics.
liqo-controller-manager/networking/internal-network/configuration-controller
Package configurationcontroller implements the logic of the Configuration Controller.
Package configurationcontroller implements the logic of the Configuration Controller.
liqo-controller-manager/networking/internal-network/fabricipam
Package fabricipam contains the implementation of the IPAM for the Fabric network.
Package fabricipam contains the implementation of the IPAM for the Fabric network.
liqo-controller-manager/networking/internal-network/gw-masq-bypass
Package gwmasqbypass manages the creation and deletion of the gw-masquerade-bypass firewallconfigurations.
Package gwmasqbypass manages the creation and deletion of the gw-masquerade-bypass firewallconfigurations.
liqo-controller-manager/networking/internal-network/id
Package id implements the logic of the ID manager.
Package id implements the logic of the ID manager.
liqo-controller-manager/networking/internal-network/internalfabric-controller
Package internalfabriccontroller implements the logic of the InternalFabric Controller to create InternalNodes.
Package internalfabriccontroller implements the logic of the InternalFabric Controller to create InternalNodes.
liqo-controller-manager/networking/internal-network/node-controller
Package nodecontroller implements the logic that creates and manages InternalNodes.
Package nodecontroller implements the logic that creates and manages InternalNodes.
liqo-controller-manager/networking/internal-network/route
Package route contains the logic to manage the routes for the internal network.
Package route contains the logic to manage the routes for the internal network.
liqo-controller-manager/networking/internal-network/server-controller
Package servercontroller implements the logic of the GatewayServer Controller to create InternalFabrics.
Package servercontroller implements the logic of the GatewayServer Controller to create InternalFabrics.
liqo-controller-manager/networking/ip-controller
Package ipctrl contains the logic to manage IP addresses to interact with the remote cluster.
Package ipctrl contains the logic to manage IP addresses to interact with the remote cluster.
liqo-controller-manager/networking/network-controller
Package networkctrl contains the logic to manage Networks to interact with the remote cluster.
Package networkctrl contains the logic to manage Networks to interact with the remote cluster.
liqo-controller-manager/offloading
Package offloading contains the logic to offload resources.
Package offloading contains the logic to offload resources.
liqo-controller-manager/offloading/forge
Package forge contains utility functions to forge resources of the offloading module.
Package forge contains utility functions to forge resources of the offloading module.
liqo-controller-manager/offloading/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/offloading/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/offloading/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/offloading/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/offloading/shadowendpointslice-controller
Package shadowendpointslicectrl contains the ShadowEndpointSlice logic.
Package shadowendpointslicectrl contains the ShadowEndpointSlice logic.
liqo-controller-manager/offloading/shadowpod-controller
Package shadowpodctrl contains Shadowpod Controller logic.
Package shadowpodctrl contains Shadowpod Controller logic.
liqo-controller-manager/offloading/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/offloading/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/quotacreator-controller
Package quotacreatorcontroller contains the logic to create Quotas from ResourceSlices.
Package quotacreatorcontroller contains the logic to create Quotas from ResourceSlices.
liqo-controller-manager/virtualnodecreator-controller
Package virtualnodecreatorcontroller contains the logic to create VirtualNodes from Resourceslices.
Package virtualnodecreatorcontroller contains the logic to create VirtualNodes from Resourceslices.
liqoctl/activate
Package activate contains the commands to activate Liqo resources.
Package activate contains the commands to activate Liqo resources.
liqoctl/authenticate
Package authenticate contains the commands to manage authentication in Liqo.
Package authenticate contains the commands to manage authentication in Liqo.
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/cordon
Package cordon contains the commands to cordon Liqo resources.
Package cordon contains the commands to cordon Liqo resources.
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/drain
Package drain contains the commands to drain Liqo resources.
Package drain contains the commands to drain Liqo resources.
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 implementation of the 'generate' command
Package generate contains the implementation of the 'generate' command
liqoctl/get
Package get contains the implementation of the 'get' command
Package get contains the implementation of the 'get' command
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/network
Package network contains the commands to manage the network of Liqo.
Package network contains the commands to manage the network of Liqo.
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 provider cluster.
Package peer contains the logic to enable a peering towards a remote provider 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/configuration
Package configuration contains the logic to manage the network configuration.
Package configuration contains the logic to manage the network configuration.
liqoctl/rest/gatewayclient
Package gatewayclient contains the logic to manage GatewayClients.
Package gatewayclient contains the logic to manage GatewayClients.
liqoctl/rest/gatewayserver
Package gatewayserver contains the logic to manage GatewayServers.
Package gatewayserver contains the logic to manage GatewayServers.
liqoctl/rest/identity
Package identity contains the rest API commands to allow liqoctl to interact with Identity resources.
Package identity contains the rest API commands to allow liqoctl to interact with Identity resources.
liqoctl/rest/kubeconfig
Package kubeconfig contains the rest API commands to allow liqoctl to interact with kubeconfigs.
Package kubeconfig contains the rest API commands to allow liqoctl to interact with kubeconfigs.
liqoctl/rest/nonce
Package nonce contains the rest API commands to allow liqoctl to interact with the Nonces.
Package nonce contains the rest API commands to allow liqoctl to interact with the Nonces.
liqoctl/rest/publickey
Package publickey contains the logic to manage PublicKeys.
Package publickey contains the logic to manage PublicKeys.
liqoctl/rest/resourceslice
Package resourceslice contains the rest API commands to allow liqoctl to interact with ResourceSlice resources.
Package resourceslice contains the rest API commands to allow liqoctl to interact with ResourceSlice resources.
liqoctl/rest/tenant
Package tenant contains the rest API commands to allow liqoctl to interact with Tenant resources.
Package tenant contains the rest API commands to allow liqoctl to interact with Tenant resources.
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/unauthenticate
Package unauthenticate contains the commands to manage the unauthentication in Liqo.
Package unauthenticate contains the commands to manage the unauthentication in Liqo.
liqoctl/uncordon
Package uncordon contains the commands to uncordon Liqo resources.
Package uncordon contains the commands to uncordon Liqo resources.
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/unpeer
Package unpeer contains the logic to disable a peering towards a remote provider cluster.
Package unpeer contains the logic to disable a peering towards a remote provider 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.
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/controlplane
Package controlplane defines the permission to grant to the Liqo control plane of a remote cluster in the Tenant Namespace.
Package controlplane defines the permission to grant to the Liqo control plane of a remote cluster in the Tenant Namespace.
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.
route
Package route contains the logic to manage the linux routing rules.
Package route contains the logic to manage the linux routing rules.
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 IPAM package.
Package utils contains shared utility methods for the IPAM 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/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/dynamic
Package dynamic contains utilities for working with dynamic client.
Package dynamic contains utilities for working with dynamic client.
utils/errors
Package errors contains utility functions to deal with errors.
Package errors contains utility functions to deal with errors.
utils/events
Package events provides a simple event system for the application.
Package events provides a simple event system for the application.
utils/flags
Package flags provides a set of utilities to manage flags.
Package flags provides a set of utilities to manage flags.
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/ipam
Package ipam contains utility functions to deal with resources of the IPAM API.
Package ipam contains utility functions to deal with resources of the IPAM API.
utils/ipam/mapping
Package mapping contains utility functions to deal with the mapping of IPs.
Package mapping contains utility functions to deal with the mapping of IPs.
utils/json
Package json contains some utilities to work with JSON.
Package json contains some utilities to work with JSON.
utils/kernel
Package kernel provides functions to interact with the kernel.
Package kernel provides functions to interact with the kernel.
utils/kubeconfig
Package kubeconfig provides utilities to work with kubeconfigs.
Package kubeconfig provides utilities to work with kubeconfigs.
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/network
Package network contains some utilities about networking module.
Package network contains some utilities about networking module.
utils/network/geneve
Package geneve contains utilities for the geneve interface
Package geneve contains utilities for the geneve interface
utils/network/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/network/port
Package port provides utilities for working with network ports.
Package port provides utilities for working with network ports.
utils/pod
Package pod contains utilities to deal with Pod objects.
Package pod contains utilities to deal with Pod objects.
utils/resources
Package resources contains utilities to get share resources quantities.
Package resources contains utilities to get share resources quantities.
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/time
Package time contains utility functions for time management.
Package time contains utility functions for time management.
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/liqoNodeProvider
Package liqonodeprovider implements the VirtualKubelet NodeProvider interface, it manages the node status monitoring the status of the Liqo resources
Package liqonodeprovider implements the VirtualKubelet NodeProvider interface, it manages the node status monitoring the status of the Liqo resources
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/resources
Package resources contains utils to handle reflected resources.
Package resources contains utils to handle reflected resources.
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.
webhooks/firewallconfiguration
Package firewallconfiguration provides a webhook server for the firewall.
Package firewallconfiguration provides a webhook server for the firewall.
webhooks/foreigncluster
Package fcwh contains the logic of the ForeignCluster webhook.
Package fcwh contains the logic of the ForeignCluster webhook.
webhooks/namespaceoffloading
Package nsoffwh contains the logic of the NamespaceOffloading webhook.
Package nsoffwh contains the logic of the NamespaceOffloading webhook.
webhooks/pod
Package pod contains the logic of the pod mutating webhook.
Package pod contains the logic of the pod mutating webhook.
webhooks/pod/testutils
Package testutils provides utility function for webhook testing.
Package testutils provides utility function for webhook testing.
webhooks/resourceslice
Package resourceslice contains the logic of the ResourceSlice webhook.
Package resourceslice contains the logic of the ResourceSlice webhook.
webhooks/routeconfiguration
Package routeconfiguration contains the logic to manage the RouteConfiguration CRD.
Package routeconfiguration contains the logic to manage the RouteConfiguration CRD.
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.
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.
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