Documentation
¶
Index ¶
Constants ¶
const MaxToolchainTypeLength = 128
Variables ¶
var AppConfigFileExtensions = map[ToolchainType]string{ ToolchainAppConfigProperties: ".properties", ToolchainAppConfigYAML: ".yaml", ToolchainAppConfigTOML: ".toml", ToolchainAppConfigINI: ".ini", ToolchainAppConfigJSON: ".json", ToolchainAppConfigEnv: ".env", ToolchainAppConfigText: ".txt", }
AppConfigFileExtensions maps each AppConfig toolchain to the extension its files carry. It is the one place the correspondence lives: render-configmap names the ConfigMap key it renders a file into with it, and upload classifies a bundle's files by it, so a file that is rendered out and uploaded back is read as the format it was written as.
var AppConfigToolchains = map[ToolchainType]bool{ ToolchainAppConfigProperties: true, ToolchainAppConfigYAML: true, ToolchainAppConfigTOML: true, ToolchainAppConfigINI: true, ToolchainAppConfigJSON: true, ToolchainAppConfigEnv: true, ToolchainAppConfigText: true, }
AppConfigToolchains is the set of toolchains that carry application configuration files rather than infrastructure resources. Units of these toolchains hold config data that other Units consume, so they default to ProviderNone, but they may be given a Provider and released like any other Unit.
Functions ¶
func FileExtensionForToolchain ¶ added in v0.4.19
func FileExtensionForToolchain(toolchain ToolchainType) string
FileExtensionForToolchain returns the file extension, with its leading dot, for a toolchain's files. A toolchain AppConfigFileExtensions does not list gets its format name, lowercased, and one with no format name gets ".config".
func IsAppConfigToolchain ¶ added in v0.2.4
func IsAppConfigToolchain(toolchain ToolchainType) bool
IsAppConfigToolchain reports whether the toolchain is an AppConfig format.
Types ¶
type ToolchainType ¶
type ToolchainType string
const ( ToolchainConfigHubYAML ToolchainType = "ConfigHub/YAML" ToolchainKubernetesYAML ToolchainType = "Kubernetes/YAML" ToolchainAppConfigProperties ToolchainType = "AppConfig/Properties" ToolchainAppConfigYAML ToolchainType = "AppConfig/YAML" ToolchainAppConfigTOML ToolchainType = "AppConfig/TOML" ToolchainAppConfigINI ToolchainType = "AppConfig/INI" ToolchainAppConfigJSON ToolchainType = "AppConfig/JSON" ToolchainAppConfigEnv ToolchainType = "AppConfig/Env" ToolchainAppConfigText ToolchainType = "AppConfig/Text" // ToolchainAny is a wildcard toolchain used only on a Target (and the // SupportedConfigType a bridge advertises). A Target ConfigType with // ToolchainAny matches a Unit of any toolchain, which suits transports // that publish Unit data verbatim and never route by toolchain (e.g. OCI). // It must never appear as a Unit's toolchain: Units always carry a concrete // serialization format, which is what function execution and the published // artifact rely on. The value is the word "Any" (not "*") so it is slug-safe // and needs no shell quoting on the CLI. ToolchainAny ToolchainType = "Any" )
ToolchainType corresponds to the toolchain and configuration format+syntax