model

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertCronJobDescriptorToProjectAPI

func ConvertCronJobDescriptorToProjectAPI(descriptor CronJobDescriptor) (projectAPI.CronJob, error)

func ConvertCronJobToProjectAPI

func ConvertCronJobToProjectAPI(cronJob CronJob) (projectAPI.CronJob, error)

func ConvertDaemonSetDescriptorToProjectAPI

func ConvertDaemonSetDescriptorToProjectAPI(descriptor DaemonSetDescriptor) (projectAPI.DaemonSet, error)

func ConvertDaemonSetToProjectAPI

func ConvertDaemonSetToProjectAPI(daemonSet DaemonSet) (projectAPI.DaemonSet, error)

func ConvertDeploymentDescriptorToProjectAPI

func ConvertDeploymentDescriptorToProjectAPI(descriptor DeploymentDescriptor) (projectAPI.Deployment, error)

func ConvertDeploymentToProjectAPI

func ConvertDeploymentToProjectAPI(deployment Deployment) (projectAPI.Deployment, error)

func ConvertJobDescriptorToProjectAPI

func ConvertJobDescriptorToProjectAPI(descriptor JobDescriptor) (projectAPI.Job, error)

func ConvertJobToProjectAPI

func ConvertJobToProjectAPI(job Job) (projectAPI.Job, error)

func ConvertStatefulSetDescriptorToProjectAPI

func ConvertStatefulSetDescriptorToProjectAPI(descriptor StatefulSetDescriptor) (projectAPI.StatefulSet, error)

func ConvertStatefulSetToProjectAPI

func ConvertStatefulSetToProjectAPI(statefulSet StatefulSet) (projectAPI.StatefulSet, error)

Types

type AWSElasticBlockStoreVolumeSource

type AWSElasticBlockStoreVolumeSource struct {
	FSType    string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Partition int64  `json:"partition,omitempty" yaml:"partition,omitempty"`
	ReadOnly  bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	VolumeID  string `json:"volumeID,omitempty" yaml:"volumeID,omitempty"`
}

type App

type App struct {
	Name        string            `yaml:"name,omitempty"`
	Catalog     string            `yaml:"catalog,omitempty"`
	CatalogType string            `yaml:"catalog_type,omitempty"`
	Chart       string            `yaml:"chart,omitempty"`
	Version     string            `yaml:"version,omitempty"`
	Namespace   string            `yaml:"namespace,omitempty"`
	SkipUpgrade bool              `yaml:"skip_upgrade,omitempty"`
	Answers     map[string]string `yaml:"answers,omitempty"`
	ValuesYaml  string            `yaml:"values_yaml,omitempty"`
}

App deployment using a Helm- or Rancher-Chart

type AzureDiskVolumeSource

