Documentation ¶
Index ¶
- Constants
- Variables
- func GetServiceStartOrder(services map[string]*Service) ([]string, error)
- type AuxService
- type BindMount
- type CPUArch
- type ConfigTypeOptions
- type Configs
- func (c Configs) SetBool(ref string, def *bool, opt []bool, optExt bool, cType string, ...)
- func (c Configs) SetBoolSlice(ref string, def []bool, opt []bool, optExt bool, cType string, ...)
- func (c Configs) SetFloat64(ref string, def *float64, opt []float64, optExt bool, cType string, ...)
- func (c Configs) SetFloat64Slice(ref string, def []float64, opt []float64, optExt bool, cType string, ...)
- func (c Configs) SetInt64(ref string, def *int64, opt []int64, optExt bool, cType string, ...)
- func (c Configs) SetInt64Slice(ref string, def []int64, opt []int64, optExt bool, cType string, ...)
- func (c Configs) SetString(ref string, def *string, opt []string, optExt bool, cType string, ...)
- func (c Configs) SetStringSlice(ref string, def []string, opt []string, optExt bool, cType string, ...)
- type DataType
- type DeploymentType
- type ExtDependencyTarget
- type HostResTarget
- type HostResource
- type HttpEndpoint
- type HttpEndpointProxyConf
- type HttpEndpointStrSub
- type Input
- type InputGroup
- type Inputs
- type Module
- type ModuleType
- type Port
- type PortProtocol
- type Resource
- type RunConfig
- type Secret
- type SecretTarget
- type Service
- type SrvRefTarget
- type TmpfsMount
Constants ¶
View Source
const RefPlaceholder = "ref"
Variables ¶
View Source
var CPUArchMap = map[CPUArch]struct{}{ X86: {}, I386: {}, X86_64: {}, AMD64: {}, AARCH32: {}, ARM32V5: {}, ARM32V6: {}, ARM32V7: {}, AARCH64: {}, ARM64V8: {}, }
View Source
var DeploymentTypeMap = map[DeploymentType]struct{}{ SingleDeployment: {}, MultipleDeployment: {}, }
View Source
var ModuleTypeMap = map[ModuleType]struct{}{ AddOnModule: {}, DeviceConnectorModule: {}, }
View Source
var PortProtocolMap = map[PortProtocol]struct{}{ TcpPort: {}, UdpPort: {}, }
Functions ¶
Types ¶
type AuxService ¶ added in v0.15.0
type AuxService struct { Name string `json:"name"` RunConfig RunConfig `json:"run_config"` BindMounts map[string]BindMount `json:"bind_mounts"` // {mntPoint:BindMount} Tmpfs map[string]TmpfsMount `json:"tmpfs"` // {mntPoint:TmpfsMount} Volumes map[string]string `json:"volumes"` // {mntPoint:volName} Configs map[string]string `json:"configs"` // {refVar:ref} SrvReferences map[string]SrvRefTarget `json:"srv_references"` // {refVar:SrvRefTarget} ExtDependencies map[string]ExtDependencyTarget `json:"ext_dependencies"` // {refVar:ExtDependencyTarget} }
type ConfigTypeOptions ¶
type ConfigTypeOptions map[string]configTypeOption
func (ConfigTypeOptions) SetBool ¶
func (o ConfigTypeOptions) SetBool(ref string, val bool)
func (ConfigTypeOptions) SetFloat64 ¶
func (o ConfigTypeOptions) SetFloat64(ref string, val float64)
func (ConfigTypeOptions) SetInt64 ¶
func (o ConfigTypeOptions) SetInt64(ref string, val int64)
func (ConfigTypeOptions) SetString ¶
func (o ConfigTypeOptions) SetString(ref string, val string)
type Configs ¶
type Configs map[string]configValue
func (Configs) SetBoolSlice ¶
func (Configs) SetFloat64 ¶
func (Configs) SetFloat64Slice ¶
func (Configs) SetInt64Slice ¶
type DeploymentType ¶
type DeploymentType = string
const ( SingleDeployment DeploymentType = "single" MultipleDeployment DeploymentType = "multiple" )
type ExtDependencyTarget ¶ added in v0.4.0
type ExtDependencyTarget struct { ID string `json:"id"` Service string `json:"service"` Template *string `json:"template"` }
func (ExtDependencyTarget) FillTemplate ¶ added in v0.14.0
func (t ExtDependencyTarget) FillTemplate(s string) string
type HostResTarget ¶ added in v0.7.0
type HostResource ¶ added in v0.7.0
type HostResource struct {
Resource
}
type HttpEndpoint ¶
type HttpEndpoint struct { Name *string `json:"name"` Port *int `json:"port"` Path *string `json:"path"` // internal path ProxyConf HttpEndpointProxyConf `json:"proxy_conf"` StringSub HttpEndpointStrSub `json:"string_sub"` }
type HttpEndpointProxyConf ¶ added in v0.21.0
type HttpEndpointStrSub ¶ added in v0.20.0
type InputGroup ¶
type Module ¶
type Module struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Tags util.Set[string] `json:"tags"` License string `json:"license"` Author string `json:"author"` Version string `json:"version"` Type ModuleType `json:"type"` DeploymentType DeploymentType `json:"deployment_type"` Architectures util.Set[CPUArch] `json:"architectures"` Services map[string]*Service `json:"services"` // {ref:Service} Volumes util.Set[string] `json:"volumes"` // {volName} Dependencies map[string]string `json:"dependencies"` // {moduleID:moduleVersion} HostResources map[string]HostResource `json:"host_resources"` // {ref:{tag}} Secrets map[string]Secret `json:"secrets"` // {ref:Secret} Configs Configs `json:"configs"` // {ref:ConfigValue} Inputs Inputs `json:"inputs"` AuxServices map[string]*AuxService `json:"aux_services"` // {ref:AuxService} AuxImgSrc util.Set[string] `json:"aux_img_src"` }
type ModuleType ¶
type ModuleType = string
const ( AddOnModule ModuleType = "add-on" DeviceConnectorModule ModuleType = "device-connector" )
type Port ¶
type Port struct { Name *string `json:"name"` Number uint `json:"number"` Protocol PortProtocol `json:"protocol"` Bindings []uint `json:"bindings"` }
type PortProtocol ¶
type PortProtocol = string
const ( TcpPort PortProtocol = "tcp" UdpPort PortProtocol = "udp" )
type SecretTarget ¶ added in v0.9.0
type Service ¶
type Service struct { Name string `json:"name"` Image string `json:"image"` RunConfig RunConfig `json:"run_config"` BindMounts map[string]BindMount `json:"bind_mounts"` // {mntPoint:BindMount} Tmpfs map[string]TmpfsMount `json:"tmpfs"` // {mntPoint:TmpfsMount} Volumes map[string]string `json:"volumes"` // {mntPoint:volName} HostResources map[string]HostResTarget `json:"host_resources"` // {mntPoint:HostResTarget} SecretMounts map[string]SecretTarget `json:"secret_mounts"` // {mntPoint:SecretTarget} SecretVars map[string]SecretTarget `json:"secret_vars"` // {refVar:SecretTarget} Configs map[string]string `json:"configs"` // {refVar:ref} SrvReferences map[string]SrvRefTarget `json:"srv_references"` // {refVar:SrvRefTarget} HttpEndpoints map[string]HttpEndpoint `json:"http_endpoints"` // {externalPath:HttpEndpoint} RequiredSrv util.Set[string] `json:"required_srv"` // {ref} RequiredBySrv util.Set[string] `json:"required_by_srv"` // {ref} ExtDependencies map[string]ExtDependencyTarget `json:"ext_dependencies"` // {refVar:ExtDependencyTarget} Ports []Port `json:"ports"` }
type SrvRefTarget ¶ added in v0.13.0
func (SrvRefTarget) FillTemplate ¶ added in v0.13.0
func (t SrvRefTarget) FillTemplate(s string) string
type TmpfsMount ¶
Click to show internal directories.
Click to hide internal directories.