Documentation
¶
Index ¶
- Variables
- func Bind()
- func DeleteClusters()
- func DeployAppCluster(clusterName string)
- func DeployControlPlaneKindCluster(clusterName string, hostIP string, ingressPort string)
- func DeployKlutchClusters()
- func WaitForKindCluster(k8s *k8s.KubeClient)
- type ByteGenerator
- type ControlPlaneClusterInfo
- type KlutchManager
- func (k *KlutchManager) DeployBindBackend(hostIP string)
- func (k *KlutchManager) DeployCrossplaneComponents()
- func (k *KlutchManager) DeployCrossplaneHelmChart()
- func (k *KlutchManager) DeployDex(hostIP string, ingressPort string)
- func (k *KlutchManager) DeployIngressNginx()
- func (k *KlutchManager) DeployKlutchCrossplaneConfigPkg()
- func (k *KlutchManager) DeployKlutchExportTemplates()
- func (k *KlutchManager) DeployProviderKubernetes()
- func (k *KlutchManager) DeployProviderKubernetesConfig()
- func (k *KlutchManager) WaitForBindBackend()
- func (k *KlutchManager) WaitForCrossplaneHelmChart()
- func (k *KlutchManager) WaitForDex()
- func (k *KlutchManager) WaitForIngressNginx()
- func (k *KlutchManager) WaitForKlutchCrossplaneConfigPkg()
- func (k *KlutchManager) WaitForProviderKubernetes()
- type NamespacedName
- type RandomByteGenerator
Constants ¶
This section is empty.
Variables ¶
var (
PortFlag int = 8080
)
Functions ¶
func DeleteClusters ¶
func DeleteClusters()
func DeployAppCluster ¶ added in v0.14.1
func DeployAppCluster(clusterName string)
DeployAppCluster deploys a simple kind cluster with the given name if it doesn't already exists.
func DeployControlPlaneKindCluster ¶ added in v0.14.1
DeployControlPlaneKindCluster creates a new kind cluster configured to act as a local Control Plane Cluster. It enables the ingress feature for the provided port and configures the k8s API Server to listen on the provided IP.
func DeployKlutchClusters ¶
func DeployKlutchClusters()
DeployKlutchClusters deploys the Control Plane Cluster with all Klutch components, and a app cluster.
func WaitForKindCluster ¶
func WaitForKindCluster(k8s *k8s.KubeClient)
Types ¶
type ByteGenerator ¶ added in v0.14.1
type ByteGenerator interface {
GenerateRandom32BytesBase64() string
}
ByteGenerator is an interface for a basic random byte generator.
type ControlPlaneClusterInfo ¶ added in v0.14.1
type ControlPlaneClusterInfo struct { Host string `yaml:"host"` IngressPort string `yaml:"ingressPort"` }
ControlPlaneClusterInfo contains information about the created Control Plane Cluster.
type KlutchManager ¶
type KlutchManager struct {
// contains filtered or unexported fields
}
func NewKlutchManager ¶
func NewKlutchManager() *KlutchManager
func (*KlutchManager) DeployBindBackend ¶
func (k *KlutchManager) DeployBindBackend(hostIP string)
Deploys dex and the klutch-bind backend.
func (*KlutchManager) DeployCrossplaneComponents ¶
func (k *KlutchManager) DeployCrossplaneComponents()
func (*KlutchManager) DeployCrossplaneHelmChart ¶
func (k *KlutchManager) DeployCrossplaneHelmChart()
func (*KlutchManager) DeployDex ¶
func (k *KlutchManager) DeployDex(hostIP string, ingressPort string)
func (*KlutchManager) DeployIngressNginx ¶
func (k *KlutchManager) DeployIngressNginx()
DeployIngressNginx applies the ingress-nginx manifests and an additional configMap to configure it. The config increases the request header size limit to cope with bind's header sizes becoming very large.
func (*KlutchManager) DeployKlutchCrossplaneConfigPkg ¶
func (k *KlutchManager) DeployKlutchCrossplaneConfigPkg()
Deploys the a8s APIs (CRDs and Compositions).
func (*KlutchManager) DeployKlutchExportTemplates ¶
func (k *KlutchManager) DeployKlutchExportTemplates()
Applies APIServiceExportTemplates for the a8s crossplane APIs.
func (*KlutchManager) DeployProviderKubernetes ¶
func (k *KlutchManager) DeployProviderKubernetes()
func (*KlutchManager) DeployProviderKubernetesConfig ¶
func (k *KlutchManager) DeployProviderKubernetesConfig()
Deploys the Kubernetes Provider Config
func (*KlutchManager) WaitForBindBackend ¶
func (k *KlutchManager) WaitForBindBackend()
Waits for the klutch-bind backend deployment to be ready. Note: the manifests contain an init-container which waits for dex to be ready, because the backend requires dex to be up and running in order to start. This avoids delays/complications due to crash loop backoffs.
func (*KlutchManager) WaitForCrossplaneHelmChart ¶
func (k *KlutchManager) WaitForCrossplaneHelmChart()
func (*KlutchManager) WaitForDex ¶
func (k *KlutchManager) WaitForDex()
Waits for the dex deployment to be ready.
func (*KlutchManager) WaitForIngressNginx ¶
func (k *KlutchManager) WaitForIngressNginx()
func (*KlutchManager) WaitForKlutchCrossplaneConfigPkg ¶
func (k *KlutchManager) WaitForKlutchCrossplaneConfigPkg()
func (*KlutchManager) WaitForProviderKubernetes ¶
func (k *KlutchManager) WaitForProviderKubernetes()
type NamespacedName ¶
type NamespacedName = types.NamespacedName
type RandomByteGenerator ¶ added in v0.14.1
type RandomByteGenerator struct{}
RandomByteGenerator implements ByteGenerator.
func (RandomByteGenerator) GenerateRandom32BytesBase64 ¶ added in v0.14.1
func (RandomByteGenerator) GenerateRandom32BytesBase64() string
GenerateRandom32BytesBase64 returns a random base64 string of length 32.