model

package
v0.0.0-...-7d2664d Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2026 License: Apache-2.0 Imports: 45 Imported by: 1

Documentation

Index

Constants

View Source
const (

	// DevCloneLabel indicates it is a dev pod clone
	DevCloneLabel = "dev.okteto.com/clone"

	// AppReplicasAnnotation indicates the number of replicas before dev mode was activated
	AppReplicasAnnotation = "dev.okteto.com/replicas"

	// InteractiveDevLabel indicates the interactive dev pod
	InteractiveDevLabel = "interactive.dev.okteto.com"

	// OktetoSampleAnnotation indicates that the repo is a okteto sample
	OktetoSampleAnnotation = "dev.okteto.com/sample"

	// OktetoComposeUpdateStrategyAnnotation indicates how a compose service must be updated
	OktetoComposeUpdateStrategyAnnotation = "dev.okteto.com/update"

	// DetachedDevLabel indicates the detached dev pods
	DetachedDevLabel = "detached.dev.okteto.com"

	// DeploymentRevisionAnnotation indicates the revision when the development container was activated
	DeploymentRevisionAnnotation = "deployment.kubernetes.io/revision"

	// OktetoRevisionAnnotation indicates the revision when the development container was activated
	OktetoRevisionAnnotation = "dev.okteto.com/revision"

	// DeploymentAnnotation indicates the original deployment manifest  when the development container was activated
	DeploymentAnnotation = "dev.okteto.com/deployment"

	// StatefulsetAnnotation indicates the original statefulset manifest  when the development container was activated
	StatefulsetAnnotation = "dev.okteto.com/statefulset"

	// LastBuiltAnnotation indicates the timestamp of an operation
	LastBuiltAnnotation = "dev.okteto.com/last-built"

	// TranslationAnnotation sets the translation rules
	TranslationAnnotation = "dev.okteto.com/translation"

	// OktetoRepositoryAnnotation indicates the git repo url with the source code of this component
	OktetoRepositoryAnnotation = "dev.okteto.com/repository"

	// OktetoDevNameAnnotation indicates the name of the dev to be deployed
	OktetoDevNameAnnotation = "dev.okteto.com/name"

	// FluxAnnotation indicates if the deployment ha been deployed by Flux
	FluxAnnotation = "helm.fluxcd.io/antecedent"

	// DefaultStorageClassAnnotation indicates the defaault storage class
	DefaultStorageClassAnnotation = "storageclass.kubernetes.io/is-default-class"

	// StateBeforeSleepingAnnontation indicates the state of the resource prior to scale it to zero
	StateBeforeSleepingAnnontation = "dev.okteto.com/state-before-sleeping"

	// DeployedByLabel indicates the service account that deployed an object
	DeployedByLabel = "dev.okteto.com/deployed-by"

	// GitDeployLabel indicates the object is an app
	GitDeployLabel = "dev.okteto.com/git-deploy"

	// StackLabel indicates the object is a stack
	StackLabel = "stack.okteto.com"

	// StackNameLabel indicates the name of the stack an object belongs to
	StackNameLabel = "stack.okteto.com/name"

	// StackServiceNameLabel indicates the name of the stack service an object belongs to
	StackServiceNameLabel = "stack.okteto.com/service"

	// StackEndpointNameLabel indicates the name of the endpoint an object belongs to
	StackEndpointNameLabel = "stack.okteto.com/endpoint"

	// OktetoIngressAutoGenerateHost generates a ingress host for
	OktetoIngressAutoGenerateHost = "dev.okteto.com/generate-host"

	// OktetoAutoIngressAnnotation indicates an ingress must be created for a service
	OktetoAutoIngressAnnotation = "dev.okteto.com/auto-ingress"

	// OktetoPrivateSvcAnnotation indicates an ingress must be created private
	OktetoPrivateSvcAnnotation = "dev.okteto.com/private"

	// OktetoInstallerRunningLabel indicates the okteto installer is running on this resource
	OktetoInstallerRunningLabel = "dev.okteto.com/installer-running"

	// StackVolumeNameLabel indicates the name of the stack volume an object belongs to
	StackVolumeNameLabel = "stack.okteto.com/volume"

	// Localhost localhost
	Localhost = "localhost"
	// PrivilegedLocalhost localhost
	PrivilegedLocalhost = "0.0.0.0"

	// IANAEphemeralPortStart is the start of the IANA dynamic/private port range (49152-65535)
	// This range is designated for dynamic port allocation and has the lowest chance of conflicts
	IANAEphemeralPortStart = 49152
	// IANAEphemeralPortEnd is the end of the IANA dynamic/private port range (49152-65535)
	IANAEphemeralPortEnd = 65535
	// OktetoUpCmd up command
	OktetoUpCmd = "up"

	// OktetoVolumeNameTemplate name template of the development container persistent volume
	OktetoVolumeNameTemplate = "%s-okteto"
	// DataSubPath subpath in the development container persistent volume for the data volumes
	DataSubPath = "data"
	// SourceCodeSubPath subpath in the development container persistent volume for the source code
	SourceCodeSubPath = "src"
	// OktetoSyncthingMountPath syncthing volume mount path
	OktetoSyncthingMountPath = "/var/syncthing"
	// RemoteMountPath remote volume mount path
	RemoteMountPath = "/var/okteto/remote"
	// SyncthingSubPath subpath in the development container persistent volume for the syncthing data
	SyncthingSubPath = "syncthing"
	// DefaultSyncthingRescanInterval default syncthing re-scan interval
	DefaultSyncthingRescanInterval = 300
	// RemoteSubPath subpath in the development container persistent volume for the remote data
	RemoteSubPath = "okteto-remote"
	// OktetoAutoCreateAnnotation indicates if the deployment was auto generated by okteto up
	OktetoAutoCreateAnnotation = "dev.okteto.com/auto-create"
	// OktetoDivertedNamespaceAnnotation indicates the namespace source of the diverted resource (usually a service or an ingress)
	// The value of this annotation is the namespace of the original resource
	OktetoDivertedNamespaceAnnotation = "divert.okteto.com/namespace"
	// OktetoDivertHeaderAnnotation is the value used as the baggage header for diverted resources
	OktetoDivertHeaderAnnotation = "divert.okteto.com/header"
	// OktetoRestartAnnotation indicates the dev pod must be recreated to pull the latest version of its image
	OktetoRestartAnnotation = "dev.okteto.com/restart"
	// OktetoSyncAnnotation indicates the hash of the sync folders to force redeployment
	OktetoSyncAnnotation = "dev.okteto.com/sync"
	// OktetoStignoreAnnotation indicates the hash of the stignore files to force redeployment
	OktetoStignoreAnnotation = "dev.okteto.com/stignore"

	// DefaultImage default image for sandboxes
	DefaultImage = "okteto/dev:latest"

	// HelmSecretType indicates the type for secrets created by Helm
	HelmSecretType = "helm.sh/release.v1"

	// OktetoRegistryURLEnvVar is the url of the Okteto Registry
	OktetoRegistryURLEnvVar = "OKTETO_REGISTRY_URL"

	// OktetoBuildkitHostURLEnvVar is the url of the Okteto Buildkit instance
	OktetoBuildkitHostURLEnvVar = "BUILDKIT_HOST"

	// OktetoSkipCleanupEnvVar defines the okteto binary that should be used
	OktetoSkipCleanupEnvVar = "OKTETO_SKIP_CLEANUP"

	// OktetoUserEnvVar defines the user using okteto
	OktetoUserEnvVar = "OKTETO_USER"

	// OktetoUserNameEnvVar defines the user is using okteto
	OktetoUserNameEnvVar = "OKTETO_USERNAME"

	// OktetoTokenEnvVar defines the environmental variable that stores the okteto user token
	OktetoTokenEnvVar = "OKTETO_TOKEN"

	// OktetoURLEnvVar defines the cluster url the user is using
	OktetoURLEnvVar = "OKTETO_URL"

	// OktetoContextEnvVar defines the k8s context the user is using
	OktetoContextEnvVar = "OKTETO_CONTEXT"

	// OktetoNamespaceEnvVar defines the namespace the user is using
	OktetoNamespaceEnvVar = "OKTETO_NAMESPACE"

	// OktetoDomainEnvVar defines the domain the user is using
	OktetoDomainEnvVar = "OKTETO_DOMAIN"

	// SyncthingVersionEnvVar defines the syncthing version okteto should use
	SyncthingVersionEnvVar = "OKTETO_SYNCTHING_VERSION"

	// OktetoSkipContextTestEnvVar if set skips the context test
	OktetoSkipContextTestEnvVar = "OKTETO_SKIP_CONTEXT_TEST"

	// OktetoAppsSubdomainEnvVar defines which is the subdomain for urls
	OktetoAppsSubdomainEnvVar = "OKTETO_APPS_SUBDOMAIN"

	// OktetoPathEnvVar defines where is okteto binary
	OktetoPathEnvVar = "OKTETO_PATH"

	// OktetoExecuteSSHEnvVar defines if the command should be executed through ssh
	OktetoExecuteSSHEnvVar = "OKTETO_EXECUTE_SSH"

	// OktetoSSHTimeoutEnvVar defines the timeout for ssh operations
	OktetoSSHTimeoutEnvVar = "OKTETO_SSH_TIMEOUT"

	// OktetoRescanIntervalEnvVar defines the time between scans for syncthing
	OktetoRescanIntervalEnvVar = "OKTETO_RESCAN_INTERVAL"

	// DeprecatedOktetoCurrentDeployBelongsToPreviewEnvVar if set the current okteto deploy belongs
	// to a preview environment
	DeprecatedOktetoCurrentDeployBelongsToPreviewEnvVar = "OKTETO_CURRENT_DEPLOY_BELONGS_TO_PREVIEW"

	// OktetoTimeoutEnvVar defines the timeout for okteto commands
	OktetoTimeoutEnvVar = "OKTETO_TIMEOUT"

	// SshAuthSockEnvVar contains the path of the unix file socket that the agent uses for communication with other processes
	SshAuthSockEnvVar = "SSH_AUTH_SOCK"

	// TermEnvVar defines the type of terminal the user is using
	TermEnvVar = "TERM"

	// GithubRepositoryEnvVar defines the repository to be used
	GithubRepositoryEnvVar = "GITHUB_REPOSITORY"

	// GithubRefEnvVar defines the branch to be used
	GithubRefEnvVar = "GITHUB_REF"

	// GithubServerURLEnvVar defines the server to be used
	GithubServerURLEnvVar = "GITHUB_SERVER_URL"

	// ComposeFileEnvVar defines the compose files to use
	ComposeFileEnvVar = "COMPOSE_FILE"

	// BuildkitProgressEnvVar defines the output of buildkit
	BuildkitProgressEnvVar = "BUILDKIT_PROGRESS"

	// OktetoActionNameEnvVar defines the name of the pipeline action name
	OktetoActionNameEnvVar = "OKTETO_ACTION_NAME"

	// OktetoComposeUpdateStrategyEnvVar defines the strategy on compose to update the services
	OktetoComposeUpdateStrategyEnvVar = "OKTETO_COMPOSE_UPDATE_STRATEGY"

	// OktetoAutogenerateStignoreEnvVar skips the autogenerate stignore dialog and creates the default one
	OktetoAutogenerateStignoreEnvVar = "OKTETO_AUTOGENERATE_STIGNORE"

	// OktetoInheritKubernetesResourcesEnvVar enables inheriting Kubernetes resources when resources section is omitted
	OktetoInheritKubernetesResourcesEnvVar = "OKTETO_INHERIT_KUBERNETES_RESOURCES"

	// OktetoInheritKubernetesNodeSelectorEnvVar enables inheriting Kubernetes nodeSelector when nodeSelector section is omitted
	OktetoInheritKubernetesNodeSelectorEnvVar = "OKTETO_INHERIT_KUBERNETES_NODESELECTOR"

	// OktetoDefaultImageTag default tag assigned to image to build
	OktetoDefaultImageTag = "okteto"

	// IgnoreFilename is the name of the okteto ignore file
	IgnoreFilename = ".oktetoignore"
)
View Source
const (
	DefaultReplicasNumber = 1
)
View Source
const (

	// FakeCommand prints into terminal a fake command
	FakeCommand = "echo 'Replace this line with the proper 'helm' or 'kubectl' commands to deploy your development environment'"
)