type AzureDiskVolumeSource struct {
	CachingMode string `json:"cachingMode,omitempty" yaml:"cachingMode,omitempty"`
	DataDiskURI string `json:"diskURI,omitempty" yaml:"diskURI,omitempty"`
	DiskName    string `json:"diskName,omitempty" yaml:"diskName,omitempty"`
	FSType      string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Kind        string `json:"kind,omitempty" yaml:"kind,omitempty"`
	ReadOnly    *bool  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

type AzureFileVolumeSource

type AzureFileVolumeSource struct {
	ReadOnly   bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"`
	ShareName  string `json:"shareName,omitempty" yaml:"shareName,omitempty"`
}

type CephFSVolumeSource

type CephFSVolumeSource struct {
	Monitors   []string              `json:"monitors,omitempty" yaml:"monitors,omitempty"`
	Path       string                `json:"path,omitempty" yaml:"path,omitempty"`
	ReadOnly   bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretFile string                `json:"secretFile,omitempty" yaml:"secretFile,omitempty"`
	SecretRef  *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
	User       string                `json:"user,omitempty" yaml:"user,omitempty"`
}

type Certificate

type Certificate struct {
	Name      string
	Key       string
	Certs     string
	Namespace string `yaml:"namespace,omitempty"`
}

Certificate TLS certs used e.g. for https endpoints

type CinderVolumeSource

type CinderVolumeSource struct {
	FSType    string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	ReadOnly  bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
	VolumeID  string                `json:"volumeID,omitempty" yaml:"volumeID,omitempty"`
}

type ConfigMap

type ConfigMap struct {
	Name      string
	Data      map[string]string
	Namespace string `yaml:"namespace,omitempty"`
}

ConfigMap data structure used for K8S configmaps and secrets

type ConfigMapProjection

type ConfigMapProjection struct {
	Items    []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Name     string      `json:"name,omitempty" yaml:"name,omitempty"`
	Optional *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

type ConfigMapVolumeSource

type ConfigMapVolumeSource struct {
	DefaultMode *int64      `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Items       []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Name        string      `json:"name,omitempty" yaml:"name,omitempty"`
	Optional    *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

type Container

type Container struct {
	AllowPrivilegeEscalation *bool                 `json:"allowPrivilegeEscalation,omitempty" yaml:"allowPrivilegeEscalation,omitempty"`
	Command                  []string              `json:"command,omitempty" yaml:"command,omitempty"`
	Environment              map[string]string     `json:"environment,omitempty" yaml:"environment,omitempty"`
	EnvironmentFrom          []EnvironmentFrom     `json:"environmentFrom,omitempty" yaml:"environmentFrom,omitempty"`
	Image                    string                `json:"image,omitempty" yaml:"image,omitempty"`
	ImagePullPolicy          string                `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"`
	InitContainer            bool                  `json:"initContainer,omitempty" yaml:"initContainer,omitempty"`
	LivenessProbe            *Probe                `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty"`
	Name                     string                `json:"name,omitempty" yaml:"name,omitempty"`
	Ports                    []ContainerPort       `json:"ports,omitempty" yaml:"ports,omitempty"`
	PostStart                *Handler              `json:"postStart,omitempty" yaml:"postStart,omitempty"`
	PreStop                  *Handler              `json:"preStop,omitempty" yaml:"preStop,omitempty"`
	Privileged               *bool                 `json:"privileged,omitempty" yaml:"privileged,omitempty"`
	ProcMount                string                `json:"procMount,omitempty" yaml:"procMount,omitempty"`
	ReadOnly                 *bool                 `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	ReadinessProbe           *Probe                `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty"`
	Resources                *ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	RunAsGroup               *int64                `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty"`
	RunAsNonRoot             *bool                 `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty"`
	Stdin                    bool                  `json:"stdin,omitempty" yaml:"stdin,omitempty"`
	StdinOnce                bool                  `json:"stdinOnce,omitempty" yaml:"stdinOnce,omitempty"`
	TTY                      bool                  `json:"tty,omitempty" yaml:"tty,omitempty"`
	TerminationMessagePath   string                `json:"terminationMessagePath,omitempty" yaml:"terminationMessagePath,omitempty"`
	TerminationMessagePolicy string                `json:"terminationMessagePolicy,omitempty" yaml:"terminationMessagePolicy,omitempty"`
	VolumeDevices            []VolumeDevice        `json:"volumeDevices,omitempty" yaml:"volumeDevices,omitempty"`
	VolumeMounts             []VolumeMount         `json:"volumeMounts,omitempty" yaml:"volumeMounts,omitempty"`
	WorkingDir               string                `json:"workingDir,omitempty" yaml:"workingDir,omitempty"`
}

Container are created in the context of a workload

type ContainerPort

type ContainerPort struct {
	ContainerPort int64  `json:"containerPort,omitempty" yaml:"containerPort,omitempty"`
	DNSName       string `json:"dnsName,omitempty" yaml:"dnsName,omitempty"`
	HostIP        string `json:"hostIp,omitempty" yaml:"hostIp,omitempty"`
	Kind          string `json:"kind,omitempty" yaml:"kind,omitempty"`
	Name          string `json:"name,omitempty" yaml:"name,omitempty"`
	Protocol      string `json:"protocol,omitempty" yaml:"protocol,omitempty"`
	SourcePort    int64  `json:"sourcePort,omitempty" yaml:"sourcePort,omitempty"`
}

ContainerPort represents a network port in a single container.

type CronJob

type CronJob struct {
	CronJobConfig           *CronJobConfig `json:"cronJobConfig,omitempty" yaml:"cronJobConfig,omitempty"`
	TTLSecondsAfterFinished *int64         `yaml:"TTLSecondsAfterFinished,omitempty"`
	// contains filtered or unexported fields
}

type CronJobConfig

type CronJobConfig struct {
	ConcurrencyPolicy          string            `json:"concurrencyPolicy,omitempty" yaml:"concurrencyPolicy,omitempty"`
	FailedJobsHistoryLimit     *int64            `json:"failedJobsHistoryLimit,omitempty" yaml:"failedJobsHistoryLimit,omitempty"`
	JobAnnotations             map[string]string `json:"jobAnnotations,omitempty" yaml:"jobAnnotations,omitempty"`
	JobConfig                  *JobConfig        `json:"jobConfig,omitempty" yaml:"jobConfig,omitempty"`
	JobLabels                  map[string]string `json:"jobLabels,omitempty" yaml:"jobLabels,omitempty"`
	Schedule                   string            `json:"schedule,omitempty" yaml:"schedule,omitempty"`
	StartingDeadlineSeconds    *int64            `json:"startingDeadlineSeconds,omitempty" yaml:"startingDeadlineSeconds,omitempty"`
	SuccessfulJobsHistoryLimit *int64            `json:"successfulJobsHistoryLimit,omitempty" yaml:"successfulJobsHistoryLimit,omitempty"`
	Suspend                    *bool             `json:"suspend,omitempty" yaml:"suspend,omitempty"`
}

type CronJobDescriptor

type CronJobDescriptor struct {
	APIVersion string `yaml:"api_version"`
	Kind       string
	Metadata   WorkloadMetadata
	Spec       CronJob
}

type DaemonSet

type DaemonSet struct {
	DaemonSetConfig *DaemonSetConfig `json:"daemonSetConfig,omitempty" yaml:"daemonSetConfig,omitempty"`
	// contains filtered or unexported fields
}

type DaemonSetConfig

type DaemonSetConfig struct {
	MaxUnavailable       IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"`
	MinReadySeconds      int64       `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	RevisionHistoryLimit *int64      `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
	Strategy             string      `json:"strategy,omitempty" yaml:"strategy,omitempty"`
}

type DaemonSetDescriptor

type DaemonSetDescriptor struct {
	APIVersion string `yaml:"api_version"`
	Kind       string
	Metadata   WorkloadMetadata
	Spec       DaemonSet
}

type Deployment

type Deployment struct {
	DeploymentConfig *DeploymentConfig `json:"deploymentConfig,omitempty" yaml:"deploymentConfig,omitempty"`
	Scale            *int64            `json:"scale,omitempty" yaml:"scale,omitempty"`
	// contains filtered or unexported fields
}

type DeploymentConfig

type DeploymentConfig struct {
	MaxSurge                IntOrString `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"`
	MaxUnavailable          IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"`
	MinReadySeconds         int64       `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	ProgressDeadlineSeconds *int64      `json:"progressDeadlineSeconds,omitempty" yaml:"progressDeadlineSeconds,omitempty"`
	RevisionHistoryLimit    *int64      `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
	Strategy                string      `json:"strategy,omitempty" yaml:"strategy,omitempty"`
}

type DeploymentDescriptor

type DeploymentDescriptor struct {
	APIVersion string `yaml:"api_version"`
	Kind       string
	Metadata   WorkloadMetadata
	Spec       Deployment
}

type DockerCredential

type DockerCredential struct {
	Name       string               `yaml:"name,omitempty"`
	Namespace  string               `yaml:"namespace,omitempty"`
	Registries []RegistryCredential `yaml:"registries,omitempty"`
}

DockerCredential to access docker registries

type DownwardAPIProjection

type DownwardAPIProjection struct {
	Items []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"`
}

type DownwardAPIVolumeFile

type DownwardAPIVolumeFile struct {
	FieldRef         *ObjectFieldSelector   `json:"fieldRef,omitempty" yaml:"fieldRef,omitempty"`
	Mode             *int64                 `json:"mode,omitempty" yaml:"mode,omitempty"`
	Path             string                 `json:"path,omitempty" yaml:"path,omitempty"`
	ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" yaml:"resourceFieldRef,omitempty"`
}

type DownwardAPIVolumeSource

type DownwardAPIVolumeSource struct {
	DefaultMode *int64                  `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Items       []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"`
}

type EmptyDirVolumeSource

type EmptyDirVolumeSource struct {
	Medium    string `json:"medium,omitempty" yaml:"medium,omitempty"`
	SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty"`
}

type EnvironmentFrom

type EnvironmentFrom struct {
	Optional   bool   `json:"optional,omitempty" yaml:"optional,omitempty"`
	Prefix     string `json:"prefix,omitempty" yaml:"prefix,omitempty"`
	Source     string `json:"source,omitempty" yaml:"source,omitempty"`
	SourceKey  string `json:"sourceKey,omitempty" yaml:"sourceKey,omitempty"`
	SourceName string `json:"sourceName,omitempty" yaml:"sourceName,omitempty"`
	TargetKey  string `json:"targetKey,omitempty" yaml:"targetKey,omitempty"`
}

EnvironmentFrom represents the source of a set of ConfigMaps

type FCVolumeSource

type FCVolumeSource struct {
	FSType     string   `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Lun        *int64   `json:"lun,omitempty" yaml:"lun,omitempty"`
	ReadOnly   bool     `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	TargetWWNs []string `json:"targetWWNs,omitempty" yaml:"targetWWNs,omitempty"`
	WWIDs      []string `json:"wwids,omitempty" yaml:"wwids,omitempty"`
}

type FlexVolumeSource

type FlexVolumeSource struct {
	Driver    string                `json:"driver,omitempty" yaml:"driver,omitempty"`
	FSType    string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Options   map[string]string     `json:"options,omitempty" yaml:"options,omitempty"`
	ReadOnly  bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
}

type FlockerVolumeSource

type FlockerVolumeSource struct {
	DatasetName string `json:"datasetName,omitempty" yaml:"datasetName,omitempty"`
	DatasetUUID string `json:"datasetUUID,omitempty" yaml:"datasetUUID,omitempty"`
}

type GCEPersistentDiskVolumeSource

type GCEPersistentDiskVolumeSource struct {
	FSType    string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	PDName    string `json:"pdName,omitempty" yaml:"pdName,omitempty"`
	Partition int64  `json:"partition,omitempty" yaml:"partition,omitempty"`
	ReadOnly  bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

type GitRepoVolumeSource

type GitRepoVolumeSource struct {
	Directory  string `json:"directory,omitempty" yaml:"directory,omitempty"`
	Repository string `json:"repository,omitempty" yaml:"repository,omitempty"`
	Revision   string `json:"revision,omitempty" yaml:"revision,omitempty"`
}

type GlusterfsVolumeSource

type GlusterfsVolumeSource struct {
	EndpointsName string `json:"endpoints,omitempty" yaml:"endpoints,omitempty"`
	Path          string `json:"path,omitempty" yaml:"path,omitempty"`
	ReadOnly      bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

type HTTPHeader

type HTTPHeader struct {
	Name  string `json:"name,omitempty" yaml:"name,omitempty"`
	Value string `json:"value,omitempty" yaml:"value,omitempty"`
}

HTTPHeader describes a custom header to be used in HTTP probes

type Handler

type Handler struct {
	Command     []string     `json:"command,omitempty" yaml:"command,omitempty"`
	HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty" yaml:"httpHeaders,omitempty"`
	Host        string       `json:"host,omitempty" yaml:"host,omitempty"`
	Path        string       `json:"path,omitempty" yaml:"path,omitempty"`
	Port        IntOrString  `json:"port,omitempty" yaml:"port,omitempty"`
	Scheme      string       `json:"scheme,omitempty" yaml:"scheme,omitempty"`
	TCP         bool         `json:"tcp,omitempty" yaml:"tcp,omitempty"`
}

Handler defines a specific action that should be taken

type HostAlias

type HostAlias struct {
	Hostnames []string `json:"hostnames,omitempty" yaml:"hostnames,omitempty"`
	IP        string   `json:"ip,omitempty" yaml:"ip,omitempty"`
}

HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.

type HostPathVolumeSource

type HostPathVolumeSource struct {
	Kind string `json:"kind,omitempty" yaml:"kind,omitempty"`
	Path string `json:"path,omitempty" yaml:"path,omitempty"`
}

type ISCSIVolumeSource

type ISCSIVolumeSource struct {
	DiscoveryCHAPAuth bool                  `json:"chapAuthDiscovery,omitempty" yaml:"chapAuthDiscovery,omitempty"`
	FSType            string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	IQN               string                `json:"iqn,omitempty" yaml:"iqn,omitempty"`
	ISCSIInterface    string                `json:"iscsiInterface,omitempty" yaml:"iscsiInterface,omitempty"`
	InitiatorName     string                `json:"initiatorName,omitempty" yaml:"initiatorName,omitempty"`
	Lun               int64                 `json:"lun,omitempty" yaml:"lun,omitempty"`
	Portals           []string              `json:"portals,omitempty" yaml:"portals,omitempty"`
	ReadOnly          bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretRef         *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
	SessionCHAPAuth   bool                  `json:"chapAuthSession,omitempty" yaml:"chapAuthSession,omitempty"`
	TargetPortal      string                `json:"targetPortal,omitempty" yaml:"targetPortal,omitempty"`
}

type Include

type Include struct {
	File      string `yaml:"file,omitempty"`
	Files     string `yaml:"files,omitempty"`
	Directory string `yaml:"directory,omitempty"`
}

Include is used to merge multiple descriptors into one

type IntOrString

type IntOrString intstr.IntOrString

IntOrString is a helper type to marshal/unmarshal intorstring fields in YAML

func (IntOrString) MarshalJSON

func (intorstr IntOrString) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface.

func (IntOrString) MarshalYAML

func (intorstr IntOrString) MarshalYAML() (interface{}, error)

MarshalYAML marshals a intorstring field to a YAML string or int

func (*IntOrString) UnmarshalJSON

func (intorstr *IntOrString) UnmarshalJSON(value []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

func (*IntOrString) UnmarshalYAML

func (intorstr *IntOrString) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML unmarshals a intorstring field from a YAML string or int

type Job

type Job struct {
	JobConfig               *JobConfig `json:"jobConfig,omitempty" yaml:"jobConfig,omitempty"`
	TTLSecondsAfterFinished *int64     `yaml:"TTLSecondsAfterFinished,omitempty"`
	// contains filtered or unexported fields
}

type JobConfig

type JobConfig struct {
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" yaml:"activeDeadlineSeconds,omitempty"`
	BackoffLimit          *int64 `json:"backoffLimit,omitempty" yaml:"backoffLimit,omitempty"`
	Completions           *int64 `json:"completions,omitempty" yaml:"completions,omitempty"`
	ManualSelector        *bool  `json:"manualSelector,omitempty" yaml:"manualSelector,omitempty"`
	Parallelism           *int64 `json:"parallelism,omitempty" yaml:"parallelism,omitempty"`
}

type JobDescriptor

type JobDescriptor struct {
	APIVersion string `yaml:"api_version"`
	Kind       string
	Metadata   WorkloadMetadata
	Spec       Job
}

JobDescriptor is a workload representing a K8S Job

type KeyToPath

type KeyToPath struct {
	Key  string `json:"key,omitempty" yaml:"key,omitempty"`
	Mode *int64 `json:"mode,omitempty" yaml:"mode,omitempty"`
	Path string `json:"path,omitempty" yaml:"path,omitempty"`
}

type LabelSelector

type LabelSelector struct {
	MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"`
	MatchLabels      map[string]string          `json:"matchLabels,omitempty" yaml:"matchLabels,omitempty"`
}

A LabelSelector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

type LabelSelectorRequirement

type LabelSelectorRequirement struct {
	Key      string   `json:"key,omitempty" yaml:"key,omitempty"`
	Operator string   `json:"operator,omitempty" yaml:"operator,omitempty"`
	Values   []string `json:"values,omitempty" yaml:"values,omitempty"`
}

A LabelSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.

type LocalObjectReference

type LocalObjectReference struct {
	Name string `json:"name,omitempty" yaml:"name,omitempty"`
}

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

type NFSVolumeSource

type NFSVolumeSource struct {
	Path     string `json:"path,omitempty" yaml:"path,omitempty"`
	ReadOnly bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	Server   string `json:"server,omitempty" yaml:"server,omitempty"`
}

type Namespace

type Namespace struct {
	Name string
}

Namespace is a subsection of a Project and is represented in K8S as namespace

type NodeScheduling

type NodeScheduling struct {
	NodeID     string   `json:"nodeId,omitempty" yaml:"nodeId,omitempty"`
	Preferred  []string `json:"preferred,omitempty" yaml:"preferred,omitempty"`
	RequireAll []string `json:"requireAll,omitempty" yaml:"requireAll,omitempty"`
	RequireAny []string `json:"requireAny,omitempty" yaml:"requireAny,omitempty"`
}

type ObjectFieldSelector

type ObjectFieldSelector struct {
	APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
	FieldPath  string `json:"fieldPath,omitempty" yaml:"fieldPath,omitempty"`
}

type PersistentVolume

type PersistentVolume struct {
	Name             string
	Type             string
	Path             string
	Node             string
	StorageClassName string   `yaml:"storage_class_name"`
	AccessModes      []string `yaml:"access_modes"`
	Capacity         string
	InitScript       string `yaml:"init_script"`
}

PersistentVolume represent a K8S PersistentVolume

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	AccessModes  []string              `json:"accessModes,omitempty" yaml:"accessModes,omitempty"`
	Annotations  map[string]string     `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	Labels       map[string]string     `json:"labels,omitempty" yaml:"labels,omitempty"`
	Name         string                `json:"name,omitempty" yaml:"name,omitempty"`
	Resources    *ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	Selector     *LabelSelector        `json:"selector,omitempty" yaml:"selector,omitempty"`
	StorageClass string                `json:"storageClass,omitempty" yaml:"storageClass,omitempty"`
}

type PersistentVolumeClaimVolumeSource

type PersistentVolumeClaimVolumeSource struct {
	PersistentVolumeClaimID string `json:"persistentVolumeClaimId,omitempty" yaml:"persistentVolumeClaimId,omitempty"`
	ReadOnly                bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

type PhotonPersistentDiskVolumeSource

type PhotonPersistentDiskVolumeSource struct {
	FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	PdID   string `json:"pdID,omitempty" yaml:"pdID,omitempty"`
}

type PodDNSConfig

type PodDNSConfig struct {
	Nameservers []string             `json:"nameservers,omitempty" yaml:"nameservers,omitempty"`
	Options     []PodDNSConfigOption `json:"options,omitempty" yaml:"options,omitempty"`
	Searches    []string             `json:"searches,omitempty" yaml:"searches,omitempty"`
}

PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.

type PodDNSConfigOption

type PodDNSConfigOption struct {
	Name  string `json:"name,omitempty" yaml:"name,omitempty"`
	Value string `json:"value,omitempty" yaml:"value,omitempty"`
}

PodDNSConfigOption defines DNS resolver options of a pod.

type PortworxVolumeSource

type PortworxVolumeSource struct {
	FSType   string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	ReadOnly bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	VolumeID string `json:"volumeID,omitempty" yaml:"volumeID,omitempty"`
}

type Probe

type Probe struct {
	Command             []string     `json:"command,omitempty" yaml:"command,omitempty"`
	FailureThreshold    int64        `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty"`
	HTTPHeaders         []HTTPHeader `json:"httpHeaders,omitempty" yaml:"httpHeaders,omitempty"`
	Host                string       `json:"host,omitempty" yaml:"host,omitempty"`
	InitialDelaySeconds int64        `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty"`
	Path                string       `json:"path,omitempty" yaml:"path,omitempty"`
	PeriodSeconds       int64        `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty"`
	Port                IntOrString  `json:"port,omitempty" yaml:"port,omitempty"`
	Scheme              string       `json:"scheme,omitempty" yaml:"scheme,omitempty"`
	SuccessThreshold    int64        `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty"`
	TCP                 bool         `json:"tcp,omitempty" yaml:"tcp,omitempty"`
	TimeoutSeconds      int64        `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty"`
}

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

type Project

type Project struct {
	APIVersion        string                 `yaml:"api_version"`
	Kind              string                 `yaml:"kind,omitempty"`
	Metadata          ProjectMetadata        `yaml:"metadata,omitempty"`
	Catalogs          []rancherModel.Catalog `yaml:"catalogs,omitempty"`
	Namespaces        []Namespace            `yaml:"namespaces,omitempty"`
	Resources         Resources              `yaml:"resources,omitempty"`
	StorageClasses    []StorageClass         `yaml:"storage_classes,omitempty"`
	PersistentVolumes []PersistentVolume     `yaml:"persistent_volumes,omitempty"`
	Apps              []App                  `yaml:"apps,omitempty"`
}

Project is a subsection of a cluster

type ProjectMetadata

type ProjectMetadata struct {
	Name        string
	ID          string    `yaml:"id,omitempty"`
	RancherURL  string    `yaml:"rancher_url,omitempty"`
	AccessKey   string    `yaml:"access_key,omitempty"`
	SecretKey   string    `yaml:"secret_key,omitempty"`
	TokenKey    string    `yaml:"token_key,omitempty"`
	ClusterName string    `yaml:"cluster_name,omitempty"`
	ClusterID   string    `yaml:"cluster_id,omitempty"`
	Includes    []Include `yaml:"includes,omitempty"`
}

ProjectMetadata the meta informations about a Project

type ProjectedVolumeSource

type ProjectedVolumeSource struct {
	DefaultMode *int64             `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Sources     []VolumeProjection `json:"sources,omitempty" yaml:"sources,omitempty"`
}

type QuobyteVolumeSource

type QuobyteVolumeSource struct {
	Group    string `json:"group,omitempty" yaml:"group,omitempty"`
	ReadOnly bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	Registry string `json:"registry,omitempty" yaml:"registry,omitempty"`
	User     string `json:"user,omitempty" yaml:"user,omitempty"`
	Volume   string `json:"volume,omitempty" yaml:"volume,omitempty"`
}

type RBDVolumeSource

type RBDVolumeSource struct {
	CephMonitors []string              `json:"monitors,omitempty" yaml:"monitors,omitempty"`
	FSType       string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Keyring      string                `json:"keyring,omitempty" yaml:"keyring,omitempty"`
	RBDImage     string                `json:"image,omitempty" yaml:"image,omitempty"`
	RBDPool      string                `json:"pool,omitempty" yaml:"pool,omitempty"`
	RadosUser    string                `json:"user,omitempty" yaml:"user,omitempty"`
	ReadOnly     bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretRef    *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
}

type RegistryCredential

type RegistryCredential struct {
	Name     string `yaml:"name,omitempty"`
	Password string `yaml:"password,omitempty"`
	Username string `yaml:"username,omitempty"`
}

RegistryCredential credentials of one docker registry

type ResourceFieldSelector

type ResourceFieldSelector struct {
	ContainerName string `json:"containerName,omitempty" yaml:"containerName,omitempty"`
	Divisor       string `json:"divisor,omitempty" yaml:"divisor,omitempty"`
	Resource      string `json:"resource,omitempty" yaml:"resource,omitempty"`
}

type ResourceRequirements

type ResourceRequirements struct {
	Limits   map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"`
	Requests map[string]string `json:"requests,omitempty" yaml:"requests,omitempty"`
}

ResourceRequirements describes the compute resource requirements.

type Resources

type Resources struct {
	Certificates      []Certificate      `yaml:"certificates,omitempty"`
	ConfigMaps        []ConfigMap        `yaml:"config_maps,omitempty"`
	DockerCredentials []DockerCredential `yaml:"docker_credentials,omitempty"`
	Secrets           []ConfigMap        `yaml:"secrets,omitempty"`
}

Resources of a Project

type ScaleIOVolumeSource

type ScaleIOVolumeSource struct {
	FSType           string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	Gateway          string                `json:"gateway,omitempty" yaml:"gateway,omitempty"`
	ProtectionDomain string                `json:"protectionDomain,omitempty" yaml:"protectionDomain,omitempty"`
	ReadOnly         bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SSLEnabled       bool                  `json:"sslEnabled,omitempty" yaml:"sslEnabled,omitempty"`
	SecretRef        *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
	StorageMode      string                `json:"storageMode,omitempty" yaml:"storageMode,omitempty"`
	StoragePool      string                `json:"storagePool,omitempty" yaml:"storagePool,omitempty"`
	System           string                `json:"system,omitempty" yaml:"system,omitempty"`
	VolumeName       string                `json:"volumeName,omitempty" yaml:"volumeName,omitempty"`
}

type Scheduling

type Scheduling struct {
	Node              *NodeScheduling `json:"node,omitempty" yaml:"node,omitempty"`
	Priority          *int64          `json:"priority,omitempty" yaml:"priority,omitempty"`
	PriorityClassName string          `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty"`
	Scheduler         string          `json:"scheduler,omitempty" yaml:"scheduler,omitempty"`
	Tolerate          []Toleration    `json:"tolerate,omitempty" yaml:"tolerate,omitempty"`
}

type SecretProjection

type SecretProjection struct {
	Items    []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Name     string      `json:"name,omitempty" yaml:"name,omitempty"`
	Optional *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

type SecretVolumeSource

type SecretVolumeSource struct {
	DefaultMode *int64      `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Items       []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Optional    *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
	SecretName  string      `json:"secretName,omitempty" yaml:"secretName,omitempty"`
}

type ServiceAccountTokenProjection

type ServiceAccountTokenProjection struct {
	Audience          string `json:"audience,omitempty" yaml:"audience,omitempty"`
	ExpirationSeconds *int64 `json:"expirationSeconds,omitempty" yaml:"expirationSeconds,omitempty"`
	Path              string `json:"path,omitempty" yaml:"path,omitempty"`
}

type StatefulSet

type StatefulSet struct {
	StatefulSetConfig *StatefulSetConfig `json:"statefulSetConfig,omitempty" yaml:"statefulSetConfig,omitempty"`
	Scale             *int64             `json:"scale,omitempty" yaml:"scale,omitempty"`
	// contains filtered or unexported fields
}

type StatefulSetConfig

type StatefulSetConfig struct {
	Partition            *int64                  `json:"partition,omitempty" yaml:"partition,omitempty"`
	PodManagementPolicy  string                  `json:"podManagementPolicy,omitempty" yaml:"podManagementPolicy,omitempty"`
	RevisionHistoryLimit *int64                  `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
	ServiceName          string                  `json:"serviceName,omitempty" yaml:"serviceName,omitempty"`
	Strategy             string                  `json:"strategy,omitempty" yaml:"strategy,omitempty"`
	VolumeClaimTemplates []PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" yaml:"volumeClaimTemplates,omitempty"`
}

type StatefulSetDescriptor

type StatefulSetDescriptor struct {
	APIVersion string `yaml:"api_version"`
	Kind       string
	Metadata   WorkloadMetadata
	Spec       StatefulSet
}

type StorageClass

type StorageClass struct {
	Name           string
	Provisioner    string
	ReclaimPolicy  string            `yaml:"reclaim_policy"`
	VolumeBindMode string            `yaml:"volume_bind_mode"`
	Parameters     map[string]string `yaml:"parameters,omitempty"`
	MountOptions   []string          `yaml:"mount_options,omitempty"`
}

StorageClass represent a K8S StorageClass

type StorageOSVolumeSource

type StorageOSVolumeSource struct {
	FSType          string                `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	ReadOnly        bool                  `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SecretRef       *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
	VolumeName      string                `json:"volumeName,omitempty" yaml:"volumeName,omitempty"`
	VolumeNamespace string                `json:"volumeNamespace,omitempty" yaml:"volumeNamespace,omitempty"`
}

type Toleration

type Toleration struct {
	Effect            string `json:"effect,omitempty" yaml:"effect,omitempty"`
	Key               string `json:"key,omitempty" yaml:"key,omitempty"`
	Operator          string `json:"operator,omitempty" yaml:"operator,omitempty"`
	TolerationSeconds *int64 `json:"tolerationSeconds,omitempty" yaml:"tolerationSeconds,omitempty"`
	Value             string `json:"value,omitempty" yaml:"value,omitempty"`
}

Toleration of the pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

type Volume

type Volume struct {
	AWSElasticBlockStore  *AWSElasticBlockStoreVolumeSource  `json:"awsElasticBlockStore,omitempty" yaml:"awsElasticBlockStore,omitempty"`
	AzureDisk             *AzureDiskVolumeSource             `json:"azureDisk,omitempty" yaml:"azureDisk,omitempty"`
	AzureFile             *AzureFileVolumeSource             `json:"azureFile,omitempty" yaml:"azureFile,omitempty"`
	CephFS                *CephFSVolumeSource                `json:"cephfs,omitempty" yaml:"cephfs,omitempty"`
	Cinder                *CinderVolumeSource                `json:"cinder,omitempty" yaml:"cinder,omitempty"`
	ConfigMap             *ConfigMapVolumeSource             `json:"configMap,omitempty" yaml:"configMap,omitempty"`
	DownwardAPI           *DownwardAPIVolumeSource           `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"`
	EmptyDir              *EmptyDirVolumeSource              `json:"emptyDir,omitempty" yaml:"emptyDir,omitempty"`
	FC                    *FCVolumeSource                    `json:"fc,omitempty" yaml:"fc,omitempty"`
	FlexVolume            *FlexVolumeSource                  `json:"flexVolume,omitempty" yaml:"flexVolume,omitempty"`
	Flocker               *FlockerVolumeSource               `json:"flocker,omitempty" yaml:"flocker,omitempty"`
	GCEPersistentDisk     *GCEPersistentDiskVolumeSource     `json:"gcePersistentDisk,omitempty" yaml:"gcePersistentDisk,omitempty"`
	GitRepo               *GitRepoVolumeSource               `json:"gitRepo,omitempty" yaml:"gitRepo,omitempty"`
	Glusterfs             *GlusterfsVolumeSource             `json:"glusterfs,omitempty" yaml:"glusterfs,omitempty"`
	HostPath              *HostPathVolumeSource              `json:"hostPath,omitempty" yaml:"hostPath,omitempty"`
	ISCSI                 *ISCSIVolumeSource                 `json:"iscsi,omitempty" yaml:"iscsi,omitempty"`
	NFS                   *NFSVolumeSource                   `json:"nfs,omitempty" yaml:"nfs,omitempty"`
	Name                  string                             `json:"name,omitempty" yaml:"name,omitempty"`
	PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" yaml:"persistentVolumeClaim,omitempty"`
	PhotonPersistentDisk  *PhotonPersistentDiskVolumeSource  `json:"photonPersistentDisk,omitempty" yaml:"photonPersistentDisk,omitempty"`
	PortworxVolume        *PortworxVolumeSource              `json:"portworxVolume,omitempty" yaml:"portworxVolume,omitempty"`
	Projected             *ProjectedVolumeSource             `json:"projected,omitempty" yaml:"projected,omitempty"`
	Quobyte               *QuobyteVolumeSource               `json:"quobyte,omitempty" yaml:"quobyte,omitempty"`
	RBD                   *RBDVolumeSource                   `json:"rbd,omitempty" yaml:"rbd,omitempty"`
	ScaleIO               *ScaleIOVolumeSource               `json:"scaleIO,omitempty" yaml:"scaleIO,omitempty"`
	Secret                *SecretVolumeSource                `json:"secret,omitempty" yaml:"secret,omitempty"`
	StorageOS             *StorageOSVolumeSource             `json:"storageos,omitempty" yaml:"storageos,omitempty"`
	VsphereVolume         *VsphereVirtualDiskVolumeSource    `json:"vsphereVolume,omitempty" yaml:"vsphereVolume,omitempty"`
}

type VolumeDevice

type VolumeDevice struct {
	DevicePath string `json:"devicePath,omitempty" yaml:"devicePath,omitempty"`
	Name       string `json:"name,omitempty" yaml:"name,omitempty"`
}

VolumeDevice describes a mapping of a raw block device within a container.

type VolumeMount

type VolumeMount struct {
	MountPath        string `json:"mountPath,omitempty" yaml:"mountPath,omitempty"`
	MountPropagation string `json:"mountPropagation,omitempty" yaml:"mountPropagation,omitempty"`
	Name             string `json:"name,omitempty" yaml:"name,omitempty"`
	ReadOnly         bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	SubPath          string `json:"subPath,omitempty" yaml:"subPath,omitempty"`
}

VolumeMount describes a mounting of a Volume within a container.

type VolumeProjection

type VolumeProjection struct {
	ConfigMap           *ConfigMapProjection           `json:"configMap,omitempty" yaml:"configMap,omitempty"`
	DownwardAPI         *DownwardAPIProjection         `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"`
	Secret              *SecretProjection              `json:"secret,omitempty" yaml:"secret,omitempty"`
	ServiceAccountToken *ServiceAccountTokenProjection `json:"serviceAccountToken,omitempty" yaml:"serviceAccountToken,omitempty"`
}

type VsphereVirtualDiskVolumeSource

type VsphereVirtualDiskVolumeSource struct {
	FSType            string `json:"fsType,omitempty" yaml:"fsType,omitempty"`
	StoragePolicyID   string `json:"storagePolicyID,omitempty" yaml:"storagePolicyID,omitempty"`
	StoragePolicyName string `json:"storagePolicyName,omitempty" yaml:"storagePolicyName,omitempty"`
	VolumePath        string `json:"volumePath,omitempty" yaml:"volumePath,omitempty"`
}

type WorkloadMetadata

type WorkloadMetadata struct {
	ProjectName string `yaml:"project_name,omitempty"`
	ProjectID   string `yaml:"project_id,omitempty"`
	Namespace   string `yaml:"namespace,omitempty"`
	NamespaceID string `yaml:"namespace_id,omitempty"`
	RancherURL  string `yaml:"rancher_url,omitempty"`
	AccessKey   string `yaml:"access_key,omitempty"`
	SecretKey   string `yaml:"secret_key,omitempty"`
	TokenKey    string `yaml:"token_key,omitempty"`
	ClusterName string `yaml:"cluster_name,omitempty"`
	ClusterID   string `yaml:"cluster_id,omitempty"`
}

Jump to

Keyboard shortcuts

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