Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConvertOptions ¶
type ConvertOptions struct {
ToStdout bool
CreateD bool
CreateRC bool
CreateDS bool
CreateDeploymentConfig bool
BuildRepo string
BuildBranch string
Build string
Profiles []string
PushImage bool
PushImageRegistry string
CreateChart bool
GenerateYaml bool
GenerateJSON bool
StoreManifest bool
EmptyVols bool
Volumes string
PVCRequestSize string
InsecureRepository bool
Replicas int
InputFiles []string
OutFile string
Provider string
Namespace string
Controller string
IsDeploymentFlag bool
IsDaemonSetFlag bool
IsReplicationControllerFlag bool
IsReplicaSetFlag bool
IsDeploymentConfigFlag bool
IsNamespaceFlag bool
BuildCommand string
PushCommand string
Server string
YAMLIndent int
WithKomposeAnnotation bool
MultipleContainerMode bool
ServiceGroupMode string
ServiceGroupName string
SecretsAsFiles bool
GenerateNetworkPolicies bool
NoInterpolate bool
}
ConvertOptions holds all options that controls transformation process
func (*ConvertOptions) IsPodController ¶ added in v1.23.0
func (opt *ConvertOptions) IsPodController() bool
IsPodController indicate if the user want to use a controller
type HealthCheck ¶ added in v1.1.0
type HealthCheck struct {
Test []string
Timeout int32
Interval int32
Retries int32
StartPeriod int32
Disable bool
HTTPPath string
HTTPPort int32
TCPPort int32
}
HealthCheck the healthcheck configuration for a service "StartPeriod" was added to v3.4 of the compose, see: https://github.com/docker/cli/issues/116
type HealthChecks ¶ added in v1.23.0
type HealthChecks struct {
Liveness HealthCheck
Readiness HealthCheck
}
HealthChecks used to distinguish between liveness and readiness
type KomposeObject ¶
type KomposeObject struct {
ServiceConfigs map[string]ServiceConfig
// LoadedFrom is name of the loader that created KomposeObject
// Transformer need to know origin format in order to tell user what tag is not supported in origin format
// as they can have different names. For example environment variables are called environment in compose but Env in bundle.
LoadedFrom string
Secrets types.Secrets
// Namespace is the namespace where all the generated objects would be assigned to
Namespace string
}
KomposeObject holds the generic struct of Kompose transformation
type Placement ¶ added in v1.24.0
type Placement struct {
PositiveConstraints map[string]string
NegativeConstraints map[string]string
Preferences []string
}
Placement holds the placement struct of container
type Ports ¶
type Ports struct {
HostPort int32
ContainerPort int32
HostIP string
Protocol string // Upper string
}
Ports holds the ports struct of a container
type ServiceConfig ¶
type ServiceConfig struct {
Name string
ContainerName string
Image string `compose:"image"`
Environment []EnvVar `compose:"environment"`
EnvFile []string `compose:"env_file"`
Port []Ports `compose:"ports"`
Command []string `compose:"command"`
WorkingDir string `compose:""`
DomainName string `compose:"domainname"`
HostName string `compose:"hostname"`
ReadOnly bool `compose:"read_only"`
Args []string `compose:"args"`
VolList []string `compose:"volumes"`
NetworkMode string `compose:"network_mode"`
Network []string `compose:"network"`
Labels map[string]string `compose:"labels"`
Annotations map[string]string `compose:""`
CPUSet string `compose:"cpuset"`
CPUQuota int64 `compose:"cpu_quota"`
CPULimit int64 `compose:""`
CPUReservation int64 `compose:""`
CapAdd []string `compose:"cap_add"`
CapDrop []string `compose:"cap_drop"`
Expose []string `compose:"expose"`
ImagePullPolicy string `compose:"kompose.image-pull-policy"`
Pid string `compose:"pid"`
Privileged bool `compose:"privileged"`
Restart string `compose:"restart"`
User string `compose:"user"`
VolumesFrom []string `compose:"volumes_from"`
ServiceType string `compose:"kompose.service.type"`
ServiceExternalTrafficPolicy string `compose:"kompose.service.external-traffic-policy"`
NodePortPort int32 `compose:"kompose.service.nodeport.port"`
StopGracePeriod string `compose:"stop_grace_period"`
Build string `compose:"build"`
BuildArgs map[string]*string `compose:"build-args"`
ExposeContainerToHost bool `compose:"kompose.controller.port.expose"`
ExposeService string `compose:"kompose.service.expose"`
ExposeServicePath string `compose:"kompose.service.expose.path"`
BuildLabels map[string]string `compose:"build-labels"`
BuildTarget string `compose:""`
ExposeServiceTLS string `compose:"kompose.service.expose.tls-secret"`
ExposeServiceIngressClassName string `compose:"kompose.service.expose.ingress-class-name"`
ImagePullSecret string `compose:"kompose.image-pull-secret"`
Stdin bool `compose:"stdin_open"`
Tty bool `compose:"tty"`
MemLimit types.UnitBytes `compose:"mem_limit"`
MemReservation types.UnitBytes `compose:""`
DeployMode string `compose:""`
VolumeMountSubPath string `compose:"kompose.volume.subpath"`
// DeployLabels mapping to kubernetes labels
DeployLabels map[string]string `compose:""`
DeployUpdateConfig types.UpdateConfig `compose:""`
TmpFs []string `compose:"tmpfs"`
Dockerfile string `compose:"dockerfile"`
Replicas int `compose:"replicas"`
GroupAdd []int64 `compose:"group_add"`
FsGroup int64 `compose:"kompose.security-context.fsgroup"`
CronJobSchedule string `compose:"kompose.cronjob.schedule"`
CronJobConcurrencyPolicy batchv1.ConcurrencyPolicy `compose:"kompose.cronjob.concurrency_policy"`
CronJobBackoffLimit *int32 `compose:"kompose.cronjob.backoff_limit"`
Volumes []Volumes `compose:""`
Secrets []types.ServiceSecretConfig
HealthChecks HealthChecks `compose:""`
Placement Placement `compose:""`
//This is for long LONG SYNTAX link(https://docs.docker.com/compose/compose-file/#long-syntax)
Configs []types.ServiceConfigObjConfig `compose:""`
//This is for SHORT SYNTAX link(https://docs.docker.com/compose/compose-file/#configs)
ConfigsMetaData types.Configs `compose:""`
WithKomposeAnnotation bool `compose:""`
InGroup bool
}
ServiceConfig holds the basic struct of a container which should not introduce any kubernetes specific struct
func (*ServiceConfig) GetConfigMapKeyFromMeta ¶ added in v1.21.0
func (s *ServiceConfig) GetConfigMapKeyFromMeta(name string) (string, error)
GetConfigMapKeyFromMeta ... given a source name ,find the file and extract the filename which will be act as ConfigMap key return "" if not found
func (*ServiceConfig) GetKubernetesUpdateStrategy ¶ added in v1.21.0
func (s *ServiceConfig) GetKubernetesUpdateStrategy() *v1.RollingUpdateDeployment
GetKubernetesUpdateStrategy from compose update_config 1. only apply to Deployment, but the check is not happened here 2. only support `parallelism` and `order` return nil if not support
func (*ServiceConfig) GetOSUpdateStrategy ¶ added in v1.21.0
func (s *ServiceConfig) GetOSUpdateStrategy() *deployapi.RollingDeploymentStrategyParams
GetOSUpdateStrategy ...
type ServiceConfigGroup ¶ added in v1.23.0
type ServiceConfigGroup []ServiceConfig
ServiceConfigGroup holds an array of a ServiceConfig objects.
type Volumes ¶ added in v1.1.0
type Volumes struct {
SvcName string // Service name to which volume is linked
MountPath string // Mountpath extracted from docker-compose file
VFrom string // denotes service name from which volume is coming
VolumeName string // name of volume if provided explicitly
Host string // host machine address
Container string // Mountpath
Mode string // access mode for volume
PVCName string // name of PVC
PVCSize string // PVC size
SelectorValue string // Value of the label selector
}
Volumes holds the volume struct of container