Variables

View Source
var (
	ErrNoTestsDefined = fmt.Errorf("no tests defined")

	ErrHostMalformed   = fmt.Errorf("host is malformed")
	ErrInvalidHostName = fmt.Errorf("invalid hostname")
	ErrInvalidIp       = fmt.Errorf("invalid ip")
)
View Source
var (

	// ValidKubeNameRegex is the regex to validate a kubernetes resource name
	ValidKubeNameRegex = regexp.MustCompile(`[^a-z0-9\-]+`)
)

Functions

func DevCloneName

func DevCloneName(name string) string

DevCloneName returns the name of the mirrored version of a given resource

func ExpandStackEnvs

func ExpandStackEnvs(file []byte) ([]byte, error)

ExpandStackEnvs returns the stack manifest with expanded envs

func GetAvailablePort

func GetAvailablePort(iface string) (int, error)

GetAvailablePort returns a random port that's available

func GetAvailablePortInRange

func GetAvailablePortInRange(iface string, minPort, maxPort int) (int, error)

GetAvailablePortInRange returns the first available port in the specified range, starting from a random offset to reduce collisions in parallel builds

func GetStackConfigMapName

func GetStackConfigMapName(stackName string) string

GetStackConfigMapName returns the label selector for the stack name

func GetStructKeys

func GetStructKeys(t interface{}) map[string][]string

GetStructKeys recursively goes through a given struct and returns a map of struct names to their fields

func GetTimeout

func GetTimeout() (time.Duration, error)

GetTimeout returns the timeout override

func GroupWarningsBySvc

func GroupWarningsBySvc(fields []string) []string

func IsAlreadyAdded

func IsAlreadyAdded(p PortInterface, ports []Port) bool

IsAlreadyAdded checks if a port is already on port list

func IsAlreadyAddedExpose

func IsAlreadyAddedExpose(p Port, ports []Port) bool

func IsPortAvailable

func IsPortAvailable(iface string, port int) bool

IsPortAvailable returns true if the port is already taken

func IsPortInService

func IsPortInService(port int32, ports []Port) bool

func IsSkippablePort

func IsSkippablePort(port int32) bool

func NewManifestFriendlyError

func NewManifestFriendlyError(err error) *suggest.UserFriendlyError

NewManifestFriendlyError returns a new UserFriendlyError for the okteto manifest.

func SerializeEnvironmentVars

func SerializeEnvironmentVars(envs env.Environment) []string

SerializeEnvironmentVars returns environment variables as a list of strings

func TranslatePodAffinity

func TranslatePodAffinity(tr *TranslationRule, name string)

TranslatePodAffinity translates the affinity of pod to be all on the same node

Types

type Affinity

type Affinity apiv1.Affinity

func (*Affinity) UnmarshalYAML

func (a *Affinity) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg. Unmarshal into our yaml affinity to marshal it into json and unmarshal it with the apiv1.Affinity.

type AffinityRaw

type AffinityRaw struct {
	NodeAffinity    *NodeAffinity    `yaml:"nodeAffinity,omitempty" json:"nodeAffinity,omitempty"`
	PodAffinity     *PodAffinity     `yaml:"podAffinity,omitempty" json:"podAffinity,omitempty"`
	PodAntiAffinity *PodAntiAffinity `yaml:"podAntiAffinity,omitempty" json:"podAntiAffinity,omitempty"`
}

type Annotations

type Annotations map[string]string

Annotations is a set of (key, value) pairs.

func (*Annotations) UnmarshalYAML

func (a *Annotations) UnmarshalYAML(unmarshal func(interface{}) error) error

type Archetype

type Archetype string

Archetype represents the type of manifest

var (
	// StackType represents a stack manifest type
	StackType Archetype = "compose"
	// OktetoType represents a okteto manifest type
	OktetoType Archetype = "okteto"
	// OktetoManifestType represents a okteto manifest type
	OktetoManifestType Archetype = "manifest"
	// PipelineType represents a okteto pipeline manifest type
	PipelineType Archetype = "pipeline"
)

type Args

type Args struct {
	Values []string
}

Args represents the args of a development container

func (Args) MarshalYAML

func (a Args) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Args) UnmarshalYAML

func (a *Args) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type ArgsStack

type ArgsStack struct {
	Values []string
}

ArgsStack represents an okteto stack args

func (*ArgsStack) UnmarshalYAML

func (a *ArgsStack) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Artifact

type Artifact struct {
	Path        string `yaml:"path,omitempty"`
	Destination string `yaml:"destination,omitempty"`
}

func (*Artifact) UnmarshalYAML

func (t *Artifact) UnmarshalYAML(unmarshal func(interface{}) error) error

type Capabilities

type Capabilities struct {
	Add  []apiv1.Capability `json:"add,omitempty" yaml:"add,omitempty"`
	Drop []apiv1.Capability `json:"drop,omitempty" yaml:"drop,omitempty"`
}

Capabilities sets the linux capabilities of a container

type Command

type Command struct {
	Values []string
}

Command represents the start command of a development container

func (Command) MarshalYAML

func (c Command) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Command) UnmarshalYAML

func (c *Command) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type CommandStack

type CommandStack struct {
	Values []string
}

CommandStack represents an okteto stack command

func (*CommandStack) UnmarshalYAML

func (c *CommandStack) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type ComposeInfo

type ComposeInfo struct {
	File             string           `json:"file,omitempty" yaml:"file,omitempty"`
	ServicesToDeploy ServicesToDeploy `json:"services,omitempty" yaml:"services,omitempty"`
}

