Documentation ¶
Index ¶
- Constants
- func ConfigAffinity(service kobject.ServiceConfig) *api.Affinity
- func ConfigCapabilities(service kobject.ServiceConfig) *api.Capabilities
- func ConfigEnvs(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) ([]api.EnvVar, error)
- func ConfigPorts(name string, service kobject.ServiceConfig) []api.ContainerPort
- func DurationStrToSecondsInt(s string) (*int64, error)
- func FormatContainerName(name string) string
- func FormatEnvName(name string) string
- func FormatFileName(name string) string
- func FormatResourceName(name string) string
- func GetContentFromFile(file string) (string, error)
- func GetEnvsFromFile(file string, opt kobject.ConvertOptions) (map[string]string, error)
- func GetImagePullPolicy(name, policy string) (api.PullPolicy, error)
- func GetRestartPolicy(name, restart string) (api.RestartPolicy, error)
- func KomposeObjectToServiceConfigGroupMapping(komposeObject kobject.KomposeObject) map[string]kobject.ServiceConfigGroup
- func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error
- func SetVolumeMountPaths(volumesMount []api.VolumeMount) mapset.Set
- func SetVolumeNames(volumes []api.Volume) mapset.Set
- func SortedKeys(komposeObject kobject.KomposeObject) []string
- func TranslatePodResource(service *kobject.ServiceConfig, template *api.PodTemplateSpec)
- type Kubernetes
- func (k *Kubernetes) CheckUnsupportedKey(komposeObject *kobject.KomposeObject, unsupportedKey map[string]bool) []string
- func (k *Kubernetes) ConfigConfigMapVolumeSource(cmName string, targetPath string, cm *api.ConfigMap) *api.VolumeSource
- func (k *Kubernetes) ConfigEmptyVolumeSource(key string) *api.VolumeSource
- func (k *Kubernetes) ConfigHostPathVolumeSource(path string) (*api.VolumeSource, error)
- func (k *Kubernetes) ConfigLBServicePorts(name string, service kobject.ServiceConfig) ([]api.ServicePort, []api.ServicePort)
- func (k *Kubernetes) ConfigPVCVolumeSource(name string, readonly bool) *api.VolumeSource
- func (k *Kubernetes) ConfigSecretVolumes(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume)
- func (k *Kubernetes) ConfigServicePorts(name string, service kobject.ServiceConfig) []api.ServicePort
- func (k *Kubernetes) ConfigTmpfs(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume)
- func (k *Kubernetes) ConfigVolumes(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume, []*api.PersistentVolumeClaim, ...)
- func (k *Kubernetes) CreateHeadlessService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service
- func (k *Kubernetes) CreateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) []runtime.Object
- func (k *Kubernetes) CreateLBService(name string, service kobject.ServiceConfig, objects []runtime.Object) []*api.Service
- func (k *Kubernetes) CreateNetworkPolicy(name string, networkName string) (*networkingv1.NetworkPolicy, error)
- func (k *Kubernetes) CreatePVC(name string, mode string, size string, selectorValue string, ...) (*api.PersistentVolumeClaim, error)
- func (k *Kubernetes) CreateSecrets(komposeObject kobject.KomposeObject) ([]*api.Secret, error)
- func (k *Kubernetes) CreateService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service
- func (k *Kubernetes) InitConfigMapForEnv(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, ...) *api.ConfigMap
- func (k *Kubernetes) InitConfigMapFromFile(name string, service kobject.ServiceConfig, fileName string) *api.ConfigMap
- func (k *Kubernetes) InitD(name string, service kobject.ServiceConfig, replicas int) *appsv1.Deployment
- func (k *Kubernetes) InitDS(name string, service kobject.ServiceConfig) *appsv1.DaemonSet
- func (k *Kubernetes) InitPod(name string, service kobject.ServiceConfig) *api.Pod
- func (k *Kubernetes) InitPodSpec(name string, image string, pullSecret string) api.PodSpec
- func (k *Kubernetes) InitPodSpecWithConfigMap(name string, image string, service kobject.ServiceConfig) api.PodSpec
- func (k *Kubernetes) InitSvc(name string, service kobject.ServiceConfig) *api.Service
- func (k *Kubernetes) IntiConfigMapFromFileOrDir(name, cmName, filePath string, service kobject.ServiceConfig) (*api.ConfigMap, error)
- func (k *Kubernetes) PortsExist(service kobject.ServiceConfig) bool
- func (k *Kubernetes) RemoveDupObjects(objs *[]runtime.Object)
- func (k *Kubernetes) SortServicesFirst(objs *[]runtime.Object)
- func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) ([]runtime.Object, error)
- func (k *Kubernetes) UpdateController(obj runtime.Object, updateTemplate func(*api.PodTemplateSpec) error, ...) (err error)
- func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, ...) error
- func (k *Kubernetes) UpdateKubernetesObjectsMultipleContainers(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, ...) error
- type PodSpec
- type PodSpecOption
- func AddContainer(service kobject.ServiceConfig, opt kobject.ConvertOptions) PodSpecOption
- func DomainName(service kobject.ServiceConfig) PodSpecOption
- func HostName(service kobject.ServiceConfig) PodSpecOption
- func ImagePullPolicy(name string, service kobject.ServiceConfig) PodSpecOption
- func ImagePullSecrets(pullSecret string) PodSpecOption
- func LivenessProbe(service kobject.ServiceConfig) PodSpecOption
- func ReadinessProbe(service kobject.ServiceConfig) PodSpecOption
- func ResourcesLimits(service kobject.ServiceConfig) PodSpecOption
- func ResourcesRequests(service kobject.ServiceConfig) PodSpecOption
- func RestartPolicy(name string, service kobject.ServiceConfig) PodSpecOption
- func SecurityContext(name string, service kobject.ServiceConfig) PodSpecOption
- func ServiceAccountName(serviceAccountName string) PodSpecOption
- func SetPorts(name string, service kobject.ServiceConfig) PodSpecOption
- func SetVolumeMounts(volumesMount []api.VolumeMount) PodSpecOption
- func SetVolumes(volumes []api.Volume) PodSpecOption
- func TerminationGracePeriodSeconds(name string, service kobject.ServiceConfig) PodSpecOption
Constants ¶
const ( // DeploymentController is controller type for Deployment DeploymentController = "deployment" // DaemonSetController is controller type for DaemonSet DaemonSetController = "daemonset" // ReplicationController is controller type for ReplicationController ReplicationController = "replicationcontroller" )
const PVCRequestSize = "100Mi"
PVCRequestSize (Persistent Volume Claim) has default size
const TIMEOUT = 300
TIMEOUT is how long we'll wait for the termination of kubernetes resource to be successful used when undeploying resources from kubernetes
Variables ¶
This section is empty.
Functions ¶
func ConfigAffinity ¶ added in v1.24.0
func ConfigAffinity(service kobject.ServiceConfig) *api.Affinity
ConfigAffinity configures the Affinity.
func ConfigCapabilities ¶ added in v1.23.0
func ConfigCapabilities(service kobject.ServiceConfig) *api.Capabilities
ConfigCapabilities configure POSIX capabilities that can be added or removed to a container
func ConfigEnvs ¶
func ConfigEnvs(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) ([]api.EnvVar, error)
ConfigEnvs configures the environment variables.
func ConfigPorts ¶
func ConfigPorts(name string, service kobject.ServiceConfig) []api.ContainerPort
ConfigPorts configures the container ports.
func DurationStrToSecondsInt ¶ added in v0.7.0
DurationStrToSecondsInt converts duration string to *int64 in seconds
func FormatContainerName ¶ added in v1.19.0
FormatContainerName format Container name
func FormatEnvName ¶ added in v1.3.0
FormatEnvName format env name
func FormatFileName ¶ added in v1.17.0
FormatFileName format file name
func FormatResourceName ¶ added in v1.23.0
FormatResourceName generate a valid k8s resource name
func GetContentFromFile ¶ added in v1.17.0
GetContentFromFile gets the content from the file..
func GetEnvsFromFile ¶ added in v1.3.0
GetEnvsFromFile get env vars from env_file
func GetImagePullPolicy ¶ added in v1.21.0
func GetImagePullPolicy(name, policy string) (api.PullPolicy, error)
GetImagePullPolicy get image pull settings
func GetRestartPolicy ¶ added in v1.21.0
func GetRestartPolicy(name, restart string) (api.RestartPolicy, error)
GetRestartPolicy ...
func KomposeObjectToServiceConfigGroupMapping ¶ added in v1.23.0
func KomposeObjectToServiceConfigGroupMapping(komposeObject kobject.KomposeObject) map[string]kobject.ServiceConfigGroup
KomposeObjectToServiceConfigGroupMapping returns the service config group by name
func PrintList ¶
func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error
PrintList will take the data converted and decide on the commandline attributes given
func SetVolumeMountPaths ¶ added in v1.23.0
func SetVolumeMountPaths(volumesMount []api.VolumeMount) mapset.Set
func SortedKeys ¶ added in v0.7.0
func SortedKeys(komposeObject kobject.KomposeObject) []string
SortedKeys Ensure the kubernetes objects are in a consistent order
func TranslatePodResource ¶ added in v1.21.0
func TranslatePodResource(service *kobject.ServiceConfig, template *api.PodTemplateSpec)
TranslatePodResource config pod resources
Types ¶
type Kubernetes ¶
type Kubernetes struct { // the user provided options from the command line Opt kobject.ConvertOptions }
Kubernetes implements Transformer interface and represents Kubernetes transformer
func (*Kubernetes) CheckUnsupportedKey ¶ added in v0.2.0
func (k *Kubernetes) CheckUnsupportedKey(komposeObject *kobject.KomposeObject, unsupportedKey map[string]bool) []string
CheckUnsupportedKey checks if given komposeObject contains keys that are not supported by this transformer. list of all unsupported keys are stored in unsupportedKey variable returns list of TODO: ....
func (*Kubernetes) ConfigConfigMapVolumeSource ¶ added in v1.21.0
func (k *Kubernetes) ConfigConfigMapVolumeSource(cmName string, targetPath string, cm *api.ConfigMap) *api.VolumeSource
ConfigConfigMapVolumeSource config a configmap to use as volume source
func (*Kubernetes) ConfigEmptyVolumeSource ¶ added in v0.1.2
func (k *Kubernetes) ConfigEmptyVolumeSource(key string) *api.VolumeSource
ConfigEmptyVolumeSource is helper function to create an EmptyDir api.VolumeSource either for Tmpfs or for emptyvolumes
func (*Kubernetes) ConfigHostPathVolumeSource ¶ added in v1.11.0
func (k *Kubernetes) ConfigHostPathVolumeSource(path string) (*api.VolumeSource, error)
ConfigHostPathVolumeSource is a helper function to create a HostPath api.VolumeSource
func (*Kubernetes) ConfigLBServicePorts ¶ added in v1.23.0
func (k *Kubernetes) ConfigLBServicePorts(name string, service kobject.ServiceConfig) ([]api.ServicePort, []api.ServicePort)
func (*Kubernetes) ConfigPVCVolumeSource ¶ added in v0.1.2
func (k *Kubernetes) ConfigPVCVolumeSource(name string, readonly bool) *api.VolumeSource
ConfigPVCVolumeSource is helper function to create an api.VolumeSource with a PVC
func (*Kubernetes) ConfigSecretVolumes ¶ added in v1.20.0
func (k *Kubernetes) ConfigSecretVolumes(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume)
ConfigSecretVolumes config volumes from secret. Link: https://docs.docker.com/compose/compose-file/#secrets In kubernetes' Secret resource, it has a data structure like a map[string]bytes, every key will act like the file name when mount to a container. This is the part that missing in compose. So we will create a single key secret from compose config and the key's name will be the secret's name, it's value is the file content. compose'secret can only be mounted at `/run/secrets`, so we will hardcoded this.
func (*Kubernetes) ConfigServicePorts ¶ added in v0.1.2
func (k *Kubernetes) ConfigServicePorts(name string, service kobject.ServiceConfig) []api.ServicePort
ConfigServicePorts configure the container service ports.
func (*Kubernetes) ConfigTmpfs ¶ added in v0.4.0
func (k *Kubernetes) ConfigTmpfs(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume)
ConfigTmpfs configure the tmpfs.
func (*Kubernetes) ConfigVolumes ¶ added in v0.1.2
func (k *Kubernetes) ConfigVolumes(name string, service kobject.ServiceConfig) ([]api.VolumeMount, []api.Volume, []*api.PersistentVolumeClaim, []*api.ConfigMap, error)
ConfigVolumes configure the container volumes.
func (*Kubernetes) CreateHeadlessService ¶ added in v0.2.0
func (k *Kubernetes) CreateHeadlessService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service
CreateHeadlessService creates a k8s headless service. This is used for docker-compose services without ports. For such services we can't create regular Kubernetes Service. and without Service Pods can't find each other using DNS names. Instead of regular Kubernetes Service we create Headless Service. DNS of such service points directly to Pod IP address. You can find more about Headless Services in Kubernetes documentation https://kubernetes.io/docs/user-guide/services/#headless-services
func (*Kubernetes) CreateKubernetesObjects ¶ added in v0.1.2
func (k *Kubernetes) CreateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) []runtime.Object
CreateKubernetesObjects generates a Kubernetes artifact for each input type service
func (*Kubernetes) CreateLBService ¶ added in v1.23.0
func (k *Kubernetes) CreateLBService(name string, service kobject.ServiceConfig, objects []runtime.Object) []*api.Service
func (*Kubernetes) CreateNetworkPolicy ¶ added in v1.20.0
func (k *Kubernetes) CreateNetworkPolicy(name string, networkName string) (*networkingv1.NetworkPolicy, error)
CreateNetworkPolicy initializes Network policy
func (*Kubernetes) CreatePVC ¶ added in v0.1.2
func (k *Kubernetes) CreatePVC(name string, mode string, size string, selectorValue string, storageClassName string) (*api.PersistentVolumeClaim, error)
CreatePVC initializes PersistentVolumeClaim
func (*Kubernetes) CreateSecrets ¶ added in v1.20.0
func (k *Kubernetes) CreateSecrets(komposeObject kobject.KomposeObject) ([]*api.Secret, error)
CreateSecrets create secrets
func (*Kubernetes) CreateService ¶ added in v0.1.2
func (k *Kubernetes) CreateService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service
CreateService creates a k8s service
func (*Kubernetes) InitConfigMapForEnv ¶ added in v1.17.0
func (k *Kubernetes) InitConfigMapForEnv(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, envFile string) *api.ConfigMap
InitConfigMapForEnv initializes a ConfigMap object
func (*Kubernetes) InitConfigMapFromFile ¶ added in v1.17.0
func (k *Kubernetes) InitConfigMapFromFile(name string, service kobject.ServiceConfig, fileName string) *api.ConfigMap
InitConfigMapFromFile initializes a ConfigMap object
func (*Kubernetes) InitD ¶ added in v0.1.2
func (k *Kubernetes) InitD(name string, service kobject.ServiceConfig, replicas int) *appsv1.Deployment
InitD initializes Kubernetes Deployment object
func (*Kubernetes) InitDS ¶ added in v0.1.2
func (k *Kubernetes) InitDS(name string, service kobject.ServiceConfig) *appsv1.DaemonSet
InitDS initializes Kubernetes DaemonSet object
func (*Kubernetes) InitPod ¶ added in v0.2.0
func (k *Kubernetes) InitPod(name string, service kobject.ServiceConfig) *api.Pod
InitPod initializes Kubernetes Pod object
func (*Kubernetes) InitPodSpec ¶ added in v0.3.0
InitPodSpec creates the pod specification
func (*Kubernetes) InitPodSpecWithConfigMap ¶ added in v1.17.0
func (k *Kubernetes) InitPodSpecWithConfigMap(name string, image string, service kobject.ServiceConfig) api.PodSpec
InitPodSpecWithConfigMap creates the pod specification
func (*Kubernetes) InitSvc ¶ added in v0.1.2
func (k *Kubernetes) InitSvc(name string, service kobject.ServiceConfig) *api.Service
InitSvc initializes Kubernetes Service object
func (*Kubernetes) IntiConfigMapFromFileOrDir ¶ added in v1.21.0
func (k *Kubernetes) IntiConfigMapFromFileOrDir(name, cmName, filePath string, service kobject.ServiceConfig) (*api.ConfigMap, error)
IntiConfigMapFromFileOrDir will create a configmap from dir or file usage:
- volume
func (*Kubernetes) PortsExist ¶ added in v0.1.2
func (k *Kubernetes) PortsExist(service kobject.ServiceConfig) bool
PortsExist checks if service has ports defined
func (*Kubernetes) RemoveDupObjects ¶ added in v1.21.0
func (k *Kubernetes) RemoveDupObjects(objs *[]runtime.Object)
RemoveDupObjects remove objects that are dups...eg. configmaps from env. since we know for sure that the duplication can only happens on ConfigMap, so this code will looks like this for now. + NetworkPolicy
func (*Kubernetes) SortServicesFirst ¶ added in v0.1.2
func (k *Kubernetes) SortServicesFirst(objs *[]runtime.Object)
SortServicesFirst - the objects that we get can be in any order this keeps services first according to best practice kubernetes services should be created first http://kubernetes.io/docs/user-guide/config-best-practices/
func (*Kubernetes) Transform ¶
func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) ([]runtime.Object, error)
Transform maps komposeObject to k8s objects returns object that are already sorted in the way that Services are first
func (*Kubernetes) UpdateController ¶ added in v0.1.2
func (k *Kubernetes) UpdateController(obj runtime.Object, updateTemplate func(*api.PodTemplateSpec) error, updateMeta func(meta *metav1.ObjectMeta)) (err error)
UpdateController updates the given object with the given pod template update function and ObjectMeta update function
func (*Kubernetes) UpdateKubernetesObjects ¶ added in v0.1.2
func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, objects *[]runtime.Object) error
UpdateKubernetesObjects loads configurations to k8s objects
func (*Kubernetes) UpdateKubernetesObjectsMultipleContainers ¶ added in v1.23.0
func (k *Kubernetes) UpdateKubernetesObjectsMultipleContainers(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions, objects *[]runtime.Object, podSpec PodSpec) error
type PodSpec ¶ added in v1.23.0
func (*PodSpec) Append ¶ added in v1.23.0
func (podSpec *PodSpec) Append(ops ...PodSpecOption) *PodSpec
type PodSpecOption ¶ added in v1.23.0
type PodSpecOption func(*PodSpec)
func AddContainer ¶ added in v1.23.0
func AddContainer(service kobject.ServiceConfig, opt kobject.ConvertOptions) PodSpecOption
func DomainName ¶ added in v1.23.0
func DomainName(service kobject.ServiceConfig) PodSpecOption
func HostName ¶ added in v1.23.0
func HostName(service kobject.ServiceConfig) PodSpecOption
func ImagePullPolicy ¶ added in v1.23.0
func ImagePullPolicy(name string, service kobject.ServiceConfig) PodSpecOption
Configure the image pull policy
func ImagePullSecrets ¶ added in v1.23.0
func ImagePullSecrets(pullSecret string) PodSpecOption
func LivenessProbe ¶ added in v1.23.0
func LivenessProbe(service kobject.ServiceConfig) PodSpecOption
func ReadinessProbe ¶ added in v1.23.0
func ReadinessProbe(service kobject.ServiceConfig) PodSpecOption
func ResourcesLimits ¶ added in v1.23.0
func ResourcesLimits(service kobject.ServiceConfig) PodSpecOption
Configure the resource limits
func ResourcesRequests ¶ added in v1.23.0
func ResourcesRequests(service kobject.ServiceConfig) PodSpecOption
Configure the resource requests
func RestartPolicy ¶ added in v1.23.0
func RestartPolicy(name string, service kobject.ServiceConfig) PodSpecOption
Configure the container restart policy.
func SecurityContext ¶ added in v1.23.0
func SecurityContext(name string, service kobject.ServiceConfig) PodSpecOption
Configure SecurityContext
func ServiceAccountName ¶ added in v1.24.0
func ServiceAccountName(serviceAccountName string) PodSpecOption
func SetPorts ¶ added in v1.23.0
func SetPorts(name string, service kobject.ServiceConfig) PodSpecOption
Configure ports
func SetVolumeMounts ¶ added in v1.23.0
func SetVolumeMounts(volumesMount []api.VolumeMount) PodSpecOption
func SetVolumes ¶ added in v1.23.0
func SetVolumes(volumes []api.Volume) PodSpecOption
func TerminationGracePeriodSeconds ¶ added in v1.23.0
func TerminationGracePeriodSeconds(name string, service kobject.ServiceConfig) PodSpecOption