api

package
v0.0.0-...-16cafa9 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2019 License: Apache-2.0 Imports: 4 Imported by: 22

Documentation

Index

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

type CRDScaleSubresources struct {
	SpecPath     string
	StatusPath   string
	SelectorPath *string
}

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

type ClusterRoleConfig struct {
	APIVersion  string
	ClusterName string
	Name        string
	Namespace   string
}

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

type ConfigMapConfig struct {
	APIVersion  string
	ClusterName string
	Name        string
	Namespace   string
}

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
	MaxUnavailable       string
	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
	MaxUnavailable          string
	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

type HTTPIngressPathConfig struct {
	Path        string
	ServiceName string
	ServicePort string
}

HTTPIngressPathConfig defines a collection of paths that map requests to backends

type HostAliasConfig

type HostAliasConfig struct {
	IP        string
	Hostnames []string
}

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

type IngressTLSConfig struct {
	Hosts      []string
	SecretName string
}

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 KeyPath

type KeyPath struct {
	Key  string
	Path string
	Mode *int32
}

KeyPath defines the mapping of a string key to a path within a volume

type LoadBalancerConfig

type LoadBalancerConfig struct {
	IP                  string
	AllowedIPs          []string
	HealthCheckNodePort int32
}

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

type NamespaceConfig struct {
	APIVersion  string
	ClusterName string
	Name        string
	Namespace   string
}

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 PVCMode

type PVCMode int
const (
	PVCModeBLock PVCMode = iota + 1
	PVCModeFilesystem
)

type PVCVolumeConfig

type PVCVolumeConfig struct {
	VolumeName string
	PVCName    string
	ReadOnly   bool
}

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
	ShareNamespace         *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

type RoleBindingConfig struct {
	APIVersion  string
	ClusterName string
	Name        string
	Namespace   string
}

RoleBindingConfig defines the base configuration for a role binding

type RoleConfig

type RoleConfig struct {
	APIVersion  string
	ClusterName string
	Name        string
	Namespace   string
}

RoleConfig defines the basic configuration for a role

type RoleRefConfig

type RoleRefConfig struct {
	APIGroup  string
	Kind      string
	Name      string
	Namespace string
}

RoleRefConfig defines the configuration for a role reference

type SELinuxType

type SELinuxType struct {
	Level string
	Role  string
	Type  string
	User  string
}

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

type SubjectConfig struct {
	Kind      string
	APIGroup  string
	Name      string
	Namespace string
}

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

type VolumeDeviceConfig struct {
	Name string
	Path string
}

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

Jump to

Keyboard shortcuts

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