func (*ComposeInfo) UnmarshalYAML

func (c *ComposeInfo) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type ComposeInfoList

type ComposeInfoList []ComposeInfo

func (*ComposeInfoList) UnmarshalYAML

func (c *ComposeInfoList) UnmarshalYAML(unmarshal func(interface{}) error) error

type ComposeSectionInfo

type ComposeSectionInfo struct {
	Stack        *Stack          `json:"-" yaml:"-"`
	ComposesInfo ComposeInfoList `json:"manifest,omitempty" yaml:"manifest,omitempty"`
}

ComposeSectionInfo represents information about compose file

func (*ComposeSectionInfo) MarshalYAML

func (c *ComposeSectionInfo) MarshalYAML() (interface{}, error)

MarshalYAML Implements the Unmarshaler interface of the yaml pkg.

func (*ComposeSectionInfo) UnmarshalYAML

func (c *ComposeSectionInfo) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type ComposeServices

type ComposeServices map[string]*Service

ComposeServices represents the services declared in the compose

func (ComposeServices) ValidateDependsOn

func (cs ComposeServices) ValidateDependsOn(svcs []string) error

type DependsOn

type DependsOn map[string]DependsOnConditionSpec

func (*DependsOn) UnmarshalYAML

func (dependsOn *DependsOn) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type DependsOnCondition

type DependsOnCondition string
const (
	DependsOnServiceHealthy DependsOnCondition = "service_healthy"

	DependsOnServiceRunning DependsOnCondition = "service_started"

	DependsOnServiceCompleted DependsOnCondition = "service_completed_successfully"
)

type DependsOnConditionSpec

type DependsOnConditionSpec struct {
	Condition DependsOnCondition `json:"condition,omitempty" yaml:"condition,omitempty"`
}

type DeployCommand

type DeployCommand struct {
	Name    string `json:"name,omitempty" yaml:"name,omitempty"`
	Command string `json:"command,omitempty" yaml:"command,omitempty"`
}

DeployCommand represents a command to be executed

func (*DeployCommand) UnmarshalYAML

func (d *DeployCommand) UnmarshalYAML(unmarshal func(interface{}) error) error

type DeployComposeResources

type DeployComposeResources struct {
	Devices    *WarningType           `json:"devices,omitempty" yaml:"devices,omitempty"`
	Extensions map[string]interface{} `yaml:",inline" json:"-"`
	Cpus       Quantity               `json:"cpus,omitempty" yaml:"cpus,omitempty"`
	Memory     Quantity               `json:"memory,omitempty" yaml:"memory,omitempty"`
}

type DeployInfo

type DeployInfo struct {
	ComposeSection *ComposeSectionInfo `json:"compose,omitempty" yaml:"compose,omitempty"`
	Endpoints      EndpointSpec        `json:"endpoints,omitempty" yaml:"endpoints,omitempty"`
	Divert         *DivertDeploy       `json:"divert,omitempty" yaml:"divert,omitempty"`
	Remote         *bool               `json:"remote,omitempty" yaml:"remote,omitempty"`
	Image          string              `json:"image,omitempty" yaml:"image,omitempty"`
	Context        string              `yaml:"context,omitempty"`
	Commands       []DeployCommand     `json:"commands,omitempty" yaml:"commands,omitempty"`
}

DeployInfo represents what must be deployed for the app to work

func (DeployInfo) IsEmpty

func (di DeployInfo) IsEmpty() bool

func (*DeployInfo) MarshalYAML

func (d *DeployInfo) MarshalYAML() (interface{}, error)

func (*DeployInfo) UnmarshalYAML

func (d *DeployInfo) UnmarshalYAML(unmarshal func(interface{}) error) error

type DeployInfoRaw

type DeployInfoRaw struct {
	Replicas      *int32            `yaml:"replicas,omitempty"`
	Labels        Labels            `yaml:"labels,omitempty"`
	RestartPolicy *RestartPolicyRaw `yaml:"restart_policy,omitempty"`
	EndpointMode  string            `yaml:"endpoint_mode,omitempty"`

	Mode           *WarningType `yaml:"mode,omitempty"`
	Placement      *WarningType `yaml:"placement,omitempty"`
	Constraints    *WarningType `yaml:"constraints,omitempty"`
	Preferences    *WarningType `yaml:"preferences,omitempty"`
	RollbackConfig *WarningType `yaml:"rollback_config,omitempty"`
	UpdateConfig   *WarningType `yaml:"update_config,omitempty"`

	Extensions map[string]interface{} `yaml:",inline" json:"-"`

	Resources ResourcesRaw `yaml:"resources,omitempty"`
}

type DestroyInfo

type DestroyInfo struct {
	Remote   *bool           `json:"remote,omitempty" yaml:"remote,omitempty"`
	Image    string          `json:"image,omitempty" yaml:"image,omitempty"`
	Context  string          `yaml:"context,omitempty"`
	Commands []DeployCommand `json:"commands,omitempty" yaml:"commands,omitempty"`
}

DestroyInfo represents what must be destroyed for the app

func (DestroyInfo) IsEmpty

func (di DestroyInfo) IsEmpty() bool

func (*DestroyInfo) MarshalYAML

func (d *DestroyInfo) MarshalYAML() (interface{}, error)

func (*DestroyInfo) UnmarshalYAML

func (d *DestroyInfo) UnmarshalYAML(unmarshal func(interface{}) error) error

type Dev

type Dev struct {
	Resources            ResourceRequirements  `json:"resources,omitempty" yaml:"resources,omitempty"`
	Selector             Selector              `json:"selector,omitempty" yaml:"selector,omitempty"`
	PersistentVolumeInfo *PersistentVolumeInfo `json:"persistentVolume,omitempty" yaml:"persistentVolume,omitempty"`
	SecurityContext      *SecurityContext      `json:"securityContext,omitempty" yaml:"securityContext,omitempty"`
	Probes               *Probes               `json:"probes,omitempty" yaml:"probes,omitempty"`
	NodeSelector         map[string]string     `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
	Metadata             *Metadata             `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Affinity             *Affinity             `json:"affinity,omitempty" yaml:"affinity,omitempty"`
	Image                string                `json:"image,omitempty" yaml:"image,omitempty"`
	Lifecycle            *Lifecycle            `json:"lifecycle,omitempty" yaml:"lifecycle,omitempty"`
	Replicas             *int                  `json:"replicas,omitempty" yaml:"replicas,omitempty"`
	InitContainer        InitContainer         `json:"initContainer,omitempty" yaml:"initContainer,omitempty"`
	Workdir              string                `json:"workdir,omitempty" yaml:"workdir,omitempty"`
	Name                 string                `json:"name,omitempty" yaml:"name,omitempty"`
	Container            string                `json:"container,omitempty" yaml:"container,omitempty"`
	ServiceAccount       string                `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"`
	PriorityClassName    string                `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty"`

	Interface       string           `json:"interface,omitempty" yaml:"interface,omitempty"`
	Mode            string           `json:"mode,omitempty" yaml:"mode,omitempty"`
	ImagePullPolicy apiv1.PullPolicy `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"`

	Tolerations     []apiv1.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"`
	Command         Command            `json:"command,omitempty" yaml:"command,omitempty"`
	Forward         []forward.Forward  `json:"forward,omitempty" yaml:"forward,omitempty"`
	Reverse         []Reverse          `json:"reverse,omitempty" yaml:"reverse,omitempty"`
	ExternalVolumes []ExternalVolume   `json:"externalVolumes,omitempty" yaml:"externalVolumes,omitempty"`
	Secrets         []Secret           `json:"secrets,omitempty" yaml:"secrets,omitempty"`
	Volumes         []Volume           `json:"volumes,omitempty" yaml:"volumes,omitempty"`
	EnvFiles        env.Files          `json:"envFiles,omitempty" yaml:"envFiles,omitempty"`
	Environment     env.Environment    `json:"environment,omitempty" yaml:"environment,omitempty"`
	Services        []*Dev             `json:"services,omitempty" yaml:"services,omitempty"`
	Args            Command            `json:"args,omitempty" yaml:"args,omitempty"`
	Sync            Sync               `json:"sync,omitempty" yaml:"sync,omitempty"`
	Timeout         Timeout            `json:"timeout,omitempty" yaml:"timeout,omitempty"`
	RemotePort      int                `json:"remote,omitempty" yaml:"remote,omitempty"`
	SSHServerPort   int                `json:"sshServerPort,omitempty" yaml:"sshServerPort,omitempty"`

	Autocreate bool `json:"autocreate,omitempty" yaml:"autocreate,omitempty"`
	// contains filtered or unexported fields
}

Dev represents a development container

func NewDev

func NewDev() *Dev

func (*Dev) AreDefaultPersistentVolumeValues

func (dev *Dev) AreDefaultPersistentVolumeValues() bool

func (*Dev) GetVolumeName

func (dev *Dev) GetVolumeName() string

