Documentation
¶
Index ¶
- type ActionConfig
- type ActionType
- type AffinityType
- type CRDColumn
- type CRDConfig
- type CRDConversionStraegyType
- type CRDScaleSubresources
- type CRDScopeType
- type CRDVersion
- type ClusterRoleBindingConfig
- type ClusterRoleConfig
- type ComponentType
- type ConfigMapConfig
- type ConfigMapOrSecretVolumeConfig
- type ContainerConfig
- type DNSPolicyType
- type DaemonSetConfig
- type DaemonSetUpdateStrategyType
- type DeployableComponentInterface
- type DeployerControllerInterface
- type DeployerResources
- type DeploymentConfig
- type DeploymentStrategyType
- type EmptyDirVolumeConfig
- type EnvConfig
- type EnvType
- type ExpressionRequirementConfig
- type ExpressionRequirementOp
- type GCEPersistentDiskVolumeConfig
- type HPAConfig
- type HTTPIngressPathConfig
- type HostAliasConfig
- type HostModeType
- type HostPathType
- type HostPathVolumeConfig
- type IngressConfig
- type IngressHostRuleConfig
- type IngressTLSConfig
- type JobConfig
- type KeyPath
- type LoadBalancerConfig
- type MountPropagationType
- type NamespaceConfig
- type NodeAffinityConfig
- type NodeExpression
- type NodeOperator
- type PVCAccessModeType
- type PVCConfig
- type PVCMode
- type PVCVolumeConfig
- type PodAffinityConfig
- type PodConfig
- type PodDNSConfig
- type PodManagementPolicyType
- type PolicyRuleConfig
- type PortConfig
- type ProbeConfig
- type ProcMountType
- type ProtocolType
- type PullPolicyType
- type ReplicationControllerConfig
- type RestartPolicyType
- type RoleBindingConfig
- type RoleConfig
- type RoleRefConfig
- type SELinuxType
- type SecretConfig
- type SecretType
- type SelectorConfig
- type ServiceAccountConfig
- type ServiceAccountSecretConfig
- type ServiceAffinityType
- type ServiceConfig
- type ServicePortConfig
- type ServiceType
- type StatefulSetConfig
- type StatefulSetUpdateStrategyType
- type StorageMediumType
- type SubjectConfig
- type TerminationMessagePolicyType
- type TolerationConfig
- type TolerationEffectType
- type TolerationOpType
- type TrafficPolicyType
- type VolumeDeviceConfig
- type VolumeMountConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionConfig ¶
type ActionConfig struct {
Type ActionType
Command []string
Headers map[string]string
Host string
Port string
Path string
}
ActionConfig defines the configuration for an action (ie on-start, pre-stop)
type ActionType ¶
type ActionType int
ActionType defines the type of action
const ( ActionTypeCommand ActionType = iota + 1 ActionTypeHTTP ActionTypeHTTPS ActionTypeTCP )
type AffinityType ¶
type AffinityType int
AffinityType defines the type of affinity
const ( AffinityHard AffinityType = iota + 1 AffinitySoft )
type CRDColumn ¶
type CRDColumn struct {
Name string
Type string
Format string
Description string
Priority int32
Path string
}
CRDColumn specifies a column for server side printing of a custom resource definition
type CRDConfig ¶
type CRDConfig struct {
Name string
Namespace string
APIVersion string
ClusterName string
Group string
CRDVersion string
Plural string
Singular string
ShortNames []string
Kind string
ListKind string
Categories []string
ScaleSubresources *CRDScaleSubresources
Versions []CRDVersion
Validation *apiext.JSONSchemaProps
Scope CRDScopeType
ExtraColumns []CRDColumn
ConversionStrategy CRDConversionStraegyType
ConversionWebhookURL *string
ConversionWebhookServiceNamespace string
ConversionWebhookServiceName string
ConversionWebhookServicePath *string
ConversionWebhookCABundle []byte
ConversionReviewVersions []string
}
CRDConfig defines the configuration for a custom defined resource
type CRDConversionStraegyType ¶
type CRDConversionStraegyType int
CRDConversionStraegyType defines the type of conversion strategy for the custom resource
const ( CRDConversionStraegyTypeNone CRDConversionStraegyType = iota + 1 CRDConversionStraegyTypeWebhook )
type CRDScaleSubresources ¶
CRDScaleSubresources defines how to serve the scale subresource for the scale subresource of custom resources
type CRDScopeType ¶
type CRDScopeType int
CRDScopeType defines the scope of the custom resource definition
const ( CRDClusterScoped CRDScopeType = iota + 1 CRDNamespaceScoped )
type CRDVersion ¶
type CRDVersion struct {
Name string
Enabled bool
Storage bool
Schema *apiext.JSONSchemaProps
ScaleSubresources *CRDScaleSubresources
ExtraColumns []CRDColumn
}
CRDVersion defines a version for a custom resource definition
type ClusterRoleBindingConfig ¶
type ClusterRoleBindingConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
}
ClusterRoleBindingConfig defines the base configuration for a cluster role binding
type ClusterRoleConfig ¶
ClusterRoleConfig defines the basic configuration for a cluster role
type ComponentType ¶
type ComponentType string
ComponentType defines the component type
const ( DeploymentComponent ComponentType = "Deployment" PodComponent ComponentType = "Pod" ConfigMapComponent ComponentType = "ConfigMap" SecretComponent ComponentType = "Secret" ServiceComponent ComponentType = "Service" ServiceAccountComponent ComponentType = "ServiceAccount" ClusterRoleComponent ComponentType = "ClusterRole" ClusterRoleBindingComponent ComponentType = "ClusterRoleBinding" RoleComponent ComponentType = "Role" RoleBindingComponent ComponentType = "RoleBinding" ReplicationControllerComponent ComponentType = "ReplicationController" CRDComponent ComponentType = "CustomResourceDefinition" Controller ComponentType = "Controller" NamespaceComponent ComponentType = "Namespace" PersistentVolumeClaimComponent ComponentType = "PersistentVolumeClaim" JobComponent ComponentType = "Job" HorizontalPodAutoscalerComponent ComponentType = "HorizontalPodAutoscaler" IngressComponent ComponentType = "Ingress" StatefulSetComponent ComponentType = "StatefulSetIngress" DaemonSetComponent ComponentType = "DaemonSetIngress" )
type ConfigMapConfig ¶
ConfigMapConfig defines the basic configuration for a config map
type ConfigMapOrSecretVolumeConfig ¶
type ConfigMapOrSecretVolumeConfig struct {
VolumeName string
MapOrSecretName string
Items []KeyPath
DefaultMode *int32
Optional *bool
}
ConfigMapOrSecretVolumeConfig defines the configuration for a config map or secret
type ContainerConfig ¶
type ContainerConfig struct {
Name string
Args []string
Command []string
Image string
PullPolicy PullPolicyType
MinCPU string
MaxCPU string
MinMem string
MaxMem string
Privileged *bool
AllowPrivilegeEscalation *bool
ReadOnlyFS *bool
ForceNonRoot *bool
SELinux *SELinuxType
UID *int64
GID *int64
AllocateStdin bool
StdinOnce bool
AllocateTTY bool
WorkingDirectory string
TerminationMsgPath string
TerminationMsgPolicy TerminationMessagePolicyType
ProcMount *ProcMountType
}
ContainerConfig defines the basic configuration for a container
type DNSPolicyType ¶
type DNSPolicyType int
DNSPolicyType defines the pod DNS policy
const ( DNSClusterFirstWithHostNet DNSPolicyType = iota + 1 DNSClusterFirst DNSDefault )
type DaemonSetConfig ¶
type DaemonSetConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Strategy DaemonSetUpdateStrategyType
MinReadySeconds int32
RevisionHistoryLimit *int32
}
DaemonSetConfig defines the basic configuration for a daemon set
type DaemonSetUpdateStrategyType ¶
type DaemonSetUpdateStrategyType int
DaemonSetUpdateStrategyType defines the update strategy for the stateful set
const ( DaemonSetUpdateStrategyRollingUpdate DaemonSetUpdateStrategyType = iota + 1 DaemonSetUpdateStrategyOnDelete )
type DeployableComponentInterface ¶
type DeployableComponentInterface interface {
runtime.Object
GetName() string
Deploy(DeployerResources) error
Undeploy(DeployerResources) error
}
DeployableComponentInterface defines an interface a component must support in order for the deployer to deploy it
type DeployerControllerInterface ¶
type DeployerControllerInterface interface {
Run(DeployerResources, chan struct{}) error
}
DeployerControllerInterface defines the interface for controllers
type DeployerResources ¶
type DeployerResources struct {
KubeClient *kubernetes.Clientset
KubeExtensionsClient *extensionsclient.Clientset
}
DeployerResources defines the resources the deployer will provide
type DeploymentConfig ¶
type DeploymentConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Replicas *int32
Strategy DeploymentStrategyType
MaxExtra string
MinReadySeconds int32
RevisionHistoryLimit *int32
Paused bool
ProgressDeadlineSeconds *int32
}
DeploymentConfig defines the basic configuration for a deployment
type DeploymentStrategyType ¶
type DeploymentStrategyType int
const ( DeploymentStrategyTypeRecreate DeploymentStrategyType = iota + 1 DeploymentStrategyTypeRollingUpdate )
type EmptyDirVolumeConfig ¶
type EmptyDirVolumeConfig struct {
VolumeName string
Medium StorageMediumType
SizeLimit string
}
EmptyDirVolumeConfig defines the configuration for an EmptyDir volume
type EnvConfig ¶
type EnvConfig struct {
NameOrPrefix string
Type EnvType
KeyOrVal string
FromName string
Optional *bool
}
EnvConfig defines environment variable configuration
type EnvType ¶
type EnvType int
EnvType defines the type of environemnt configuration
const ( EnvVal EnvType = iota + 1 EnvFromConfigMap EnvFromSecret EnvFromCPULimits EnvFromMemLimits EnvFromEphemeralStorageLimits EnvFromCPURequests EnvFromMemRequests EnvFromEphemeralStorageRequests EnvFromName EnvFromNamespace EnvFromLabels EnvFromAnnotation EnvFromNodename EnvFromServiceAccountName EnvFromHostIP EnvFromPodIP )
type ExpressionRequirementConfig ¶
type ExpressionRequirementConfig struct {
Key string
Op ExpressionRequirementOp
Values []string
}
ExpressionRequirementConfig defines the configuration for an expression
type ExpressionRequirementOp ¶
type ExpressionRequirementOp int
A ExpressionRequirementOp is the set of operators that can be used in a selector requirement
const ( ExpressionRequirementOpIn ExpressionRequirementOp = iota + 1 ExpressionRequirementOpNotIn ExpressionRequirementOpExists ExpressionRequirementOpDoesNotExist )
type GCEPersistentDiskVolumeConfig ¶
type GCEPersistentDiskVolumeConfig struct {
VolumeName string
DiskName string
FSType string
Partition int32
ReadOnly bool
}
GCEPersistentDiskVolumeConfig defines the configuraton for a GCE Persistent Disk volume
type HPAConfig ¶
type HPAConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
MinReplicas *int32
MaxReplicas int32
TargetCPUUtilizationPercentage *int32
ScaleTargetKind string
ScaleTargetName string
ScaleTargetAPIVersion string
}
HPAConfig defines the basic configuration for a horizontal pod autoscaler
type HTTPIngressPathConfig ¶
HTTPIngressPathConfig defines a collection of paths that map requests to backends
type HostAliasConfig ¶
HostAliasConfig defines the configuration for a host alias on a pod
type HostModeType ¶
type HostModeType int
HostModeType defines the host mode for the pod
const ( HostModeNet HostModeType = iota + 1 HostModePID HostModeIPC )
type HostPathType ¶
type HostPathType int
HostPathType defines the type of HostPath
const ( HostPathUnset HostPathType = iota + 1 HostPathDirectoryOrCreate HostPathDirectory HostPathFileOrCreate HostPathFile HostPathSocket HostPathCharDev HostPathBlockDev )
type HostPathVolumeConfig ¶
type HostPathVolumeConfig struct {
VolumeName string
Path string
Type HostPathType
}
HostPathVolumeConfig defines the configuration for a HostPath volume
type IngressConfig ¶
type IngressConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
ServiceName string
ServicePort string
}
IngressConfig defines the basic configuration for an ingress
type IngressHostRuleConfig ¶
type IngressHostRuleConfig struct {
Host string
Paths []HTTPIngressPathConfig
}
IngressHostRuleConfig defines the rules mapping the paths under a specified host to the related backend services
type IngressTLSConfig ¶
IngressTLSConfig defines the configuration for TLS for the ingress
type JobConfig ¶
type JobConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Parallelism *int32
Completions *int32
MaxRetries *int32
ActiveDeadlineSeconds *int64
SelectManually *bool
DeletionTTL *int32
}
JobConfig defines the basic configuration for a job
type LoadBalancerConfig ¶
LoadBalancerConfig defines the configuration for a load balancer to use with a service
type MountPropagationType ¶
type MountPropagationType int
MountPropagationType defines the type of mount propagation for the volume mount
const ( MountPropagationHostToContainer MountPropagationType = iota + 1 MountPropagationBidirectional MountPropagationNone )
type NamespaceConfig ¶
NamespaceConfig defines the configuration for a namespace
type NodeAffinityConfig ¶
type NodeAffinityConfig struct {
Weight int32
Expressions []NodeExpression
Fields []NodeExpression
}
NodeAffinityConfig defines the configuration for a node affinity
type NodeExpression ¶
type NodeExpression struct {
Key string
Op NodeOperator
Values []string
}
NodeExpression defines the configuration for a node expresion
type NodeOperator ¶
type NodeOperator int
NodeOperator defines the valid operators in a node expression
const ( NodeOperatorIn NodeOperator = iota + 1 NodeOperatorNotIn NodeOperatorExists NodeOperatorDoesNotExist NodeOperatorGt NodeOperatorLt )
type PVCAccessModeType ¶
type PVCAccessModeType int
PVCAccessModeType defines the access mode for the persistent volume claim
const ( ReadWriteOnce PVCAccessModeType = iota + 1 ReadOnlyMany ReadWriteMany )
type PVCConfig ¶
type PVCConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Class *string
VolumeName string
Size string
Mode PVCMode
DataSourceAPIGroup *string
DataSourceKind string
DataSourceName string
}
PVCConfig defines the configuration for a persistent volume claim
type PVCVolumeConfig ¶
PVCVolumeConfig defines the configuration for a persistent volume claim
type PodAffinityConfig ¶
type PodAffinityConfig struct {
Weight int32
Selector SelectorConfig
Topology string
Namespaces []string
}
PodAffinityConfig defines the configuration for a pod affinity or antiaffinity
type PodConfig ¶
type PodConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
ServiceAccount string
RestartPolicy RestartPolicyType
TerminationGracePeriod *int64
ActiveDeadline *int64
Node string
FSGID *int64
Hostname string
SchedulerName string
DNSPolicy DNSPolicyType
PriorityValue *int32
PriorityClass string
SELinux *SELinuxType
RunAsUser *int64
RunAsGroup *int64
ForceNonRoot *bool
MountSAToken *bool
RuntimeClass *string
ServiceLinks *bool
}
PodConfig defines the basic configuration for a pod
type PodDNSConfig ¶
type PodDNSConfig struct {
Nameservers []string
SearchDomains []string
ResolverOptions map[string]string
}
PodDNSConfig defines the dns configuration for a pod
type PodManagementPolicyType ¶
type PodManagementPolicyType int
PodManagementPolicyType defines the pod managagement policy for the stateful set
const ( PodManagementPolicyOrdered PodManagementPolicyType = iota + 1 PodManagementPolicyParallel )
type PolicyRuleConfig ¶
type PolicyRuleConfig struct {
Verbs []string
APIGroups []string
Resources []string
ResourceNames []string
NonResourceURLs []string
}
PolicyRuleConfig defines the configuration for a policy rule
type PortConfig ¶
type PortConfig struct {
Name string
Protocol ProtocolType
IP string
HostPort int32
ContainerPort int32
}
PortConfig defines the configuration for a port
type ProbeConfig ¶
type ProbeConfig struct {
ActionConfig
Delay int32
Interval int32
MinCountSuccess int32
MinCountFailure int32
Timeout int32
}
ProbeConfig defines the configuration for a probe
type ProcMountType ¶
type ProcMountType int
ProcMountType defines the type of proc mount to use for the container
const ( ProcMountTypeDefault ProcMountType = iota + 1 ProcMountTypeUmasked )
type ProtocolType ¶
type ProtocolType int
ProtocolType defines the type of protocols
const ( ProtocolTCP ProtocolType = iota + 1 ProtocolUDP ProtocolSCTP )
type PullPolicyType ¶
type PullPolicyType int
PullPolicyType defines the type of pull policy
const ( PullAlways PullPolicyType = iota + 1 PullNever PullIfNotPresent )
type ReplicationControllerConfig ¶
type ReplicationControllerConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Replicas *int32
ReadySeconds int32
}
ReplicationControllerConfig defines the basic configuration for a replication controller
type RestartPolicyType ¶
type RestartPolicyType int
RestartPolicyType defines the pod restart policy
const ( RestartPolicyAlways RestartPolicyType = iota + 1 RestartPolicyOnFailure RestartPolicyNever )
type RoleBindingConfig ¶
RoleBindingConfig defines the base configuration for a role binding
type RoleConfig ¶
RoleConfig defines the basic configuration for a role
type RoleRefConfig ¶
RoleRefConfig defines the configuration for a role reference
type SELinuxType ¶
SELinuxType defines SELinux labels
type SecretConfig ¶
type SecretConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Type SecretType
}
SecretConfig defines the basic configuration for a secret
type SecretType ¶
type SecretType int
SecretType defines the type of sercret
const ( SecretTypeOpaque SecretType = iota + 1 SecretTypeServiceAccountToken SecretTypeDockercfg SecretTypeDockerConfigJSON SecretTypeBasicAuth SecretTypeSSHAuth SecretTypeTLS SecretTypeBootstrapToken )
type SelectorConfig ¶
type SelectorConfig struct {
Labels map[string]string
Expressions []ExpressionRequirementConfig
}
SelectorConfig defines the configuration for a selector
type ServiceAccountConfig ¶
type ServiceAccountConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
AutomountToken *bool
}
ServiceAccountConfig defines the basic configuration for a service account
type ServiceAccountSecretConfig ¶
type ServiceAccountSecretConfig struct {
Kind string
Namespace string
Name string
UID string
Version string
ResourceVersion string
FieldPath string
}
ServiceAccountSecretConfig defines the configuration for an allowed secret by a service account
type ServiceAffinityType ¶
type ServiceAffinityType int
const ( ServiceAffinityTypeClientIP ServiceAffinityType = iota + 1 ServiceAffinityTypeNone )
type ServiceConfig ¶
type ServiceConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
ExternalName string
Type ServiceType
ClusterIP string
PublishNotReadyAddresses bool
TrafficPolicy TrafficPolicyType
Affinity ServiceAffinityType
IPTimeout *int32
}
ServiceConfig defines the basic configuration for a service
type ServicePortConfig ¶
type ServicePortConfig struct {
Name string
Port int32
TargetPort string
NodePort int32
Protocol ProtocolType
}
ServicePortConfig defines the configuration for a service port
type ServiceType ¶
type ServiceType int
ServiceType defines how the service is exposed service
const ( ServiceTypeServiceIP ServiceType = iota + 1 ServiceTypeNodePort ServiceTypeLoadBalancer ServiceTypeExternalName )
type StatefulSetConfig ¶
type StatefulSetConfig struct {
APIVersion string
ClusterName string
Name string
Namespace string
Replicas *int32
UpdateStrategy StatefulSetUpdateStrategyType
Partition *int32
RevisionHistoryLimit *int32
PodManagementPolicy PodManagementPolicyType
Service string
}
StatefulSetConfig defines the basic configuration for a stateful set
type StatefulSetUpdateStrategyType ¶
type StatefulSetUpdateStrategyType int
StatefulSetUpdateStrategyType defines the update strategy for the stateful set
const ( StatefulSetUpdateStrategyRollingUpdate StatefulSetUpdateStrategyType = iota + 1 StatefulSetUpdateStrategyOnDelete )
type StorageMediumType ¶
type StorageMediumType int
StorageMediumType defines the storage medium
const ( StorageMediumDefault StorageMediumType = iota + 1 StorageMediumMemory StorageMediumHugePages )
type SubjectConfig ¶
SubjectConfig defines the configuration for a subject
type TerminationMessagePolicyType ¶
type TerminationMessagePolicyType int
TerminationMessagePolicyType defines the policy for the termination message
const ( TerminationMessageReadFile TerminationMessagePolicyType = iota + 1 TerminationMessageFallbackToLogsOnError )
type TolerationConfig ¶
type TolerationConfig struct {
Duration *int64
Effect TolerationEffectType
Key string
Value string
Op TolerationOpType
}
TolerationConfig defines the configuration for a pod toleration
type TolerationEffectType ¶
type TolerationEffectType int
TolerationEffectType defines the effect of the toleration
const ( TolerationEffectNoSchedule TolerationEffectType = iota + 1 TolerationEffectPreferNoSchedule TolerationEffectNoExecute )
type TolerationOpType ¶
type TolerationOpType int
TolerationOpType defines the toleration operator
const ( TolerationOpExists TolerationOpType = iota + 1 TolerationOpEqual )
type TrafficPolicyType ¶
type TrafficPolicyType int
TrafficPolicyType defines the external traffic policy for the service
const ( ServiceTrafficPolicyLocal TrafficPolicyType = iota + 1 ServiceTrafficPolicyCluster )
type VolumeDeviceConfig ¶
VolumeDeviceConfig defines the configuration for a volume device
type VolumeMountConfig ¶
type VolumeMountConfig struct {
MountPath string
Propagation *MountPropagationType
Name string
SubPath string
ReadOnly bool
}
VolumeMountConfig defines the configuration for a volume mount
Source Files
¶
- action.go
- affinity.go
- components.go
- config_map.go
- container.go
- custom_resource_definition.go
- daemon_set.go
- deployer_resources.go
- deployment.go
- env.go
- horizontal_pod_autoscaler.go
- ingress.go
- job.go
- namespace.go
- persistent_volume_claim.go
- pod.go
- protocol.go
- rbac.go
- replication_controller.go
- secret.go
- selectors.go
- selinux.go
- service.go
- service_account.go
- stateful_set.go
- volume.go