Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=gravitational.io
Index ¶
- Constants
- Variables
- func PackageMarshalJSON(locator *loc.Locator) ([]byte, error)
- func PackageUnmarshalJSON(data []byte, locator *loc.Locator) error
- type AWSAction
- type AWSActions
- type AWSStatement
- type AWSTerraformProvisioner
- type AWSTerraformSpec
- type AppDependencies
- type AppDependency
- type CPU
- type Dependencies
- type Device
- type Directories
- type Directory
- type Disk
- type Docker
- type EULA
- type EncryptionExtension
- type Endpoint
- type Extensions
- type FinalInstallStep
- type Flavor
- type Flavors
- type Header
- type HookType
- type Hooks
- type HooksBase
- type Installer
- type KubeConfig
- type License
- type Manifest
- type ManifestRef
- type Metadata
- type MonitoringExtension
- type Mount
- type Mounts
- type Network
- type OS
- type OnPremProvisioner
- type OnPremSpec
- type OpsCenterConfig
- type Orchestration
- type PackageDependencies
- func (r PackageDependencies) All() (packages []loc.Locator)
- func (r *PackageDependencies) Merge(packages PackageDependencies)
- func (r PackageDependencies) WithName(name string) (*loc.Locator, error)
- func (r PackageDependencies) WithRole(packageName string) (*loc.Locator, error)
- func (r PackageDependencies) WithSelector(selector, value string) []loc.Locator
- type PackageDependency
- type Provisioners
- type RAM
- type ServerPorts
- type ServerProfile
- type ServerProfileRequest
- type ServiceRole
- type Threshold
- type UserExtension
- type VirshProvisioner
- type VirshSpec
- type WebConfig
- type WebFeature
- type WebFeatures
- type WebInstaller
- type WebModules
- type WebSite
Constants ¶
const ( // KindApplication is the legacy kind for a user application KindApplication = "Application" // KindSystemApplication is the legacy kind for a system application KindSystemApplication = "SystemApplication" // KindRuntime is the legacy kind for a runtime application KindRuntime = "Runtime" // ServiceRoleMaster names a label that defines a master node role ServiceRoleMaster ServiceRole = "master" // ServiceRoleNode names a label that defines a regular node role ServiceRoleNode ServiceRole = "node" // Version specifies the package version Version = "v1" // RuntimePackageName names the runtime package with extended AWS configuration RuntimePackageName = "k8s-aws" // RuntimeOnPremPackageName names the runtime package for onprem configuration RuntimeOnPremPackageName = "k8s-onprem" )
const ( // SelectorRole defines a package role selector SelectorRole = "role" // SelectorPlacement defines a node placement selector SelectorPlacement = "placement" // PlacementMaster defines the value of the placement selector to be on master PlacementMaster = "master" )
const AWSTerraformSchema = `` /* 2246-byte string literal not displayed */
AWSTerraformSchema defines the AWS provisioner schema
const OnPremSchema = `` /* 553-byte string literal not displayed */
OnPremSchema defines the schema for the onprem provisioner
const ServerSchema = `` /* 2641-byte string literal not displayed */
ServerSchema defines the cluster node schema
const VirshSchema = `` /* 1438-byte string literal not displayed */
VirshSchema defines the virsh provisioner schema
Variables ¶
var ManifestSchema = fmt.Sprintf(`{ "type": "object", "required": ["apiVersion", "kind", "metadata"], "properties": { "apiVersion": {"type": "string"}, "kind": {"type": "string"}, "namespace": {"type": "string"}, "metadata": { "type": "object", "required": ["name", "resourceVersion"], "properties": { "repository": {"type": "string", "default": "gravitational.io"}, "name": {"type": "string"}, "namespace": {"type": "string"}, "resourceVersion": {"type": "string"}, "releaseNotes": {"type": "string"}, "logo": { "type": "object", "patternProperties": { "^[a-z0-9_A-Z\\-]+$": {"type": "string"} } } } }, "base": {"type": "string"}, "installer": { "type": "object", "properties": { "license": { "type": "object", "properties": { "enabled": {"type": "boolean", "default": false}, "type": {"type": "string", "default": "certificate"}, "trial_flavors": { "type": "array", "items": {"type": "string"} } } }, "eula": { "type": "object", "properties": { "enabled": {"type": "boolean", "default": false}, "source": { "type": "object", "properties": { "env": {"type": "string"}, "path": {"type": "string"}, "value": {"type": "string"} } } } }, "flavors": { "type": "object", "properties": { "title": {"type": "string"}, "default_flavor": {"type": "string"}, "items": { "type": "array", "items": { "type": "object", "required": ["name", "threshold", "profiles"], "properties": { "name": {"type": "string"}, "description": {"type": "string"}, "threshold": { "type": "object", "required": ["value", "label"], "properties": { "value": {"type": "number"}, "label": {"type": "string"} } }, "profiles": { "type": "object", "patternProperties": { "^[a-z0-9_A-Z]+$": {"type": "number"} } } } } } } }, "servers": { "type": "object", "patternProperties": { "^[a-z0-9_A-Z]+$": %v } }, "provisioners": { "type": "object", "additionalProperties": false, "default": {}, "properties": { "onprem": %v, "virsh": %v, "aws_terraform": %v } }, "final_install_step": { "type": "object", "properties": { "service_name": {"type": "string"} } } } }, "orchestration": { "type": "object", "required": ["k8s"], "properties": { "k8s": { "type": "object", "properties": { "cloud_provider": {"type": "string"} } } } }, "endpoints": { "type": "array", "items": { "type": "object", "properties": { "name": {"type": "string"}, "namespace": {"type": "string", "default": "default"}, "description": {"type": "string"}, "selector": {"type": "object"}, "protocol": {"type": "string"}, "port": {"type": "number", "default": 0} } } }, "hooks": { "type": "object", "properties": { "install": { "type": "object", "properties": { "type": {"type": "string", "default": "install"}, "spec": {"type": "object"} } }, "post_install": { "type": "object", "properties": { "type": {"type": "string", "default": "post_install"}, "spec": {"type": "object"} } }, "uninstall": { "type": "object", "properties": { "type": {"type": "string", "default": "uninstall"}, "spec": {"type": "object"} } }, "pre_uninstall": { "type": "object", "properties": { "type": {"type": "string", "default": "pre_uninstall"}, "spec": {"type": "object"} } }, "update": { "type": "object", "properties": { "type": {"type": "string", "default": "update"}, "spec": {"type": "object"} } }, "post_update": { "type": "object", "properties": { "type": {"type": "string", "default": "post_update"}, "spec": {"type": "object"} } }, "rollback": { "type": "object", "properties": { "type": {"type": "string", "default": "rollback"}, "spec": {"type": "object"} } }, "post_rollback": { "type": "object", "properties": { "type": {"type": "string", "default": "post_rollback"}, "spec": {"type": "object"} } }, "pre_node_add": { "type": "object", "properties": { "type": {"type": "string", "default": "pre_node_add"}, "spec": {"type": "object"} } }, "post_node_add": { "type": "object", "properties": { "type": {"type": "string", "default": "post_node_add"}, "spec": {"type": "object"} } }, "pre_node_remove": { "type": "object", "properties": { "type": {"type": "string", "default": "pre_node_remove"}, "spec": {"type": "object"} } }, "post_node_remove": { "type": "object", "properties": { "type": {"type": "string", "default": "post_node_remove"}, "spec": {"type": "object"} } }, "status": { "type": "object", "properties": { "type": {"type": "string", "default": "status"}, "spec": {"type": "object"} } }, "info": { "type": "object", "properties": { "type": {"type": "string", "default": "info"}, "spec": {"type": "object"} } }, "license_updated": { "type": "object", "properties": { "type": {"type": "string", "default": "license_updated"}, "spec": {"type": "object"} } }, "start": { "type": "object", "properties": { "type": {"type": "string", "default": "start"}, "spec": {"type": "object"} } }, "stop": { "type": "object", "properties": { "type": {"type": "string", "default": "stop"}, "spec": {"type": "object"} } }, "dump": { "type": "object", "properties": { "type": {"type": "string", "default": "dump"}, "spec": {"type": "object"} } }, "backup": { "type": "object", "properties": { "type": {"type": "string", "default": "backup"}, "spec": {"type": "object"} } }, "restore": { "type": "object", "properties": { "type": {"type": "string", "default": "restore"}, "spec": {"type": "object"} } } } }, "dependencies": { "type": "object", "properties": { "packages": { "type": "array", "items": { "type": "object", "required": ["name"], "properties": { "name": {"type": "string"}, "selector": { "type": "object", "properties": { "role": {"type": "string"}, "placement": {"type": "string"} } } } } }, "apps": { "type": "array", "items": {"type": "string"} } } }, "opscenter": { "type": "object", "properties": { "address": { "type": "object", "properties": { "env": {"type": "string"}, "path": {"type": "string"}, "value": {"type": "string"} } }, "token": { "type": "object", "properties": { "env": {"type": "string"}, "path": {"type": "string"}, "value": {"type": "string"} } } } }, "extensions": { "type": "object", "properties": { "encryption": { "type": "object", "properties": { "encryption_key": { "type": "object", "properties": { "env": {"type": "string"}, "path": {"type": "string"}, "value": {"type": "string"} } }, "ca_cert": { "type": "object", "properties": { "env": {"type": "string"}, "path": {"type": "string"}, "value": {"type": "string"} } } } }, "user": { "type": "object", "properties": { "name": {"type": "string"}, "type": {"type": "string", "default": "container"}, "selector": {"type": "object"}, "namespace": {"type": "string", "default": "default"}, "shell": {"type": "string", "default": "/bin/bash"} } }, "monitoring": { "type": "object", "properties": { "enabled": {"type": "boolean"} } } } }, "webConfig": { "type": "object" } } }`, ServerSchema, OnPremSchema, VirshSchema, AWSTerraformSchema)
ManifestSchema defines the schema for the manifest v1
var SchemeGroupVersion = kubeschema.GroupVersion{Group: "", Version: Version}
SchemeGroupVersion defines group and version for the application manifest type in the kubernetes resource scheme
Functions ¶
Types ¶
type AWSAction ¶
type AWSAction struct { // Context is an AWS API context (EC2 or IAM) Context string `json:"context,omitempty"` // Name is the resource name Name string `json:"name,omitempty"` }
AWSAction defines an action on a AWS resource
func (*AWSAction) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAction.
func (*AWSAction) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSStatement ¶
type AWSStatement struct { // PolicyVersion is the version of the document used to // describe the policy PolicyVersion string `json:"policy_version,omitempty"` // Actions defines a list of actions this terraform script will execute // Action is defined by a context (EC2 or IAM) and a name of the action // that is performed against a certain AWS resource: // ec2:DescribeImages // defines an action to query EC2 image metadata Actions AWSActions `json:"items,omitempty"` }
AWSStatement defines an extent of actions on AWS resources this script will execute
func (*AWSStatement) DeepCopy ¶
func (in *AWSStatement) DeepCopy() *AWSStatement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSStatement.
func (*AWSStatement) DeepCopyInto ¶
func (in *AWSStatement) DeepCopyInto(out *AWSStatement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSTerraformProvisioner ¶
type AWSTerraformProvisioner struct { // Spec groups configuration parameters Spec AWSTerraformSpec `json:"variables,omitempty"` }
AWSTerraformProvisioner defines configuration for an AWS terraform provisioner
func (*AWSTerraformProvisioner) DeepCopy ¶
func (in *AWSTerraformProvisioner) DeepCopy() *AWSTerraformProvisioner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSTerraformProvisioner.
func (*AWSTerraformProvisioner) DeepCopyInto ¶
func (in *AWSTerraformProvisioner) DeepCopyInto(out *AWSTerraformProvisioner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSTerraformSpec ¶
type AWSTerraformSpec struct { // Image defines the AWS machine image to use to boot instances Image string `json:"ami,omitempty"` // Region defines an AWS region Region string `json:"region,omitempty"` // Regions is a list of AWS regions this application supports Regions []string `json:"regions,omitempty"` // AvailabilityZone defines an AWS availability zone to create instances in AvailabilityZone string `json:"az1,omitempty"` // AccessKey defines a access key part of the API key AccessKey string `json:"access_key,omitempty"` // SecretKey defines a secret key part of the API key SecretKey string `json:"secret_key,omitempty"` // VPCID is an ID of a pre-existing VPC to put instances into VPCID string `json:"vpc_id,omitempty"` // VPCCIDR defines a CIDR block for the VPC VPCCIDR string `json:"vpc_cidr,omitempty"` // SubnetID is an ID of a VPC's subnet to put instances into SubnetID string `json:"subnet_id,omitempty"` // SubnetCIDR defines a CIDR block for the subnet SubnetCIDR string `json:"subnet_cidr,omitempty"` // InternetGatewayID is an ID of internet gateway attached to a VPC InternetGatewayID string `json:"internet_gateway_id,omitempty"` // Statement defines an extent of actions on AWS resources this script will execute Statement AWSStatement `json:"required_actions,omitempty"` // KeyPair defines an optional key pair to use for provisioning KeyPair string `json:"key_pair,omitempty"` // TerraformSpec is terraform script describing infrastructure to provision, excluding // instances, such as VPC, security groups, etc. TerraformSpec string `json:"terraform_spec,omitempty"` // InstanceSpec is terraform script describing a single instance InstanceSpec string `json:"instance_spec,omitempty"` // Docker defines docker-specific configuration Docker Docker `json:"docker"` }
AWSTerraformSpec groups all configuration parameters for an AWS terraform provisioner
func (*AWSTerraformSpec) DeepCopy ¶
func (in *AWSTerraformSpec) DeepCopy() *AWSTerraformSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSTerraformSpec.
func (*AWSTerraformSpec) DeepCopyInto ¶
func (in *AWSTerraformSpec) DeepCopyInto(out *AWSTerraformSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppDependencies ¶
type AppDependencies []AppDependency
AppDependencies defines a list of application package dependencies
func (AppDependencies) All ¶
func (r AppDependencies) All() (packages []loc.Locator)
All returns a list of package locators in this dependency list
func (*AppDependencies) Merge ¶
func (r *AppDependencies) Merge(apps AppDependencies)
Merge inserts apps into this dependency list avoiding duplicates
type AppDependency ¶
type AppDependency struct { // Package defines the package name of the dependency Package loc.Locator }
AppDependency defines a dependency on another application
func (*AppDependency) DeepCopy ¶
func (in *AppDependency) DeepCopy() *AppDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDependency.
func (*AppDependency) DeepCopyInto ¶
func (in *AppDependency) DeepCopyInto(out *AppDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppDependency) MarshalJSON ¶
func (r *AppDependency) MarshalJSON() ([]byte, error)
MarshalJSON formats application dependency as JSON
func (*AppDependency) UnmarshalJSON ¶
func (r *AppDependency) UnmarshalJSON(data []byte) error
UnmarshalJSON reads application package dependency from the specified data
type CPU ¶
type CPU struct {
MinCount int `json:"min_count"`
}
func (*CPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (*CPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dependencies ¶
type Dependencies struct { // Packages defines the package dependencies Packages PackageDependencies `json:"packages,omitempty"` // Apps defines the application dependencies Apps AppDependencies `json:"apps,omitempty"` }
Dependencies defines a set of dependencies for an application
func (*Dependencies) DeepCopy ¶
func (in *Dependencies) DeepCopy() *Dependencies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependencies.
func (*Dependencies) DeepCopyInto ¶
func (in *Dependencies) DeepCopyInto(out *Dependencies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Device ¶
type Device struct { // Name is device's name, e.g. "vdb" Name string `json:"device,omitempty"` // MB is device's capacity in megabytes, e.g. 2048 MB int `json:"mb,omitempty"` }
Device represents manifest's "disk device" variable that specifies device name and capacity
func (*Device) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Directory ¶
type Directory struct { // Name directory name to check Name string `json:"name,omitempty"` // MinTotalMB is a minimum total MB available for this directory MinTotalMB int `json:"min_total_mb,omitempty"` // FSTypes is a list of allowed fs types mounted for this // directory FSTypes []string `json:"fs_types,omitempty"` }
Directory specifies the system requirements for directory If the directory is not found, the parent's directory will be checked up to the root
func (*Directory) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Directory.
func (*Directory) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Disk ¶
type Disk struct { // MinMBPerSecond is the minimum speed in megabytes per second MinMBPerSecond int `json:"min_mbps"` }
Disk specifies disk performance requirements
func (*Disk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (*Disk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Docker ¶
type Docker struct { // Backend defines the type of storage backend to setup Docker with Backend string `json:"backend,omitempty"` // MinTotalGB defines Docker's minimum device size requirement MinTotalGB int `json:"min_total_gb,omitempty"` // Args lists arbitrary docker options Args []string `json:"args,omitempty"` }
Docker defines docker configuration
func (*Docker) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Docker.
func (*Docker) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EULA ¶
type EULA struct { // Enabled is whether it is enabled for the installer Enabled bool `json:"enabled"` // Source is the source of the license agreement Source unversioned.MultiSourceValue `json:"source"` }
EULA defines the End User License Agreement
func (*EULA) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EULA.
func (*EULA) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionExtension ¶
type EncryptionExtension struct { // EncryptionKey is the passphrase for installer encryption EncryptionKey unversioned.MultiSourceValue `json:"encryption_key"` // CACert is the certificate authority certificate CACert unversioned.MultiSourceValue `json:"ca_cert"` }
EncryptionExtension configures application installer encryption
func (*EncryptionExtension) DeepCopy ¶
func (in *EncryptionExtension) DeepCopy() *EncryptionExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionExtension.
func (*EncryptionExtension) DeepCopyInto ¶
func (in *EncryptionExtension) DeepCopyInto(out *EncryptionExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct { // Name is the name of endpoint used for display purposes Name string `json:"name"` // Description is the verbose description of the endpoint used for display purposes Description string `json:"description"` // Selector is the label selector of a k8s service for this endpoint Selector map[string]string `json:"selector"` // Protocol is the communication protocol the service behind this endpoint is configured with (tcp, http, etc) Protocol string `json:"protocol"` // Port is the specific port for this service, can be left blank to default to all service ports Port int `json:"port"` }
Endpoint represents an application endpoint
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Extensions ¶
type Extensions struct { // Encryption configures application installer encryption Encryption *EncryptionExtension `json:"encryption,omitempty"` // User specifies a special user to create during install User *UserExtension `json:"user,omitempty"` // Monitoring configures monitoring extension Monitoring *MonitoringExtension `json:"monitoring,omitempty"` }
Extensions section defines extensions such as encryption
func (*Extensions) DeepCopy ¶
func (in *Extensions) DeepCopy() *Extensions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extensions.
func (*Extensions) DeepCopyInto ¶
func (in *Extensions) DeepCopyInto(out *Extensions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FinalInstallStep ¶
type FinalInstallStep struct { // ServiceName is the name of a service running inside installed k8s cluster // that the installer should be redirected to ServiceName string `json:"service_name,omitempty"` }
FinalInstallStep defines the last vendor-customizable installation step
func (*FinalInstallStep) DeepCopy ¶
func (in *FinalInstallStep) DeepCopy() *FinalInstallStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FinalInstallStep.
func (*FinalInstallStep) DeepCopyInto ¶
func (in *FinalInstallStep) DeepCopyInto(out *FinalInstallStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flavor ¶
type Flavor struct { // Name defines the flavor name Name string `json:"name,omitempty"` // Description provides free text description of the flavor Description string `json:"description,omitempty"` // Threshold defines the boundary between two scaling steps (flavors) Threshold Threshold `json:"threshold,omitempty"` // Profiles defines the allocation of server profiles in this scaling step Profiles map[string]int `json:"profiles,omitempty"` }
Flavor defines a scaling behavior for a configured server profile
func (*Flavor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavor.
func (*Flavor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flavors ¶
type Flavors struct { // Title sets a descriptive title for this scaling matrix Title string `json:"title"` // DefaultFlavor specifies the name of the default flavor for the application DefaultFlavor string `json:"default_flavor,omitempty"` // Items define a list of scaling steps (flavors) Items []Flavor `json:"items"` }
Flavors defines a scaling behavior for the configured server profiles
func (*Flavors) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavors.
func (*Flavors) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Header ¶
type Header struct { metav1.TypeMeta // Metadata is the application metadata Metadata Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"` }
func (*Header) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Header.
func (*Header) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookType ¶
type HookType string
HookType defines the application hook type
const ( // HookInstall defines the installation hook HookInstall HookType = "install" // HookUninstall defines the installation hook HookUninstall HookType = "uninstall" // HookInstalled defines the post install hook HookInstalled HookType = "post_install" // HookUninstalling defines the before uninstall hook HookUninstalling HookType = "pre_uninstall" // HookUpdate defines the application update hook HookUpdate HookType = "update" // HookUpdated defines the post application update hook HookUpdated HookType = "post_update" // HookRollback defines the application rollback hook HookRollback HookType = "rollback" // HookRolledBack defines the application post rollback hook HookRolledBack HookType = "post_rollback" // HookNodeAdding defines the before expand hook HookNodeAdding HookType = "pre_node_add" // HookNodeAdded defines the post expand hook HookNodeAdded HookType = "post_node_add" // HookNodeRemoving defines the before shrink hook HookNodeRemoving HookType = "pre_node_remove" // HookNodeRemoved defines the post shrink hook HookNodeRemoved HookType = "post_node_remove" // HookStatus defines the application status hook HookStatus HookType = "status" // HookInfo defines the application service info hook HookInfo HookType = "info" // HookLicenseUpdated defines the license update hook HookLicenseUpdated HookType = "license_updated" // HookStart defines the application start hook HookStart HookType = "start" // HookStop defines the application stop hook HookStop HookType = "stop" // HookDump defines the application dump hook HookDump HookType = "dump" // HookBackup defines a hook to trigger backup of application data. // The hook is scheduled on the same node where the backup command runs HookBackup HookType = "backup" // HookRestore defines a hook to restore application state from a previously // created backup. // The hook is scheduled on the same node where the restore command runs HookRestore HookType = "restore" )
type Hooks ¶
type Hooks struct { // Install hook executes an installation script Install *HooksBase `json:"install,omitempty"` // Installed hook executes script after install Installed *HooksBase `json:"post_install,omitempty"` // Uninstall hook executes an uninstallation script Uninstall *HooksBase `json:"uninstall,omitempty"` // Uninstalling hook runs just before the uninstall operation commences Uninstalling *HooksBase `json:"pre_uninstall,omitempty"` // NodeAdding hook runs before the expand operation starts NodeAdding *HooksBase `json:"pre_node_add,omitempty"` // NodeAdded hook runs after the expand operation has completed NodeAdded *HooksBase `json:"post_node_add,omitempty"` // NodeRemoving hook runs before the shrink operation starts NodeRemoving *HooksBase `json:"pre_node_remove,omitempty"` // NodeRemoved hook runs after the shrink operation has completed NodeRemoved *HooksBase `json:"post_node_remove,omitempty"` // Updating hook runs before the update operation starts Updating *HooksBase `json:"update,omitempty"` // Updated hook runs after the update operation has completed Updated *HooksBase `json:"post_update,omitempty"` // Rollback hook runs when update operation fails Rollback *HooksBase `json:"rollback,omitempty"` // RolledBack hook runs after rollback has been finished RolledBack *HooksBase `json:"post_rollback,omitempty"` // Status hook reports the status of the application Status *HooksBase `json:"status,omitempty"` // Info hook serves as an information endpoint for an installed application. // It is used to obtain the details of the application service(s) Info *HooksBase `json:"info,omitempty"` // LicenseUpdated hook is triggered when a site license has been updated. LicenseUpdated *HooksBase `json:"license_updated,omitempty"` // Start hook provides a way to start a stopped application. Start *HooksBase `json:"start,omitempty"` // Stop hook provides a way to stop a running application. Stop *HooksBase `json:"stop,omitempty"` // Dump hook is used for retrieving application-specific dumps for debug reports Dump *HooksBase `json:"dump,omitempty"` // HookBackup defines a hook to trigger backup of application data Backup *HooksBase `json:"backup,omitempty"` // HookRestore defines a hook to restore application state from a previously // created backup Restore *HooksBase `json:"restore,omitempty"` }
Hooks defines a set of application lifecycle hooks in effect
func (*Hooks) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hooks.
func (*Hooks) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HooksBase ¶
type HooksBase struct { // Type denotes the type of this hook Type HookType `json:"type,omitempty"` // JobSpec defines the raw kubernetes job resource template executed // verbatim JobSpec v1.Job `json:"spec,omitempty"` }
HooksBase defines a hook as either a shell script run in the context of the automatically created job or the raw job spec
func (*HooksBase) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HooksBase.
func (*HooksBase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Installer ¶
type Installer struct { // Provisioners defines provisioner configuration Provisioners Provisioners `json:"provisioners,omitempty"` // Servers lists server profiles that specify generic hardware requirements // for a set of nodes Servers map[string]ServerProfile `json:"servers,omitempty"` // Flavors defines a scaling matrix for the configured server profiles Flavors Flavors `json:"flavors"` // License defines whether an application requires a license to operate License License `json:"license"` // EULA defines the End User License Agreement EULA EULA `json:"eula"` // FinalInstallStep defines the last vendor-customizable installation step FinalInstallStep *FinalInstallStep `json:"final_install_step,omitempty"` }
Installer defines the installation section of the site manifest
func (*Installer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Installer.
func (*Installer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeConfig ¶
type KubeConfig struct { // CloudProvider defines the cloud provider to use CloudProvider string `json:"cloud_provider,omitempty"` }
KubeConfig defines kubernetes-specific orchestration configuration
func (*KubeConfig) DeepCopy ¶
func (in *KubeConfig) DeepCopy() *KubeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeConfig.
func (*KubeConfig) DeepCopyInto ¶
func (in *KubeConfig) DeepCopyInto(out *KubeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type License ¶
type License struct { // Enabled flag controls whether an application requires a license Enabled bool `json:"enabled"` // does not have "omitempty" so it's always explicit // Type is the type of license accepted by application (see ops.license.LicenseType* for details) Type string `json:"type"` // TrialFlavors is a list of flavor names that do not require a license TrialFlavors []string `json:"trial_flavors,omitempty"` }
License defines whether the license mode is enabled for an application and which flavors do not require a license
func (*License) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new License.
func (*License) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Manifest ¶
type Manifest struct { Header *Installer `json:"installer,omitempty"` *Orchestration `json:"orchestration,omitempty"` Dependencies `json:"dependencies,omitempty"` *Hooks `json:"hooks,omitempty"` Base *ManifestRef `json:"base,omitempty"` Endpoints []Endpoint `json:"endpoints,omitempty"` WebConfig *WebConfig `json:"webConfig,omitempty"` // OpsCenterConfig defines the block to configure remote access to an OpsCenter OpsCenterConfig *OpsCenterConfig `json:"opscenter,omitempty"` // Extensions section defines various application extension features, such as // encryption Extensions *Extensions `json:"extensions,omitempty"` }
Manifest is a site manifest +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func UnmarshalJSON ¶
func (*Manifest) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Manifest.
func (*Manifest) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Manifest) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Manifest) GetObjectKind ¶
func (m Manifest) GetObjectKind() kubeschema.ObjectKind
GetObjectKind returns the manifest header
type ManifestRef ¶
ManifestRef defines a reference to another application's manifest
func (*ManifestRef) DeepCopy ¶
func (in *ManifestRef) DeepCopy() *ManifestRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManifestRef.
func (*ManifestRef) DeepCopyInto ¶
func (in *ManifestRef) DeepCopyInto(out *ManifestRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManifestRef) MarshalJSON ¶
func (r *ManifestRef) MarshalJSON() ([]byte, error)
MarshalJSON formats manifest reference as JSON
func (*ManifestRef) UnmarshalJSON ¶
func (r *ManifestRef) UnmarshalJSON(data []byte) error
UnmarshalJSON reads manifest reference from the specified data
type Metadata ¶
type Metadata struct { metav1.ObjectMeta // Repository is the name of the repository the application belongs to Repository string `json:"repository,omitempty" yaml:"repository,omitempty"` // ReleaseNotes are the release notes for the current application version ReleaseNotes string `json:"releaseNotes,omitempty" yaml:"releaseNotes,omitempty"` // Resources are the resource notes for the current application Resources string `json:"resources,omitempty" yaml:"resources,omitempty"` // Logo defines user-specific brand markup Logo map[string]string `json:"logo,omitempty" yaml:"logo,omitempty"` }
Metadata defines the block of application-specific metadata
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringExtension ¶
type MonitoringExtension struct { // Enabled flag controls monitoring extension status Enabled bool `json:"enabled"` }
MonitoringExtension enables/disables monitoring
func (*MonitoringExtension) DeepCopy ¶
func (in *MonitoringExtension) DeepCopy() *MonitoringExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringExtension.
func (*MonitoringExtension) DeepCopyInto ¶
func (in *MonitoringExtension) DeepCopyInto(out *MonitoringExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mount ¶
type Mount struct { // Name defines a name for this mount Name string `json:"name,omitempty"` // Source defines the path on host mapped inside the cluster // environment container. // The source can be left empty at manifest definition state to // allow user input Source string `json:"source,omitempty"` // Destination is the mount point where the host path is mapped inside // the cluster container Destination string `json:"destination,omitempty"` // CreateIfMissing forces a non-existing source directory to be created CreateIfMissing *bool `json:"create_if_missing,omitempty"` // MinTotalMB is a minimum size requirement in MB for the source directory MinTotalMB int `json:"min_total_mb,omitempty"` // FSTypes is a list of allowed fs types for the source directory FSTypes []string `json:"fs_types,omitempty"` }
Mount defines a mount point that maps a directory on host (Source) to a directory inside planet's filesystem namespace (Destination).
func (*Mount) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mount.
func (*Mount) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mounts ¶
Mounts is a list of mount points
func (Mounts) MarshalJSON ¶
MarshalJSON serializes r as a list of Mounts
func (*Mounts) UnmarshalJSON ¶
UnmarshalJSON interprets input as a list of Mounts
type Network ¶
type Network struct { // MinMBPerSecond is the minimum bandwidth in megabytes per second MinMBPerSecond int `json:"min_mbps"` }
Network specifies network bandwidth requirements
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OS ¶
type OS struct { // Name is the supported OS name (e.g. centos, rhel, ubuntu) Name string `json:"name"` // Versions is supported OS versions Versions []string `json:"versions"` }
OS specifies Operating System requirements for a server
func (*OS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OS.
func (*OS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnPremProvisioner ¶
type OnPremProvisioner struct { // Variables defines all configuration parameters for a bare metal provisioner Spec OnPremSpec `json:"variables"` }
OnPremProvisioner defines a bare metal provisioner
func (*OnPremProvisioner) DeepCopy ¶
func (in *OnPremProvisioner) DeepCopy() *OnPremProvisioner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnPremProvisioner.
func (*OnPremProvisioner) DeepCopyInto ¶
func (in *OnPremProvisioner) DeepCopyInto(out *OnPremProvisioner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnPremSpec ¶
type OnPremSpec struct { // Docker defines docker configuration Docker Docker `json:"docker"` }
OnPremSpec groups all configuration parameters for an on-premises provisioner
func (*OnPremSpec) DeepCopy ¶
func (in *OnPremSpec) DeepCopy() *OnPremSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnPremSpec.
func (*OnPremSpec) DeepCopyInto ¶
func (in *OnPremSpec) DeepCopyInto(out *OnPremSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpsCenterConfig ¶
type OpsCenterConfig struct { // Address specifies the address of the remote OpsCenter Address unversioned.MultiSourceValue `json:"address"` // Token defines the agent token used to connect to the remote OpsCenter Token unversioned.MultiSourceValue `json:"token"` }
OpsCenterConfig specifies configuration to connect to a remote OpsCenter
func (*OpsCenterConfig) DeepCopy ¶
func (in *OpsCenterConfig) DeepCopy() *OpsCenterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpsCenterConfig.
func (*OpsCenterConfig) DeepCopyInto ¶
func (in *OpsCenterConfig) DeepCopyInto(out *OpsCenterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Orchestration ¶
type Orchestration struct { // KubeConfig defines kubernetes-specific orchestration configuration KubeConfig KubeConfig `json:"k8s,omitempty"` }
Orchestration defines cluster orchestration configuration
func (*Orchestration) DeepCopy ¶
func (in *Orchestration) DeepCopy() *Orchestration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Orchestration.
func (*Orchestration) DeepCopyInto ¶
func (in *Orchestration) DeepCopyInto(out *Orchestration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageDependencies ¶
type PackageDependencies []PackageDependency
PackageDependencies defines a list of package dependencies
func (PackageDependencies) All ¶
func (r PackageDependencies) All() (packages []loc.Locator)
All returns a list of package locators in this dependency list
func (*PackageDependencies) Merge ¶
func (r *PackageDependencies) Merge(packages PackageDependencies)
Merge inserts packages into this dependency list avoiding duplicates
func (PackageDependencies) WithName ¶
func (r PackageDependencies) WithName(name string) (*loc.Locator, error)
func (PackageDependencies) WithRole ¶
func (r PackageDependencies) WithRole(packageName string) (*loc.Locator, error)
WithRole returns a list of packages matching the specified role
func (PackageDependencies) WithSelector ¶
func (r PackageDependencies) WithSelector(selector, value string) []loc.Locator
WithSelector returns a list of packages matching the specified selector value
type PackageDependency ¶
type PackageDependency struct { // Package defines the package name of the dependency Package loc.Locator // Selector defines the list of selectors assigned to this package Selector map[string]string `json:"selector,omitempty"` }
PackageDependency defines a dependency on a package
func (*PackageDependency) DeepCopy ¶
func (in *PackageDependency) DeepCopy() *PackageDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageDependency.
func (*PackageDependency) DeepCopyInto ¶
func (in *PackageDependency) DeepCopyInto(out *PackageDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageDependency) MarshalJSON ¶
func (r *PackageDependency) MarshalJSON() ([]byte, error)
MarshalJSON formats package dependency as JSON
func (*PackageDependency) UnmarshalJSON ¶
func (r *PackageDependency) UnmarshalJSON(data []byte) error
UnmarshalJSON reads package dependency from the specified data
type Provisioners ¶
type Provisioners struct { // Virsh defines a virsh provisioner Virsh *VirshProvisioner `json:"virsh,omitempty"` // OnPrem defines a bare metal provisioner OnPrem *OnPremProvisioner `json:"onprem,omitempty"` // AWSTerraform defines an AWS terraform provisioner AWSTerraform *AWSTerraformProvisioner `json:"aws_terraform,omitempty"` }
Provisioners defines the set of provisioners supported in the manifest
func (*Provisioners) DeepCopy ¶
func (in *Provisioners) DeepCopy() *Provisioners
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provisioners.
func (*Provisioners) DeepCopyInto ¶
func (in *Provisioners) DeepCopyInto(out *Provisioners)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RAM ¶
type RAM struct { // MinTotalMB is a minimum amount of RAM provided by the system MinTotalMB int `json:"min_total_mb"` }
RAM specifies minimum amount of megabytes that will be available
func (*RAM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RAM.
func (*RAM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerPorts ¶
type ServerPorts struct { // Protocol is port protocol, tcp or udp Protocol string `json:"protocol"` // Ranges is the port ranges Ranges []string `json:"ranges"` }
ServerPorts specifies port ranges that should be available on a server
func (*ServerPorts) DeepCopy ¶
func (in *ServerPorts) DeepCopy() *ServerPorts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerPorts.
func (*ServerPorts) DeepCopyInto ¶
func (in *ServerPorts) DeepCopyInto(out *ServerPorts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerProfile ¶
type ServerProfile struct { // Description is a human-readable description of this porfile Description string `json:"description,omitempty"` // CPU specifies CPU requirements CPU CPU `json:"cpu,omitempty"` // RAM specifies RAM requirements RAM RAM `json:"ram,omitempty"` // OS specifies Operation System requirements OS []OS `json:"os,omitempty"` // Ports specifies port requirements Ports []ServerPorts `json:"ports,omitempty"` // Disk specifies I/O requirements Disk Disk `json:"disk,omitempty"` // Network specifies networking requirements Network Network `json:"network,omitempty"` // Directories specifies the directory requirements Directories Directories `json:"directories,omitempty"` // Mounts lists required mount points Mounts Mounts `json:"mounts,omitempty"` // Labels specifies a set of application-specific labels to assign // to this profile Labels map[string]string `json:"labels,omitempty"` // ServiceRole specifies the server role ServiceRole ServiceRole `json:"service_role,omitempty"` // InstanceTypes defines a list of supported instance types for every // supported cloud provider InstanceTypes map[string][]string `json:"instance_types,omitempty"` // FixedInstanceType indicates whether it is allowed to add servers (during expand) // of the same role with an instance type different than the one other servers of // this profile have been provisioned with FixedInstanceType bool `json:"fixed_instance_type"` // NonExpandable defines whether this profile is not available for expansion. // Default is false (i.e. expandable) NonExpandable bool `json:"non_expandable"` // Request augments the static server profile with information about how many servers // of a certain instance type were actually requested for an install/expand operation. // // This is sort of "runtime" information used only during installation/expansion so it // is not a part of manifest schema. Request ServerProfileRequest `json:"request,omitempty"` }
ServerProfile defines a server configuration profile
func (*ServerProfile) DeepCopy ¶
func (in *ServerProfile) DeepCopy() *ServerProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerProfile.
func (*ServerProfile) DeepCopyInto ¶
func (in *ServerProfile) DeepCopyInto(out *ServerProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerProfileRequest ¶
type ServerProfileRequest struct { // InstanceType is the instance type to provision InstanceType string `json:"instance_type,omitempty"` // Count is the number of servers to provision Count int `json:"count,omitempty"` }
ServerProfileRequest contains information about how many nodes of a certain type were requested for install/expand.
func (*ServerProfileRequest) DeepCopy ¶
func (in *ServerProfileRequest) DeepCopy() *ServerProfileRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerProfileRequest.
func (*ServerProfileRequest) DeepCopyInto ¶
func (in *ServerProfileRequest) DeepCopyInto(out *ServerProfileRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Threshold ¶
type Threshold struct { // Value sets the value for this threshold in arbitrary units Value int64 `json:"value,omitempty"` // Label defines the human-readable representation of the value. // It can potentially be used to specify the units used in Value Label string `json:"label,omitempty"` }
Threshold defines a transition boundary between two flavors
func (*Threshold) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Threshold.
func (*Threshold) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserExtension ¶
type UserExtension struct { // Name is the name of the user Name string `json:"name"` // Type is the user type, only "container" is supported currently Type string `json:"type"` // Selector is the selector for the "container" user Selector map[string]string `json:"selector"` // Namespace is the k8s namespace to look for the pod in Namespace string `json:"namespace"` // Shell is the shell to use inside container Shell string `json:"shell"` }
UserExtension is a configuration for "user" extension
func (*UserExtension) DeepCopy ¶
func (in *UserExtension) DeepCopy() *UserExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserExtension.
func (*UserExtension) DeepCopyInto ¶
func (in *UserExtension) DeepCopyInto(out *UserExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirshProvisioner ¶
type VirshProvisioner struct { // Spec defines the configuration parameters for the virsh provisioner Spec VirshSpec `json:"variables,omitempty"` // Commands lists all the commands the provisioner runs during provisioning Commands []string `json:"commands,omitempty"` }
VirshProvisioner defines configuration for a virsh provisioner
func (*VirshProvisioner) DeepCopy ¶
func (in *VirshProvisioner) DeepCopy() *VirshProvisioner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirshProvisioner.
func (*VirshProvisioner) DeepCopyInto ¶
func (in *VirshProvisioner) DeepCopyInto(out *VirshProvisioner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirshSpec ¶
type VirshSpec struct { // Image defines the VM image to use to boot instances from Image string `json:"image,omitempty"` // Devices specifies the details of each configured device Devices []Device `json:"devices,omitempty"` // RAM specifies the memory allocated to the VM, in megabytes RAM int `json:"ram_mb,omitempty"` // Docker defines docker-specific configuration Docker Docker `json:"docker"` }
VirshSpec groups all configuration parameters for a virsh provisioner
func (*VirshSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirshSpec.
func (*VirshSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebConfig ¶
type WebConfig struct { // Modules specifies various parts of web installer / site that can be customized Modules *WebModules `json:"modules,omitempty"` }
WebConfig manifest section holds vendor-customizable parts of the installer or a deployed site (like text strings).
Its structure resembles config.js used on the frontend so it can be directly applied to config.js to override its default values with vendor-specific ones.
func (*WebConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebConfig.
func (*WebConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebFeature ¶
type WebFeature struct { // Enabled turns the feature on/off Enabled bool `json:"enabled"` }
WebFeature represents a UI feature (e.g. a tab in UI) that can be enabled/disabled
func (*WebFeature) DeepCopy ¶
func (in *WebFeature) DeepCopy() *WebFeature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebFeature.
func (*WebFeature) DeepCopyInto ¶
func (in *WebFeature) DeepCopyInto(out *WebFeature)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebFeatures ¶
type WebFeatures struct { // Kubernetes is a tab with Kubernetes resources - pods, services, etc. Kubernetes *WebFeature `json:"k8s,omitempty"` // Configuration is a tab with Kubernetes config maps Configuration *WebFeature `json:"configMaps,omitempty"` }
WebFeatures defines various UI features that can be enabled/disabled
func (*WebFeatures) DeepCopy ¶
func (in *WebFeatures) DeepCopy() *WebFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebFeatures.
func (*WebFeatures) DeepCopyInto ¶
func (in *WebFeatures) DeepCopyInto(out *WebFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebInstaller ¶
type WebInstaller struct { // Providers is a list of providers the app installer supports Providers []string `json:"providers,omitempty"` // EnableTags controls whether the installer allows to change site labels before installation EnableTags bool `json:"enableTags,omitempty"` // LicenseHeaderText is the title that prompts user to choose licensed versus non-licensed deployment LicenseHeaderText string `json:"licenseHeaderText,omitempty"` // LicenseOptionTrialText is the text for non-licensed deployment type LicenseOptionTrialText string `json:"licenseOptionTrialText,omitempty"` // LicenseOptionText is the text for licensed deployment type LicenseOptionText string `json:"licenseOptionText,omitempty"` // LicenseUserHintText is the help message that appears on the deployment type screen LicenseUserHintText string `json:"licenseUserHintText,omitempty"` // EULAHeaderText is the title for the EULA screen EULAHeaderText string `json:"eulaHeaderText,omitempty"` // EULAAgreeText is the agree text for the EULA screen EULAAgreeText string `json:"eulaAgreeText,omitempty"` }
WebInstaller defines vendor-customized text strings for the installer.
func (*WebInstaller) DeepCopy ¶
func (in *WebInstaller) DeepCopy() *WebInstaller
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebInstaller.
func (*WebInstaller) DeepCopyInto ¶
func (in *WebInstaller) DeepCopyInto(out *WebInstaller)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebModules ¶
type WebModules struct { // Installer contains customizations for web installer Installer *WebInstaller `json:"installer,omitempty"` // Site contains UI customizations for a deployed site Site *WebSite `json:"site,omitempty"` }
WebModules is a part of web config section that holds vendor customizations for various parts of the application.
func (*WebModules) DeepCopy ¶
func (in *WebModules) DeepCopy() *WebModules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebModules.
func (*WebModules) DeepCopyInto ¶
func (in *WebModules) DeepCopyInto(out *WebModules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebSite ¶
type WebSite struct { // Features is a set of UI features that can be enabled/disabled Features *WebFeatures `json:"features,omitempty"` }
WebSite defines UI customizations for a deployed site
func (*WebSite) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebSite.
func (*WebSite) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.