GetVolumeName returns the okteto volume name for a given development container

func (*Dev) HasDefaultPersistentVolumeSize

func (dev *Dev) HasDefaultPersistentVolumeSize() bool

func (*Dev) HasEmptyNodeSelector

func (dev *Dev) HasEmptyNodeSelector() bool

HasEmptyNodeSelector checks if the dev configuration has an empty nodeSelector

func (*Dev) IsHybridModeEnabled

func (dev *Dev) IsHybridModeEnabled() bool

func (*Dev) IsInteractive

func (dev *Dev) IsInteractive() bool

func (*Dev) IsSubPathFolder

func (dev *Dev) IsSubPathFolder(path string) (bool, error)

IsSubPathFolder checks if a sync folder is a subpath of another sync folder

func (*Dev) LabelsSelector

func (dev *Dev) LabelsSelector() string

LabelsSelector returns the labels of a Deployment as a k8s selector

func (*Dev) LoadForcePull

func (dev *Dev) LoadForcePull()

LoadForcePull force the dev pods to be recreated and pull the latest version of their image

func (*Dev) LoadRemote

func (dev *Dev) LoadRemote(pubKeyPath string)

LoadRemote configures remote execution

func (*Dev) MarshalYAML

func (d *Dev) MarshalYAML() (interface{}, error)

func (*Dev) PersistentVolumeAccessMode

func (dev *Dev) PersistentVolumeAccessMode() apiv1.PersistentVolumeAccessMode

PersistentVolumeAccessMode returns the persistent volume accessMode

func (*Dev) PersistentVolumeAnnotations

func (dev *Dev) PersistentVolumeAnnotations() Annotations

PersistentVolumeAnnotations returns the persistent volume annotations

func (*Dev) PersistentVolumeEnabled

func (dev *Dev) PersistentVolumeEnabled() bool

PersistentVolumeEnabled returns true if persistent volumes are enabled for dev

func (*Dev) PersistentVolumeLabels

func (dev *Dev) PersistentVolumeLabels() Labels

PersistentVolumeLabels returns the persistent volume labels

func (*Dev) PersistentVolumeMode

func (dev *Dev) PersistentVolumeMode() apiv1.PersistentVolumeMode

PersistentVolumeMode returns the persistent volume volumeMode

func (*Dev) PersistentVolumeSize

func (dev *Dev) PersistentVolumeSize() string

PersistentVolumeSize returns the persistent volume size set at the dev object if not set, it will return the value of the environment variable OKTETO_DEV_PERSISTENT_VOLUME_SIZE if the env is not set, the default value at defaultVolumeSize local variable

func (*Dev) PersistentVolumeStorageClass

func (dev *Dev) PersistentVolumeStorageClass() string

PersistentVolumeStorageClass returns the persistent volume storage class

func (*Dev) PreparePathsAndExpandEnvFiles

func (dev *Dev) PreparePathsAndExpandEnvFiles(manifestPath string, fs afero.Fs) error

PreparePathsAndExpandEnvFiles calls other methods required to have the dev ready to use

func (*Dev) RemoteModeEnabled

func (dev *Dev) RemoteModeEnabled() bool

RemoteModeEnabled returns true if remote is enabled

func (*Dev) RunAsNonRoot

func (dev *Dev) RunAsNonRoot() bool

RunAsNonRoot returns true if the development container must run as a non-root user

func (*Dev) Save

func (dev *Dev) Save(path string) error

Save saves the okteto manifest in a given path

func (*Dev) SetDefaults

func (dev *Dev) SetDefaults() error

func (*Dev) SetLastBuiltAnnotation

func (dev *Dev) SetLastBuiltAnnotation()

SetLastBuiltAnnotation sets the dev timestamp

func (*Dev) ToTranslationRule

func (dev *Dev) ToTranslationRule(main *Dev, namespace, manifestName, username string, reset bool) *TranslationRule

ToTranslationRule translates a dev struct into a translation rule

func (*Dev) UnmarshalYAML

func (d *Dev) UnmarshalYAML(unmarshal func(interface{}) error) error

func (*Dev) Validate

func (dev *Dev) Validate() error

Validate validates if a dev environment is correctly formed

type DivertDeploy

type DivertDeploy struct {
	Driver               string                 `json:"driver,omitempty" yaml:"driver,omitempty"`
	Namespace            string                 `json:"namespace,omitempty" yaml:"namespace,omitempty"`
	DeprecatedService    string                 `json:"service,omitempty" yaml:"service,omitempty"`
	DeprecatedDeployment string                 `json:"deployment,omitempty" yaml:"deployment,omitempty"`
	VirtualServices      []DivertVirtualService `json:"virtualServices,omitempty" yaml:"virtualServices,omitempty"`
	Hosts                []DivertHost           `json:"hosts,omitempty" yaml:"hosts,omitempty"`
	DeprecatedPort       int                    `json:"port,omitempty" yaml:"port,omitempty"`
}

DivertDeploy represents information about the deploy divert configuration

func (*DivertDeploy) IsEmpty

func (d *DivertDeploy) IsEmpty() bool

IsEmpty returns true if the manifest is empty

type DivertHost

type DivertHost struct {
	VirtualService string `json:"virtualService,omitempty" yaml:"virtualService,omitempty"`
	Namespace      string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
}

DivertHost represents a host from a virtual service in a namespace to be diverted

type DivertVirtualService

type DivertVirtualService struct {
	Name      string   `json:"name,omitempty" yaml:"name,omitempty"`
	Namespace string   `json:"namespace,omitempty" yaml:"namespace,omitempty"`
	Routes    []string `json:"routes,omitempty" yaml:"routes,omitempty"`
}

DivertVirtualService represents a virtual service in a namespace to be diverted

type Duration

type Duration time.Duration

Duration represents a duration

func (*Duration) UnmarshalYAML

func (d *Duration) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Endpoint

