/
types_controlplane.go
64 lines (54 loc) · 2.71 KB
/
types_controlplane.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package metal
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ControlPlaneConfig contains configuration settings for the control plane.
type ControlPlaneConfig struct {
metav1.TypeMeta
// CloudControllerManager contains configuration settings for the cloud-controller-manager.
// +optional
CloudControllerManager *CloudControllerManagerConfig
// IAMConfig contains the config for all AuthN/AuthZ related components and overrides the configuration from the cloud profile
// +optional
IAMConfig *IAMConfig
// FeatureGates contains feature gates for the control plane.
FeatureGates ControlPlaneFeatures
// CustomDefaultStorageClass
CustomDefaultStorageClass *CustomDefaultStorageClass
}
// CustomDefaultStorageClass defines the custom storageclass which should be set as default
// This applies only to storageClasses managed by metal-stack.
// If set to nil, our default storageClass (e.g. csi-lvm) is set as default
type CustomDefaultStorageClass struct {
// ClassName name of the storageclass to be set as default
// If you want to have your own SC be set as default, set classname to ""
ClassName string
}
// ControlPlaneFeatures contains feature gates for the control plane.
type ControlPlaneFeatures struct {
// MachineControllerManagerOOT enables the deployment of the out-of-tree machine controller manager.
// Once enabled this cannot be taken back.
// Deprecated: This is now default and always on. Toggle does not have an effect anymore.
// +optional
MachineControllerManagerOOT *bool
// ClusterAudit enables the deployment of a non-null audit policy to the apiserver and the forwarding
// of the audit events into the cluster where they appear as container log of an audittailer pod, where they
// can be picked up by any of the available Kubernetes logging solutions.
// +optional
ClusterAudit *bool
// AuditToSplunk enables the forwarding of the apiserver auditlog to a defined splunk instance in addition to
// forwarding it into the cluster. Needs the clusterAudit featureGate to be active.
// +optional
AuditToSplunk *bool
}
// CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.
type CloudControllerManagerConfig struct {
// FeatureGates contains information about enabled feature gates.
FeatureGates map[string]bool
// DefaultExternalNetwork explicitly defines the network from which the CCM allocates IPs for services of type load balancer
// If not defined, it will use the last network with the default external network tag from the infrastructure firewall networks
// Networks not derived from a private super network have precedence.
// +optional
DefaultExternalNetwork *string
}