type Endpoint struct {
	Labels      Labels         `json:"labels,omitempty" yaml:"labels,omitempty"`
	Annotations Annotations    `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	Rules       []EndpointRule `yaml:"rules,omitempty"`
}

Endpoint represents an okteto stack ingress

func (*Endpoint) UnmarshalYAML

func (endpoint *Endpoint) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type EndpointMode

type EndpointMode string

EndpointMode represents the endpoint mode for a service

const (
	// EndpointModeVIP assigns the service a virtual IP (VIP) that acts as the front end
	// for clients to reach the service on a network. This is the default mode.
	EndpointModeVIP EndpointMode = "vip"

	// EndpointModeDNSRR sets up DNS entries for the service such that a DNS query
	// for the service name returns a list of IP addresses (DNS round-robin)
	EndpointModeDNSRR EndpointMode = "dnsrr"
)

type EndpointRule

type EndpointRule struct {
	Path    string `yaml:"path,omitempty"`
	Service string `yaml:"service,omitempty"`
	Port    int32  `yaml:"port,omitempty"`
}

EndpointRule represents an okteto ingress rule

type EndpointSpec

type EndpointSpec map[string]Endpoint

func (*EndpointSpec) UnmarshalYAML

func (endpoint *EndpointSpec) UnmarshalYAML(unmarshal func(interface{}) error) error

type Entrypoint

type Entrypoint struct {
	Values []string
}

Entrypoint represents the start command of a development container

func (Entrypoint) MarshalYAML

func (e Entrypoint) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Entrypoint) UnmarshalYAML

func (e *Entrypoint) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Envs

type Envs struct {
	List env.Environment
}

type ExternalVolume

type ExternalVolume struct {
	Name      string
	SubPath   string
	MountPath string
}

ExternalVolume represents a external volume in the development container

func (ExternalVolume) MarshalYAML

func (v ExternalVolume) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*ExternalVolume) UnmarshalYAML

func (v *ExternalVolume) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type HTTPHealtcheck

type HTTPHealtcheck struct {
	Path string `yaml:"path,omitempty"`
	Port int32  `yaml:"port,omitempty"`
}

func (*HTTPHealtcheck) UnmarshalYAML

func (httpHealtcheck *HTTPHealtcheck) UnmarshalYAML(unmarshal func(interface{}) error) error

type HealtcheckTest

type HealtcheckTest []string

func (*HealtcheckTest) UnmarshalYAML

func (healthcheckTest *HealtcheckTest) UnmarshalYAML(unmarshal func(interface{}) error) error

type HealthCheck

type HealthCheck struct {
	HTTP        *HTTPHealtcheck `yaml:"http,omitempty"`
	Test        HealtcheckTest  `yaml:"test,omitempty"`
	Interval    time.Duration   `yaml:"interval,omitempty"`
	Timeout     time.Duration   `yaml:"timeout,omitempty"`
	Retries     int             `yaml:"retries,omitempty"`
	StartPeriod time.Duration   `yaml:"start_period,omitempty"`
	Disable     bool            `yaml:"disable,omitempty"`
	Liveness    bool            `yaml:"x-okteto-liveness,omitempty"`
	Readiness   bool            `default:"true" yaml:"x-okteto-readiness,omitempty"`
}

func (*HealthCheck) UnmarshalYAML

func (hc *HealthCheck) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Host

type Host struct {
	Hostname string `yaml:"hostname,omitempty"`
	IP       string `yaml:"ip,omitempty"`
}

func (*Host) UnmarshalYAML

func (h *Host) UnmarshalYAML(unmarshal func(interface{}) error) error

type ImageFromManifest

type ImageFromManifest func(manifest *Manifest) string

ImageFromManifest is a thunk that returns an image value from a parsed manifest This allows to implement general purpose logic on images without necessarily referencing a specific image, for eg manifest.Deploy.Image or manifest.Destroy.Image

type InitContainer

type InitContainer struct {
	Resources ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	Image     string               `json:"image,omitempty" yaml:"image,omitempty"`
}

InitContainer represents the initial container

type LabelSelector

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

type LabelSelectorRequirement

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

type Labels

type Labels map[string]string

Labels is a set of (key, value) pairs.

func (*Labels) UnmarshalYAML

func (l *Labels) UnmarshalYAML(unmarshal func(interface{}) error) error

type Lifecycle

type Lifecycle struct {
	PostStart *LifecycleHandler `json:"postStart,omitempty" yaml:"postStart,omitempty"`
	PreStop   *LifecycleHandler `json:"preStop,omitempty" yaml:"preStop,omitempty"`
}

Lifecycle defines the lifecycle for containers

func (*Lifecycle) MarshalYAML

func (l *Lifecycle) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Lifecycle) UnmarshalYAML

func (l *Lifecycle) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type LifecycleHandler

type LifecycleHandler struct {
	Command Command `json:"command,omitempty" yaml:"command,omitempty"`
	Enabled bool    `json:"enabled,omitempty" yaml:"enabled,omitempty"`
}

LifecycleHandler defines a handler for lifecycle events

func (*LifecycleHandler) MarshalYAML

func (lh *LifecycleHandler) MarshalYAML() (interface{}, error)

func (*LifecycleHandler) UnmarshalYAML

func (lh *LifecycleHandler) UnmarshalYAML(unmarshal func(interface{}) error) error

type Manifest

type Manifest struct {
	Fs           afero.Fs                 `json:"-" yaml:"-"`
	External     externalresource.Section `json:"external,omitempty" yaml:"external,omitempty"`
	Dependencies deps.ManifestSection     `json:"dependencies,omitempty" yaml:"dependencies,omitempty"`
	Build        build.ManifestBuild      `json:"build,omitempty" yaml:"build,omitempty"`
	Deploy       *DeployInfo              `json:"deploy,omitempty" yaml:"deploy,omitempty"`
	Dev          ManifestDevs             `json:"dev,omitempty" yaml:"dev,omitempty"`
	Name         string                   `json:"name,omitempty" yaml:"name,omitempty"`
	Icon         string                   `json:"icon,omitempty" yaml:"icon,omitempty"`
	ManifestPath string                   `json:"-" yaml:"-"`
	Destroy      *DestroyInfo             `json:"destroy,omitempty" yaml:"destroy,omitempty"`
	Test         ManifestTests            `json:"test,omitempty" yaml:"test,omitempty"`

	Type          Archetype               `json:"-" yaml:"-"`
	GlobalForward []forward.GlobalForward `json:"forward,omitempty" yaml:"forward,omitempty"`
	Manifest      []byte                  `json:"-" yaml:"-"`
}

Manifest represents an okteto manifest

func GetInferredManifest

func GetInferredManifest(cwd string, fs afero.Fs) (*Manifest, error)

GetInferredManifest infers the manifest from a directory

func GetManifestV2

func GetManifestV2(manifestPath string, fs afero.Fs) (*Manifest, error)

GetManifestV2 gets a manifest from a path or search for the files to generate it

func NewManifest

func NewManifest() *Manifest

NewManifest creates a new empty manifest

func NewManifestFromStack

func NewManifestFromStack(stack *Stack) *Manifest

NewManifestFromStack creates a new manifest from a stack struct

func Read

func Read(bytes []byte) (*Manifest, error)

Read reads an okteto manifests

func (*Manifest) ExpandEnvVars

func (manifest *Manifest) ExpandEnvVars() error

ExpandEnvVars expands env vars to be set on the manifest

func (*Manifest) GetBuildServices

func (m *Manifest) GetBuildServices() map[string]bool

func (*Manifest) GetStack

func (m *Manifest) GetStack() *Stack

func (*Manifest) HasBuildSection

func (m *Manifest) HasBuildSection() bool

func (*Manifest) HasDependencies

func (m *Manifest) HasDependencies() bool

HasDependencies returns true if the manifest has dependencies

func (*Manifest) HasDependenciesSection

func (m *Manifest) HasDependenciesSection() bool

func (*Manifest) HasDeploySection

func (m *Manifest) HasDeploySection() bool

func (*Manifest) InferFromStack

func (m *Manifest) InferFromStack(cwd string) (*Manifest, error)

InferFromStack infers data, mainly dev services and build information from services defined in the stackfile

func (*Manifest) IsDeployDefault

func (m *Manifest) IsDeployDefault() bool

IsDeployDefault returns true if the command is empty or if it has the default one

func (*Manifest) MarshalYAML

func (m *Manifest) MarshalYAML() (interface{}, error)

func (*Manifest) SanitizeSvcNames

func (m *Manifest) SanitizeSvcNames() error

SanitizeSvcNames sanitize service names in 'dev', 'build' and 'global forward' sections

func (*Manifest) UnmarshalYAML

func (m *Manifest) UnmarshalYAML(unmarshal func(interface{}) error) error

func (*Manifest) ValidateForCLIOnly

func (m *Manifest) ValidateForCLIOnly() error

func (*Manifest) WriteToFile

func (m *Manifest) WriteToFile(filePath string) error

WriteToFile writes a manifest to a file with comments to make it easier to understand

type ManifestDevs

type ManifestDevs map[string]*Dev

ManifestDevs defines all the dev section

func (ManifestDevs) GetDevs

func (d ManifestDevs) GetDevs() []string

GetDevs returns a list of strings with the keys of devs defined

func (ManifestDevs) HasDev

func (d ManifestDevs) HasDev(name string) bool

HasDev checks if manifestDevs has a dev name as key

func (*ManifestDevs) UnmarshalYAML

func (d *ManifestDevs) UnmarshalYAML(unmarshal func(interface{}) error) error

type ManifestTests

type ManifestTests map[string]*Test

ManifestTests defines all the test sections

func (ManifestTests) IsEmpty

func (mt ManifestTests) IsEmpty() bool

func (ManifestTests) Validate

func (test ManifestTests) Validate() error

type Metadata

type Metadata struct {
	Labels      Labels      `json:"labels,omitempty" yaml:"labels,omitempty"`
	Annotations Annotations `json:"annotations,omitempty" yaml:"annotations,omitempty"`
}

type NodeAffinity

type NodeAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  *NodeSelector             `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `` /* 129-byte string literal not displayed */
}

NodeAffinity describes node affinity scheduling rules for the pod.

type NodeSelector

type NodeSelector struct {
	NodeSelectorTerms []NodeSelectorTerm `yaml:"nodeSelectorTerms" json:"nodeSelectorTerms"`
}

type NodeSelectorRequirement

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

type NodeSelectorTerm

type NodeSelectorTerm struct {
	MatchExpressions []NodeSelectorRequirement `yaml:"matchExpressions,omitempty" json:"matchExpressions,omitempty"`
	MatchFields      []NodeSelectorRequirement `yaml:"matchFields,omitempty" json:"matchFields,omitempty"`
}

type PersistentVolumeInfo

type PersistentVolumeInfo struct {
	Annotations  Annotations                      `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	Labels       Labels                           `json:"labels,omitempty" yaml:"labels,omitempty"`
	AccessMode   apiv1.PersistentVolumeAccessMode `json:"accessMode,omitempty" yaml:"accessMode,omitempty"`
	Size         string                           `json:"size,omitempty" yaml:"size,omitempty"`
	StorageClass string                           `json:"storageClass,omitempty" yaml:"storageClass,omitempty"`
	VolumeMode   apiv1.PersistentVolumeMode       `json:"volumeMode,omitempty" yaml:"volumeMode,omitempty"`
	Enabled      bool                             `json:"enabled,omitempty" yaml:"enabled"`
}

PersistentVolumeInfo info about the persistent volume

type PodAffinity

type PodAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  []PodAffinityTerm         `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `` /* 129-byte string literal not displayed */
}

PodAffinity describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).

type PodAffinityTerm

type PodAffinityTerm struct {
	LabelSelector *LabelSelector `yaml:"labelSelector,omitempty" json:"labelSelector,omitempty"`
	TopologyKey   string         `yaml:"topologyKey" json:"topologyKey"`
	Namespaces    []string       `yaml:"namespaces,omitempty" json:"namespaces,omitempty"`
}

type PodAntiAffinity

type PodAntiAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  []PodAffinityTerm         `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `` /* 129-byte string literal not displayed */
}

PodAntiAffinity describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).

type Port

type Port struct {
	Protocol      apiv1.Protocol
	HostPort      int32
	ContainerPort int32
}

func (Port) GetContainerPort

func (p Port) GetContainerPort() int32

func (Port) GetHostPort

func (p Port) GetHostPort() int32

func (Port) GetProtocol

func (p Port) GetProtocol() apiv1.Protocol

func (*Port) MarshalYAML

func (p *Port) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

type PortInterface

type PortInterface interface {
	GetHostPort() int32
	GetContainerPort() int32
	GetProtocol() apiv1.Protocol
}

type PortRaw

type PortRaw struct {
	Extensions    map[string]interface{} `yaml:",inline" json:"-"`
	Protocol      apiv1.Protocol
	ContainerPort int32
	HostPort      int32
	ContainerFrom int32
	ContainerTo   int32
	HostFrom      int32
	HostTo        int32
}

func (*PortRaw) UnmarshalYAML

func (p *PortRaw) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type PreferredSchedulingTerm

type PreferredSchedulingTerm struct {
	// A node selector term, associated with the corresponding weight.
	Preference NodeSelectorTerm `yaml:"preference" json:"preference"`
	// Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
	Weight int32 `yaml:"weight" json:"weight"`
}

type Probes

type Probes struct {
	Liveness  bool `json:"liveness,omitempty" yaml:"liveness,omitempty"`
	Readiness bool `json:"readiness,omitempty" yaml:"readiness,omitempty"`
	Startup   bool `json:"startup,omitempty" yaml:"startup,omitempty"`
}

Probes defines probes for containers

func (Probes) MarshalYAML

func (p Probes) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Probes) UnmarshalYAML

func (p *Probes) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Quantity

type Quantity struct {
	Value resource.Quantity
}

Quantity represents an okteto stack service storage resource

func (Quantity) MarshalYAML

func (q Quantity) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Quantity) UnmarshalYAML

func (q *Quantity) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type RawMessage

type RawMessage struct {
	// contains filtered or unexported fields
}

func (*RawMessage) Unmarshal

func (msg *RawMessage) Unmarshal(v interface{}) error

func (*RawMessage) UnmarshalYAML

func (msg *RawMessage) UnmarshalYAML(unmarshal func(interface{}) error) error

type ResourceList

type ResourceList map[apiv1.ResourceName]resource.Quantity

ResourceList is a set of (resource name, quantity) pairs.

func (ResourceList) MarshalYAML

func (r ResourceList) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*ResourceList) UnmarshalYAML

func (r *ResourceList) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type ResourceRequirements

type ResourceRequirements struct {
	Limits   ResourceList `json:"limits,omitempty" yaml:"limits,omitempty"`
	Requests ResourceList `json:"requests,omitempty" yaml:"requests,omitempty"`
}

ResourceRequirements describes the compute resource requirements.

func (*ResourceRequirements) HasEmptyResources

func (r *ResourceRequirements) HasEmptyResources() bool

HasEmptyResources returns true if the dev resources are empty (no resources specified in okteto manifest)

type ResourcesRaw

type ResourcesRaw struct {
	Extensions   map[string]interface{} `yaml:",inline" json:"-"`
	Limits       DeployComposeResources `json:"limits,omitempty" yaml:"limits,omitempty"`
	Reservations DeployComposeResources `json:"reservations,omitempty" yaml:"reservations,omitempty"`
}

type RestartPolicyRaw

type RestartPolicyRaw struct {
	Delay       *WarningType           `yaml:"delay,omitempty"`
	Window      *WarningType           `yaml:"window,omitempty"`
	Extensions  map[string]interface{} `yaml:",inline" json:"-"`
	Condition   string                 `yaml:"condition,omitempty"`
	MaxAttempts int32                  `yaml:"max_attempts,omitempty"`
}

type Reverse

type Reverse struct {
	Remote int
	Local  int
}

Reverse represents a remote forward port

func (Reverse) MarshalYAML

func (f Reverse) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Reverse) UnmarshalYAML

func (f *Reverse) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Secret

type Secret struct {
	LocalPath  string
	RemotePath string
	Mode       int32
}

Secret represents a development secret

func (*Secret) GetFileName

func (s *Secret) GetFileName() string

GetFileName returns the secret file name

func (*Secret) GetKeyName

func (s *Secret) GetKeyName() string

GetKeyName returns the secret key name

func (Secret) MarshalYAML

func (s Secret) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Secret) UnmarshalYAML

func (s *Secret) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type SecurityContext

type SecurityContext struct {
	RunAsUser                *int64        `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty"`
	RunAsGroup               *int64        `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty"`
	FSGroup                  *int64        `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty"`
	Capabilities             *Capabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`
	RunAsNonRoot             *bool         `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty"`
	AllowPrivilegeEscalation *bool         `json:"allowPrivilegeEscalation,omitempty" yaml:"allowPrivilegeEscalation,omitempty"`
	ReadOnlyRootFilesystem   *bool         `json:"readOnlyRootFilesystem,omitempty" yaml:"readOnlyRootFilesystem,omitempty"`
}

SecurityContext represents a pod security context

type Selector

type Selector map[string]string

Selector is a set of (key, value) pairs.

type Service

type Service struct {
	Healtcheck    *HealthCheck          `yaml:"healthcheck,omitempty"`
	Labels        Labels                `json:"labels,omitempty" yaml:"labels,omitempty"`
	Resources     *StackResources       `yaml:"resources,omitempty"` // For okteto stack only
	NodeSelector  Selector              `json:"x-node-selector,omitempty" yaml:"x-node-selector,omitempty"`
	User          *StackSecurityContext `yaml:"user,omitempty"`
	DependsOn     DependsOn             `yaml:"depends_on,omitempty"`
	Build         *build.Info           `yaml:"build,omitempty"`
	Workdir       string                `yaml:"workdir,omitempty"`
	Image         string                `yaml:"image,omitempty"`
	RestartPolicy apiv1.RestartPolicy   `yaml:"restart,omitempty"`

	Environment     env.Environment      `yaml:"environment,omitempty"`
	Ports           []Port               `yaml:"ports,omitempty"`
	Volumes         []build.VolumeMounts `yaml:"volumes,omitempty"`
	CapAdd          []apiv1.Capability   `yaml:"cap_add,omitempty"`
	CapDrop         []apiv1.Capability   `yaml:"cap_drop,omitempty"`
	VolumeMounts    []build.VolumeMounts `yaml:"-"`
	EnvFiles        env.Files            `yaml:"env_file,omitempty"`
	Command         Command              `yaml:"command,omitempty"`
	Annotations     Annotations          `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	Entrypoint      Entrypoint           `yaml:"entrypoint,omitempty"`
	StopGracePeriod int64                `yaml:"stop_grace_period,omitempty"`

	Replicas     int32 `yaml:"replicas,omitempty"` // For okteto stack only
	BackOffLimit int32 `yaml:"max_attempts,omitempty"`

	Public bool `yaml:"public,omitempty"` // For okteto stack only

	EndpointMode EndpointMode `yaml:"endpoint_mode,omitempty"` // For compose services.deploy.endpoint_mode
}

Service represents an okteto stack service

func (*Service) IsDeployment

func (svc *Service) IsDeployment() bool

func (*Service) IsJob

func (svc *Service) IsJob() bool

func (*Service) IsStatefulset

func (svc *Service) IsStatefulset() bool

func (*Service) SetLastBuiltAnnotation

func (svc *Service) SetLastBuiltAnnotation()

SetLastBuiltAnnotation sets the dev timestamp

func (*Service) ToDev

func (svc *Service) ToDev(svcName string) (*Dev, error)

ToDev translates a service into a dev

type ServiceRaw

type ServiceRaw struct {
	MemSwappiness            *WarningType           `yaml:"mem_swappiness,omitempty"`
	CredentialSpec           *WarningType           `yaml:"credential_spec,omitempty"`
	Extensions               map[string]interface{} `yaml:",inline" json:"-"`
	VolumesFrom              *WarningType           `yaml:"volumes_from,omitempty"`
	UsernsMode               *WarningType           `yaml:"userns_mode,omitempty"`
	Ulimits                  *WarningType           `yaml:"ulimits,omitempty"`
	Tty                      *WarningType           `yaml:"tty,omitempty"`
	Tmpfs                    *WarningType           `yaml:"tmpfs,omitempty"`
	Sysctls                  *WarningType           `yaml:"sysctls,omitempty"`
	StorageOpts              *WarningType           `yaml:"storage_opts,omitempty"`
	StopSignal               *WarningType           `yaml:"stop_signal,omitempty"`
	StdinOpen                *WarningType           `yaml:"stdin_open,omitempty"`
	ShmSize                  *WarningType           `yaml:"shm_size,omitempty"`
	SecurityOpt              *WarningType           `yaml:"security_opt,omitempty"`
	Secrets                  *WarningType           `yaml:"secrets,omitempty"`
	Healthcheck              *HealthCheck           `yaml:"healthcheck,omitempty"`
	Runtime                  *WarningType           `yaml:"runtime,omitempty"`
	Labels                   Labels                 `json:"labels,omitempty" yaml:"labels,omitempty"`
	Annotations              Annotations            `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	NodeSelector             Selector               `json:"x-node-selector,omitempty" yaml:"x-node-selector,omitempty"`
	ReadOnly                 *WarningType           `yaml:"read_only,omitempty"`
	PullPolicy               *WarningType           `yaml:"pull_policy,omitempty"`
	ContainerName            *WarningType           `yaml:"container_name,omitempty"`
	Profiles                 *WarningType           `yaml:"profiles,omitempty"`
	Scale                    *int32                 `yaml:"scale"`
	StopGracePeriodSneakCase *RawMessage            `yaml:"stop_grace_period,omitempty"`
	StopGracePeriod          *RawMessage            `yaml:"stopGracePeriod,omitempty"`
	User                     *StackSecurityContext  `yaml:"user,omitempty"`
	Privileged               *WarningType           `yaml:"privileged,omitempty"`
	Platform                 *WarningType           `yaml:"platform,omitempty"`
	PidLimit                 *WarningType           `yaml:"pid_limit,omitempty"`
	DependsOn                DependsOn              `yaml:"depends_on,omitempty"`
	Pid                      *WarningType           `yaml:"pid,omitempty"`
	Replicas                 *int32                 `yaml:"replicas"`
	Resources                *StackResources        `yaml:"resources,omitempty"`
	BlkioConfig              *WarningType           `yaml:"blkio_config,omitempty"`
	CpuPercent               *WarningType           `yaml:"cpu_percent,omitempty"`
	CpuShares                *WarningType           `yaml:"cpu_shares,omitempty"`
	CpuPeriod                *WarningType           `yaml:"cpu_period,omitempty"`
	CpuQuota                 *WarningType           `yaml:"cpu_quota,omitempty"`
	CpuRtRuntime             *WarningType           `yaml:"cpu_rt_runtime,omitempty"`
	CpuRtPeriod              *WarningType           `yaml:"cpu_rt_period,omitempty"`
	Cpuset                   *WarningType           `yaml:"cpuset,omitempty"`
	CgroupParent             *WarningType           `yaml:"cgroup_parent,omitempty"`
	Networks                 *WarningType           `yaml:"networks,omitempty"`
	Build                    *composeBuildInfo      `yaml:"build,omitempty"`
	OomScoreAdj              *WarningType           `yaml:"oom_score_adj,omitempty"`
	DeviceCgroupRules        *WarningType           `yaml:"device_cgroup_rules,omitempty"`
	Devices                  *WarningType           `yaml:"devices,omitempty"`
	Dns                      *WarningType           `yaml:"dns,omitempty"`
	DnsOpt                   *WarningType           `yaml:"dns_opt,omitempty"`
	DnsSearch                *WarningType           `yaml:"dns_search,omitempty"`
	DomainName               *WarningType           `yaml:"domainname,omitempty"`
	Extends                  *WarningType           `yaml:"extends,omitempty"`
	ExternalLinks            *WarningType           `yaml:"external_links,omitempty"`
	ExtraHosts               *WarningType           `yaml:"extra_hosts,omitempty"`
	GroupAdd                 *WarningType           `yaml:"group_add,omitempty"`
	Hostname                 *WarningType           `yaml:"hostname,omitempty"`
	Init                     *WarningType           `yaml:"init,omitempty"`
	Ipc                      *WarningType           `yaml:"ipc,omitempty"`
	Isolation                *WarningType           `yaml:"isolation,omitempty"`
	Links                    *WarningType           `yaml:"links,omitempty"`
	Logging                  *WarningType           `yaml:"logging,omitempty"`
	Network_mode             *WarningType           `yaml:"network_mode,omitempty"`
	Configs                  *WarningType           `yaml:"configs,omitempty"`
	MacAddress               *WarningType           `yaml:"mac_address,omitempty"`
	Deploy                   *DeployInfoRaw         `yaml:"deploy,omitempty"`
	MemswapLimit             *WarningType           `yaml:"memswap_limit,omitempty"`
	OomKillDisable           *WarningType           `yaml:"oom_kill_disable,omitempty"`
	MemReservation           Quantity               `yaml:"mem_reservation,omitempty"`
	CpuCount                 Quantity               `yaml:"cpu_count,omitempty"`
	Cpus                     Quantity               `yaml:"cpus,omitempty"`
	MemLimit                 Quantity               `yaml:"mem_limit,omitempty"`
	Restart                  string                 `yaml:"restart,omitempty"`
	Image                    string                 `yaml:"image,omitempty"`
	Workdir                  string                 `yaml:"workdir,omitempty"`
	WorkingDirSneakCase      string                 `yaml:"working_dir,omitempty"`
	Command                  CommandStack           `yaml:"command,omitempty"`
	Volumes                  []build.VolumeMounts   `yaml:"volumes,omitempty"`
	CapAddSneakCase          []apiv1.Capability     `yaml:"cap_add,omitempty"`
	EnvFiles                 env.Files              `yaml:"envFile,omitempty"`
	EnvFilesSneakCase        env.Files              `yaml:"env_file,omitempty"`
	Args                     ArgsStack              `yaml:"args,omitempty"`
	Entrypoint               CommandStack           `yaml:"entrypoint,omitempty"`
	Environment              env.Environment        `yaml:"environment,omitempty"`
	Expose                   []PortRaw              `yaml:"expose,omitempty"`
	Ports                    []PortRaw              `yaml:"ports,omitempty"`
	CapDrop                  []apiv1.Capability     `yaml:"capDrop,omitempty"`
	CapDropSneakCase         []apiv1.Capability     `yaml:"cap_drop,omitempty"`
	CapAdd                   []apiv1.Capability     `yaml:"capAdd,omitempty"`
	Public                   bool                   `yaml:"public,omitempty"`
}

ServiceRaw represents an okteto stack service

func (*ServiceRaw) ToService

func (serviceRaw *ServiceRaw) ToService(svcName string, stack *Stack) (*Service, error)

type ServiceResources

type ServiceResources struct {
	CPU     Quantity        `json:"cpu,omitempty" yaml:"cpu,omitempty"`
	Memory  Quantity        `json:"memory,omitempty" yaml:"memory,omitempty"`
	Storage StorageResource `json:"storage,omitempty" yaml:"storage,omitempty"`
}

ServiceResources represents an okteto stack service resources

func (*ServiceResources) IsDefaultValue

func (svcResources *ServiceResources) IsDefaultValue() bool

type ServicesToDeploy

type ServicesToDeploy []string

func (*ServicesToDeploy) UnmarshalYAML

func (s *ServicesToDeploy) UnmarshalYAML(unmarshal func(interface{}) error) error

type Stack

type Stack struct {
	Volumes   map[string]*VolumeSpec `yaml:"volumes,omitempty"`
	Services  ComposeServices        `yaml:"services,omitempty"`
	Endpoints EndpointSpec           `yaml:"endpoints,omitempty"`
	Name      string                 `yaml:"name"`
	Namespace string                 `yaml:"namespace,omitempty"`
	Context   string                 `yaml:"context,omitempty"`
	Warnings  StackWarnings          `yaml:"-"`
	Manifest  []byte                 `yaml:"-"`
	Paths     []string               `yaml:"-"`
	IsCompose bool                   `yaml:"-"`
}

Stack represents an okteto stack

func GetStackFromPath

func GetStackFromPath(name, stackPath string, isCompose bool, fs afero.Fs) (*Stack, error)

GetStackFromPath returns an okteto stack object from a given file

func LoadStack

func LoadStack(name string, stackPaths []string, validate bool, fs afero.Fs) (*Stack, error)

LoadStack loads an okteto stack manifest checking "yml" and "yaml"

func ReadStack

func ReadStack(bytes []byte, isCompose bool) (*Stack, error)

ReadStack reads an okteto stack

func (*Stack) GetLabelSelector

func (s *Stack) GetLabelSelector() string

GetLabelSelector returns the label selector for the stack name

func (*Stack) GetServicesWithBuildSection

func (stack *Stack) GetServicesWithBuildSection() map[string]bool

func (*Stack) Merge

func (stack *Stack) Merge(otherStack *Stack) *Stack

func (*Stack) UnmarshalYAML

func (s *Stack) UnmarshalYAML(unmarshal func(interface{}) error) error

func (*Stack) Validate

func (s *Stack) Validate() error

type StackRaw

type StackRaw struct {
	Version   string                     `yaml:"version,omitempty"`
	Name      string                     `yaml:"name"`
	Services  map[string]*ServiceRaw     `yaml:"services,omitempty"`
	Endpoints EndpointSpec               `yaml:"endpoints,omitempty"`
	Volumes   map[string]*VolumeTopLevel `yaml:"volumes,omitempty"`

	// Extensions
	Extensions map[string]interface{} `yaml:",inline" json:"-"`

	// Docker-compose not implemented
	Networks *WarningType `yaml:"networks,omitempty"`

	Configs *WarningType `yaml:"configs,omitempty"`
	Secrets *WarningType `yaml:"secrets,omitempty"`

	Warnings StackWarnings
}

StackRaw represents an okteto stack

type StackResources

type StackResources struct {
	Limits   ServiceResources `json:"limits,omitempty" yaml:"limits,omitempty"`
	Requests ServiceResources `json:"requests,omitempty" yaml:"requests,omitempty"`
}

StackResources represents an okteto stack resources

func (*StackResources) IsDefaultValue

func (r *StackResources) IsDefaultValue() bool

func (*StackResources) UnmarshalYAML

func (s *StackResources) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type StackSecurityContext

type StackSecurityContext struct {
	RunAsUser  *int64 `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty"`
	RunAsGroup *int64 `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty"`
}

StackSecurityContext defines which user and group use

func (*StackSecurityContext) UnmarshalYAML

func (sc *StackSecurityContext) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type StackWarnings

type StackWarnings struct {
	NotSupportedFields  []string          `yaml:"-"`
	SanitizedServices   map[string]string `yaml:"-"`
	VolumeMountWarnings []string          `yaml:"-"`
}

type StorageResource

type StorageResource struct {
	Size  Quantity `json:"size,omitempty" yaml:"size,omitempty"`
	Class string   `json:"class,omitempty" yaml:"class,omitempty"`
}

StorageResource represents an okteto stack service storage resource

func (*StorageResource) UnmarshalYAML

func (s *StorageResource) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Sync

type Sync struct {
	LocalPath      string       `json:"-" yaml:"-"`
	RemotePath     string       `json:"-" yaml:"-"`
	Folders        []SyncFolder `json:"folders,omitempty" yaml:"folders,omitempty"`
	RescanInterval int          `json:"rescanInterval,omitempty" yaml:"rescanInterval,omitempty"`
	Compression    bool         `json:"compression" yaml:"compression"`
	Verbose        bool         `json:"verbose" yaml:"verbose"`
}

Sync represents a sync info in the development container

func (Sync) MarshalYAML

func (sync Sync) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Sync) UnmarshalYAML

func (sync *Sync) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type SyncFolder

type SyncFolder struct {
	LocalPath  string `json:"localPath,omitempty" yaml:"localPath,omitempty"`
	RemotePath string `json:"remotePath,omitempty" yaml:"remotePath,omitempty"`
}

SyncFolder represents a sync folder in the development container

func (SyncFolder) MarshalYAML

func (s SyncFolder) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*SyncFolder) UnmarshalYAML

func (s *SyncFolder) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type Test

type Test struct {
	Image               string        `yaml:"image,omitempty"`
	Context             string        `yaml:"context,omitempty"`
	Commands            []TestCommand `yaml:"commands,omitempty"`
	DependsOn           []string      `yaml:"depends_on,omitempty"`
	Caches              []string      `yaml:"caches,omitempty"`
	Artifacts           []Artifact    `yaml:"artifacts,omitempty"`
	Hosts               []Host        `yaml:"hosts,omitempty"`
	SkipIfNoFileChanges bool          `yaml:"skipIfNoFileChanges,omitempty"`
}

func (*Test) UnmarshalYAML

func (t *Test) UnmarshalYAML(unmarshal func(interface{}) error) error

type TestCommand

type TestCommand struct {
	Name    string `yaml:"name,omitempty"`
	Command string `yaml:"command,omitempty"`
}

func (*TestCommand) UnmarshalYAML

func (t *TestCommand) UnmarshalYAML(unmarshal func(interface{}) error) error

type Timeout

type Timeout struct {
	Default   time.Duration `json:"default,omitempty" yaml:"default,omitempty"`
	Resources time.Duration `json:"resources,omitempty" yaml:"resources,omitempty"`
}

Timeout represents the timeout for the command

func (*Timeout) UnmarshalYAML

func (t *Timeout) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type TranslationRule

type TranslationRule struct {
	InitContainer     InitContainer                    `json:"initContainers,omitempty"`
	Resources         ResourceRequirements             `json:"resources,omitempty"`
	SecurityContext   *SecurityContext                 `json:"securityContext,omitempty"`
	Probes            *Probes                          `json:"probes" yaml:"probes"`
	Lifecycle         *Lifecycle                       `json:"lifecycle" yaml:"lifecycle"`
	Labels            Labels                           `json:"labels,omitempty"`
	NodeSelector      map[string]string                `json:"nodeSelector" yaml:"nodeSelector"`
	Affinity          *apiv1.Affinity                  `json:"affinity" yaml:"affinity"`
	ServiceAccount    string                           `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"`
	PriorityClassName string                           `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty"`
	WorkDir           string                           `json:"workdir"`
	Marker            string                           `json:"marker"`
	OktetoBinImageTag string                           `json:"oktetoBinImageTag"`
	Node              string                           `json:"node,omitempty"`
	Container         string                           `json:"container,omitempty"`
	Image             string                           `json:"image,omitempty"`
	ImagePullPolicy   apiv1.PullPolicy                 `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"`
	Environment       env.Environment                  `json:"environment,omitempty"`
	Secrets           []Secret                         `json:"secrets,omitempty"`
	Command           []string                         `json:"command,omitempty"`
	Args              []string                         `json:"args,omitempty"`
	Volumes           []VolumeMount                    `json:"volumes,omitempty"`
	Healthchecks      bool                             `json:"healthchecks" yaml:"healthchecks"`
	PersistentVolume  bool                             `json:"persistentVolume" yaml:"persistentVolume"`
	MainVolumeName    string                           `json:"mainVolumeName,omitempty"`
	VolumeAccessMode  apiv1.PersistentVolumeAccessMode `json:"volumeAccessMode,omitempty"`
	Namespace         string                           `json:"namespace,omitempty"`
	ManifestName      string                           `json:"manifestName,omitempty"`
}

TranslationRule represents how to apply a container translation in a deployment

func (*TranslationRule) IsMainDevContainer

func (r *TranslationRule) IsMainDevContainer() bool

IsMainDevContainer returns true if the translation rule applies to the main dev container of the okteto manifest

type Volume

type Volume struct {
	LocalPath  string
	RemotePath string
}

Volume represents a volume in the development container

func (Volume) MarshalYAML

func (v Volume) MarshalYAML() (interface{}, error)

MarshalYAML Implements the marshaler interface of the yaml pkg.

func (*Volume) UnmarshalYAML

func (v *Volume) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML Implements the Unmarshaler interface of the yaml pkg.

type VolumeMount

type VolumeMount struct {
	Name      string `json:"name,omitempty"`
	MountPath string `json:"mountpath,omitempty"`
	SubPath   string `json:"subpath,omitempty"`
}

VolumeMount represents a volume mount

func (*VolumeMount) IsSyncthing

func (v *VolumeMount) IsSyncthing() bool

IsSyncthing returns the volume mount is for syncthing

type VolumeSpec

type VolumeSpec struct {
	Labels      Labels      `yaml:"labels,omitempty"`
	Annotations Annotations `yaml:"annotations,omitempty"`
	Size        Quantity    `json:"size,omitempty" yaml:"size,omitempty"`
	Class       string      `json:"class,omitempty" yaml:"class,omitempty"`
}

type VolumeTopLevel

type VolumeTopLevel struct {
	Labels      Labels                 `json:"labels,omitempty" yaml:"labels,omitempty"`
	Annotations Annotations            `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	DriverOpts  map[string]string      `json:"driver_opts,omitempty" yaml:"driver_opts,omitempty"`
	Driver      *WarningType           `json:"driver,omitempty" yaml:"driver,omitempty"`
	External    *WarningType           `json:"external,omitempty" yaml:"external,omitempty"`
	Extensions  map[string]interface{} `yaml:",inline" json:"-"`
	Size        Quantity               `json:"size,omitempty" yaml:"size,omitempty"`
	Name        string                 `json:"name,omitempty" yaml:"name,omitempty"`
	Class       string                 `json:"class,omitempty" yaml:"class,omitempty"`
}

type WarningType

type WarningType struct {
	// contains filtered or unexported fields
}

func (*WarningType) UnmarshalYAML

func (warning *WarningType) UnmarshalYAML(unmarshal func(interface{}) error) error

type WeightedPodAffinityTerm

type WeightedPodAffinityTerm struct {
	PodAffinityTerm PodAffinityTerm `yaml:"podAffinityTerm" json:"podAffinityTerm"`
	Weight          int32           `yaml:"weight" json:"weight"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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