Documentation
¶
Index ¶
- Constants
- Variables
- func BuildPerPlayContext(base map[string]interface{}, playInputs []Input, userSet map[string]bool) map[string]interface{}
- func CollectEnvelopeNames(envs []*TaskEnvelope) []string
- func CollectPlaySensitiveValues(plays []*Play) []string
- func CollectSensitiveValues(tasks OrderedStringEnvelopeMap) []string
- func CompilePredicate(src string) (*vm.Program, error)
- func DoubleQuoteEscape(v interface{}) (string, error)
- func EnvelopeContainsName(env *TaskEnvelope, target string) bool
- func EnvelopePassesTags(env *TaskEnvelope, includes, skips []string) bool
- func EvalBool(prog *vm.Program, env map[string]interface{}) (bool, error)
- func EvalList(prog *vm.Program, env map[string]interface{}) ([]interface{}, error)
- func FileLevelInputNames(plays []*Play) map[string]bool
- func FilterByTags(m OrderedStringEnvelopeMap, includes, skips []string) []string
- func Format(data []byte) ([]byte, error)
- func FormatJSON5(data []byte) ([]byte, error)
- func IdentityAddress(typeKey string, t Task) string
- func IdentityKeyNames(t Task) []string
- func IdentityMatches(t Task, want map[string]string) bool
- func IsJSON5Format(format string) bool
- func JSONScalar(v interface{}) (string, error)
- func ParseIdentityAddress(address string) (string, map[string]string, error)
- func PredicateIdentifiers(src string) (map[string]bool, error)
- func RegisterTask(t Task)
- func RegisteredTaskNames() []string
- func TaskDeprecation(t Task) string
- func YAMLScalar(v interface{}) (string, error)
- type AclAppTask
- func (t AclAppTask) Doc() string
- func (t AclAppTask) Examples() ([]Doc, error)
- func (t AclAppTask) Execute() TaskOutputState
- func (t AclAppTask) ExportApp(app string) ([]interface{}, error)
- func (t AclAppTask) ExportSupport() ExportSupport
- func (t AclAppTask) Plan() PlanResult
- func (t AclAppTask) ProbeSupport() ProbeSupport
- func (t AclAppTask) Requirements() []string
- func (t AclAppTask) Validate() error
- type AclAppTaskExample
- type AclServiceTask
- func (t AclServiceTask) Doc() string
- func (t AclServiceTask) Examples() ([]Doc, error)
- func (t AclServiceTask) Execute() TaskOutputState
- func (t AclServiceTask) ExportGlobal() ([]interface{}, error)
- func (t AclServiceTask) ExportSupport() ExportSupport
- func (t AclServiceTask) Plan() PlanResult
- func (t AclServiceTask) ProbeSupport() ProbeSupport
- func (t AclServiceTask) Requirements() []string
- func (t AclServiceTask) Validate() error
- type AclServiceTaskExample
- type AppCloneTask
- func (t AppCloneTask) Doc() string
- func (t AppCloneTask) Examples() ([]Doc, error)
- func (t AppCloneTask) Execute() TaskOutputState
- func (t AppCloneTask) ExportSupport() ExportSupport
- func (t AppCloneTask) Plan() PlanResult
- func (t AppCloneTask) ProbeSupport() ProbeSupport
- func (t AppCloneTask) Validate() error
- type AppCloneTaskExample
- type AppDeploySource
- type AppExporter
- type AppJsonPropertyTask
- func (t AppJsonPropertyTask) Doc() string
- func (t AppJsonPropertyTask) Examples() ([]Doc, error)
- func (t AppJsonPropertyTask) Execute() TaskOutputState
- func (t AppJsonPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t AppJsonPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t AppJsonPropertyTask) ExportSupport() ExportSupport
- func (t AppJsonPropertyTask) Plan() PlanResult
- func (t AppJsonPropertyTask) ProbeSupport() ProbeSupport
- func (t AppJsonPropertyTask) PropertyTable() PropertyTable
- func (t AppJsonPropertyTask) Validate() error
- type AppJsonPropertyTaskExample
- type AppLockTask
- func (t AppLockTask) Doc() string
- func (t AppLockTask) Examples() ([]Doc, error)
- func (t AppLockTask) Execute() TaskOutputState
- func (t AppLockTask) ExportApp(app string) ([]interface{}, error)
- func (t AppLockTask) ExportSupport() ExportSupport
- func (t AppLockTask) Plan() PlanResult
- func (t AppLockTask) ProbeSupport() ProbeSupport
- type AppLockTaskExample
- type AppTask
- func (t AppTask) Doc() string
- func (t AppTask) Examples() ([]Doc, error)
- func (t AppTask) Execute() TaskOutputState
- func (t AppTask) ExportApp(app string) ([]interface{}, error)
- func (t AppTask) ExportSupport() ExportSupport
- func (t AppTask) Plan() PlanResult
- func (t AppTask) ProbeSupport() ProbeSupport
- type AppTaskExample
- type AppsPropertyTask
- func (t AppsPropertyTask) Doc() string
- func (t AppsPropertyTask) Examples() ([]Doc, error)
- func (t AppsPropertyTask) Execute() TaskOutputState
- func (t AppsPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t AppsPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t AppsPropertyTask) ExportSupport() ExportSupport
- func (t AppsPropertyTask) Plan() PlanResult
- func (t AppsPropertyTask) ProbeSupport() ProbeSupport
- func (t AppsPropertyTask) PropertyTable() PropertyTable
- func (t AppsPropertyTask) Validate() error
- type AppsPropertyTaskExample
- type BuilderDockerfilePropertyTask
- func (t BuilderDockerfilePropertyTask) Doc() string
- func (t BuilderDockerfilePropertyTask) Examples() ([]Doc, error)
- func (t BuilderDockerfilePropertyTask) Execute() TaskOutputState
- func (t BuilderDockerfilePropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderDockerfilePropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderDockerfilePropertyTask) ExportSupport() ExportSupport
- func (t BuilderDockerfilePropertyTask) Plan() PlanResult
- func (t BuilderDockerfilePropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderDockerfilePropertyTask) PropertyTable() PropertyTable
- func (t BuilderDockerfilePropertyTask) Validate() error
- type BuilderDockerfilePropertyTaskExample
- type BuilderHerokuishPropertyTask
- func (t BuilderHerokuishPropertyTask) Doc() string
- func (t BuilderHerokuishPropertyTask) Examples() ([]Doc, error)
- func (t BuilderHerokuishPropertyTask) Execute() TaskOutputState
- func (t BuilderHerokuishPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderHerokuishPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderHerokuishPropertyTask) ExportSupport() ExportSupport
- func (t BuilderHerokuishPropertyTask) Plan() PlanResult
- func (t BuilderHerokuishPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderHerokuishPropertyTask) PropertyTable() PropertyTable
- func (t BuilderHerokuishPropertyTask) Validate() error
- type BuilderHerokuishPropertyTaskExample
- type BuilderLambdaPropertyTask
- func (t BuilderLambdaPropertyTask) Doc() string
- func (t BuilderLambdaPropertyTask) Examples() ([]Doc, error)
- func (t BuilderLambdaPropertyTask) Execute() TaskOutputState
- func (t BuilderLambdaPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderLambdaPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderLambdaPropertyTask) ExportSupport() ExportSupport
- func (t BuilderLambdaPropertyTask) Plan() PlanResult
- func (t BuilderLambdaPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderLambdaPropertyTask) PropertyTable() PropertyTable
- func (t BuilderLambdaPropertyTask) Validate() error
- type BuilderLambdaPropertyTaskExample
- type BuilderNixpacksPropertyTask
- func (t BuilderNixpacksPropertyTask) Doc() string
- func (t BuilderNixpacksPropertyTask) Examples() ([]Doc, error)
- func (t BuilderNixpacksPropertyTask) Execute() TaskOutputState
- func (t BuilderNixpacksPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderNixpacksPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderNixpacksPropertyTask) ExportSupport() ExportSupport
- func (t BuilderNixpacksPropertyTask) Plan() PlanResult
- func (t BuilderNixpacksPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderNixpacksPropertyTask) PropertyTable() PropertyTable
- func (t BuilderNixpacksPropertyTask) Validate() error
- type BuilderNixpacksPropertyTaskExample
- type BuilderPackPropertyTask
- func (t BuilderPackPropertyTask) Doc() string
- func (t BuilderPackPropertyTask) Examples() ([]Doc, error)
- func (t BuilderPackPropertyTask) Execute() TaskOutputState
- func (t BuilderPackPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderPackPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderPackPropertyTask) ExportSupport() ExportSupport
- func (t BuilderPackPropertyTask) Plan() PlanResult
- func (t BuilderPackPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderPackPropertyTask) PropertyTable() PropertyTable
- func (t BuilderPackPropertyTask) Validate() error
- type BuilderPackPropertyTaskExample
- type BuilderPropertyTask
- func (t BuilderPropertyTask) Doc() string
- func (t BuilderPropertyTask) Examples() ([]Doc, error)
- func (t BuilderPropertyTask) Execute() TaskOutputState
- func (t BuilderPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderPropertyTask) ExportSupport() ExportSupport
- func (t BuilderPropertyTask) Plan() PlanResult
- func (t BuilderPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderPropertyTask) PropertyTable() PropertyTable
- func (t BuilderPropertyTask) Validate() error
- type BuilderPropertyTaskExample
- type BuilderRailpackPropertyTask
- func (t BuilderRailpackPropertyTask) Doc() string
- func (t BuilderRailpackPropertyTask) Examples() ([]Doc, error)
- func (t BuilderRailpackPropertyTask) Execute() TaskOutputState
- func (t BuilderRailpackPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuilderRailpackPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuilderRailpackPropertyTask) ExportSupport() ExportSupport
- func (t BuilderRailpackPropertyTask) Plan() PlanResult
- func (t BuilderRailpackPropertyTask) ProbeSupport() ProbeSupport
- func (t BuilderRailpackPropertyTask) PropertyTable() PropertyTable
- func (t BuilderRailpackPropertyTask) Validate() error
- type BuilderRailpackPropertyTaskExample
- type BuildpacksPropertyTask
- func (t BuildpacksPropertyTask) Doc() string
- func (t BuildpacksPropertyTask) Examples() ([]Doc, error)
- func (t BuildpacksPropertyTask) Execute() TaskOutputState
- func (t BuildpacksPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuildpacksPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuildpacksPropertyTask) ExportSupport() ExportSupport
- func (t BuildpacksPropertyTask) Plan() PlanResult
- func (t BuildpacksPropertyTask) ProbeSupport() ProbeSupport
- func (t BuildpacksPropertyTask) PropertyTable() PropertyTable
- func (t BuildpacksPropertyTask) Validate() error
- type BuildpacksPropertyTaskExample
- type BuildpacksTask
- func (t BuildpacksTask) Doc() string
- func (t BuildpacksTask) Examples() ([]Doc, error)
- func (t BuildpacksTask) Execute() TaskOutputState
- func (t BuildpacksTask) ExportApp(app string) ([]interface{}, error)
- func (t BuildpacksTask) ExportSupport() ExportSupport
- func (t BuildpacksTask) Plan() PlanResult
- func (t BuildpacksTask) ProbeSupport() ProbeSupport
- func (t BuildpacksTask) Validate() error
- type BuildpacksTaskExample
- type BuildsPropertyTask
- func (t BuildsPropertyTask) Doc() string
- func (t BuildsPropertyTask) Examples() ([]Doc, error)
- func (t BuildsPropertyTask) Execute() TaskOutputState
- func (t BuildsPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t BuildsPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t BuildsPropertyTask) ExportSupport() ExportSupport
- func (t BuildsPropertyTask) Plan() PlanResult
- func (t BuildsPropertyTask) ProbeSupport() ProbeSupport
- func (t BuildsPropertyTask) PropertyTable() PropertyTable
- func (t BuildsPropertyTask) Validate() error
- type BuildsPropertyTaskExample
- type CaddyPropertyTask
- func (t CaddyPropertyTask) Doc() string
- func (t CaddyPropertyTask) Examples() ([]Doc, error)
- func (t CaddyPropertyTask) Execute() TaskOutputState
- func (t CaddyPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t CaddyPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t CaddyPropertyTask) ExportSupport() ExportSupport
- func (t CaddyPropertyTask) Plan() PlanResult
- func (t CaddyPropertyTask) ProbeSupport() ProbeSupport
- func (t CaddyPropertyTask) PropertyTable() PropertyTable
- func (t CaddyPropertyTask) Validate() error
- type CaddyPropertyTaskExample
- type CertsTask
- func (t CertsTask) Doc() string
- func (t CertsTask) Examples() ([]Doc, error)
- func (t CertsTask) Execute() TaskOutputState
- func (t CertsTask) ExportApp(app string) ([]interface{}, error)
- func (t CertsTask) ExportGlobal() ([]interface{}, error)
- func (t CertsTask) ExportSupport() ExportSupport
- func (t CertsTask) Plan() PlanResult
- func (t CertsTask) ProbeSupport() ProbeSupport
- func (t CertsTask) Requirements() []string
- func (t CertsTask) Validate() error
- type CertsTaskExample
- type ChecksPropertyTask
- func (t ChecksPropertyTask) Doc() string
- func (t ChecksPropertyTask) Examples() ([]Doc, error)
- func (t ChecksPropertyTask) Execute() TaskOutputState
- func (t ChecksPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t ChecksPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t ChecksPropertyTask) ExportSupport() ExportSupport
- func (t ChecksPropertyTask) Plan() PlanResult
- func (t ChecksPropertyTask) ProbeSupport() ProbeSupport
- func (t ChecksPropertyTask) PropertyTable() PropertyTable
- func (t ChecksPropertyTask) Validate() error
- type ChecksPropertyTaskExample
- type ChecksToggleTask
- func (t ChecksToggleTask) Doc() string
- func (t ChecksToggleTask) Examples() ([]Doc, error)
- func (t ChecksToggleTask) Execute() TaskOutputState
- func (t ChecksToggleTask) ExportApp(app string) ([]interface{}, error)
- func (t ChecksToggleTask) ExportSupport() ExportSupport
- func (t ChecksToggleTask) Plan() PlanResult
- func (t ChecksToggleTask) ProbeSupport() ProbeSupport
- type ChecksToggleTaskExample
- type ConfigTask
- func (t ConfigTask) Doc() string
- func (t ConfigTask) Examples() ([]Doc, error)
- func (t ConfigTask) Execute() TaskOutputState
- func (t ConfigTask) ExportApp(app string) ([]interface{}, error)
- func (t ConfigTask) ExportSupport() ExportSupport
- func (t ConfigTask) Plan() PlanResult
- func (t ConfigTask) ProbeSupport() ProbeSupport
- func (t ConfigTask) SensitiveValues() []string
- type ConfigTaskExample
- type CronPropertyTask
- func (t CronPropertyTask) Doc() string
- func (t CronPropertyTask) Examples() ([]Doc, error)
- func (t CronPropertyTask) Execute() TaskOutputState
- func (t CronPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t CronPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t CronPropertyTask) ExportSupport() ExportSupport
- func (t CronPropertyTask) Plan() PlanResult
- func (t CronPropertyTask) ProbeSupport() ProbeSupport
- func (t CronPropertyTask) PropertyTable() PropertyTable
- func (t CronPropertyTask) Validate() error
- type CronPropertyTaskExample
- type DeprecationDocer
- type Doc
- type DockerOptionsTask
- func (t DockerOptionsTask) Doc() string
- func (t DockerOptionsTask) Examples() ([]Doc, error)
- func (t DockerOptionsTask) Execute() TaskOutputState
- func (t DockerOptionsTask) ExportApp(app string) ([]interface{}, error)
- func (t DockerOptionsTask) ExportSupport() ExportSupport
- func (t DockerOptionsTask) Plan() PlanResult
- func (t DockerOptionsTask) ProbeSupport() ProbeSupport
- func (t DockerOptionsTask) Validate() error
- type DockerOptionsTaskExample
- type DomainsTask
- func (t DomainsTask) Doc() string
- func (t DomainsTask) Examples() ([]Doc, error)
- func (t DomainsTask) Execute() TaskOutputState
- func (t DomainsTask) ExportApp(app string) ([]interface{}, error)
- func (t DomainsTask) ExportSupport() ExportSupport
- func (t DomainsTask) Plan() PlanResult
- func (t DomainsTask) ProbeSupport() ProbeSupport
- func (t DomainsTask) Validate() error
- type DomainsTaskExample
- type DomainsToggleTask
- func (t DomainsToggleTask) Doc() string
- func (t DomainsToggleTask) Examples() ([]Doc, error)
- func (t DomainsToggleTask) Execute() TaskOutputState
- func (t DomainsToggleTask) ExportApp(app string) ([]interface{}, error)
- func (t DomainsToggleTask) ExportSupport() ExportSupport
- func (t DomainsToggleTask) Plan() PlanResult
- func (t DomainsToggleTask) ProbeSupport() ProbeSupport
- type DomainsToggleTaskExample
- type DynamicPropertySchema
- type ExampleSchema
- type ExportDocer
- type ExportOptions
- type ExportReport
- type ExportResult
- type ExportStatus
- type ExportSupport
- type FieldSchema
- type GitAuthTask
- func (t GitAuthTask) Doc() string
- func (t GitAuthTask) Examples() ([]Doc, error)
- func (t GitAuthTask) Execute() TaskOutputState
- func (t GitAuthTask) ExportSupport() ExportSupport
- func (t GitAuthTask) Plan() PlanResult
- func (t GitAuthTask) ProbeSupport() ProbeSupport
- func (t GitAuthTask) Validate() error
- type GitAuthTaskExample
- type GitFromArchiveTask
- func (t GitFromArchiveTask) Doc() string
- func (t GitFromArchiveTask) Examples() ([]Doc, error)
- func (t GitFromArchiveTask) Execute() TaskOutputState
- func (t GitFromArchiveTask) ExportApp(app string) ([]interface{}, error)
- func (t GitFromArchiveTask) ExportSupport() ExportSupport
- func (t GitFromArchiveTask) Plan() PlanResult
- func (t GitFromArchiveTask) ProbeSupport() ProbeSupport
- func (t GitFromArchiveTask) Validate() error
- type GitFromArchiveTaskExample
- type GitFromImageTask
- func (t GitFromImageTask) Doc() string
- func (t GitFromImageTask) Examples() ([]Doc, error)
- func (t GitFromImageTask) Execute() TaskOutputState
- func (t GitFromImageTask) ExportApp(app string) ([]interface{}, error)
- func (t GitFromImageTask) ExportSupport() ExportSupport
- func (t GitFromImageTask) Plan() PlanResult
- func (t GitFromImageTask) ProbeSupport() ProbeSupport
- func (t GitFromImageTask) Validate() error
- type GitFromImageTaskExample
- type GitPropertyTask
- func (t GitPropertyTask) Doc() string
- func (t GitPropertyTask) Examples() ([]Doc, error)
- func (t GitPropertyTask) Execute() TaskOutputState
- func (t GitPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t GitPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t GitPropertyTask) ExportSupport() ExportSupport
- func (t GitPropertyTask) Plan() PlanResult
- func (t GitPropertyTask) ProbeSupport() ProbeSupport
- func (t GitPropertyTask) PropertyTable() PropertyTable
- func (t GitPropertyTask) Validate() error
- type GitPropertyTaskExample
- type GitSyncTask
- func (t GitSyncTask) Doc() string
- func (t GitSyncTask) Examples() ([]Doc, error)
- func (t GitSyncTask) Execute() TaskOutputState
- func (t GitSyncTask) ExportApp(app string) ([]interface{}, error)
- func (t GitSyncTask) ExportSupport() ExportSupport
- func (t GitSyncTask) Plan() PlanResult
- func (t GitSyncTask) ProbeSupport() ProbeSupport
- type GitSyncTaskExample
- type GlobalExporter
- type HaproxyPropertyTask
- func (t HaproxyPropertyTask) Doc() string
- func (t HaproxyPropertyTask) Examples() ([]Doc, error)
- func (t HaproxyPropertyTask) Execute() TaskOutputState
- func (t HaproxyPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t HaproxyPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t HaproxyPropertyTask) ExportSupport() ExportSupport
- func (t HaproxyPropertyTask) Plan() PlanResult
- func (t HaproxyPropertyTask) ProbeSupport() ProbeSupport
- func (t HaproxyPropertyTask) PropertyTable() PropertyTable
- func (t HaproxyPropertyTask) Validate() error
- type HaproxyPropertyTaskExample
- type HttpAuthAllowedIpTask
- func (t HttpAuthAllowedIpTask) Doc() string
- func (t HttpAuthAllowedIpTask) Examples() ([]Doc, error)
- func (t HttpAuthAllowedIpTask) Execute() TaskOutputState
- func (t HttpAuthAllowedIpTask) ExportApp(app string) ([]interface{}, error)
- func (t HttpAuthAllowedIpTask) ExportSupport() ExportSupport
- func (t HttpAuthAllowedIpTask) Plan() PlanResult
- func (t HttpAuthAllowedIpTask) ProbeSupport() ProbeSupport
- func (t HttpAuthAllowedIpTask) Requirements() []string
- func (t HttpAuthAllowedIpTask) Validate() error
- type HttpAuthAllowedIpTaskExample
- type HttpAuthDomainTask
- func (t HttpAuthDomainTask) Doc() string
- func (t HttpAuthDomainTask) Examples() ([]Doc, error)
- func (t HttpAuthDomainTask) Execute() TaskOutputState
- func (t HttpAuthDomainTask) ExportApp(app string) ([]interface{}, error)
- func (t HttpAuthDomainTask) ExportSupport() ExportSupport
- func (t HttpAuthDomainTask) Plan() PlanResult
- func (t HttpAuthDomainTask) ProbeSupport() ProbeSupport
- func (t HttpAuthDomainTask) Requirements() []string
- func (t HttpAuthDomainTask) Validate() error
- type HttpAuthDomainTaskExample
- type HttpAuthTask
- func (t HttpAuthTask) Doc() string
- func (t HttpAuthTask) Examples() ([]Doc, error)
- func (t HttpAuthTask) Execute() TaskOutputState
- func (t HttpAuthTask) ExportApp(app string) ([]interface{}, error)
- func (t HttpAuthTask) ExportSupport() ExportSupport
- func (t HttpAuthTask) Plan() PlanResult
- func (t HttpAuthTask) ProbeSupport() ProbeSupport
- func (t HttpAuthTask) Requirements() []string
- func (t HttpAuthTask) Validate() error
- type HttpAuthTaskExample
- type HttpAuthUser
- type HttpAuthUserTask
- func (t HttpAuthUserTask) Doc() string
- func (t HttpAuthUserTask) Examples() ([]Doc, error)
- func (t HttpAuthUserTask) Execute() TaskOutputState
- func (t HttpAuthUserTask) ExportApp(app string) ([]interface{}, error)
- func (t HttpAuthUserTask) ExportSupport() ExportSupport
- func (t HttpAuthUserTask) Plan() PlanResult
- func (t HttpAuthUserTask) ProbeSupport() ProbeSupport
- func (t HttpAuthUserTask) Requirements() []string
- func (t HttpAuthUserTask) SensitiveValues() []string
- func (t HttpAuthUserTask) Validate() error
- type HttpAuthUserTaskExample
- type IdentityCollection
- type IdentityCollectionSchema
- type IdentityKey
- type IdentitySchema
- type Input
- type InputValidator
- type ItemIdentity
- type ItemSchema
- type LetsencryptPropertyTask
- func (t LetsencryptPropertyTask) Doc() string
- func (t LetsencryptPropertyTask) Examples() ([]Doc, error)
- func (t LetsencryptPropertyTask) Execute() TaskOutputState
- func (t LetsencryptPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t LetsencryptPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t LetsencryptPropertyTask) ExportSupport() ExportSupport
- func (t LetsencryptPropertyTask) Plan() PlanResult
- func (t LetsencryptPropertyTask) ProbeSupport() ProbeSupport
- func (t LetsencryptPropertyTask) PropertyTable() PropertyTable
- func (t LetsencryptPropertyTask) Requirements() []string
- func (t LetsencryptPropertyTask) Validate() error
- type LetsencryptPropertyTaskExample
- type LetsencryptTask
- func (t LetsencryptTask) Doc() string
- func (t LetsencryptTask) Examples() ([]Doc, error)
- func (t LetsencryptTask) Execute() TaskOutputState
- func (t LetsencryptTask) ExportApp(app string) ([]interface{}, error)
- func (t LetsencryptTask) ExportSupport() ExportSupport
- func (t LetsencryptTask) Plan() PlanResult
- func (t LetsencryptTask) ProbeSupport() ProbeSupport
- func (t LetsencryptTask) Requirements() []string
- func (t LetsencryptTask) Validate() error
- type LetsencryptTaskExample
- type LogsPropertyTask
- func (t LogsPropertyTask) Doc() string
- func (t LogsPropertyTask) Examples() ([]Doc, error)
- func (t LogsPropertyTask) Execute() TaskOutputState
- func (t LogsPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t LogsPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t LogsPropertyTask) ExportSupport() ExportSupport
- func (t LogsPropertyTask) Plan() PlanResult
- func (t LogsPropertyTask) ProbeSupport() ProbeSupport
- func (t LogsPropertyTask) PropertyTable() PropertyTable
- func (t LogsPropertyTask) Validate() error
- type LogsPropertyTaskExample
- type MaintenanceCustomPageTask
- func (t MaintenanceCustomPageTask) Doc() string
- func (t MaintenanceCustomPageTask) Examples() ([]Doc, error)
- func (t MaintenanceCustomPageTask) Execute() TaskOutputState
- func (t MaintenanceCustomPageTask) ExportApp(app string) ([]interface{}, error)
- func (t MaintenanceCustomPageTask) ExportAppReport(app string, warn func(msg string)) ([]interface{}, error)
- func (t MaintenanceCustomPageTask) ExportSupport() ExportSupport
- func (t MaintenanceCustomPageTask) Plan() PlanResult
- func (t MaintenanceCustomPageTask) ProbeSupport() ProbeSupport
- func (t MaintenanceCustomPageTask) Requirements() []string
- func (t MaintenanceCustomPageTask) Validate() error
- type MaintenanceCustomPageTaskExample
- type MaintenanceTask
- func (t MaintenanceTask) Doc() string
- func (t MaintenanceTask) Examples() ([]Doc, error)
- func (t MaintenanceTask) Execute() TaskOutputState
- func (t MaintenanceTask) ExportApp(app string) ([]interface{}, error)
- func (t MaintenanceTask) ExportSupport() ExportSupport
- func (t MaintenanceTask) Plan() PlanResult
- func (t MaintenanceTask) ProbeSupport() ProbeSupport
- func (t MaintenanceTask) Requirements() []string
- type MaintenanceTaskExample
- type NetworkPropertyTask
- func (t NetworkPropertyTask) Doc() string
- func (t NetworkPropertyTask) Examples() ([]Doc, error)
- func (t NetworkPropertyTask) Execute() TaskOutputState
- func (t NetworkPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t NetworkPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t NetworkPropertyTask) ExportSupport() ExportSupport
- func (t NetworkPropertyTask) Plan() PlanResult
- func (t NetworkPropertyTask) ProbeSupport() ProbeSupport
- func (t NetworkPropertyTask) PropertyTable() PropertyTable
- func (t NetworkPropertyTask) Validate() error
- type NetworkPropertyTaskExample
- type NetworkTask
- func (t NetworkTask) Doc() string
- func (t NetworkTask) Examples() ([]Doc, error)
- func (t NetworkTask) Execute() TaskOutputState
- func (t NetworkTask) ExportGlobal() ([]interface{}, error)
- func (t NetworkTask) ExportSupport() ExportSupport
- func (t NetworkTask) Plan() PlanResult
- func (t NetworkTask) ProbeSupport() ProbeSupport
- type NetworkTaskExample
- type NginxPropertyTask
- func (t NginxPropertyTask) Doc() string
- func (t NginxPropertyTask) Examples() ([]Doc, error)
- func (t NginxPropertyTask) Execute() TaskOutputState
- func (t NginxPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t NginxPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t NginxPropertyTask) ExportSupport() ExportSupport
- func (t NginxPropertyTask) Plan() PlanResult
- func (t NginxPropertyTask) ProbeSupport() ProbeSupport
- func (t NginxPropertyTask) PropertyTable() PropertyTable
- func (t NginxPropertyTask) Validate() error
- type NginxPropertyTaskExample
- type OpenrestyPropertyTask
- func (t OpenrestyPropertyTask) Doc() string
- func (t OpenrestyPropertyTask) Examples() ([]Doc, error)
- func (t OpenrestyPropertyTask) Execute() TaskOutputState
- func (t OpenrestyPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t OpenrestyPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t OpenrestyPropertyTask) ExportSupport() ExportSupport
- func (t OpenrestyPropertyTask) Plan() PlanResult
- func (t OpenrestyPropertyTask) ProbeSupport() ProbeSupport
- func (t OpenrestyPropertyTask) PropertyTable() PropertyTable
- func (t OpenrestyPropertyTask) Validate() error
- type OpenrestyPropertyTaskExample
- type OrderedStringEnvelopeMap
- type PlanResult
- type PlanStatus
- type PlanWarning
- type Play
- type PluginTask
- func (t PluginTask) Doc() string
- func (t PluginTask) Examples() ([]Doc, error)
- func (t PluginTask) Execute() TaskOutputState
- func (t PluginTask) ExportGlobal() ([]interface{}, error)
- func (t PluginTask) ExportSupport() ExportSupport
- func (t PluginTask) Plan() PlanResult
- func (t PluginTask) ProbeSupport() ProbeSupport
- func (t PluginTask) Validate() error
- type PluginTaskExample
- type PortMapping
- type PortsTask
- func (t PortsTask) Doc() string
- func (t PortsTask) Examples() ([]Doc, error)
- func (t PortsTask) Execute() TaskOutputState
- func (t PortsTask) ExportApp(app string) ([]interface{}, error)
- func (t PortsTask) ExportSupport() ExportSupport
- func (t PortsTask) Plan() PlanResult
- func (t PortsTask) ProbeSupport() ProbeSupport
- func (t PortsTask) Validate() error
- type PortsTaskExample
- type ProbeDocer
- type ProbeStatus
- type ProbeSupport
- type Problem
- type PropertyEntrySchema
- type PropertyFields
- type PropertyKeys
- type PropertySchema
- type PropertyTable
- type PropertyTableDocer
- type ProxyPropertyTask
- func (t ProxyPropertyTask) Doc() string
- func (t ProxyPropertyTask) Examples() ([]Doc, error)
- func (t ProxyPropertyTask) Execute() TaskOutputState
- func (t ProxyPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t ProxyPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t ProxyPropertyTask) ExportSupport() ExportSupport
- func (t ProxyPropertyTask) Plan() PlanResult
- func (t ProxyPropertyTask) ProbeSupport() ProbeSupport
- func (t ProxyPropertyTask) PropertyTable() PropertyTable
- func (t ProxyPropertyTask) Validate() error
- type ProxyPropertyTaskExample
- type ProxyToggleTask
- func (t ProxyToggleTask) Doc() string
- func (t ProxyToggleTask) Examples() ([]Doc, error)
- func (t ProxyToggleTask) Execute() TaskOutputState
- func (t ProxyToggleTask) ExportApp(app string) ([]interface{}, error)
- func (t ProxyToggleTask) ExportSupport() ExportSupport
- func (t ProxyToggleTask) Plan() PlanResult
- func (t ProxyToggleTask) ProbeSupport() ProbeSupport
- type ProxyToggleTaskExample
- type PsPropertyTask
- func (t PsPropertyTask) Doc() string
- func (t PsPropertyTask) Examples() ([]Doc, error)
- func (t PsPropertyTask) Execute() TaskOutputState
- func (t PsPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t PsPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t PsPropertyTask) ExportSupport() ExportSupport
- func (t PsPropertyTask) Plan() PlanResult
- func (t PsPropertyTask) ProbeSupport() ProbeSupport
- func (t PsPropertyTask) PropertyTable() PropertyTable
- func (t PsPropertyTask) Validate() error
- type PsPropertyTaskExample
- type PsScaleTask
- func (t PsScaleTask) Doc() string
- func (t PsScaleTask) Examples() ([]Doc, error)
- func (t PsScaleTask) Execute() TaskOutputState
- func (t PsScaleTask) ExportApp(app string) ([]interface{}, error)
- func (t PsScaleTask) ExportSupport() ExportSupport
- func (t PsScaleTask) Plan() PlanResult
- func (t PsScaleTask) ProbeSupport() ProbeSupport
- func (t PsScaleTask) Validate() error
- type PsScaleTaskExample
- type Recipe
- type RecipeEntry
- type RegisteredValue
- type RegistryAuthTask
- func (t RegistryAuthTask) Doc() string
- func (t RegistryAuthTask) Examples() ([]Doc, error)
- func (t RegistryAuthTask) Execute() TaskOutputState
- func (t RegistryAuthTask) ExportSupport() ExportSupport
- func (t RegistryAuthTask) Plan() PlanResult
- func (t RegistryAuthTask) ProbeSupport() ProbeSupport
- func (t RegistryAuthTask) Validate() error
- type RegistryAuthTaskExample
- type RegistryPropertyTask
- func (t RegistryPropertyTask) Doc() string
- func (t RegistryPropertyTask) Examples() ([]Doc, error)
- func (t RegistryPropertyTask) Execute() TaskOutputState
- func (t RegistryPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t RegistryPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t RegistryPropertyTask) ExportSupport() ExportSupport
- func (t RegistryPropertyTask) Plan() PlanResult
- func (t RegistryPropertyTask) ProbeSupport() ProbeSupport
- func (t RegistryPropertyTask) PropertyTable() PropertyTable
- func (t RegistryPropertyTask) Validate() error
- type RegistryPropertyTaskExample
- type RejectedPropertyFamily
- type RejectedPropertySchema
- type RequirementsDocer
- type ResourceContext
- type ResourceLimitTask
- func (t ResourceLimitTask) Doc() string
- func (t ResourceLimitTask) Examples() ([]Doc, error)
- func (t ResourceLimitTask) Execute() TaskOutputState
- func (t ResourceLimitTask) ExportApp(app string) ([]interface{}, error)
- func (t ResourceLimitTask) ExportSupport() ExportSupport
- func (t ResourceLimitTask) Plan() PlanResult
- func (t ResourceLimitTask) ProbeSupport() ProbeSupport
- func (t ResourceLimitTask) Validate() error
- type ResourceLimitTaskExample
- type ResourceReserveTask
- func (t ResourceReserveTask) Doc() string
- func (t ResourceReserveTask) Examples() ([]Doc, error)
- func (t ResourceReserveTask) Execute() TaskOutputState
- func (t ResourceReserveTask) ExportApp(app string) ([]interface{}, error)
- func (t ResourceReserveTask) ExportSupport() ExportSupport
- func (t ResourceReserveTask) Plan() PlanResult
- func (t ResourceReserveTask) ProbeSupport() ProbeSupport
- func (t ResourceReserveTask) Validate() error
- type ResourceReserveTaskExample
- type ResourceSelector
- type SchedulerDockerLocalPropertyTask
- func (t SchedulerDockerLocalPropertyTask) Doc() string
- func (t SchedulerDockerLocalPropertyTask) Examples() ([]Doc, error)
- func (t SchedulerDockerLocalPropertyTask) Execute() TaskOutputState
- func (t SchedulerDockerLocalPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerDockerLocalPropertyTask) ExportSupport() ExportSupport
- func (t SchedulerDockerLocalPropertyTask) Plan() PlanResult
- func (t SchedulerDockerLocalPropertyTask) ProbeSupport() ProbeSupport
- func (t SchedulerDockerLocalPropertyTask) PropertyTable() PropertyTable
- func (t SchedulerDockerLocalPropertyTask) Validate() error
- type SchedulerDockerLocalPropertyTaskExample
- type SchedulerK3sAnnotationsTask
- func (t SchedulerK3sAnnotationsTask) Doc() string
- func (t SchedulerK3sAnnotationsTask) Examples() ([]Doc, error)
- func (t SchedulerK3sAnnotationsTask) Execute() TaskOutputState
- func (t SchedulerK3sAnnotationsTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerK3sAnnotationsTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sAnnotationsTask) ExportSupport() ExportSupport
- func (t SchedulerK3sAnnotationsTask) Plan() PlanResult
- func (t SchedulerK3sAnnotationsTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sAnnotationsTask) Validate() error
- type SchedulerK3sAnnotationsTaskExample
- type SchedulerK3sAutoscalingAuthTask
- func (t SchedulerK3sAutoscalingAuthTask) Doc() string
- func (t SchedulerK3sAutoscalingAuthTask) Examples() ([]Doc, error)
- func (t SchedulerK3sAutoscalingAuthTask) Execute() TaskOutputState
- func (t SchedulerK3sAutoscalingAuthTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerK3sAutoscalingAuthTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sAutoscalingAuthTask) ExportSupport() ExportSupport
- func (t SchedulerK3sAutoscalingAuthTask) Plan() PlanResult
- func (t SchedulerK3sAutoscalingAuthTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sAutoscalingAuthTask) SensitiveValues() []string
- func (t SchedulerK3sAutoscalingAuthTask) Validate() error
- type SchedulerK3sAutoscalingAuthTaskExample
- type SchedulerK3sChartTask
- func (t SchedulerK3sChartTask) Doc() string
- func (t SchedulerK3sChartTask) Examples() ([]Doc, error)
- func (t SchedulerK3sChartTask) Execute() TaskOutputState
- func (t SchedulerK3sChartTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sChartTask) ExportSupport() ExportSupport
- func (t SchedulerK3sChartTask) Plan() PlanResult
- func (t SchedulerK3sChartTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sChartTask) Validate() error
- type SchedulerK3sChartTaskExample
- type SchedulerK3sLabelsTask
- func (t SchedulerK3sLabelsTask) Doc() string
- func (t SchedulerK3sLabelsTask) Examples() ([]Doc, error)
- func (t SchedulerK3sLabelsTask) Execute() TaskOutputState
- func (t SchedulerK3sLabelsTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerK3sLabelsTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sLabelsTask) ExportSupport() ExportSupport
- func (t SchedulerK3sLabelsTask) Plan() PlanResult
- func (t SchedulerK3sLabelsTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sLabelsTask) Validate() error
- type SchedulerK3sLabelsTaskExample
- type SchedulerK3sProfileTask
- func (t SchedulerK3sProfileTask) Doc() string
- func (t SchedulerK3sProfileTask) Examples() ([]Doc, error)
- func (t SchedulerK3sProfileTask) Execute() TaskOutputState
- func (t SchedulerK3sProfileTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sProfileTask) ExportSupport() ExportSupport
- func (t SchedulerK3sProfileTask) Plan() PlanResult
- func (t SchedulerK3sProfileTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sProfileTask) Validate() error
- type SchedulerK3sProfileTaskExample
- type SchedulerK3sPropertyTask
- func (t SchedulerK3sPropertyTask) Doc() string
- func (t SchedulerK3sPropertyTask) Examples() ([]Doc, error)
- func (t SchedulerK3sPropertyTask) Execute() TaskOutputState
- func (t SchedulerK3sPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerK3sPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerK3sPropertyTask) ExportSupport() ExportSupport
- func (t SchedulerK3sPropertyTask) Plan() PlanResult
- func (t SchedulerK3sPropertyTask) ProbeSupport() ProbeSupport
- func (t SchedulerK3sPropertyTask) PropertyTable() PropertyTable
- func (t SchedulerK3sPropertyTask) Validate() error
- type SchedulerK3sPropertyTaskExample
- type SchedulerPropertyTask
- func (t SchedulerPropertyTask) Doc() string
- func (t SchedulerPropertyTask) Examples() ([]Doc, error)
- func (t SchedulerPropertyTask) Execute() TaskOutputState
- func (t SchedulerPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t SchedulerPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t SchedulerPropertyTask) ExportSupport() ExportSupport
- func (t SchedulerPropertyTask) Plan() PlanResult
- func (t SchedulerPropertyTask) ProbeSupport() ProbeSupport
- func (t SchedulerPropertyTask) PropertyTable() PropertyTable
- func (t SchedulerPropertyTask) Validate() error
- type SchedulerPropertyTaskExample
- type SensitiveOverride
- type SensitivePropertyFields
- type ServiceBackupTask
- func (t ServiceBackupTask) Doc() string
- func (t ServiceBackupTask) Examples() ([]Doc, error)
- func (t ServiceBackupTask) Execute() TaskOutputState
- func (t ServiceBackupTask) ExportGlobal() ([]interface{}, error)
- func (t ServiceBackupTask) ExportSupport() ExportSupport
- func (t ServiceBackupTask) Plan() PlanResult
- func (t ServiceBackupTask) ProbeSupport() ProbeSupport
- func (t ServiceBackupTask) Requirements() []string
- func (t ServiceBackupTask) Validate() error
- type ServiceBackupTaskExample
- type ServiceCreateTask
- func (t ServiceCreateTask) Doc() string
- func (t ServiceCreateTask) Examples() ([]Doc, error)
- func (t ServiceCreateTask) Execute() TaskOutputState
- func (t ServiceCreateTask) ExportGlobal() ([]interface{}, error)
- func (t ServiceCreateTask) ExportSupport() ExportSupport
- func (t ServiceCreateTask) Plan() PlanResult
- func (t ServiceCreateTask) ProbeSupport() ProbeSupport
- func (t ServiceCreateTask) Requirements() []string
- func (t ServiceCreateTask) Validate() error
- type ServiceCreateTaskExample
- type ServiceExposeTask
- func (t ServiceExposeTask) Doc() string
- func (t ServiceExposeTask) Examples() ([]Doc, error)
- func (t ServiceExposeTask) Execute() TaskOutputState
- func (t ServiceExposeTask) ExportGlobal() ([]interface{}, error)
- func (t ServiceExposeTask) ExportSupport() ExportSupport
- func (t ServiceExposeTask) Plan() PlanResult
- func (t ServiceExposeTask) ProbeSupport() ProbeSupport
- func (t ServiceExposeTask) Requirements() []string
- func (t ServiceExposeTask) Validate() error
- type ServiceExposeTaskExample
- type ServiceLinkTask
- func (t ServiceLinkTask) Doc() string
- func (t ServiceLinkTask) Examples() ([]Doc, error)
- func (t ServiceLinkTask) Execute() TaskOutputState
- func (t ServiceLinkTask) ExportApp(app string) ([]interface{}, error)
- func (t ServiceLinkTask) ExportSupport() ExportSupport
- func (t ServiceLinkTask) Plan() PlanResult
- func (t ServiceLinkTask) ProbeSupport() ProbeSupport
- func (t ServiceLinkTask) Requirements() []string
- type ServiceLinkTaskExample
- type ServicePropertyTask
- func (t ServicePropertyTask) Doc() string
- func (t ServicePropertyTask) Examples() ([]Doc, error)
- func (t ServicePropertyTask) Execute() TaskOutputState
- func (t ServicePropertyTask) ExportSupport() ExportSupport
- func (t ServicePropertyTask) Plan() PlanResult
- func (t ServicePropertyTask) ProbeSupport() ProbeSupport
- func (t ServicePropertyTask) Requirements() []string
- func (t ServicePropertyTask) Validate() error
- type ServicePropertyTaskExample
- type SshKeyTask
- func (t SshKeyTask) Doc() string
- func (t SshKeyTask) Examples() ([]Doc, error)
- func (t SshKeyTask) Execute() TaskOutputState
- func (t SshKeyTask) ExportGlobal() ([]interface{}, error)
- func (t SshKeyTask) ExportSupport() ExportSupport
- func (t SshKeyTask) Plan() PlanResult
- func (t SshKeyTask) ProbeSupport() ProbeSupport
- func (t SshKeyTask) Validate() error
- type SshKeyTaskExample
- type State
- type StorageEnsureTask
- func (t StorageEnsureTask) Deprecation() string
- func (t StorageEnsureTask) Doc() string
- func (t StorageEnsureTask) Examples() ([]Doc, error)
- func (t StorageEnsureTask) Execute() TaskOutputState
- func (t StorageEnsureTask) ExportSupport() ExportSupport
- func (t StorageEnsureTask) Plan() PlanResult
- func (t StorageEnsureTask) ProbeSupport() ProbeSupport
- func (t StorageEnsureTask) Validate() error
- type StorageEnsureTaskExample
- type StorageEntryTask
- func (t StorageEntryTask) Doc() string
- func (t StorageEntryTask) Examples() ([]Doc, error)
- func (t StorageEntryTask) Execute() TaskOutputState
- func (t StorageEntryTask) ExportGlobal() ([]interface{}, error)
- func (t StorageEntryTask) ExportSupport() ExportSupport
- func (t StorageEntryTask) Plan() PlanResult
- func (t StorageEntryTask) ProbeSupport() ProbeSupport
- func (t StorageEntryTask) Validate() error
- type StorageEntryTaskExample
- type StorageMountTask
- func (t StorageMountTask) Doc() string
- func (t StorageMountTask) Examples() ([]Doc, error)
- func (t StorageMountTask) Execute() TaskOutputState
- func (t StorageMountTask) ExportApp(app string) ([]interface{}, error)
- func (t StorageMountTask) ExportSupport() ExportSupport
- func (t StorageMountTask) Plan() PlanResult
- func (t StorageMountTask) ProbeSupport() ProbeSupport
- func (t StorageMountTask) Validate() error
- type StorageMountTaskExample
- type Task
- type TaskCatalog
- type TaskEnvelope
- func (e *TaskEnvelope) ChangedWhenProgram() *vm.Program
- func (e *TaskEnvelope) FailedWhenProgram() *vm.Program
- func (e *TaskEnvelope) HasChangedWhen() bool
- func (e *TaskEnvelope) HasFailedWhen() bool
- func (e *TaskEnvelope) HasTag(tag string) bool
- func (e *TaskEnvelope) HasWhen() bool
- func (e *TaskEnvelope) IntersectsTags(tags []string) bool
- func (e *TaskEnvelope) IsGroup() bool
- func (e *TaskEnvelope) WhenProgram() *vm.Program
- type TaskExample
- type TaskOutputState
- type TaskSchema
- type ToggleContext
- type ToggleFields
- type ToggleProbe
- type TraefikPropertyTask
- func (t TraefikPropertyTask) Doc() string
- func (t TraefikPropertyTask) Examples() ([]Doc, error)
- func (t TraefikPropertyTask) Execute() TaskOutputState
- func (t TraefikPropertyTask) ExportApp(app string) ([]interface{}, error)
- func (t TraefikPropertyTask) ExportGlobal() ([]interface{}, error)
- func (t TraefikPropertyTask) ExportSupport() ExportSupport
- func (t TraefikPropertyTask) Plan() PlanResult
- func (t TraefikPropertyTask) ProbeSupport() ProbeSupport
- func (t TraefikPropertyTask) PropertyTable() PropertyTable
- func (t TraefikPropertyTask) Validate() error
- type TraefikPropertyTaskExample
- type ValidateOptions
Constants ¶
const ( // TypeString covers Go strings and named string types such as State. TypeString = "string" // TypeBool covers bool and *bool. TypeBool = "bool" // TypeInt covers every sized integer kind. TypeInt = "int" // TypeFloat covers float32 and float64. No task field uses one today. TypeFloat = "float" // TypeList is a slice or array field. TypeList = "list" // TypeDict is a map field. TypeDict = "dict" // TypeObject is a struct element inside a list, such as a PortMapping. It // never appears as a field's own type - a task has no bare struct field. TypeObject = "object" // TypeAny is an element with no declared type, as in map[string]any. TypeAny = "any" // TypeUnknown is the fallback for a Go kind none of the above covers. // TestCatalogFieldTypesAreKnown fails on it, so adding an exotic field type // to a task is a build failure rather than a leaked Go type name in the // published JSON. TypeUnknown = "unknown" )
Field and item type names. These are the doc-facing type vocabulary, shared with the Parameters table the generator renders, and they are what the published JSON Schema enumerates.
const ( // IdentityRoleKey marks a field that decides which resource the task // manages. Declaration order is key order. IdentityRoleKey = "key" // IdentityRoleCollection marks a collection the task manages wholesale. IdentityRoleCollection = "collection" )
Identity roles a field can carry, from its `identity:` struct tag.
const ( // PropertyScopeApp means the property has a per-app form, set by naming an // app. PropertyScopeApp = "app" // PropertyScopeGlobal means the property has a global form, set with // `global: true`. PropertyScopeGlobal = "global" )
Scopes a property can be set in.
const ( FormatYAML = "yaml" FormatNameJSON5 = "json5" )
Task file format identifiers shared with the commands package.
The empty string and any unrecognised value are treated as YAML so existing call sites that pass no format keep their pre-#218 behaviour.
const ( // WarnReasonUnknownProperty marks a probe warning raised when a property's // key is absent from the plugin's JSON report (a stale key map or a dokku // version that does not emit it). WarnReasonUnknownProperty = "unknown_property" // WarnReasonProbeRejected marks a probe warning raised when an older plugin // rejects `:report --format json` outright. WarnReasonProbeRejected = "probe_rejected" )
const CatalogVersion = 1
CatalogVersion is the wire-format version every emitted catalog carries in its `version` field.
It is deliberately independent of the --json event stream's version (commands.jsonSchemaVersion): the two are different formats with different consumers, and a breaking change to one must not force the other's consumers to re-branch. Bumps are reserved for breaking changes; adding a key within a major version does not bump.
const PropertyFieldName = "property"
PropertyFieldName is the recipe key every property table constrains.
Variables ¶
var RegisteredTasks map[string]Task
Global registry for Tasks.
var ReservedInputNames = map[string]bool{ "tasks": true, "tasks-format": true, "host": true, "verbose": true, "json": true, "no-color": true, "tags": true, "skip-tags": true, "sudo": true, "play": true, "vars-file": true, "fail-fast": true, "list-tasks": true, "start-at-task": true, "accept-new-host-keys": true, "detailed-exitcode": true, "strict": true, }
ReservedInputNames is the set of recipe input names that collide with a built-in CLI flag on apply, plan, or validate. Declaring an input with one of these names used to make pflag panic with "flag redefined" before flag parsing even began; the loader and validator now reject it as reserved_input_name instead, and registerInputFlags skips it so no command panics. The set is the union of the built-in flags across the input-accepting commands, so validate flags the same names apply and plan would collide with. help / v / version are intentionally absent - they are handled by the CLI framework, not registered on the flag set, so they work as input names. A commands-package test keeps this set in sync with the real flag sets.
Functions ¶
func BuildPerPlayContext ¶
func BuildPerPlayContext(base map[string]interface{}, playInputs []Input, userSet map[string]bool) map[string]interface{}
BuildPerPlayContext layers the play's `inputs:` defaults above the file-level base context, but only for keys the user has not explicitly overridden via --vars-file or CLI flags. The userSet map carries the names of user-overridden inputs; nil disables the layering, which is the GetTasks back-compat behaviour. Per-play defaults with an empty Default string are skipped so they cannot accidentally shadow a real file-level value with "".
Exported because the apply / plan executors need to build the same per-play context the loader used so per-task `when:` predicates see the same values as the rendered task bodies.
func CollectEnvelopeNames ¶
func CollectEnvelopeNames(envs []*TaskEnvelope) []string
CollectEnvelopeNames returns every leaf and group envelope name reachable from envs, walking block / rescue / always recursively. Names appear in source order and are de-duplicated. Used by the --start-at-task validators (apply.go and tasks/validate.go) to build the "available names" hint shown when no task matched.
func CollectPlaySensitiveValues ¶
CollectPlaySensitiveValues is the multi-play sibling of CollectSensitiveValues. It walks every task across every play and returns the union of sensitive values, in play-then-task order.
func CollectSensitiveValues ¶
func CollectSensitiveValues(tasks OrderedStringEnvelopeMap) []string
CollectSensitiveValues walks every task in tasks and returns the union of values that must be masked in user-facing output. A value is included when either:
- it lives in a struct field carrying the `sensitive:"true"` struct tag, or
- the task implements SensitiveOverride and the method returns it.
String, []string, and map[string]string fields are supported. Nested structs and pointers are walked recursively. block/rescue/always group envelopes carry no task of their own, so their child envelopes are walked recursively to any depth. Empty values are dropped by the subprocess masker, not here.
func CompilePredicate ¶
CompilePredicate compiles src as an expr-lang/expr program suitable for envelope predicates (when:, changed_when:, failed_when:, scalar-form loop:). Returns the cached compiled program when src has already been compiled. Empty src returns (nil, nil); callers should treat nil as "no predicate".
The compiler is configured with AllowUndefinedVariables so a predicate referencing a context key that the apply / plan path has not populated yet (e.g. .registered.foo before #210 lands) does not error at compile time - it evaluates to nil at runtime.
func DoubleQuoteEscape ¶
DoubleQuoteEscape escapes v for interpolation inside a double-quoted YAML (or JSON5) scalar, returning the escaped body WITHOUT the surrounding quotes so the caller keeps its own. JSON string escaping is a subset of YAML's double-quoted escaping, so json.Marshal produces a body that both parsers accept; HTML escaping is disabled so `<`, `>`, and `&` stay readable.
func EnvelopeContainsName ¶
func EnvelopeContainsName(env *TaskEnvelope, target string) bool
EnvelopeContainsName reports whether env or any of its block / rescue / always descendants has Name == target. Used by --start-at-task gating so the executor enters a group whose child matches the target rather than skipping the entire group.
func EnvelopePassesTags ¶
func EnvelopePassesTags(env *TaskEnvelope, includes, skips []string) bool
EnvelopePassesTags reports whether env survives the include (--tags) and skip (--skip-tags) filters, using the same rules FilterByTags applies per key:
- No flags supplied: always kept.
- --tags supplied: kept iff env's tag set intersects includes; untagged envelopes are excluded.
- --skip-tags supplied: dropped iff env's tag set intersects skips; untagged envelopes are kept.
- Both: --tags narrows first, then --skip-tags drops.
func EvalBool ¶
EvalBool runs prog against env and reports the truthiness of the result. Non-bool results are coerced via the standard expr truth rules (nil, 0, "", and empty collections are false; everything else is true). Returns an error when the program errors at run time.
func EvalList ¶
EvalList runs prog against env and asserts that the result is a list. Returns an error when the program errors or returns a non-list value.
func FileLevelInputNames ¶
FileLevelInputNames returns the set of input names declared on "inputs-only" plays (plays with no tasks). Inputs on plays with tasks are play-local: their defaults are visible to that play's tasks but not to any play's `when:` and not to other plays' tasks.
Used by the apply / plan executors to build the file-level context the spec requires for per-play `when:` evaluation: file-level input defaults plus user overrides only, without play-local defaults leaking in.
func FilterByTags ¶
func FilterByTags(m OrderedStringEnvelopeMap, includes, skips []string) []string
FilterByTags returns the subset of m's keys that satisfy the include (--tags) and skip (--skip-tags) filters. Rules:
- No flags supplied: every key.
- --tags only: keep iff tag set intersects includes; untagged tasks are excluded.
- --skip-tags only: drop iff tag set intersects skips; untagged tasks are kept.
- Both: --tags narrows first, then --skip-tags drops from the result.
The order of the returned keys mirrors m.Keys() (insertion order).
func Format ¶
Format returns the canonical form of data. err is non-nil only on a yaml.v3 parse error or when the round-trip equivalence guard fails.
The formatter:
- Uses yaml.v3's Node API so head/line/foot comments survive.
- Indents with 2 spaces.
- Reorders task envelope keys per canonicalEnvelopeKeys (task-type key last) and play keys per canonicalPlayKeys.
- Inserts a blank line between top-level plays and between top-level task entries inside a play's tasks: list.
- Strips trailing whitespace and forces LF line endings.
- Re-parses the canonical output and aborts unless the original and canonical AST trees are structurally equivalent (defends against yaml.v3 emitter edge cases with anchors / complex flow scalars).
func FormatJSON5 ¶
FormatJSON5 returns the canonical JSON5 form of data. err is non-nil only on a parse error or when the round-trip equivalence guard fails.
The formatter mirrors the YAML Format() contract, adapted to JSON5:
- 2-space indentation.
- Reorders play and task envelope keys per canonicalPlayKeys / canonicalEnvelopeKeys (task-type key last). Members not in the canonical list keep their relative order, appended afterwards.
- Inserts a blank line between top-level plays and between top- level task entries inside a play's tasks list, matching the YAML formatter so a JSON5 recipe and its YAML twin look the same.
- Always emits trailing commas on multiline objects and arrays to match JSON5 community convention.
- Quotes string values with double quotes; quotes object keys only when they are not valid JSON5 identifiers.
- Preserves line and block comments in their original anchor position (before a member, beside it on the same line, or after the last member of a container).
- Re-parses the canonical output and aborts unless the original and canonical AST trees are structurally equivalent. Catches emitter edge cases before the caller writes anything to disk.
func IdentityAddress ¶
IdentityAddress renders the resource t addresses as `dokku_config[app=api]`. Keys appear in declaration order; keys holding their zero value are omitted, so a task with no key value at all renders as the bare type key.
The result is a parseable surface, not just a label: it is the auto-generated task name in the `--json` event stream, the argument `--start-at-task` accepts, and the argument `export --resource` accepts. Values are therefore never truncated - a lossy address could not be resolved back.
func IdentityKeyNames ¶
IdentityKeyNames returns the yaml names of t's declared keys, in declaration order. Used by the docs generator, which reads a registry prototype and so has no values to render.
func IdentityMatches ¶
IdentityMatches reports whether every key in want matches t's value for that key. A key naming a field t does not declare never matches. Used by `export --resource` to narrow the bodies an exporter returned.
func IsJSON5Format ¶
IsJSON5Format returns true when format is one of the JSON5 aliases. Centralised so the json/json5 split lives in exactly one place.
func JSONScalar ¶
JSONScalar renders s as a JSON string literal (also valid JSON5), used by the JSON5 init scaffold so an embedded quote or backslash is escaped.
func ParseIdentityAddress ¶
ParseIdentityAddress parses `dokku_config[app=api]` into its type key and key map. A bare type key parses to an empty map, which `export --resource` reads as "every resource of this type".
The parse is strict: it rejects an auto-generated task name carrying a collision ordinal (`dokku_config[app=api] #2`), because that names a task, not a resource, and two tasks can address one resource.
func PredicateIdentifiers ¶
PredicateIdentifiers returns the set of root identifiers src references. Only the root of a lookup chain counts: `registered.first` yields `registered`, because expr parses the `.first` half as a string property rather than an identifier. A quoted "registered" is a string literal and is likewise absent.
Callers use this to tell whether a predicate depends on a value that only exists while a recipe runs, which a substring match over the raw source cannot do without also matching an input named `registered_at` or a field access `x.failed_task`.
Returns an error when src does not parse. A predicate reaching a caller has already been through CompilePredicate, so in practice this only fires for sources that never came from a loaded recipe.
func RegisteredTaskNames ¶
func RegisteredTaskNames() []string
RegisteredTaskNames returns every registered task type, sorted. The result is a fresh slice, so a caller may sort, filter or truncate it without disturbing the registry.
func TaskDeprecation ¶
TaskDeprecation returns the deprecation notice for t, or "" when t does not implement DeprecationDocer. Centralised so docs generation, the list-tasks renderer, and the apply/plan executors share one read site.
func YAMLScalar ¶
YAMLScalar renders s as a complete YAML scalar, quoting and escaping only when necessary so ordinary values stay unquoted. Used by commands/init.go to emit an input's `default:` in the scaffold; it is not a recipe-render filter because its output carries its own quoting and so cannot sit inside an existing quoted scalar.
Types ¶
type AclAppTask ¶
type AclAppTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Users is the list of users to add or remove from the ACL
Users []string `required:"false" identity:"collection" yaml:"users" description:"List of users to add or remove from the ACL"`
// State is the desired state of the ACL entries
State State `` /* 129-byte string literal not displayed */
}
AclAppTask manages the dokku-acl access list for a dokku application
func (AclAppTask) Doc ¶
func (t AclAppTask) Doc() string
Doc returns the docblock for the acl app task
func (AclAppTask) Examples ¶
func (t AclAppTask) Examples() ([]Doc, error)
Examples returns the examples for the acl app task
func (AclAppTask) Execute ¶
func (t AclAppTask) Execute() TaskOutputState
Execute manages the app ACL
func (AclAppTask) ExportApp ¶
func (t AclAppTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's ACL user list, or nil when it is empty.
func (AclAppTask) ExportSupport ¶
func (t AclAppTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AclAppTask) Plan ¶
func (t AclAppTask) Plan() PlanResult
Plan reports the drift the AclAppTask would produce.
func (AclAppTask) ProbeSupport ¶
func (t AclAppTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (AclAppTask) Requirements ¶
func (t AclAppTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (AclAppTask) Validate ¶
func (t AclAppTask) Validate() error
Validate checks the AclAppTask's inputs without contacting the server, so `docket validate` and Plan() surface the same errors.
type AclAppTaskExample ¶
type AclAppTaskExample struct {
// Name is the task name holding the AclAppTask description
Name string `yaml:"-"`
// AclAppTask is the AclAppTask configuration
AclAppTask AclAppTask `yaml:"dokku_acl_app"`
}
AclAppTaskExample contains an example of an AclAppTask
func (AclAppTaskExample) GetName ¶
func (e AclAppTaskExample) GetName() string
GetName returns the name of the example
type AclServiceTask ¶
type AclServiceTask struct {
// Service is the name of the service instance
Service string `required:"true" identity:"key" yaml:"service" description:"Name of the service instance"`
// Type is the type of service (e.g. redis, postgres)
Type string `required:"true" identity:"key" yaml:"type" description:"Type of service (e.g. redis, postgres)"`
// Users is the list of users to add or remove from the ACL
Users []string `required:"false" identity:"collection" yaml:"users" description:"List of users to add or remove from the ACL"`
// State is the desired state of the ACL entries
State State `` /* 129-byte string literal not displayed */
}
AclServiceTask manages the dokku-acl access list for a dokku service
func (AclServiceTask) Doc ¶
func (t AclServiceTask) Doc() string
Doc returns the docblock for the acl service task
func (AclServiceTask) Examples ¶
func (t AclServiceTask) Examples() ([]Doc, error)
Examples returns the examples for the acl service task
func (AclServiceTask) Execute ¶
func (t AclServiceTask) Execute() TaskOutputState
Execute manages the service ACL
func (AclServiceTask) ExportGlobal ¶
func (t AclServiceTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the dokku-acl access list of every datastore service on the server. Discovery is via listServices; the members are read from `acl:list-service <type> <name>` (reusing getAclServiceUsers). Note the field inversion versus the other service tasks: Service holds the instance name and Type the datastore type. Services with no ACL entries - and every service when the dokku-acl plugin is absent - are skipped.
func (AclServiceTask) ExportSupport ¶
func (t AclServiceTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AclServiceTask) Plan ¶
func (t AclServiceTask) Plan() PlanResult
Plan reports the drift the AclServiceTask would produce.
func (AclServiceTask) ProbeSupport ¶
func (t AclServiceTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (AclServiceTask) Requirements ¶
func (t AclServiceTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (AclServiceTask) Validate ¶
func (t AclServiceTask) Validate() error
Validate checks the AclServiceTask's inputs without contacting the server.
type AclServiceTaskExample ¶
type AclServiceTaskExample struct {
// Name is the task name holding the AclServiceTask description
Name string `yaml:"-"`
// AclServiceTask is the AclServiceTask configuration
AclServiceTask AclServiceTask `yaml:"dokku_acl_service"`
}
AclServiceTaskExample contains an example of an AclServiceTask
func (AclServiceTaskExample) GetName ¶
func (e AclServiceTaskExample) GetName() string
GetName returns the name of the example
type AppCloneTask ¶
type AppCloneTask struct {
// App is the name of the new (target) app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the new (target) app"`
// SourceApp is the name of the existing app to clone from
SourceApp string `required:"true" yaml:"source_app" description:"Name of the existing app to clone from"`
// SkipDeploy skips deployment of the cloned app
SkipDeploy bool `required:"false" yaml:"skip_deploy,omitempty" description:"Skip deployment of the cloned app"`
// State is the desired state of the cloned app
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present" description:"Desired state of the cloned app"`
}
AppCloneTask clones an existing dokku app to a new app
func (AppCloneTask) Doc ¶
func (t AppCloneTask) Doc() string
Doc returns the docblock for the app clone task
func (AppCloneTask) Examples ¶
func (t AppCloneTask) Examples() ([]Doc, error)
Examples returns the examples for the app clone task
func (AppCloneTask) Execute ¶
func (t AppCloneTask) Execute() TaskOutputState
Execute clones an existing dokku app to a new app
func (AppCloneTask) ExportSupport ¶
func (t AppCloneTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AppCloneTask) Plan ¶
func (t AppCloneTask) Plan() PlanResult
Plan reports the drift the AppCloneTask would produce.
func (AppCloneTask) ProbeSupport ¶
func (t AppCloneTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (AppCloneTask) Validate ¶
func (t AppCloneTask) Validate() error
Validate checks the AppCloneTask's inputs without contacting the server.
type AppCloneTaskExample ¶
type AppCloneTaskExample struct {
// Name is the task name holding the AppCloneTask description
Name string `yaml:"-"`
// AppCloneTask is the AppCloneTask configuration
AppCloneTask AppCloneTask `yaml:"dokku_app_clone"`
}
AppCloneTaskExample contains an example of an AppCloneTask
func (AppCloneTaskExample) GetName ¶
func (e AppCloneTaskExample) GetName() string
GetName returns the name of the example
type AppDeploySource ¶
type AppDeploySource struct {
Source string `json:"app-deploy-source"`
SourceMetadata string `json:"app-deploy-source-metadata"`
}
AppDeploySource contains deploy source information from apps:report
type AppExporter ¶
AppExporter is implemented by a task type that can reconstruct its recipe representation for a single app from live server state. ExportApp returns zero or more task bodies (each the task's own struct, populated with real values); the engine wraps each under the task's type-key and applies vars-extraction/redaction uniformly afterwards.
type AppJsonPropertyTask ¶
type AppJsonPropertyTask PropertyFields
AppJsonPropertyTask manages the app.json configuration for a given dokku application
func (AppJsonPropertyTask) Doc ¶
func (t AppJsonPropertyTask) Doc() string
Doc returns the docblock for the app.json property task
func (AppJsonPropertyTask) Examples ¶
func (t AppJsonPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the app.json property task
func (AppJsonPropertyTask) Execute ¶
func (t AppJsonPropertyTask) Execute() TaskOutputState
Execute sets or unsets the app.json property
func (AppJsonPropertyTask) ExportApp ¶
func (t AppJsonPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (AppJsonPropertyTask) ExportGlobal ¶
func (t AppJsonPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (AppJsonPropertyTask) ExportSupport ¶
func (t AppJsonPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AppJsonPropertyTask) Plan ¶
func (t AppJsonPropertyTask) Plan() PlanResult
Plan reports the drift the AppJsonPropertyTask would produce.
func (AppJsonPropertyTask) ProbeSupport ¶
func (t AppJsonPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (AppJsonPropertyTask) PropertyTable ¶
func (t AppJsonPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (AppJsonPropertyTask) Validate ¶
func (t AppJsonPropertyTask) Validate() error
Validate checks the AppJsonPropertyTask's inputs without contacting the server.
type AppJsonPropertyTaskExample ¶
type AppJsonPropertyTaskExample struct {
// Name is the task name holding the AppJsonPropertyTask description
Name string `yaml:"-"`
// AppJsonPropertyTask is the AppJsonPropertyTask configuration
AppJsonPropertyTask AppJsonPropertyTask `yaml:"dokku_app_json_property"`
}
AppJsonPropertyTaskExample contains an example of an AppJsonPropertyTask
func (AppJsonPropertyTaskExample) GetName ¶
func (e AppJsonPropertyTaskExample) GetName() string
GetName returns the name of the example
type AppLockTask ¶
type AppLockTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// State is the desired lock state
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired lock state"`
}
AppLockTask locks or unlocks a dokku application from deployment
func (AppLockTask) Doc ¶
func (t AppLockTask) Doc() string
Doc returns the docblock for the app lock task
func (AppLockTask) Examples ¶
func (t AppLockTask) Examples() ([]Doc, error)
Examples returns the examples for the app lock task
func (AppLockTask) Execute ¶
func (t AppLockTask) Execute() TaskOutputState
Execute locks or unlocks the app
func (AppLockTask) ExportApp ¶
func (t AppLockTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_app_lock task only when the app is locked (apps are unlocked by default).
func (AppLockTask) ExportSupport ¶
func (t AppLockTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AppLockTask) Plan ¶
func (t AppLockTask) Plan() PlanResult
Plan reports the drift the AppLockTask would produce.
func (AppLockTask) ProbeSupport ¶
func (t AppLockTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type AppLockTaskExample ¶
type AppLockTaskExample struct {
// Name is the task name holding the AppLockTask description
Name string `yaml:"-"`
// AppLockTask is the AppLockTask configuration
AppLockTask AppLockTask `yaml:"dokku_app_lock"`
}
AppLockTaskExample contains an example of an AppLockTask
func (AppLockTaskExample) GetName ¶
func (e AppLockTaskExample) GetName() string
GetName returns the name of the example
type AppTask ¶
type AppTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// State is the state of the app
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"State of the app"`
}
AppTask creates or destroys an app
func (AppTask) Execute ¶
func (t AppTask) Execute() TaskOutputState
Execute creates or destroys an app
func (AppTask) ExportApp ¶
ExportApp reconstructs the app itself. Enumeration already confirmed the app exists, so this simply declares it present (its default state).
func (AppTask) ExportSupport ¶
func (t AppTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AppTask) Plan ¶
func (t AppTask) Plan() PlanResult
Plan reports the drift the AppTask would produce.
func (AppTask) ProbeSupport ¶
func (t AppTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type AppTaskExample ¶
type AppTaskExample struct {
// Name is the task name holding the AppTask description
Name string `yaml:"-"`
// DokkuApp is the AppTask configuration
DokkuApp AppTask `yaml:"dokku_app"`
}
AppTaskExample contains an example of an AppTask
func (AppTaskExample) GetName ¶
func (e AppTaskExample) GetName() string
GetName returns the name of the example
type AppsPropertyTask ¶
type AppsPropertyTask PropertyFields
AppsPropertyTask manages the apps plugin configuration for a given dokku application or globally
func (AppsPropertyTask) Doc ¶
func (t AppsPropertyTask) Doc() string
Doc returns the docblock for the apps property task
func (AppsPropertyTask) Examples ¶
func (t AppsPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the apps property task
func (AppsPropertyTask) Execute ¶
func (t AppsPropertyTask) Execute() TaskOutputState
Execute sets or unsets the apps property
func (AppsPropertyTask) ExportApp ¶
func (t AppsPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (AppsPropertyTask) ExportGlobal ¶
func (t AppsPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (AppsPropertyTask) ExportSupport ¶
func (t AppsPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (AppsPropertyTask) Plan ¶
func (t AppsPropertyTask) Plan() PlanResult
Plan reports the drift the AppsPropertyTask would produce.
func (AppsPropertyTask) ProbeSupport ¶
func (t AppsPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (AppsPropertyTask) PropertyTable ¶
func (t AppsPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (AppsPropertyTask) Validate ¶
func (t AppsPropertyTask) Validate() error
Validate checks the AppsPropertyTask's inputs without contacting the server.
type AppsPropertyTaskExample ¶
type AppsPropertyTaskExample struct {
// Name is the task name holding the AppsPropertyTask description
Name string `yaml:"-"`
// AppsPropertyTask is the AppsPropertyTask configuration
AppsPropertyTask AppsPropertyTask `yaml:"dokku_apps_property"`
}
AppsPropertyTaskExample contains an example of an AppsPropertyTask
func (AppsPropertyTaskExample) GetName ¶
func (e AppsPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderDockerfilePropertyTask ¶
type BuilderDockerfilePropertyTask PropertyFields
BuilderDockerfilePropertyTask manages the builder-dockerfile configuration for a given dokku application
func (BuilderDockerfilePropertyTask) Doc ¶
func (t BuilderDockerfilePropertyTask) Doc() string
Doc returns the docblock for the builder-dockerfile property task
func (BuilderDockerfilePropertyTask) Examples ¶
func (t BuilderDockerfilePropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-dockerfile property task
func (BuilderDockerfilePropertyTask) Execute ¶
func (t BuilderDockerfilePropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-dockerfile property
func (BuilderDockerfilePropertyTask) ExportApp ¶
func (t BuilderDockerfilePropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderDockerfilePropertyTask) ExportGlobal ¶
func (t BuilderDockerfilePropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderDockerfilePropertyTask) ExportSupport ¶
func (t BuilderDockerfilePropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderDockerfilePropertyTask) Plan ¶
func (t BuilderDockerfilePropertyTask) Plan() PlanResult
Plan reports the drift the BuilderDockerfilePropertyTask would produce.
func (BuilderDockerfilePropertyTask) ProbeSupport ¶
func (t BuilderDockerfilePropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderDockerfilePropertyTask) PropertyTable ¶
func (t BuilderDockerfilePropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderDockerfilePropertyTask) Validate ¶
func (t BuilderDockerfilePropertyTask) Validate() error
Validate checks the BuilderDockerfilePropertyTask's inputs without contacting the server.
type BuilderDockerfilePropertyTaskExample ¶
type BuilderDockerfilePropertyTaskExample struct {
// Name is the task name holding the BuilderDockerfilePropertyTask description
Name string `yaml:"-"`
// BuilderDockerfilePropertyTask is the BuilderDockerfilePropertyTask configuration
BuilderDockerfilePropertyTask BuilderDockerfilePropertyTask `yaml:"dokku_builder_dockerfile_property"`
}
BuilderDockerfilePropertyTaskExample contains an example of a BuilderDockerfilePropertyTask
func (BuilderDockerfilePropertyTaskExample) GetName ¶
func (e BuilderDockerfilePropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderHerokuishPropertyTask ¶
type BuilderHerokuishPropertyTask PropertyFields
BuilderHerokuishPropertyTask manages the builder-herokuish configuration for a given dokku application
func (BuilderHerokuishPropertyTask) Doc ¶
func (t BuilderHerokuishPropertyTask) Doc() string
Doc returns the docblock for the builder-herokuish property task
func (BuilderHerokuishPropertyTask) Examples ¶
func (t BuilderHerokuishPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-herokuish property task
func (BuilderHerokuishPropertyTask) Execute ¶
func (t BuilderHerokuishPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-herokuish property
func (BuilderHerokuishPropertyTask) ExportApp ¶
func (t BuilderHerokuishPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderHerokuishPropertyTask) ExportGlobal ¶
func (t BuilderHerokuishPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderHerokuishPropertyTask) ExportSupport ¶
func (t BuilderHerokuishPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderHerokuishPropertyTask) Plan ¶
func (t BuilderHerokuishPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderHerokuishPropertyTask would produce.
func (BuilderHerokuishPropertyTask) ProbeSupport ¶
func (t BuilderHerokuishPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderHerokuishPropertyTask) PropertyTable ¶
func (t BuilderHerokuishPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderHerokuishPropertyTask) Validate ¶
func (t BuilderHerokuishPropertyTask) Validate() error
Validate checks the BuilderHerokuishPropertyTask's inputs without contacting the server.
type BuilderHerokuishPropertyTaskExample ¶
type BuilderHerokuishPropertyTaskExample struct {
// Name is the task name holding the BuilderHerokuishPropertyTask description
Name string `yaml:"-"`
// BuilderHerokuishPropertyTask is the BuilderHerokuishPropertyTask configuration
BuilderHerokuishPropertyTask BuilderHerokuishPropertyTask `yaml:"dokku_builder_herokuish_property"`
}
BuilderHerokuishPropertyTaskExample contains an example of a BuilderHerokuishPropertyTask
func (BuilderHerokuishPropertyTaskExample) GetName ¶
func (e BuilderHerokuishPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderLambdaPropertyTask ¶
type BuilderLambdaPropertyTask PropertyFields
BuilderLambdaPropertyTask manages the builder-lambda configuration for a given dokku application
func (BuilderLambdaPropertyTask) Doc ¶
func (t BuilderLambdaPropertyTask) Doc() string
Doc returns the docblock for the builder-lambda property task
func (BuilderLambdaPropertyTask) Examples ¶
func (t BuilderLambdaPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-lambda property task
func (BuilderLambdaPropertyTask) Execute ¶
func (t BuilderLambdaPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-lambda property
func (BuilderLambdaPropertyTask) ExportApp ¶
func (t BuilderLambdaPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderLambdaPropertyTask) ExportGlobal ¶
func (t BuilderLambdaPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderLambdaPropertyTask) ExportSupport ¶
func (t BuilderLambdaPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderLambdaPropertyTask) Plan ¶
func (t BuilderLambdaPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderLambdaPropertyTask would produce.
func (BuilderLambdaPropertyTask) ProbeSupport ¶
func (t BuilderLambdaPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderLambdaPropertyTask) PropertyTable ¶
func (t BuilderLambdaPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderLambdaPropertyTask) Validate ¶
func (t BuilderLambdaPropertyTask) Validate() error
Validate checks the BuilderLambdaPropertyTask's inputs without contacting the server.
type BuilderLambdaPropertyTaskExample ¶
type BuilderLambdaPropertyTaskExample struct {
// Name is the task name holding the BuilderLambdaPropertyTask description
Name string `yaml:"-"`
// BuilderLambdaPropertyTask is the BuilderLambdaPropertyTask configuration
BuilderLambdaPropertyTask BuilderLambdaPropertyTask `yaml:"dokku_builder_lambda_property"`
}
BuilderLambdaPropertyTaskExample contains an example of a BuilderLambdaPropertyTask
func (BuilderLambdaPropertyTaskExample) GetName ¶
func (e BuilderLambdaPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderNixpacksPropertyTask ¶
type BuilderNixpacksPropertyTask PropertyFields
BuilderNixpacksPropertyTask manages the builder-nixpacks configuration for a given dokku application
func (BuilderNixpacksPropertyTask) Doc ¶
func (t BuilderNixpacksPropertyTask) Doc() string
Doc returns the docblock for the builder-nixpacks property task
func (BuilderNixpacksPropertyTask) Examples ¶
func (t BuilderNixpacksPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-nixpacks property task
func (BuilderNixpacksPropertyTask) Execute ¶
func (t BuilderNixpacksPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-nixpacks property
func (BuilderNixpacksPropertyTask) ExportApp ¶
func (t BuilderNixpacksPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderNixpacksPropertyTask) ExportGlobal ¶
func (t BuilderNixpacksPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderNixpacksPropertyTask) ExportSupport ¶
func (t BuilderNixpacksPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderNixpacksPropertyTask) Plan ¶
func (t BuilderNixpacksPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderNixpacksPropertyTask would produce.
func (BuilderNixpacksPropertyTask) ProbeSupport ¶
func (t BuilderNixpacksPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderNixpacksPropertyTask) PropertyTable ¶
func (t BuilderNixpacksPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderNixpacksPropertyTask) Validate ¶
func (t BuilderNixpacksPropertyTask) Validate() error
Validate checks the BuilderNixpacksPropertyTask's inputs without contacting the server.
type BuilderNixpacksPropertyTaskExample ¶
type BuilderNixpacksPropertyTaskExample struct {
// Name is the task name holding the BuilderNixpacksPropertyTask description
Name string `yaml:"-"`
// BuilderNixpacksPropertyTask is the BuilderNixpacksPropertyTask configuration
BuilderNixpacksPropertyTask BuilderNixpacksPropertyTask `yaml:"dokku_builder_nixpacks_property"`
}
BuilderNixpacksPropertyTaskExample contains an example of a BuilderNixpacksPropertyTask
func (BuilderNixpacksPropertyTaskExample) GetName ¶
func (e BuilderNixpacksPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderPackPropertyTask ¶
type BuilderPackPropertyTask PropertyFields
BuilderPackPropertyTask manages the builder-pack configuration for a given dokku application
func (BuilderPackPropertyTask) Doc ¶
func (t BuilderPackPropertyTask) Doc() string
Doc returns the docblock for the builder-pack property task
func (BuilderPackPropertyTask) Examples ¶
func (t BuilderPackPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-pack property task
func (BuilderPackPropertyTask) Execute ¶
func (t BuilderPackPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-pack property
func (BuilderPackPropertyTask) ExportApp ¶
func (t BuilderPackPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderPackPropertyTask) ExportGlobal ¶
func (t BuilderPackPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderPackPropertyTask) ExportSupport ¶
func (t BuilderPackPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderPackPropertyTask) Plan ¶
func (t BuilderPackPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderPackPropertyTask would produce.
func (BuilderPackPropertyTask) ProbeSupport ¶
func (t BuilderPackPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderPackPropertyTask) PropertyTable ¶
func (t BuilderPackPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderPackPropertyTask) Validate ¶
func (t BuilderPackPropertyTask) Validate() error
Validate checks the BuilderPackPropertyTask's inputs without contacting the server.
type BuilderPackPropertyTaskExample ¶
type BuilderPackPropertyTaskExample struct {
// Name is the task name holding the BuilderPackPropertyTask description
Name string `yaml:"-"`
// BuilderPackPropertyTask is the BuilderPackPropertyTask configuration
BuilderPackPropertyTask BuilderPackPropertyTask `yaml:"dokku_builder_pack_property"`
}
BuilderPackPropertyTaskExample contains an example of a BuilderPackPropertyTask
func (BuilderPackPropertyTaskExample) GetName ¶
func (e BuilderPackPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderPropertyTask ¶
type BuilderPropertyTask PropertyFields
BuilderTask manages the builder configuration for a given dokku application
func (BuilderPropertyTask) Doc ¶
func (t BuilderPropertyTask) Doc() string
Doc returns the docblock for the builder property task
func (BuilderPropertyTask) Examples ¶
func (t BuilderPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder property task
func (BuilderPropertyTask) Execute ¶
func (t BuilderPropertyTask) Execute() TaskOutputState
Execute executes the builder configuration task
func (BuilderPropertyTask) ExportApp ¶
func (t BuilderPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderPropertyTask) ExportGlobal ¶
func (t BuilderPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderPropertyTask) ExportSupport ¶
func (t BuilderPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderPropertyTask) Plan ¶
func (t BuilderPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderPropertyTask would produce.
func (BuilderPropertyTask) ProbeSupport ¶
func (t BuilderPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderPropertyTask) PropertyTable ¶
func (t BuilderPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderPropertyTask) Validate ¶
func (t BuilderPropertyTask) Validate() error
Validate checks the BuilderPropertyTask's inputs without contacting the server.
type BuilderPropertyTaskExample ¶
type BuilderPropertyTaskExample struct {
// Name is the task name holding the BuilderPropertyTask description
Name string `yaml:"-"`
// BuilderPropertyTask is the BuilderPropertyTask configuration
BuilderPropertyTask BuilderPropertyTask `yaml:"dokku_builder_property"`
}
BuilderPropertyTaskExample contains an example of a BuilderPropertyTask
func (BuilderPropertyTaskExample) GetName ¶
func (e BuilderPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuilderRailpackPropertyTask ¶
type BuilderRailpackPropertyTask PropertyFields
BuilderRailpackPropertyTask manages the builder-railpack configuration for a given dokku application
func (BuilderRailpackPropertyTask) Doc ¶
func (t BuilderRailpackPropertyTask) Doc() string
Doc returns the docblock for the builder-railpack property task
func (BuilderRailpackPropertyTask) Examples ¶
func (t BuilderRailpackPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builder-railpack property task
func (BuilderRailpackPropertyTask) Execute ¶
func (t BuilderRailpackPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builder-railpack property
func (BuilderRailpackPropertyTask) ExportApp ¶
func (t BuilderRailpackPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuilderRailpackPropertyTask) ExportGlobal ¶
func (t BuilderRailpackPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuilderRailpackPropertyTask) ExportSupport ¶
func (t BuilderRailpackPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuilderRailpackPropertyTask) Plan ¶
func (t BuilderRailpackPropertyTask) Plan() PlanResult
Plan reports the drift the BuilderRailpackPropertyTask would produce.
func (BuilderRailpackPropertyTask) ProbeSupport ¶
func (t BuilderRailpackPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuilderRailpackPropertyTask) PropertyTable ¶
func (t BuilderRailpackPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuilderRailpackPropertyTask) Validate ¶
func (t BuilderRailpackPropertyTask) Validate() error
Validate checks the BuilderRailpackPropertyTask's inputs without contacting the server.
type BuilderRailpackPropertyTaskExample ¶
type BuilderRailpackPropertyTaskExample struct {
// Name is the task name holding the BuilderRailpackPropertyTask description
Name string `yaml:"-"`
// BuilderRailpackPropertyTask is the BuilderRailpackPropertyTask configuration
BuilderRailpackPropertyTask BuilderRailpackPropertyTask `yaml:"dokku_builder_railpack_property"`
}
BuilderRailpackPropertyTaskExample contains an example of a BuilderRailpackPropertyTask
func (BuilderRailpackPropertyTaskExample) GetName ¶
func (e BuilderRailpackPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuildpacksPropertyTask ¶
type BuildpacksPropertyTask PropertyFields
BuildpacksPropertyTask manages the buildpacks configuration for a given dokku application
func (BuildpacksPropertyTask) Doc ¶
func (t BuildpacksPropertyTask) Doc() string
Doc returns the docblock for the buildpacks property task
func (BuildpacksPropertyTask) Examples ¶
func (t BuildpacksPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the buildpacks property task
func (BuildpacksPropertyTask) Execute ¶
func (t BuildpacksPropertyTask) Execute() TaskOutputState
Execute sets or unsets the buildpacks property
func (BuildpacksPropertyTask) ExportApp ¶
func (t BuildpacksPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuildpacksPropertyTask) ExportGlobal ¶
func (t BuildpacksPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuildpacksPropertyTask) ExportSupport ¶
func (t BuildpacksPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuildpacksPropertyTask) Plan ¶
func (t BuildpacksPropertyTask) Plan() PlanResult
Plan reports the drift the BuildpacksPropertyTask would produce.
func (BuildpacksPropertyTask) ProbeSupport ¶
func (t BuildpacksPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuildpacksPropertyTask) PropertyTable ¶
func (t BuildpacksPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuildpacksPropertyTask) Validate ¶
func (t BuildpacksPropertyTask) Validate() error
Validate checks the BuildpacksPropertyTask's inputs without contacting the server.
type BuildpacksPropertyTaskExample ¶
type BuildpacksPropertyTaskExample struct {
// Name is the task name holding the BuildpacksPropertyTask description
Name string `yaml:"-"`
// BuildpacksPropertyTask is the BuildpacksPropertyTask configuration
BuildpacksPropertyTask BuildpacksPropertyTask `yaml:"dokku_buildpacks_property"`
}
BuildpacksPropertyTaskExample contains an example of a BuildpacksPropertyTask
func (BuildpacksPropertyTaskExample) GetName ¶
func (e BuildpacksPropertyTaskExample) GetName() string
GetName returns the name of the example
type BuildpacksTask ¶
type BuildpacksTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Buildpacks is the list of buildpack URLs
Buildpacks []string `required:"false" identity:"collection" yaml:"buildpacks" description:"List of buildpack URLs"`
// State is the desired state of the buildpacks
State State `required:"false" yaml:"state" default:"present" options:"present,absent" description:"Desired state of the buildpacks"`
}
BuildpacksTask manages the buildpacks for a given dokku application
func (BuildpacksTask) Doc ¶
func (t BuildpacksTask) Doc() string
Doc returns the docblock for the buildpacks task
func (BuildpacksTask) Examples ¶
func (t BuildpacksTask) Examples() ([]Doc, error)
Examples returns the examples for the buildpacks task
func (BuildpacksTask) Execute ¶
func (t BuildpacksTask) Execute() TaskOutputState
Execute manages the buildpacks for a given app
func (BuildpacksTask) ExportApp ¶
func (t BuildpacksTask) ExportApp(app string) ([]interface{}, error)
ExportApp reads the app's buildpacks and returns a dokku_buildpacks task, or nil when none are set.
func (BuildpacksTask) ExportSupport ¶
func (t BuildpacksTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuildpacksTask) Plan ¶
func (t BuildpacksTask) Plan() PlanResult
Plan reports the drift the BuildpacksTask would produce.
func (BuildpacksTask) ProbeSupport ¶
func (t BuildpacksTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuildpacksTask) Validate ¶
func (t BuildpacksTask) Validate() error
Validate checks the BuildpacksTask's inputs without contacting the server.
type BuildpacksTaskExample ¶
type BuildpacksTaskExample struct {
// Name is the task name holding the BuildpacksTask description
Name string `yaml:"-"`
// BuildpacksTask is the BuildpacksTask configuration
BuildpacksTask BuildpacksTask `yaml:"dokku_buildpacks"`
}
BuildpacksTaskExample contains an example of a BuildpacksTask
func (BuildpacksTaskExample) GetName ¶
func (e BuildpacksTaskExample) GetName() string
GetName returns the name of the example
type BuildsPropertyTask ¶
type BuildsPropertyTask PropertyFields
BuildsPropertyTask manages the builds configuration for a given dokku application
func (BuildsPropertyTask) Doc ¶
func (t BuildsPropertyTask) Doc() string
Doc returns the docblock for the builds property task
func (BuildsPropertyTask) Examples ¶
func (t BuildsPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the builds property task
func (BuildsPropertyTask) Execute ¶
func (t BuildsPropertyTask) Execute() TaskOutputState
Execute sets or unsets the builds property
func (BuildsPropertyTask) ExportApp ¶
func (t BuildsPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (BuildsPropertyTask) ExportGlobal ¶
func (t BuildsPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (BuildsPropertyTask) ExportSupport ¶
func (t BuildsPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (BuildsPropertyTask) Plan ¶
func (t BuildsPropertyTask) Plan() PlanResult
Plan reports the drift the BuildsPropertyTask would produce.
func (BuildsPropertyTask) ProbeSupport ¶
func (t BuildsPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (BuildsPropertyTask) PropertyTable ¶
func (t BuildsPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (BuildsPropertyTask) Validate ¶
func (t BuildsPropertyTask) Validate() error
Validate checks the BuildsPropertyTask's inputs without contacting the server.
type BuildsPropertyTaskExample ¶
type BuildsPropertyTaskExample struct {
// Name is the task name holding the BuildsPropertyTask description
Name string `yaml:"-"`
// BuildsPropertyTask is the BuildsPropertyTask configuration
BuildsPropertyTask BuildsPropertyTask `yaml:"dokku_builds_property"`
}
BuildsPropertyTaskExample contains an example of a BuildsPropertyTask
func (BuildsPropertyTaskExample) GetName ¶
func (e BuildsPropertyTaskExample) GetName() string
GetName returns the name of the example
type CaddyPropertyTask ¶
type CaddyPropertyTask PropertyFields
CaddyPropertyTask manages the caddy configuration for a given dokku application
func (CaddyPropertyTask) Doc ¶
func (t CaddyPropertyTask) Doc() string
Doc returns the docblock for the caddy property task
func (CaddyPropertyTask) Examples ¶
func (t CaddyPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the caddy property task
func (CaddyPropertyTask) Execute ¶
func (t CaddyPropertyTask) Execute() TaskOutputState
Execute sets or unsets the caddy property
func (CaddyPropertyTask) ExportApp ¶
func (t CaddyPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (CaddyPropertyTask) ExportGlobal ¶
func (t CaddyPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (CaddyPropertyTask) ExportSupport ¶
func (t CaddyPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (CaddyPropertyTask) Plan ¶
func (t CaddyPropertyTask) Plan() PlanResult
Plan reports the drift the CaddyPropertyTask would produce.
func (CaddyPropertyTask) ProbeSupport ¶
func (t CaddyPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (CaddyPropertyTask) PropertyTable ¶
func (t CaddyPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (CaddyPropertyTask) Validate ¶
func (t CaddyPropertyTask) Validate() error
Validate checks the CaddyPropertyTask's inputs without contacting the server.
type CaddyPropertyTaskExample ¶
type CaddyPropertyTaskExample struct {
// Name is the task name holding the CaddyPropertyTask description
Name string `yaml:"-"`
// CaddyPropertyTask is the CaddyPropertyTask configuration
CaddyPropertyTask CaddyPropertyTask `yaml:"dokku_caddy_property"`
}
CaddyPropertyTaskExample contains an example of a CaddyPropertyTask
func (CaddyPropertyTaskExample) GetName ¶
func (e CaddyPropertyTaskExample) GetName() string
GetName returns the name of the example
type CertsTask ¶
type CertsTask struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the certificate should be applied globally
// via the dokku-global-cert plugin
Global bool `` /* 164-byte string literal not displayed */
// Cert is the path on the dokku server to the SSL certificate file
Cert string `` /* 161-byte string literal not displayed */
// Key is the path on the dokku server to the SSL certificate key file
Key string `` /* 163-byte string literal not displayed */
// CertContent is the PEM-encoded certificate contents. Mutually
// exclusive with Cert.
CertContent string `` /* 141-byte string literal not displayed */
// KeyContent is the PEM-encoded private key contents. Mutually
// exclusive with Key.
KeyContent string `` /* 139-byte string literal not displayed */
// State is the desired state of the SSL configuration
State State `` /* 135-byte string literal not displayed */
}
CertsTask manages SSL certificates for a dokku app or globally
func (CertsTask) Execute ¶
func (t CertsTask) Execute() TaskOutputState
Execute manages the SSL certificate
func (CertsTask) ExportApp ¶
ExportApp reconstructs an app's SSL certificate via certs:show. The cert and key PEM are sensitive and lifted into the vars-file by the engine.
func (CertsTask) ExportGlobal ¶
ExportGlobal reconstructs the global SSL certificate via global-cert:show (dokku-global-cert 0.4.x+). The cert and key PEM are sensitive and lifted into the vars-file by the engine.
func (CertsTask) ExportSupport ¶
func (t CertsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (CertsTask) Plan ¶
func (t CertsTask) Plan() PlanResult
Plan reports the drift the CertsTask would produce.
func (CertsTask) ProbeSupport ¶
func (t CertsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (CertsTask) Requirements ¶
Requirements lists the non-core dokku plugins this task depends on.
type CertsTaskExample ¶
type CertsTaskExample struct {
// Name is the task name holding the CertsTask description
Name string `yaml:"-"`
// CertsTask is the CertsTask configuration
CertsTask CertsTask `yaml:"dokku_certs"`
}
CertsTaskExample contains an example of a CertsTask
func (CertsTaskExample) GetName ¶
func (e CertsTaskExample) GetName() string
GetName returns the name of the example
type ChecksPropertyTask ¶
type ChecksPropertyTask PropertyFields
ChecksPropertyTask manages the checks configuration for a given dokku application
func (ChecksPropertyTask) Doc ¶
func (t ChecksPropertyTask) Doc() string
Doc returns the docblock for the checks property task
func (ChecksPropertyTask) Examples ¶
func (t ChecksPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the checks property task
func (ChecksPropertyTask) Execute ¶
func (t ChecksPropertyTask) Execute() TaskOutputState
Execute sets or unsets the checks property
func (ChecksPropertyTask) ExportApp ¶
func (t ChecksPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (ChecksPropertyTask) ExportGlobal ¶
func (t ChecksPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (ChecksPropertyTask) ExportSupport ¶
func (t ChecksPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ChecksPropertyTask) Plan ¶
func (t ChecksPropertyTask) Plan() PlanResult
Plan reports the drift the ChecksPropertyTask would produce.
func (ChecksPropertyTask) ProbeSupport ¶
func (t ChecksPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ChecksPropertyTask) PropertyTable ¶
func (t ChecksPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (ChecksPropertyTask) Validate ¶
func (t ChecksPropertyTask) Validate() error
Validate checks the ChecksPropertyTask's inputs without contacting the server.
type ChecksPropertyTaskExample ¶
type ChecksPropertyTaskExample struct {
// Name is the task name holding the ChecksPropertyTask description
Name string `yaml:"-"`
// ChecksPropertyTask is the ChecksPropertyTask configuration
ChecksPropertyTask ChecksPropertyTask `yaml:"dokku_checks_property"`
}
ChecksPropertyTaskExample contains an example of a ChecksPropertyTask
func (ChecksPropertyTaskExample) GetName ¶
func (e ChecksPropertyTaskExample) GetName() string
GetName returns the name of the example
type ChecksToggleTask ¶
type ChecksToggleTask ToggleFields
ChecksToggleTask enables or disables the checks plugin for a given dokku application
func (ChecksToggleTask) Doc ¶
func (t ChecksToggleTask) Doc() string
Doc returns the docblock for the checks toggle task
func (ChecksToggleTask) Examples ¶
func (t ChecksToggleTask) Examples() ([]Doc, error)
Examples returns the examples for the checks toggle task
func (ChecksToggleTask) Execute ¶
func (t ChecksToggleTask) Execute() TaskOutputState
Execute enables or disables the checks plugin
func (ChecksToggleTask) ExportApp ¶
func (t ChecksToggleTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_checks_toggle task only when checks are disabled (they are enabled by default).
func (ChecksToggleTask) ExportSupport ¶
func (t ChecksToggleTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ChecksToggleTask) Plan ¶
func (t ChecksToggleTask) Plan() PlanResult
Plan reports the drift the ChecksToggleTask would produce.
func (ChecksToggleTask) ProbeSupport ¶
func (t ChecksToggleTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type ChecksToggleTaskExample ¶
type ChecksToggleTaskExample struct {
// Name is the task name holding the ChecksToggleTask description
Name string `yaml:"-"`
// ChecksToggleTask is the ChecksToggleTask configuration
ChecksToggleTask ChecksToggleTask `yaml:"dokku_checks_toggle"`
}
ChecksToggleTaskExample contains an example of a ChecksToggleTask
func (ChecksToggleTaskExample) GetName ¶
func (e ChecksToggleTaskExample) GetName() string
GetName returns the name of the example
type ConfigTask ¶
type ConfigTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Restart is a flag indicating if the app should be restarted. It is a
// *bool so an explicit `restart: false` is distinguishable from an omitted
// key: nil defaults to true via boolValue(t.Restart, true). The default:"true"
// tag only drives the generated docs table; go-defaults leaves pointer fields
// untouched, which is what fixes the silent override of an explicit false.
Restart *bool `yaml:"restart,omitempty" default:"true" description:"Flag indicating if the app should be restarted"`
// Config is a map of configuration key-value pairs
Config map[string]string `identity:"collection" yaml:"config" description:"Map of configuration key-value pairs"`
// State is the desired state of the configuration
State State `` /* 131-byte string literal not displayed */
}
ConfigTask manages the configuration for a given dokku application
func (ConfigTask) Doc ¶
func (t ConfigTask) Doc() string
Doc returns the docblock for the config task
func (ConfigTask) Examples ¶
func (t ConfigTask) Examples() ([]Doc, error)
Examples returns the examples for the config task
func (ConfigTask) Execute ¶
func (t ConfigTask) Execute() TaskOutputState
Execute sets or unsets the configuration for a given dokku application
func (ConfigTask) ExportApp ¶
func (t ConfigTask) ExportApp(app string) ([]interface{}, error)
ExportApp reads the app's config and returns a dokku_config task carrying the current values, or nil when there are none. Restart mirrors the task default so the emitted recipe matches apply's behaviour; the engine lifts the values into the companion vars-file.
Config vars injected by a datastore service link (the `<ALIAS>_URL` a link sets to the service DSN) are dropped: dokku_service_link recreates them on apply with the new server's credentials, so re-exporting the stale value would clobber the fresh one. The exclusion happens here, before the engine lifts values, so those DSNs never reach the vars-file.
func (ConfigTask) ExportSupport ¶
func (t ConfigTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ConfigTask) Plan ¶
func (t ConfigTask) Plan() PlanResult
Plan reports the drift the ConfigTask would produce.
func (ConfigTask) ProbeSupport ¶
func (t ConfigTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ConfigTask) SensitiveValues ¶
func (t ConfigTask) SensitiveValues() []string
SensitiveValues returns every non-empty value in the Config map together with its base64 encoding. The base64 form is included because the apply path passes config values to `dokku config:set --encoded` as `KEY=<base64(value)>`, so the literal value never appears on argv but the encoded form does. Masking both means the verbose command echo and the DOKKU_TRACE log scrub the secret in either representation.
type ConfigTaskExample ¶
type ConfigTaskExample struct {
// Name is the task name holding the ConfigTask description
Name string `yaml:"-"`
// ConfigTask is the ConfigTask configuration
ConfigTask ConfigTask `yaml:"dokku_config"`
}
ConfigTaskExample contains an example of a ConfigTask
func (ConfigTaskExample) GetName ¶
func (e ConfigTaskExample) GetName() string
GetName returns the name of the example
type CronPropertyTask ¶
type CronPropertyTask PropertyFields
CronPropertyTask manages the cron configuration for a given dokku application
func (CronPropertyTask) Doc ¶
func (t CronPropertyTask) Doc() string
Doc returns the docblock for the cron property task
func (CronPropertyTask) Examples ¶
func (t CronPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the cron property task
func (CronPropertyTask) Execute ¶
func (t CronPropertyTask) Execute() TaskOutputState
Execute sets or unsets the cron property
func (CronPropertyTask) ExportApp ¶
func (t CronPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (CronPropertyTask) ExportGlobal ¶
func (t CronPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (CronPropertyTask) ExportSupport ¶
func (t CronPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (CronPropertyTask) Plan ¶
func (t CronPropertyTask) Plan() PlanResult
Plan reports the drift the CronPropertyTask would produce.
func (CronPropertyTask) ProbeSupport ¶
func (t CronPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (CronPropertyTask) PropertyTable ¶
func (t CronPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (CronPropertyTask) Validate ¶
func (t CronPropertyTask) Validate() error
Validate checks the CronPropertyTask's inputs without contacting the server.
type CronPropertyTaskExample ¶
type CronPropertyTaskExample struct {
// Name is the task name holding the CronPropertyTask description
Name string `yaml:"-"`
// CronPropertyTask is the CronPropertyTask configuration
CronPropertyTask CronPropertyTask `yaml:"dokku_cron_property"`
}
CronPropertyTaskExample contains an example of a CronPropertyTask
func (CronPropertyTaskExample) GetName ¶
func (e CronPropertyTaskExample) GetName() string
GetName returns the name of the example
type DeprecationDocer ¶
type DeprecationDocer interface {
Deprecation() string
}
DeprecationDocer is an optional interface a task implements when the task type is deprecated. Deprecation returns a human-readable notice naming the recommended replacement and (optionally) the reason. The docs generator renders the message in a Deprecated section on the task's page; --list-tasks marks the task; apply and plan emit a one-time warning when the task runs.
type Doc ¶
func MarshalExamples ¶
func MarshalExamples[T TaskExample](examples []T) ([]Doc, error)
MarshalExamples converts a slice of task examples into Doc slices.
type DockerOptionsTask ¶
type DockerOptionsTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Phase is the deployment phase the option applies to
Phase string `required:"true" identity:"key" yaml:"phase" options:"build,deploy,run" description:"Deployment phase the option applies to"`
// ProcessType scopes the option to a specific Procfile process type.
// Only valid for the deploy phase; empty applies to the default scope
// (every container in the app).
ProcessType string `` /* 187-byte string literal not displayed */
// Option is the docker option string (e.g. "-v /var/run/docker.sock:/var/run/docker.sock")
Option string `` /* 133-byte string literal not displayed */
// State is the desired state of the docker option
State State `` /* 131-byte string literal not displayed */
}
DockerOptionsTask manages docker-options for a given dokku application
func (DockerOptionsTask) Doc ¶
func (t DockerOptionsTask) Doc() string
Doc returns the docblock for the docker options task
func (DockerOptionsTask) Examples ¶
func (t DockerOptionsTask) Examples() ([]Doc, error)
Examples returns the examples for the docker options task
func (DockerOptionsTask) Execute ¶
func (t DockerOptionsTask) Execute() TaskOutputState
Execute manages the docker option
func (DockerOptionsTask) ExportApp ¶
func (t DockerOptionsTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's docker options as one task per individual option, per (phase, process type). Options are read from the structured `<phase>-list` report keys (dokku/dokku#8799), so each stored option - including values that contain spaces - is emitted as a discrete task without whitespace splitting.
func (DockerOptionsTask) ExportSupport ¶
func (t DockerOptionsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (DockerOptionsTask) Plan ¶
func (t DockerOptionsTask) Plan() PlanResult
Plan reports the drift the DockerOptionsTask would produce.
func (DockerOptionsTask) ProbeSupport ¶
func (t DockerOptionsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (DockerOptionsTask) Validate ¶
func (t DockerOptionsTask) Validate() error
Validate checks the DockerOptionsTask's inputs without contacting the server.
type DockerOptionsTaskExample ¶
type DockerOptionsTaskExample struct {
// Name is the task name holding the DockerOptionsTask description
Name string `yaml:"-"`
// DockerOptionsTask is the DockerOptionsTask configuration
DockerOptionsTask DockerOptionsTask `yaml:"dokku_docker_options"`
}
DockerOptionsTaskExample contains an example of a DockerOptionsTask
func (DockerOptionsTaskExample) GetName ¶
func (e DockerOptionsTaskExample) GetName() string
GetName returns the name of the example
type DomainsTask ¶
type DomainsTask struct {
// App is the name of the app
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app"`
// Global is a flag indicating if the domains should be applied globally
Global bool `` /* 127-byte string literal not displayed */
// Domains is the list of domain names
Domains []string `required:"false" identity:"collection" yaml:"domains,omitempty" description:"List of domain names; omit for state 'clear'"`
// State is the desired state of the domains
State State `required:"false" yaml:"state" default:"present" options:"present,absent,set,clear" description:"Desired state of the domains"`
}
DomainsTask manages the domains for a given dokku application or globally
func (DomainsTask) Doc ¶
func (t DomainsTask) Doc() string
Doc returns the docblock for the domains task
func (DomainsTask) Examples ¶
func (t DomainsTask) Examples() ([]Doc, error)
Examples returns the examples for the domains task
func (DomainsTask) Execute ¶
func (t DomainsTask) Execute() TaskOutputState
Execute manages the domains
func (DomainsTask) ExportApp ¶
func (t DomainsTask) ExportApp(app string) ([]interface{}, error)
ExportApp reads the app's vhosts and returns a dokku_domains task that sets exactly that set, or nil when the app has no custom domains.
func (DomainsTask) ExportSupport ¶
func (t DomainsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (DomainsTask) Plan ¶
func (t DomainsTask) Plan() PlanResult
Plan reports the drift the DomainsTask would produce.
func (DomainsTask) ProbeSupport ¶
func (t DomainsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (DomainsTask) Validate ¶
func (t DomainsTask) Validate() error
Validate checks the DomainsTask's inputs without contacting the server.
type DomainsTaskExample ¶
type DomainsTaskExample struct {
// Name is the task name holding the DomainsTask description
Name string `yaml:"-"`
// DomainsTask is the DomainsTask configuration
DomainsTask DomainsTask `yaml:"dokku_domains"`
}
DomainsTaskExample contains an example of a DomainsTask
func (DomainsTaskExample) GetName ¶
func (e DomainsTaskExample) GetName() string
GetName returns the name of the example
type DomainsToggleTask ¶
type DomainsToggleTask ToggleFields
DomainsToggleTask enables or disables the domains plugin for a given dokku application
func (DomainsToggleTask) Doc ¶
func (t DomainsToggleTask) Doc() string
Doc returns the docblock for the domains toggle task
func (DomainsToggleTask) Examples ¶
func (t DomainsToggleTask) Examples() ([]Doc, error)
Examples returns the examples for the domains toggle task
func (DomainsToggleTask) Execute ¶
func (t DomainsToggleTask) Execute() TaskOutputState
Execute enables or disables the domains plugin
func (DomainsToggleTask) ExportApp ¶
func (t DomainsToggleTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_domains_toggle task only when the domains plugin is disabled for the app (it is enabled by default).
func (DomainsToggleTask) ExportSupport ¶
func (t DomainsToggleTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (DomainsToggleTask) Plan ¶
func (t DomainsToggleTask) Plan() PlanResult
Plan reports the drift the DomainsToggleTask would produce.
func (DomainsToggleTask) ProbeSupport ¶
func (t DomainsToggleTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type DomainsToggleTaskExample ¶
type DomainsToggleTaskExample struct {
// Name is the task name holding the DomainsToggleTask description
Name string `yaml:"-"`
// DomainsToggleTask is the DomainsToggleTask configuration
DomainsToggleTask DomainsToggleTask `yaml:"dokku_domains_toggle"`
}
DomainsToggleTaskExample contains an example of a DomainsToggleTask
func (DomainsToggleTaskExample) GetName ¶
func (e DomainsToggleTaskExample) GetName() string
GetName returns the name of the example
type DynamicPropertySchema ¶
type DynamicPropertySchema struct {
// Prefix is what a member's name starts with.
Prefix string `json:"prefix"`
// Probeable is true when the plugin's report surfaces a row per set
// member, so docket can read the value back. False means a recipe using
// the family reports drift on every run and never converges.
Probeable bool `json:"probeable"`
// Sensitive is true when docket treats members as secrets.
Sensitive bool `json:"sensitive,omitempty"`
}
DynamicPropertySchema is a family of property names matched by prefix.
func DynamicPropertyFamilies ¶
func DynamicPropertyFamilies(plugin string) []DynamicPropertySchema
DynamicPropertyFamilies returns the dynamic name families a plugin declares, sorted by prefix, in the form the task catalog publishes. Exported so a consumer validating a recipe offline knows which unenumerable names to accept.
type ExampleSchema ¶
ExampleSchema is one documented example: the heading its reference page gives it, and the YAML snippet itself.
type ExportDocer ¶
type ExportDocer interface {
ExportSupport() ExportSupport
}
ExportDocer is the interface a task implements to declare its export support. Every registered task is expected to implement it - a coverage test enforces that so no task ships without an export decision - but it is modelled as an optional interface to match DeprecationDocer and RequirementsDocer. The docs generator renders the result in an Export support section on the task's page.
The export engine itself never reads this: emission is driven purely by membership in appExportOrder/globalExportOrder plus the AppExporter/ GlobalExporter type assertion. What keeps the declaration honest is TestExportSupportMatchesExportWiring, which fails when a task claims to be exportable without being wired into an order list (or vice versa).
type ExportOptions ¶
type ExportOptions struct {
// Apps restricts the export to these app names; empty means every app.
Apps []string
// Resources restricts the export to specific resource addresses. Empty
// means every resource. Mutually exclusive with Apps: an address already
// says which app it belongs to.
Resources []ResourceSelector
// Redact replaces sensitive values with placeholders instead of the real
// values (in the vars-file for file mode, in place for stdout mode). A
// value whose task would not validate when blank is lifted into a required
// input instead of being blanked, so the emitted recipe still parses and
// validates - see processHttpAuthUser and processMaintenanceCustomPage.
Redact bool
// Inline keeps sensitive values in the task bodies instead of lifting them
// into a vars map. Used for stdout output, which has no companion file.
Inline bool
}
ExportOptions controls an export run.
type ExportReport ¶
type ExportReport struct {
Warnings []string
// MissingApps lists app names passed via --app that do not exist on the
// server. The export still proceeds for the apps that do exist; the command
// surfaces these and exits non-zero so a typo is not silently dropped (#346).
MissingApps []string
// MissingResources lists --resource addresses that matched nothing on the
// server, in the order they were given. Same contract as MissingApps: the
// export emits what it did find and the command exits non-zero, so an
// address that names a resource the server does not have is not mistaken
// for one that exports to nothing.
MissingResources []string
}
ExportReport carries non-fatal diagnostics from an export run.
type ExportResult ¶
type ExportResult struct {
Vars map[string]string
Report ExportReport
// contains filtered or unexported fields
}
ExportResult is the outcome of ExportRecipe: the assembled recipe (as a list of plays), the companion vars map (empty in inline mode), and any warnings.
func ExportRecipe ¶
func ExportRecipe(opts ExportOptions) (*ExportResult, error)
ExportRecipe reads the live Dokku server (via the current subprocess host) and assembles a recipe describing it. It enumerates apps, runs every registered AppExporter for each, lifts sensitive values into a vars map (unless opts.Inline), and returns the result for the caller to marshal.
func (*ExportResult) AppCount ¶
func (res *ExportResult) AppCount() int
AppCount returns the number of app plays, excluding the leading "global" play (global resources are not an app), so the export summary reports the app count accurately.
func (*ExportResult) HasVars ¶
func (res *ExportResult) HasVars() bool
HasVars reports whether the export lifted any values into the vars map.
func (*ExportResult) MarshalRecipe ¶
func (res *ExportResult) MarshalRecipe(format string) ([]byte, error)
MarshalRecipe renders the assembled recipe as canonical YAML (or JSON5 when format is a JSON5 alias), using the same formatter as `docket fmt`.
func (*ExportResult) MarshalVars ¶
func (res *ExportResult) MarshalVars(format string) ([]byte, error)
MarshalVars renders the companion vars-file (a flat mapping of input name to value) in YAML or JSON to match the vars-output extension.
func (*ExportResult) PlayCount ¶
func (res *ExportResult) PlayCount() int
PlayCount returns the total number of plays in the result, including the leading global play when one was emitted. Used to detect an empty export.
type ExportStatus ¶
type ExportStatus string
ExportStatus classifies how a task participates in `docket export`, which reads a live Dokku server and emits a recipe (the inverse of apply).
const ( // ExportSupported means the task's full state can be read back from the // server and reconstructed faithfully. ExportSupported ExportStatus = "supported" // ExportPartial means the task can be exported but with caveats, for // example a secret value that is written to the companion vars-file, or a // field that cannot be read back and becomes a required input. ExportPartial ExportStatus = "partial" // ExportUnsupported means the task cannot be reconstructed from live // state: write-only secrets that never read back, imperative operations // that are not state, or resources whose export is not implemented yet. ExportUnsupported ExportStatus = "unsupported" )
type ExportSupport ¶
type ExportSupport struct {
Status ExportStatus `json:"status"`
Caveat string `json:"caveat,omitempty"`
}
ExportSupport describes a task's export behaviour. Status is required; Caveat is a human-readable note explaining a partial or unsupported status (and may be empty for a plainly supported task).
The json tags are for the task catalog, which publishes this verbatim.
func TaskExportSupport ¶
func TaskExportSupport(t Task) (ExportSupport, bool)
TaskExportSupport returns the export support for t, and whether t declared it. Centralised so docs generation, the export engine, and the coverage test share one read site, mirroring TaskDeprecation.
type FieldSchema ¶
type FieldSchema struct {
// Name is the recipe key, from the yaml tag. A field tagged `yaml:"-"` is
// absent from the catalog entirely.
Name string `json:"name"`
// Type is the doc-facing type name.
Type string `json:"type"`
// Required mirrors what the loader enforces: `required:"true"` with no
// default. A field carrying a default is never actually required, because
// defaults.SetDefaults fills it in before the loader's zero-check runs.
Required bool `json:"required"`
// Default is the literal `default:` tag text, to be read according to
// Type. It is not pre-parsed, so it cannot diverge from what go-defaults
// does with it. Note that go-defaults leaves pointer fields untouched: on
// a *bool the tag documents what the task coerces nil to, not a value the
// loader writes into the struct.
Default string `json:"default,omitempty"`
// Choices are the `options:` tag values, in tag order. Absent when the
// field is not an enum.
Choices []string `json:"choices,omitempty"`
// Description is the raw `description:` tag. Prose the reference page
// appends - "(sensitive)", "Each item has: ..." - is derived from
// Sensitive and Item rather than baked in here.
Description string `json:"description,omitempty"`
// Sensitive marks a field whose value is a secret. A consumer that echoes
// a recipe must mask it.
Sensitive bool `json:"sensitive,omitempty"`
// Identity is "key" or "collection" when the field carries an identity
// tag, and absent otherwise.
Identity string `json:"identity,omitempty"`
// Item describes the element shape of a list or dict field. Absent on a
// scalar.
Item *ItemSchema `json:"item,omitempty"`
}
FieldSchema is one recipe key a task accepts.
type GitAuthTask ¶
type GitAuthTask struct {
// Host is the git server hostname (e.g. github.com)
Host string `required:"true" identity:"key" yaml:"host" description:"Git server hostname (e.g. github.com)"`
// Username is the netrc username. Required when state is present.
Username string `required:"false" yaml:"username,omitempty" description:"Netrc username. Required when state is present."`
// Password is the netrc password. Required when state is present.
Password string `required:"false" sensitive:"true" yaml:"password,omitempty" description:"Netrc password. Required when state is present."`
// State is the desired state of the netrc entry
State State `` /* 129-byte string literal not displayed */
}
GitAuthTask manages netrc credentials for a git host via dokku git:auth.
Idempotency is intentionally skipped here because dokku has no public way to query the current netrc state (the file lives at $DOKKU_ROOT/.netrc with mode 0600). Tracking upstream support in dokku/dokku#8504; once a no-change exit code is available, this task should switch to using it instead of always reporting Changed=true.
func (GitAuthTask) Doc ¶
func (t GitAuthTask) Doc() string
Doc returns the docblock for the git auth task
func (GitAuthTask) Examples ¶
func (t GitAuthTask) Examples() ([]Doc, error)
Examples returns the examples for the git auth task
func (GitAuthTask) Execute ¶
func (t GitAuthTask) Execute() TaskOutputState
Execute manages the netrc entry for a host
func (GitAuthTask) ExportSupport ¶
func (t GitAuthTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (GitAuthTask) Plan ¶
func (t GitAuthTask) Plan() PlanResult
Plan reports the drift the GitAuthTask would produce. dokku has no public way to query netrc state, so the plan reports drift unconditionally.
func (GitAuthTask) ProbeSupport ¶
func (t GitAuthTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (GitAuthTask) Validate ¶
func (t GitAuthTask) Validate() error
Validate checks the GitAuthTask's inputs without contacting the server.
type GitAuthTaskExample ¶
type GitAuthTaskExample struct {
// Name is the task name holding the GitAuthTask description
Name string `yaml:"-"`
// GitAuthTask is the GitAuthTask configuration
GitAuthTask GitAuthTask `yaml:"dokku_git_auth"`
}
GitAuthTaskExample contains an example of a GitAuthTask
func (GitAuthTaskExample) GetName ¶
func (e GitAuthTaskExample) GetName() string
GetName returns the name of the example
type GitFromArchiveTask ¶
type GitFromArchiveTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// ArchiveURL is the URL of the archive to deploy. Tagged sensitive
// because URLs can embed credentials (e.g. https://user:token@host/path).
ArchiveURL string `required:"true" sensitive:"true" yaml:"archive_url" description:"URL of the archive to deploy"`
// ArchiveType is the format of the archive
ArchiveType string `required:"false" yaml:"archive_type,omitempty" default:"tar" options:"tar,tar.gz,zip" description:"Format of the archive"`
// GitUsername is the git author username for the synthetic commit
GitUsername string `required:"false" yaml:"git_username,omitempty" description:"Git author username for the synthetic commit"`
// GitEmail is the git author email for the synthetic commit
GitEmail string `required:"false" yaml:"git_email,omitempty" description:"Git author email for the synthetic commit"`
// State is the desired state of the deployment
State State `required:"false" yaml:"state,omitempty" default:"deployed" options:"deployed" description:"Desired state of the deployment"`
}
GitFromArchiveTask deploys a git repository from an archive URL
func (GitFromArchiveTask) Doc ¶
func (t GitFromArchiveTask) Doc() string
Doc returns the docblock for the git from archive task
func (GitFromArchiveTask) Examples ¶
func (t GitFromArchiveTask) Examples() ([]Doc, error)
Examples returns the examples for the git from archive task
func (GitFromArchiveTask) Execute ¶
func (t GitFromArchiveTask) Execute() TaskOutputState
Execute deploys a git repository from an archive URL
func (GitFromArchiveTask) ExportApp ¶
func (t GitFromArchiveTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs a git-from-archive deploy source from apps:report. dokku records the archive type (tar/tar.gz/zip) as the source and the URL as the metadata; the URL is sensitive, so the engine lifts it into the vars-file.
func (GitFromArchiveTask) ExportSupport ¶
func (t GitFromArchiveTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (GitFromArchiveTask) Plan ¶
func (t GitFromArchiveTask) Plan() PlanResult
Plan reports the drift the GitFromArchiveTask would produce.
func (GitFromArchiveTask) ProbeSupport ¶
func (t GitFromArchiveTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (GitFromArchiveTask) Validate ¶
func (t GitFromArchiveTask) Validate() error
Validate checks the GitFromArchiveTask's inputs without contacting the server.
type GitFromArchiveTaskExample ¶
type GitFromArchiveTaskExample struct {
// Name is the task name holding the GitFromArchiveTask description
Name string `yaml:"-"`
// GitFromArchiveTask is the GitFromArchiveTask configuration
GitFromArchiveTask GitFromArchiveTask `yaml:"dokku_git_from_archive"`
}
GitFromArchiveTaskExample contains an example of a GitFromArchiveTask
func (GitFromArchiveTaskExample) GetName ¶
func (e GitFromArchiveTaskExample) GetName() string
GetName returns the name of the example
type GitFromImageTask ¶
type GitFromImageTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Image is the docker image to deploy. Tagged sensitive because image
// references can embed registry credentials (e.g. user:token@host/repo).
Image string `required:"true" sensitive:"true" yaml:"image" description:"Docker image to deploy"`
// BuildDir is the directory to build the git repository
BuildDir string `required:"false" yaml:"build_dir,omitempty" description:"Directory to build the git repository"`
// GitUsername is the username to use for the git repository
GitUsername string `required:"false" yaml:"git_username,omitempty" description:"Username to use for the git repository (requires git_email)"`
// GitEmail is the email to use for the git repository
GitEmail string `required:"false" yaml:"git_email,omitempty" description:"Email to use for the git repository (requires git_username)"`
// State is the desired state of the git repository
State State `` /* 127-byte string literal not displayed */
}
GitFromImageTask deploys a git repository from a docker image
func (GitFromImageTask) Doc ¶
func (t GitFromImageTask) Doc() string
Doc returns the docblock for the git from image task
func (GitFromImageTask) Examples ¶
func (t GitFromImageTask) Examples() ([]Doc, error)
Examples returns the examples for the git from image task
func (GitFromImageTask) Execute ¶
func (t GitFromImageTask) Execute() TaskOutputState
Execute deploys a git repository from a docker image
func (GitFromImageTask) ExportApp ¶
func (t GitFromImageTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs a docker-image deploy source from apps:report. The image reference is sensitive, so the engine lifts it into the vars-file.
func (GitFromImageTask) ExportSupport ¶
func (t GitFromImageTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (GitFromImageTask) Plan ¶
func (t GitFromImageTask) Plan() PlanResult
Plan reports the drift the GitFromImageTask would produce.
func (GitFromImageTask) ProbeSupport ¶
func (t GitFromImageTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (GitFromImageTask) Validate ¶
func (t GitFromImageTask) Validate() error
Validate checks the GitFromImageTask's inputs without contacting the server.
type GitFromImageTaskExample ¶
type GitFromImageTaskExample struct {
// Name is the task name holding the GitFromImageTask description
Name string `yaml:"-"`
// GitFromImageTask is the GitFromImageTask configuration
GitFromImageTask GitFromImageTask `yaml:"dokku_git_from_image"`
}
GitFromImageTaskExample contains an example of a GitFromImageTask
func (GitFromImageTaskExample) GetName ¶
func (e GitFromImageTaskExample) GetName() string
GetName returns the name of the example
type GitPropertyTask ¶
type GitPropertyTask PropertyFields
GitPropertyTask manages the git configuration for a given dokku application
func (GitPropertyTask) Doc ¶
func (t GitPropertyTask) Doc() string
Doc returns the docblock for the git property task
func (GitPropertyTask) Examples ¶
func (t GitPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the git property task
func (GitPropertyTask) Execute ¶
func (t GitPropertyTask) Execute() TaskOutputState
Execute sets or unsets the git property
func (GitPropertyTask) ExportApp ¶
func (t GitPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (GitPropertyTask) ExportGlobal ¶
func (t GitPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (GitPropertyTask) ExportSupport ¶
func (t GitPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (GitPropertyTask) Plan ¶
func (t GitPropertyTask) Plan() PlanResult
Plan reports the drift the GitPropertyTask would produce.
func (GitPropertyTask) ProbeSupport ¶
func (t GitPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (GitPropertyTask) PropertyTable ¶
func (t GitPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (GitPropertyTask) Validate ¶
func (t GitPropertyTask) Validate() error
Validate checks the GitPropertyTask's inputs without contacting the server.
type GitPropertyTaskExample ¶
type GitPropertyTaskExample struct {
// Name is the task name holding the GitPropertyTask description
Name string `yaml:"-"`
// GitPropertyTask is the GitPropertyTask configuration
GitPropertyTask GitPropertyTask `yaml:"dokku_git_property"`
}
GitPropertyTaskExample contains an example of a GitPropertyTask
func (GitPropertyTaskExample) GetName ¶
func (e GitPropertyTaskExample) GetName() string
GetName returns the name of the example
type GitSyncTask ¶
type GitSyncTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Remote is the git remote url to sync
Remote string `required:"true" yaml:"remote" description:"Git remote url to sync"`
// GitRef is the git reference to sync
GitRef string `required:"false" yaml:"git_ref" description:"Git reference to sync"`
// Build triggers an application build after syncing
Build bool `required:"false" yaml:"build" description:"Trigger an application build after syncing"`
// BuildIfChanges triggers a build only if changes are detected
BuildIfChanges bool `required:"false" yaml:"build_if_changes" description:"Trigger a build only if changes are detected"`
// SkipDeployBranch skips automatically setting the deploy-branch property
SkipDeployBranch bool `required:"false" yaml:"skip_deploy_branch" description:"Skip automatically setting the deploy-branch property"`
// State is the desired state of the git sync
State State `required:"false" yaml:"state" default:"present" options:"present" description:"Desired state of the git sync"`
}
GitSyncTask syncs a git repository to a dokku application
func (GitSyncTask) Doc ¶
func (t GitSyncTask) Doc() string
Doc returns the docblock for the git sync task
func (GitSyncTask) Examples ¶
func (t GitSyncTask) Examples() ([]Doc, error)
Examples returns the examples for the git sync task
func (GitSyncTask) Execute ¶
func (t GitSyncTask) Execute() TaskOutputState
Execute syncs a git repository to a dokku application
func (GitSyncTask) ExportApp ¶
func (t GitSyncTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs a git-sync deploy source from apps:report. The metadata records "<remote>#<resolved SHA>", so the remote is taken from the portion before the last "#" and the ref from the deploy-branch git:sync persisted - not the SHA, which the probe cannot match against a branch or tag. It only emits when the app was last deployed via git:sync.
func (GitSyncTask) ExportSupport ¶
func (t GitSyncTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (GitSyncTask) Plan ¶
func (t GitSyncTask) Plan() PlanResult
Plan reports the drift the GitSyncTask would produce.
func (GitSyncTask) ProbeSupport ¶
func (t GitSyncTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type GitSyncTaskExample ¶
type GitSyncTaskExample struct {
// Name is the task name holding the GitSyncTask description
Name string `yaml:"-"`
// GitSyncTask is the GitSyncTask configuration
GitSyncTask GitSyncTask `yaml:"dokku_git_sync"`
}
GitSyncTaskExample contains an example of a GitSyncTask
func (GitSyncTaskExample) GetName ¶
func (e GitSyncTaskExample) GetName() string
GetName returns the name of the example
type GlobalExporter ¶
type GlobalExporter interface {
ExportGlobal() ([]interface{}, error)
}
GlobalExporter is the not-app-scoped counterpart of AppExporter (global certs, networks, ssh keys, ...). It is defined here so global resources can be added the same way; the engine runs these into a leading global play.
type HaproxyPropertyTask ¶
type HaproxyPropertyTask PropertyFields
HaproxyPropertyTask manages the haproxy configuration for a given dokku application
func (HaproxyPropertyTask) Doc ¶
func (t HaproxyPropertyTask) Doc() string
Doc returns the docblock for the haproxy property task
func (HaproxyPropertyTask) Examples ¶
func (t HaproxyPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the haproxy property task
func (HaproxyPropertyTask) Execute ¶
func (t HaproxyPropertyTask) Execute() TaskOutputState
Execute sets or unsets the haproxy property
func (HaproxyPropertyTask) ExportApp ¶
func (t HaproxyPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (HaproxyPropertyTask) ExportGlobal ¶
func (t HaproxyPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (HaproxyPropertyTask) ExportSupport ¶
func (t HaproxyPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (HaproxyPropertyTask) Plan ¶
func (t HaproxyPropertyTask) Plan() PlanResult
Plan reports the drift the HaproxyPropertyTask would produce.
func (HaproxyPropertyTask) ProbeSupport ¶
func (t HaproxyPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (HaproxyPropertyTask) PropertyTable ¶
func (t HaproxyPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (HaproxyPropertyTask) Validate ¶
func (t HaproxyPropertyTask) Validate() error
Validate checks the HaproxyPropertyTask's inputs without contacting the server.
type HaproxyPropertyTaskExample ¶
type HaproxyPropertyTaskExample struct {
// Name is the task name holding the HaproxyPropertyTask description
Name string `yaml:"-"`
// HaproxyPropertyTask is the HaproxyPropertyTask configuration
HaproxyPropertyTask HaproxyPropertyTask `yaml:"dokku_haproxy_property"`
}
HaproxyPropertyTaskExample contains an example of a HaproxyPropertyTask
func (HaproxyPropertyTaskExample) GetName ¶
func (e HaproxyPropertyTaskExample) GetName() string
GetName returns the name of the example
type HttpAuthAllowedIpTask ¶
type HttpAuthAllowedIpTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// AllowedIps is the list of IP addresses to allow or remove
AllowedIps []string `required:"false" identity:"collection" yaml:"allowed_ips" description:"List of IP addresses to allow or remove"`
// State is the desired state of the allowed IP entries
State State `` /* 136-byte string literal not displayed */
}
HttpAuthAllowedIpTask manages the set of IP addresses allowed to bypass HTTP auth for a dokku application
func (HttpAuthAllowedIpTask) Doc ¶
func (t HttpAuthAllowedIpTask) Doc() string
Doc returns the docblock for the HTTP auth allowed ip task
func (HttpAuthAllowedIpTask) Examples ¶
func (t HttpAuthAllowedIpTask) Examples() ([]Doc, error)
Examples returns a list of HttpAuthAllowedIpTaskExamples as yaml
func (HttpAuthAllowedIpTask) Execute ¶
func (t HttpAuthAllowedIpTask) Execute() TaskOutputState
Execute manages the app's HTTP auth allowed IPs
func (HttpAuthAllowedIpTask) ExportApp ¶
func (t HttpAuthAllowedIpTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's HTTP-auth allowed IPs, or nil when none are set.
func (HttpAuthAllowedIpTask) ExportSupport ¶
func (t HttpAuthAllowedIpTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (HttpAuthAllowedIpTask) Plan ¶
func (t HttpAuthAllowedIpTask) Plan() PlanResult
Plan reports the drift the HttpAuthAllowedIpTask would produce.
func (HttpAuthAllowedIpTask) ProbeSupport ¶
func (t HttpAuthAllowedIpTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (HttpAuthAllowedIpTask) Requirements ¶
func (t HttpAuthAllowedIpTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (HttpAuthAllowedIpTask) Validate ¶
func (t HttpAuthAllowedIpTask) Validate() error
Validate checks the HttpAuthAllowedIpTask's inputs without contacting the server.
type HttpAuthAllowedIpTaskExample ¶
type HttpAuthAllowedIpTaskExample struct {
// Name is the task name holding the HttpAuthAllowedIpTask description
Name string `yaml:"-"`
// DokkuHttpAuthAllowedIp is the HttpAuthAllowedIpTask configuration
DokkuHttpAuthAllowedIp HttpAuthAllowedIpTask `yaml:"dokku_http_auth_allowed_ip"`
}
HttpAuthAllowedIpTaskExample contains an example of an HttpAuthAllowedIpTask
func (HttpAuthAllowedIpTaskExample) GetName ¶
func (e HttpAuthAllowedIpTaskExample) GetName() string
GetName returns the name of the example
type HttpAuthDomainTask ¶
type HttpAuthDomainTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Domains is the list of domains to restrict HTTP auth to
Domains []string `` /* 142-byte string literal not displayed */
// State is the desired state of the HTTP auth domain entries
State State `` /* 152-byte string literal not displayed */
}
HttpAuthDomainTask manages the set of domains HTTP auth is restricted to for a dokku application
func (HttpAuthDomainTask) Doc ¶
func (t HttpAuthDomainTask) Doc() string
Doc returns the docblock for the HTTP auth domain task
func (HttpAuthDomainTask) Examples ¶
func (t HttpAuthDomainTask) Examples() ([]Doc, error)
Examples returns a list of HttpAuthDomainTaskExamples as yaml
func (HttpAuthDomainTask) Execute ¶
func (t HttpAuthDomainTask) Execute() TaskOutputState
Execute manages the app's HTTP auth domains
func (HttpAuthDomainTask) ExportApp ¶
func (t HttpAuthDomainTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the domains HTTP auth is restricted to, or nil when none are set. state:set replaces the whole domain set for an exact match.
func (HttpAuthDomainTask) ExportSupport ¶
func (t HttpAuthDomainTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (HttpAuthDomainTask) Plan ¶
func (t HttpAuthDomainTask) Plan() PlanResult
Plan reports the drift the HttpAuthDomainTask would produce.
func (HttpAuthDomainTask) ProbeSupport ¶
func (t HttpAuthDomainTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (HttpAuthDomainTask) Requirements ¶
func (t HttpAuthDomainTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (HttpAuthDomainTask) Validate ¶
func (t HttpAuthDomainTask) Validate() error
Validate checks the HttpAuthDomainTask's inputs without contacting the server.
type HttpAuthDomainTaskExample ¶
type HttpAuthDomainTaskExample struct {
// Name is the task name holding the HttpAuthDomainTask description
Name string `yaml:"-"`
// DokkuHttpAuthDomain is the HttpAuthDomainTask configuration
DokkuHttpAuthDomain HttpAuthDomainTask `yaml:"dokku_http_auth_domain"`
}
HttpAuthDomainTaskExample contains an example of an HttpAuthDomainTask
func (HttpAuthDomainTaskExample) GetName ¶
func (e HttpAuthDomainTaskExample) GetName() string
GetName returns the name of the example
type HttpAuthTask ¶
type HttpAuthTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Username is the HTTP auth username seeded when auth is enabled
Username string `` /* 130-byte string literal not displayed */
// Password is the HTTP auth password seeded when auth is enabled
Password string `` /* 149-byte string literal not displayed */
// State is the state of the HTTP auth
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"State of the HTTP auth"`
}
HttpAuthTask manages HTTP authentication for a dokku application
func (HttpAuthTask) Doc ¶
func (t HttpAuthTask) Doc() string
Doc returns the docblock for the HTTP auth task
func (HttpAuthTask) Examples ¶
func (t HttpAuthTask) Examples() ([]Doc, error)
Examples returns a list of HttpAuthTaskExamples as yaml
func (HttpAuthTask) Execute ¶
func (t HttpAuthTask) Execute() TaskOutputState
Execute enables or disables HTTP authentication for an app
func (HttpAuthTask) ExportApp ¶
func (t HttpAuthTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs whether HTTP auth is serving for an app. It is emitted after the rest of the http-auth family (see appExportOrder), because http-auth:add-user, add-allowed-ip and add-domain all write enabled=true as a side effect: this task runs last so the recipe's stated auth state is the one that sticks.
An enabled app emits `state: present`, with no credentials - the users come back as dokku_http_auth_user tasks, so seeding one here would only duplicate an input. A disabled app that still carries users, allowed IPs or auth domains emits `state: absent`, undoing the enable those tasks force; a disabled app with nothing configured emits no task at all.
func (HttpAuthTask) ExportSupport ¶
func (t HttpAuthTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (HttpAuthTask) Plan ¶
func (t HttpAuthTask) Plan() PlanResult
Plan reports the drift the HttpAuthTask would produce.
func (HttpAuthTask) ProbeSupport ¶
func (t HttpAuthTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (HttpAuthTask) Requirements ¶
func (t HttpAuthTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (HttpAuthTask) Validate ¶
func (t HttpAuthTask) Validate() error
Validate checks the HttpAuthTask's inputs without contacting the server.
`http-auth:enable` takes the username and password as optional positional arguments (`<app> [<user>] [<password>]`) and skips user initialization when they are absent, so a credential-free `state: present` is valid and simply turns auth on. What is not valid is half a credential, so the pair is required together.
type HttpAuthTaskExample ¶
type HttpAuthTaskExample struct {
// Name is the task name holding the HttpAuthTask description
Name string `yaml:"-"`
// DokkuHttpAuth is the HttpAuthTask configuration
DokkuHttpAuth HttpAuthTask `yaml:"dokku_http_auth"`
}
HttpAuthTaskExample contains an example of an HttpAuthTask
func (HttpAuthTaskExample) GetName ¶
func (e HttpAuthTaskExample) GetName() string
GetName returns the name of the example
type HttpAuthUser ¶
type HttpAuthUser struct {
// Username is the HTTP auth username
Username string `required:"true" identity:"key" yaml:"username" description:"HTTP auth username"`
// Password is the cleartext HTTP auth password, applied with
// http-auth:add-user. Mutually exclusive with Hash.
Password string `` /* 132-byte string literal not displayed */
// Hash is the user's htpasswd entry, as emitted by
// http-auth:export-users. Applied with http-auth:import-users over stdin,
// so the value never reaches argv. Mutually exclusive with Password; this
// is the form `docket export` emits, since the plugin can read hashes back
// but never the passwords behind them.
Hash string `` /* 241-byte string literal not displayed */
}
HttpAuthUser represents a single HTTP auth user. Exactly one of Password and Hash carries the credential.
The `sensitive:"true"` tags document intent, but because the fields live in a slice-of-structs the reflection walker in sensitive.go cannot reach them - the task's SensitiveValues method is what actually masks these values.
type HttpAuthUserTask ¶
type HttpAuthUserTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Users is the list of HTTP auth users to add or remove. The docs generator
// lists an item's field names but cannot express that password and hash are
// alternatives, nor that both are secret, so this description carries it.
Users []HttpAuthUser `` /* 295-byte string literal not displayed */
// UpdatePassword re-issues http-auth:add-user for users that already exist
// so their password converges. Cleartext passwords are not exposed in the
// report, so a rotation cannot be drift-detected; enable this to force
// convergence. It governs the password path only - a hash user converges on
// its own, because http-auth:export-users reads the stored hash back. It is
// a *bool so the value survives decoding unchanged; nil defaults to false.
UpdatePassword *bool `` /* 223-byte string literal not displayed */
// State is the desired state of the HTTP auth users. There is no `clear`
// state, unlike the sibling dokku_http_auth_domain: `absent` with an empty
// `users` already removes every user.
State State `` /* 137-byte string literal not displayed */
}
HttpAuthUserTask manages the set of HTTP auth users for a dokku application
func (HttpAuthUserTask) Doc ¶
func (t HttpAuthUserTask) Doc() string
Doc returns the docblock for the HTTP auth user task
func (HttpAuthUserTask) Examples ¶
func (t HttpAuthUserTask) Examples() ([]Doc, error)
Examples returns a list of HttpAuthUserTaskExamples as yaml
func (HttpAuthUserTask) Execute ¶
func (t HttpAuthUserTask) Execute() TaskOutputState
Execute manages the app's HTTP auth users
func (HttpAuthUserTask) ExportApp ¶
func (t HttpAuthUserTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's HTTP-auth users, each carrying the stored htpasswd hash. That is the whole point of exporting by hash: the recipe reproduces the users without anyone knowing the passwords behind them.
http-auth:export-users reads the same htpasswd the report derives its `users` key from, so it is the only probe needed here. A transport-level failure (`*subprocess.SSHError`) is propagated; any other failure is treated as "no users", matching the other readers in this package - that is what keeps a server without the http-auth plugin from raising an export warning for every app it has.
State is set explicitly so the emitted body is directly plannable, rather than depending on the decode-time default. It is `present`, not `set`, even though every listed user is exported and the sibling exact-set exporters (dokku_http_auth_domain, dokku_domains, dokku_ports) emit `set`: an exported recipe should not silently delete a user that exists only on the destination.
func (HttpAuthUserTask) ExportSupport ¶
func (t HttpAuthUserTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
Supported without a caveat because http-auth:export-users reads every user's htpasswd entry back, so an exported recipe reproduces the users with no operator-supplied credentials. That command is guaranteed by the >= 0.13.0 floor in Requirements(); the whole http-auth family already assumes it (a credential-free http-auth:enable is a 0.13.0 behaviour too), so there is no fallback for older plugins here.
func (HttpAuthUserTask) Plan ¶
func (t HttpAuthUserTask) Plan() PlanResult
Plan reports the drift the HttpAuthUserTask would produce.
func (HttpAuthUserTask) ProbeSupport ¶
func (t HttpAuthUserTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (HttpAuthUserTask) Requirements ¶
func (t HttpAuthUserTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (HttpAuthUserTask) SensitiveValues ¶
func (t HttpAuthUserTask) SensitiveValues() []string
SensitiveValues returns the per-user credentials so they are masked in user-facing output. The tag-based walker in sensitive.go does not descend into slices of structs, so they are collected here. Hashes are credential material too - they are what an attacker needs to reproduce the htpasswd - so they are masked alongside the cleartext passwords.
func (HttpAuthUserTask) Validate ¶
func (t HttpAuthUserTask) Validate() error
Validate checks the HttpAuthUserTask's inputs without contacting the server.
type HttpAuthUserTaskExample ¶
type HttpAuthUserTaskExample struct {
// Name is the task name holding the HttpAuthUserTask description
Name string `yaml:"-"`
// DokkuHttpAuthUser is the HttpAuthUserTask configuration
DokkuHttpAuthUser HttpAuthUserTask `yaml:"dokku_http_auth_user"`
}
HttpAuthUserTaskExample contains an example of an HttpAuthUserTask
func (HttpAuthUserTaskExample) GetName ¶
func (e HttpAuthUserTaskExample) GetName() string
GetName returns the name of the example
type IdentityCollection ¶
type IdentityCollection struct {
// Field is the Go struct field name.
Field string
// YAMLName is the recipe key, from the field's yaml tag.
YAMLName string
// Item says what identifies one entry in the collection.
Item ItemIdentity
// ItemKeys are the element struct's own identity key yaml names, in
// declaration order. Populated only when Item is ItemIdentityFields.
ItemKeys []string
}
IdentityCollection is one declared collection field.
func TaskIdentityCollections ¶
func TaskIdentityCollections(t Task) []IdentityCollection
TaskIdentityCollections returns t's declared collection fields in declaration order. Most tasks declare none and none declares more than one today, but the shape does not forbid it.
type IdentityCollectionSchema ¶
type IdentityCollectionSchema struct {
// Name is the collection's recipe key.
Name string `json:"name"`
// Item says what identifies one entry: "value", "map_key", or "fields".
Item ItemIdentity `json:"item"`
// ItemKeys are the element struct's own identity key names, in declaration
// order. Populated only when Item is "fields".
ItemKeys []string `json:"item_keys,omitempty"`
}
IdentityCollectionSchema is one `identity:"collection"` field.
type IdentityKey ¶
type IdentityKey struct {
// Field is the Go struct field name.
Field string
// YAMLName is the recipe key, from the field's yaml tag.
YAMLName string
// Value is the field's value rendered as a string.
Value string
// Present is false when the field holds its zero value. A key that is not
// present is omitted from the address, which is what lets the mutually
// exclusive app / global pair render honestly.
Present bool
}
IdentityKey is one declared key field, with the value it carries on the task instance it was read from. Value is empty and Present is false when read from a registry prototype, which is what the docs generator wants.
func TaskIdentity ¶
func TaskIdentity(t Task) []IdentityKey
TaskIdentity returns t's declared key fields in declaration order, each carrying the value it holds on t. Centralised so the loader, the export filter, and the docs generator share one read site, mirroring TaskProbeSupport and TaskExportSupport.
type IdentitySchema ¶
type IdentitySchema struct {
// Keys are the recipe keys of the identity key fields, in declaration
// order - the order IdentityAddress renders them in. A key holding its
// zero value is omitted from the rendered address, which is what lets the
// mutually exclusive app / global pair produce two different addresses.
//
// Derivable from the fields carrying `"identity": "key"`, and duplicated
// here because building a resource address is the main thing a consumer
// does with this.
Keys []string `json:"keys"`
// Collections are the collection fields the task manages wholesale.
Collections []IdentityCollectionSchema `json:"collections,omitempty"`
}
IdentitySchema is what a task addresses, projected from the `identity:"key"` and `identity:"collection"` field tags.
type Input ¶
type Input struct {
// Name is the name of the input
Name string `yaml:"name" json:"name"`
// Default is the default value of the input
Default string `yaml:"default" json:"default,omitempty"`
// Description is the description of the input
Description string `yaml:"description" json:"description,omitempty"`
// Required is a flag indicating if the input is required
Required bool `yaml:"required" json:"required,omitempty"`
// Sensitive marks the input's resolved value as a secret. When true,
// the value is masked as `***` anywhere it would otherwise appear in
// user-facing output (apply --verbose echoes, plan output, error
// messages, and the DOKKU_TRACE debug log).
Sensitive bool `yaml:"sensitive" json:"sensitive,omitempty"`
// Type is the type of the input
Type string `yaml:"type" json:"type,omitempty"`
// contains filtered or unexported fields
}
Input represents an input for a task
type InputValidator ¶
type InputValidator interface {
Validate() error
}
InputValidator is an optional interface a task implements to expose input-only validation: checks that are a pure function of the task's fields and require no server probing (empty-list-when-present, per-item required fields, enum values, mutually-exclusive fields, and so on).
A task's Plan() calls Validate() before it probes, so plan and apply surface these errors. `docket validate` calls the same Validate() offline (see validateTaskBody) so the identical conditional/semantic errors are caught without contacting a server. Implementations must never call a mutating or probing dokku command; that is what keeps validate offline.
type ItemIdentity ¶
type ItemIdentity string
ItemIdentity classifies what identifies one item inside a collection field.
const ( // ItemIdentityValue means the element value is the item's identity, as in // a `[]string` of domain names. ItemIdentityValue ItemIdentity = "value" // ItemIdentityMapKey means the map key is the item's identity, as in a // `map[string]string` of config pairs. ItemIdentityMapKey ItemIdentity = "map_key" // ItemIdentityFields means the element is a struct whose own // `identity:"key"` fields identify the item, as in PortMapping. ItemIdentityFields ItemIdentity = "fields" )
type ItemSchema ¶
type ItemSchema struct {
// KeyType is the map key's type. Present only on a dict; always "string"
// today.
KeyType string `json:"key_type,omitempty"`
// Type is the element's type: a scalar name, "object" when the element is
// a struct, or "any" when it is untyped.
Type string `json:"type"`
// Identity is what identifies one entry, for a field tagged
// `identity:"collection"`: "value", "map_key", or "fields". Absent on a
// collection the task treats as an attribute rather than as the set of
// items it manages.
Identity ItemIdentity `json:"identity,omitempty"`
// Keys are the element struct's own identity key names. Present only when
// Identity is "fields".
Keys []string `json:"keys,omitempty"`
// Fields are the element struct's own fields, in declaration order.
// Present only when Type is "object". An element struct declares the same
// tags a task does, so this is where a consumer learns that a
// HttpAuthUser's `password` is sensitive.
Fields []FieldSchema `json:"fields,omitempty"`
}
ItemSchema is the element shape of a list or dict field. `list` alone cannot tell a []string from a []PortMapping, which is the gap this closes.
type LetsencryptPropertyTask ¶
type LetsencryptPropertyTask SensitivePropertyFields
LetsencryptPropertyTask manages the letsencrypt configuration for a given dokku application
func (LetsencryptPropertyTask) Doc ¶
func (t LetsencryptPropertyTask) Doc() string
Doc returns the docblock for the letsencrypt property task
func (LetsencryptPropertyTask) Examples ¶
func (t LetsencryptPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the letsencrypt property task
func (LetsencryptPropertyTask) Execute ¶
func (t LetsencryptPropertyTask) Execute() TaskOutputState
Execute sets or unsets the letsencrypt property
func (LetsencryptPropertyTask) ExportApp ¶
func (t LetsencryptPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (LetsencryptPropertyTask) ExportGlobal ¶
func (t LetsencryptPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (LetsencryptPropertyTask) ExportSupport ¶
func (t LetsencryptPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (LetsencryptPropertyTask) Plan ¶
func (t LetsencryptPropertyTask) Plan() PlanResult
Plan reports the drift the LetsencryptPropertyTask would produce.
func (LetsencryptPropertyTask) ProbeSupport ¶
func (t LetsencryptPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
Supported without a caveat because dokku-letsencrypt 0.25.0+ reports the dynamic `dns-provider-*` family alongside the mapped properties, so every property this task manages is readable and converges (#449).
func (LetsencryptPropertyTask) PropertyTable ¶
func (t LetsencryptPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (LetsencryptPropertyTask) Requirements ¶
func (t LetsencryptPropertyTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on. The version floor is the release that surfaced `dns-provider-*` properties in `letsencrypt:report`; below it those properties are absent from the report and a `state: absent` task would read an unset property as already gone.
func (LetsencryptPropertyTask) Validate ¶
func (t LetsencryptPropertyTask) Validate() error
Validate checks the LetsencryptPropertyTask's inputs without contacting the server.
type LetsencryptPropertyTaskExample ¶
type LetsencryptPropertyTaskExample struct {
// Name is the task name holding the LetsencryptPropertyTask description
Name string `yaml:"-"`
// LetsencryptPropertyTask is the LetsencryptPropertyTask configuration
LetsencryptPropertyTask LetsencryptPropertyTask `yaml:"dokku_letsencrypt_property"`
}
LetsencryptPropertyTaskExample contains an example of a LetsencryptPropertyTask
func (LetsencryptPropertyTaskExample) GetName ¶
func (e LetsencryptPropertyTaskExample) GetName() string
GetName returns the name of the example
type LetsencryptTask ¶
type LetsencryptTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// State is the desired state of the letsencrypt integration
State State `` /* 141-byte string literal not displayed */
}
LetsencryptTask enables or disables the dokku-letsencrypt plugin for a dokku app
func (LetsencryptTask) Doc ¶
func (t LetsencryptTask) Doc() string
Doc returns the docblock for the letsencrypt task
func (LetsencryptTask) Examples ¶
func (t LetsencryptTask) Examples() ([]Doc, error)
Examples returns the examples for the letsencrypt task
func (LetsencryptTask) Execute ¶
func (t LetsencryptTask) Execute() TaskOutputState
Execute enables or disables letsencrypt
func (LetsencryptTask) ExportApp ¶
func (t LetsencryptTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_letsencrypt task when letsencrypt is active for the app (it is inactive by default, so a normal app needs no task).
func (LetsencryptTask) ExportSupport ¶
func (t LetsencryptTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (LetsencryptTask) Plan ¶
func (t LetsencryptTask) Plan() PlanResult
Plan reports the drift the LetsencryptTask would produce.
func (LetsencryptTask) ProbeSupport ¶
func (t LetsencryptTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (LetsencryptTask) Requirements ¶
func (t LetsencryptTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (LetsencryptTask) Validate ¶
func (t LetsencryptTask) Validate() error
Validate checks the LetsencryptTask's inputs without contacting the server.
type LetsencryptTaskExample ¶
type LetsencryptTaskExample struct {
// Name is the task name holding the LetsencryptTask description
Name string `yaml:"-"`
// LetsencryptTask is the LetsencryptTask configuration
LetsencryptTask LetsencryptTask `yaml:"dokku_letsencrypt"`
}
LetsencryptTaskExample contains an example of a LetsencryptTask
func (LetsencryptTaskExample) GetName ¶
func (e LetsencryptTaskExample) GetName() string
GetName returns the name of the example
type LogsPropertyTask ¶
type LogsPropertyTask PropertyFields
LogsPropertyTask manages the logs configuration for a given dokku application
func (LogsPropertyTask) Doc ¶
func (t LogsPropertyTask) Doc() string
Doc returns the docblock for the logs property task
func (LogsPropertyTask) Examples ¶
func (t LogsPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the logs property task
func (LogsPropertyTask) Execute ¶
func (t LogsPropertyTask) Execute() TaskOutputState
Execute sets or unsets the logs property
func (LogsPropertyTask) ExportApp ¶
func (t LogsPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (LogsPropertyTask) ExportGlobal ¶
func (t LogsPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (LogsPropertyTask) ExportSupport ¶
func (t LogsPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (LogsPropertyTask) Plan ¶
func (t LogsPropertyTask) Plan() PlanResult
Plan reports the drift the LogsPropertyTask would produce.
func (LogsPropertyTask) ProbeSupport ¶
func (t LogsPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (LogsPropertyTask) PropertyTable ¶
func (t LogsPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (LogsPropertyTask) Validate ¶
func (t LogsPropertyTask) Validate() error
Validate checks the LogsPropertyTask's inputs without contacting the server.
type LogsPropertyTaskExample ¶
type LogsPropertyTaskExample struct {
// Name is the task name holding the LogsPropertyTask description
Name string `yaml:"-"`
// LogsPropertyTask is the LogsPropertyTask configuration
LogsPropertyTask LogsPropertyTask `yaml:"dokku_logs_property"`
}
LogsPropertyTaskExample contains an example of a LogsPropertyTask
func (LogsPropertyTaskExample) GetName ¶
func (e LogsPropertyTaskExample) GetName() string
GetName returns the name of the example
type MaintenanceCustomPageTask ¶
type MaintenanceCustomPageTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Content is inline HTML stored as maintenance.html. Mutually exclusive
// with Tarball.
Content string `` /* 178-byte string literal not displayed */
// Tarball is the path on the machine running docket to a tar archive
// containing at least maintenance.html. Mutually exclusive with Content.
Tarball string `` /* 217-byte string literal not displayed */
// State is the desired state of the custom maintenance page
State State `` /* 141-byte string literal not displayed */
}
MaintenanceCustomPageTask installs (or removes) a custom maintenance page for a dokku app via the dokku-maintenance plugin. The page is delivered as a tar archive streamed to `dokku maintenance:custom-page <app>` on stdin, either built from inline HTML (Content) or read from a tarball on disk (Tarball).
func (MaintenanceCustomPageTask) Doc ¶
func (t MaintenanceCustomPageTask) Doc() string
Doc returns the docblock for the maintenance custom page task
func (MaintenanceCustomPageTask) Examples ¶
func (t MaintenanceCustomPageTask) Examples() ([]Doc, error)
Examples returns the examples for the maintenance custom page task
func (MaintenanceCustomPageTask) Execute ¶
func (t MaintenanceCustomPageTask) Execute() TaskOutputState
Execute installs or removes the custom maintenance page
func (MaintenanceCustomPageTask) ExportApp ¶
func (t MaintenanceCustomPageTask) ExportApp(app string) ([]interface{}, error)
ExportApp satisfies AppExporter by delegating to exportApp with a no-op warn callback. The export engine prefers ExportAppReport when present, so the dropped-assets diagnostic reaches ExportReport.Warnings rather than being discarded here.
func (MaintenanceCustomPageTask) ExportAppReport ¶
func (t MaintenanceCustomPageTask) ExportAppReport(app string, warn func(msg string)) ([]interface{}, error)
ExportAppReport is the diagnostics-aware form of ExportApp (the appExportReporter interface): it routes the "dropped extra assets" warning through the engine's warn callback (wired to ExportReport.Warnings) instead of a raw log line, so the warning is rendered and masked like every other export diagnostic.
func (MaintenanceCustomPageTask) ExportSupport ¶
func (t MaintenanceCustomPageTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (MaintenanceCustomPageTask) Plan ¶
func (t MaintenanceCustomPageTask) Plan() PlanResult
Plan reports the drift the MaintenanceCustomPageTask would produce.
func (MaintenanceCustomPageTask) ProbeSupport ¶
func (t MaintenanceCustomPageTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (MaintenanceCustomPageTask) Requirements ¶
func (t MaintenanceCustomPageTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (MaintenanceCustomPageTask) Validate ¶
func (t MaintenanceCustomPageTask) Validate() error
Validate checks the MaintenanceCustomPageTask's inputs without contacting the server.
type MaintenanceCustomPageTaskExample ¶
type MaintenanceCustomPageTaskExample struct {
// Name is the task name holding the MaintenanceCustomPageTask description
Name string `yaml:"-"`
// MaintenanceCustomPageTask is the MaintenanceCustomPageTask configuration
MaintenanceCustomPageTask MaintenanceCustomPageTask `yaml:"dokku_maintenance_custom_page"`
}
MaintenanceCustomPageTaskExample contains an example of a MaintenanceCustomPageTask
func (MaintenanceCustomPageTaskExample) GetName ¶
func (e MaintenanceCustomPageTaskExample) GetName() string
GetName returns the name of the example
type MaintenanceTask ¶
type MaintenanceTask ToggleFields
MaintenanceTask enables or disables maintenance mode for a given dokku application
func (MaintenanceTask) Doc ¶
func (t MaintenanceTask) Doc() string
Doc returns the docblock for the maintenance task
func (MaintenanceTask) Examples ¶
func (t MaintenanceTask) Examples() ([]Doc, error)
Examples returns the examples for the maintenance task
func (MaintenanceTask) Execute ¶
func (t MaintenanceTask) Execute() TaskOutputState
Execute enables or disables maintenance mode
func (MaintenanceTask) ExportApp ¶
func (t MaintenanceTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_maintenance task only when maintenance mode is on (it is off by default, so a normal app needs no task).
func (MaintenanceTask) ExportSupport ¶
func (t MaintenanceTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (MaintenanceTask) Plan ¶
func (t MaintenanceTask) Plan() PlanResult
Plan reports the drift the MaintenanceTask would produce.
func (MaintenanceTask) ProbeSupport ¶
func (t MaintenanceTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (MaintenanceTask) Requirements ¶
func (t MaintenanceTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
type MaintenanceTaskExample ¶
type MaintenanceTaskExample struct {
// Name is the task name holding the MaintenanceTask description
Name string `yaml:"-"`
// MaintenanceTask is the MaintenanceTask configuration
MaintenanceTask MaintenanceTask `yaml:"dokku_maintenance"`
}
MaintenanceTaskExample contains an example of a MaintenanceTask
func (MaintenanceTaskExample) GetName ¶
func (e MaintenanceTaskExample) GetName() string
GetName returns the name of the example
type NetworkPropertyTask ¶
type NetworkPropertyTask PropertyFields
NetworkPropertyTask manages the network property for a given dokku application
func (NetworkPropertyTask) Doc ¶
func (t NetworkPropertyTask) Doc() string
Doc returns the docblock for the network property task
func (NetworkPropertyTask) Examples ¶
func (t NetworkPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the network property task
func (NetworkPropertyTask) Execute ¶
func (t NetworkPropertyTask) Execute() TaskOutputState
Execute sets or unsets the network property
func (NetworkPropertyTask) ExportApp ¶
func (t NetworkPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (NetworkPropertyTask) ExportGlobal ¶
func (t NetworkPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (NetworkPropertyTask) ExportSupport ¶
func (t NetworkPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (NetworkPropertyTask) Plan ¶
func (t NetworkPropertyTask) Plan() PlanResult
Plan reports the drift the NetworkPropertyTask would produce.
func (NetworkPropertyTask) ProbeSupport ¶
func (t NetworkPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (NetworkPropertyTask) PropertyTable ¶
func (t NetworkPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (NetworkPropertyTask) Validate ¶
func (t NetworkPropertyTask) Validate() error
Validate checks the NetworkPropertyTask's inputs without contacting the server.
type NetworkPropertyTaskExample ¶
type NetworkPropertyTaskExample struct {
// Name is the task name holding the NetworkPropertyTask description
Name string `yaml:"-"`
// NetworkPropertyTask is the NetworkPropertyTask configuration
NetworkPropertyTask NetworkPropertyTask `yaml:"dokku_network_property"`
}
NetworkPropertyTaskExample contains an example of a NetworkPropertyTask
func (NetworkPropertyTaskExample) GetName ¶
func (e NetworkPropertyTaskExample) GetName() string
GetName returns the name of the example
type NetworkTask ¶
type NetworkTask struct {
// Name is the name of the network
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the network"`
// State is the state of the network
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"State of the network"`
}
NetworkTask creates or destroys a Docker network
func (NetworkTask) Doc ¶
func (t NetworkTask) Doc() string
Doc returns the docblock for the network task
func (NetworkTask) Examples ¶
func (t NetworkTask) Examples() ([]Doc, error)
Examples returns a list of NetworkTaskExamples as yaml
func (NetworkTask) Execute ¶
func (t NetworkTask) Execute() TaskOutputState
Execute creates or destroys a Docker network
func (NetworkTask) ExportGlobal ¶
func (t NetworkTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the server's dokku-created networks from `network:list --format json`, emitting a dokku_network task for each network reporting DokkuManaged. Networks docket did not create - Docker built-ins and networks from other tooling - report DokkuManaged false and are skipped. A dokku predating the DokkuManaged field reports it absent (decoding to false) for every network, so nothing is exported rather than every network being re-emitted.
func (NetworkTask) ExportSupport ¶
func (t NetworkTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (NetworkTask) Plan ¶
func (t NetworkTask) Plan() PlanResult
Plan reports the drift the NetworkTask would produce.
func (NetworkTask) ProbeSupport ¶
func (t NetworkTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type NetworkTaskExample ¶
type NetworkTaskExample struct {
// Name is the task name holding the NetworkTask description
Name string `yaml:"-"`
// DokkuNetwork is the NetworkTask configuration
DokkuNetwork NetworkTask `yaml:"dokku_network"`
}
NetworkTaskExample contains an example of a NetworkTask
func (NetworkTaskExample) GetName ¶
func (e NetworkTaskExample) GetName() string
GetName returns the name of the example
type NginxPropertyTask ¶
type NginxPropertyTask PropertyFields
NginxPropertyTask manages the nginx configuration for a given dokku application
func (NginxPropertyTask) Doc ¶
func (t NginxPropertyTask) Doc() string
Doc returns the docblock for the nginx property task
func (NginxPropertyTask) Examples ¶
func (t NginxPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the nginx property task
func (NginxPropertyTask) Execute ¶
func (t NginxPropertyTask) Execute() TaskOutputState
Execute sets or unsets the nginx property
func (NginxPropertyTask) ExportApp ¶
func (t NginxPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set nginx properties.
func (NginxPropertyTask) ExportGlobal ¶
func (t NginxPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (NginxPropertyTask) ExportSupport ¶
func (t NginxPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (NginxPropertyTask) Plan ¶
func (t NginxPropertyTask) Plan() PlanResult
Plan reports the drift the NginxPropertyTask would produce.
func (NginxPropertyTask) ProbeSupport ¶
func (t NginxPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (NginxPropertyTask) PropertyTable ¶
func (t NginxPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (NginxPropertyTask) Validate ¶
func (t NginxPropertyTask) Validate() error
Validate checks the NginxPropertyTask's inputs without contacting the server.
type NginxPropertyTaskExample ¶
type NginxPropertyTaskExample struct {
// Name is the task name holding the NginxPropertyTask description
Name string `yaml:"-"`
// NginxPropertyTask is the NginxPropertyTask configuration
NginxPropertyTask NginxPropertyTask `yaml:"dokku_nginx_property"`
}
NginxPropertyTaskExample contains an example of a NginxPropertyTask
func (NginxPropertyTaskExample) GetName ¶
func (e NginxPropertyTaskExample) GetName() string
GetName returns the name of the example
type OpenrestyPropertyTask ¶
type OpenrestyPropertyTask PropertyFields
OpenrestyPropertyTask manages the openresty configuration for a given dokku application
func (OpenrestyPropertyTask) Doc ¶
func (t OpenrestyPropertyTask) Doc() string
Doc returns the docblock for the openresty property task
func (OpenrestyPropertyTask) Examples ¶
func (t OpenrestyPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the openresty property task
func (OpenrestyPropertyTask) Execute ¶
func (t OpenrestyPropertyTask) Execute() TaskOutputState
Execute sets or unsets the openresty property
func (OpenrestyPropertyTask) ExportApp ¶
func (t OpenrestyPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (OpenrestyPropertyTask) ExportGlobal ¶
func (t OpenrestyPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (OpenrestyPropertyTask) ExportSupport ¶
func (t OpenrestyPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (OpenrestyPropertyTask) Plan ¶
func (t OpenrestyPropertyTask) Plan() PlanResult
Plan reports the drift the OpenrestyPropertyTask would produce.
func (OpenrestyPropertyTask) ProbeSupport ¶
func (t OpenrestyPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (OpenrestyPropertyTask) PropertyTable ¶
func (t OpenrestyPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (OpenrestyPropertyTask) Validate ¶
func (t OpenrestyPropertyTask) Validate() error
Validate checks the OpenrestyPropertyTask's inputs without contacting the server.
type OpenrestyPropertyTaskExample ¶
type OpenrestyPropertyTaskExample struct {
// Name is the task name holding the OpenrestyPropertyTask description
Name string `yaml:"-"`
// OpenrestyPropertyTask is the OpenrestyPropertyTask configuration
OpenrestyPropertyTask OpenrestyPropertyTask `yaml:"dokku_openresty_property"`
}
OpenrestyPropertyTaskExample contains an example of an OpenrestyPropertyTask
func (OpenrestyPropertyTaskExample) GetName ¶
func (e OpenrestyPropertyTaskExample) GetName() string
GetName returns the name of the example
type OrderedStringEnvelopeMap ¶
type OrderedStringEnvelopeMap struct {
// contains filtered or unexported fields
}
OrderedStringEnvelopeMap is an insertion-ordered map of TaskEnvelopes keyed by string. Keys() returns names in the order they were Set, which is the order GetTasks parsed them out of the recipe. Loop expansions each contribute their own key (`<name> (item=<value>)`) so the map's uniqueness invariant holds across expanded envelopes.
Get(name) returns the underlying Task so it stays ergonomic for tests that only care about the decoded task body. Envelope-aware callers (apply / plan, sensitive, validate) use GetEnvelope to access the cross-cutting fields (tags / when / loop / register).
func GetTasks ¶
func GetTasks(data []byte, context map[string]interface{}) (OrderedStringEnvelopeMap, error)
GetTasks is a back-compat shim that returns the first play's task envelopes. New code should call GetPlays. The wrapper is kept because a large number of unit tests (tasks/*_test.go) exercise GetTasks directly against single-play recipes; those tests inspect the flat ordered map without caring about the multi-play envelope.
func (*OrderedStringEnvelopeMap) Get ¶
func (o *OrderedStringEnvelopeMap) Get(k string) Task
Get returns the Task registered under k, or nil if absent. This is a convenience wrapper for callers that only need the task body.
func (*OrderedStringEnvelopeMap) GetEnvelope ¶
func (o *OrderedStringEnvelopeMap) GetEnvelope(k string) *TaskEnvelope
GetEnvelope returns the envelope registered under k, or nil if absent.
func (*OrderedStringEnvelopeMap) Keys ¶
func (o *OrderedStringEnvelopeMap) Keys() []string
Keys returns the registered keys in insertion order.
func (*OrderedStringEnvelopeMap) Set ¶
func (o *OrderedStringEnvelopeMap) Set(k string, env *TaskEnvelope)
Set registers env under k. Setting a key that already exists overwrites the value but does not record a duplicate key in the order list. The loader avoids overwrites by suffixing loop-expansion names.
type PlanResult ¶
type PlanResult struct {
// InSync is true when the task would not change anything.
InSync bool
// Status is the short marker for the drift kind.
Status PlanStatus
// Reason is human-readable detail (e.g. "ref drift", "2 keys to set").
Reason string
// Mutations optionally itemizes per-mutation drift for tasks that
// perform multiple operations (e.g. config setting and unsetting
// individual keys). One entry per atomic change.
Mutations []string
// Commands is the resolved dokku command line(s) that ExecutePlan
// would invoke if Plan reported drift, in invocation order. Tasks
// populate it via subprocess.ResolveCommandString from the same
// ExecCommandInput values the apply closure executes, so plan and
// apply render byte-identical strings for the same operation.
//
// Contract: non-empty whenever Status is "+", "~", or "-" (drift);
// empty when InSync is true or when Status is "!" (probe error).
// Sensitive values are already masked because ResolveCommandString
// runs MaskString on the rendered form.
Commands []string
// DesiredState mirrors TaskOutputState.DesiredState so plan output can
// render the same context as apply output.
DesiredState State
// Error is non-nil when the read-state probe itself failed. A non-nil
// Error implies Status == PlanStatusError.
Error error
// Stdout / Stderr / ExitCode capture the underlying subprocess
// response that produced a probe error. Populated by probe call
// sites that bubble a CallExecCommand failure into a PlanResult so
// `failed_when` predicates referencing `result.Stderr` work in plan
// mode the same way they do in apply mode. Empty / zero on the
// in-sync, drift, and apply-only paths.
Stdout string
Stderr string
ExitCode int
// Warnings carries non-fatal probe diagnostics raised while planning (for
// example a property probe that found no matching report key). The run
// loop drains them through EventEmitter.TaskWarning; ExecutePlan copies
// them onto TaskOutputState so the apply path surfaces them too. Stored
// raw and masked at emit time, mirroring Reason. Empty when no diagnostic.
Warnings []PlanWarning
// contains filtered or unexported fields
}
PlanResult is the read-only drift report for a task.
Plan() never mutates server state. The unexported apply closure carries any state probed during planning so the apply path does not re-probe; ExecutePlan is the only consumer. When InSync is true, apply is nil.
func DispatchPlan ¶
func DispatchPlan(state State, funcMap map[State]func() PlanResult) PlanResult
DispatchPlan looks up the given state in the funcMap, calls the matching function, and returns an error PlanResult if the state is not found. Mirrors DispatchState but for the read-only Plan() path.
func PlanErrorFromExec ¶
func PlanErrorFromExec(desiredState State, err error, r subprocess.ExecCommandResponse) PlanResult
PlanErrorFromExec wraps a probe-side CallExecCommand failure into a PlanResult that also carries the response's Stdout/Stderr/ExitCode. Probe helpers use it from their `if err != nil` branch so a later failed_when predicate can match `result.Stderr` in plan mode the same way it can in apply mode. desiredState is the state value the caller would have stored in PlanResult.DesiredState; pass the State argument the probe is processing.
type PlanStatus ¶
type PlanStatus string
PlanStatus is the short marker that summarizes a planned change.
const ( // PlanStatusOK indicates the task is in sync; no change would be made. PlanStatusOK PlanStatus = "ok" // PlanStatusModify indicates the task would modify existing state. PlanStatusModify PlanStatus = "~" // PlanStatusCreate indicates the task would create new state. PlanStatusCreate PlanStatus = "+" // PlanStatusDestroy indicates the task would remove existing state. PlanStatusDestroy PlanStatus = "-" // PlanStatusError indicates the read-state probe itself failed. PlanStatusError PlanStatus = "!" )
type PlanWarning ¶
PlanWarning is a non-fatal probe diagnostic a task's Plan() surfaces for the run loop to route through EventEmitter.TaskWarning. Reason is a stable machine key (see the WarnReason* constants) so JSON consumers can branch on a typed category; Message is human-readable detail, stored raw and masked at emit time like PlanResult.Reason.
type Play ¶
type Play struct {
// Name is the user-supplied label for the play. Auto-generated as
// "play #N" when the entry omits a name (see GetPlays).
Name string
// Tags is the play's tag list. Folded into every task envelope's Tags
// at parse time so the existing FilterByTags helper keeps working
// without a per-play branch.
Tags []string
// When is the raw expr-lang/expr source for the play-level conditional.
// An empty string means "always run". When non-empty, whenProgram caches
// the compiled form so the executor can re-evaluate cheaply.
When string
// Inputs is the play's own inputs declaration. Defaults layer above
// file-level defaults but below --vars-file / CLI overrides.
Inputs []Input
// Tasks is the per-play envelope map populated by GetPlays. Insertion
// order mirrors the play's tasks: source order.
Tasks OrderedStringEnvelopeMap
// contains filtered or unexported fields
}
Play is one entry in a docket recipe's top-level YAML list. A recipe may declare any number of plays; the executor walks them in order and bounds per-task state to the play's own context.
The envelope keys (Name, Tags, When, Inputs) sit alongside the per-play Tasks. Per-play Inputs override file-level defaults within their play but not across plays; CLI --name=value and --vars-file always win. Per-play Tags are inherited by every task in the play (additive with per-task tags already on the envelope).
The play's own When predicate is evaluated against the file-level merged context only - the play's own Inputs are not visible to its own When (the spec calls this circular). Per-task When inside the play does see the play's Inputs.
func GetPlays ¶
func GetPlays(data []byte, context map[string]interface{}, userSet map[string]bool) ([]*Play, error)
GetPlays parses data as a docket recipe and returns one Play per top-level entry, each carrying its own envelope map. The executor (commands/apply.go, commands/plan.go) walks the result in order.
The render pipeline is:
- Render the whole file with `context` (file-level inputs + vars-file + CLI overrides) for the structure pass. This catches template syntax errors at the same point GetTasks did before #208 and gives us the play count plus per-play metadata (name/tags/when/inputs).
- For each play, build a per-play context by layering the play's own `inputs:` defaults above file-level defaults, but only for keys the user has not overridden via --vars-file or CLI. The userSet map identifies user-overridden keys; pass nil to disable the layering (the GetTasks shim does this since back-compat tests do not need multi-play context).
- Re-render the whole file with the per-play context so task body templates substitute the play-local values, then walk to that play's tasks and build envelopes through the existing buildEnvelopesForEntry helper.
- Append the play's tags to every envelope (additive with per-task tags) so FilterByTags treats them uniformly.
Per-play `when:` predicates are pre-compiled here; the executor decides the evaluation context (file-level only, per the spec - the play's own inputs are not visible to its own when).
func GetPlaysWithFormat ¶
func GetPlaysWithFormat(data []byte, format string, context map[string]interface{}, userSet map[string]bool) ([]*Play, error)
GetPlaysWithFormat is the format-aware variant of GetPlays. format is one of "yaml" / "json5"; the empty string is treated as YAML. Parsing goes through the shared structural parser (tasks/parse.go) that also powers `docket validate`, so the loader and the validator agree on structural validity by construction; the first structural problem is converted into the loader's fail-fast error.
func (*Play) HasWhen ¶
HasWhen reports whether the play carries a non-empty `when:` predicate that must be evaluated before the play's tasks run.
func (*Play) IsFileLevel ¶
IsFileLevel reports whether this play is an inputs-only entry rather than a task play. The convention: a play with no tasks acts purely as a file-level inputs declaration (its `inputs:` are visible to every play's `when:` and to every task body); a play with tasks treats its inputs as play-local (visible to its tasks only).
func (*Play) WhenProgram ¶
WhenProgram returns the pre-compiled expr program for the play's When, or nil when no `when:` predicate is present.
type PluginTask ¶
type PluginTask struct {
// Name is the plugin name as it appears in plugin:list
Name string `required:"true" identity:"key" yaml:"name" description:"Plugin name as it appears in plugin:list"`
// URL is the git URL to install from. Required when state is present.
URL string `required:"false" yaml:"url,omitempty" description:"Git URL to install the plugin from. Required when state is present."`
// Committish is an optional git ref (branch, tag, or commit) to install
Committish string `required:"false" yaml:"committish,omitempty" description:"Optional git ref (branch, tag, or commit) to install"`
// State is the desired state of the plugin
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the plugin"`
}
PluginTask installs or uninstalls a third-party dokku plugin.
plugin:install and plugin:uninstall are root-level operations: over the SSH transport dokku wraps privilege server-side, and run locally docket must already be root. Idempotency is by plugin name only - a changed url or committish on an already-installed plugin is not detected.
func (PluginTask) Doc ¶
func (t PluginTask) Doc() string
Doc returns the docblock for the plugin task
func (PluginTask) Examples ¶
func (t PluginTask) Examples() ([]Doc, error)
Examples returns the examples for the plugin task
func (PluginTask) Execute ¶
func (t PluginTask) Execute() TaskOutputState
Execute installs or uninstalls the plugin
func (PluginTask) ExportGlobal ¶
func (t PluginTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the server's third-party plugins from `plugin:list --format json`, which exposes each plugin's install source URL, followed branch, and checked-out commit. Core plugins ship with dokku (and plugin:uninstall rejects them), and plugins without a git source (a tarball or local path) cannot be reinstalled declaratively, so both are skipped.
func (PluginTask) ExportSupport ¶
func (t PluginTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (PluginTask) Plan ¶
func (t PluginTask) Plan() PlanResult
Plan reports the drift the PluginTask would produce.
func (PluginTask) ProbeSupport ¶
func (t PluginTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (PluginTask) Validate ¶
func (t PluginTask) Validate() error
Validate checks the PluginTask's inputs without contacting the server.
type PluginTaskExample ¶
type PluginTaskExample struct {
// Name is the task name holding the PluginTask description
Name string `yaml:"-"`
// PluginTask is the PluginTask configuration
PluginTask PluginTask `yaml:"dokku_plugin"`
}
PluginTaskExample contains an example of a PluginTask
func (PluginTaskExample) GetName ¶
func (e PluginTaskExample) GetName() string
GetName returns the name of the example
type PortMapping ¶
type PortMapping struct {
// Scheme is the scheme of the port mapping
Scheme string `required:"true" identity:"key" yaml:"scheme" description:"Scheme of the port mapping"`
// Host is the host of the port mapping
Host int `required:"true" identity:"key" yaml:"host" description:"Host of the port mapping"`
// Container is the container of the port mapping
Container int `required:"true" yaml:"container" description:"Container of the port mapping"`
}
PortMapping represents a port mapping
func (PortMapping) String ¶
func (p PortMapping) String() string
String returns the string representation of the port mapping
type PortsTask ¶
type PortsTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// PortMappings are the port mappings to set
PortMappings []PortMapping `` /* 201-byte string literal not displayed */
// State is the desired state of the ports
State State `` /* 133-byte string literal not displayed */
}
PortsTask manages the ports for a given dokku application
func (PortsTask) Execute ¶
func (t PortsTask) Execute() TaskOutputState
Execute manages the app's port mappings
func (PortsTask) ExportApp ¶
ExportApp reads the app's port mappings and returns a dokku_ports task, or nil when none are configured. Mappings are sorted for deterministic output. state:set replaces the whole mapping list for an exact match.
func (PortsTask) ExportSupport ¶
func (t PortsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (PortsTask) Plan ¶
func (t PortsTask) Plan() PlanResult
Plan reports the drift the PortsTask would produce.
func (PortsTask) ProbeSupport ¶
func (t PortsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type PortsTaskExample ¶
type PortsTaskExample struct {
// Name is the task name holding the PortsTask description
Name string `yaml:"-"`
// PortsTask is the PortsTask configuration
PortsTask PortsTask `yaml:"dokku_ports"`
}
PortsTaskExample contains an example of a PortsTask
func (PortsTaskExample) GetName ¶
func (e PortsTaskExample) GetName() string
GetName returns the name of the example
type ProbeDocer ¶
type ProbeDocer interface {
ProbeSupport() ProbeSupport
}
ProbeDocer is the interface a task implements to declare whether Plan() can read its current state. Every registered task is expected to implement it - a coverage test enforces that so no task ships without a probe decision - but it is modelled as an optional interface to match ExportDocer, DeprecationDocer and RequirementsDocer. The docs generator renders the result in a Probe support section on the task's page, and `--list-tasks` marks the tasks that will never converge.
This declares a *structural* inability to read state: dokku exposes no command that reports the resource, so the answer is the same on every server and every run. It is not the same thing as a probe that fails at runtime - a stale property key map, an older plugin that rejects `:report --format json`, an unreachable host. Those stay what they are today: a PlanWarning (see WarnReasonUnknownProperty / WarnReasonProbeRejected) or a PlanStatusError, raised per-run by the probe call site, and they never change a task's declared status.
Nothing in the plan or apply path reads this: drift is decided entirely by each Plan() implementation. What keeps the declaration honest is TestProbeSupportMatchesPlanWiring, which fails when a task claims it can converge but one of its DispatchPlan branches has no reachable in-sync result (or when it claims it cannot and some branch does). Asking per branch rather than per Plan() is what stops a task that probes `present` and not `absent` from passing on the strength of its `present` branch alone.
type ProbeStatus ¶
type ProbeStatus string
ProbeStatus classifies how much of a task's current state Plan() can read back from the server before it decides whether to mutate.
const ( // ProbeSupported means Plan() reads the resource it manages, so a server // that already matches the recipe plans as in sync and a second apply is // a no-op. ProbeSupported ProbeStatus = "supported" // ProbePartial means Plan() reads some of the resource but not all of it: // a write-only field with no read command, or an idempotency key that is // coarser than the task's inputs. The task converges for the dimensions it // probes and plans as drift forever for the rest. ProbePartial ProbeStatus = "partial" // ProbeUnsupported means Plan() cannot read the resource at all. The task // plans as drift on every run and never converges, so a recipe containing // one never settles to `plan --detailed-exitcode` exit 0. ProbeUnsupported ProbeStatus = "unsupported" )
type ProbeSupport ¶
type ProbeSupport struct {
Status ProbeStatus `json:"status"`
Caveat string `json:"caveat,omitempty"`
}
ProbeSupport describes a task's read-state behaviour. Status is required; Caveat is a human-readable note naming what cannot be read (and may be empty for a task that probes everything it manages).
The json tags are for the task catalog, which publishes this verbatim.
func TaskProbeSupport ¶
func TaskProbeSupport(t Task) (ProbeSupport, bool)
TaskProbeSupport returns the probe support for t, and whether t declared it. Centralised so docs generation, --list-tasks, and the coverage test share one read site, mirroring TaskExportSupport.
type Problem ¶
type Problem struct {
Code string
Play string
Task string
Line int
Column int
Message string
Hint string
}
Problem is a single validation finding emitted by Validate.
Code is a stable machine-readable identifier so JSON consumers (and the follow-on issues that activate the placeholder checks) can branch without matching on free-form Message text. Line/Column are 1-based and 0 when the position cannot be derived from yaml.v3 anchors or the underlying parser.
func Validate ¶
func Validate(data []byte, opts ValidateOptions) []Problem
Validate parses data as a docket recipe and returns every problem it finds. It is offline by contract: the implementation must never invoke subprocess.CallExecCommand.
The validator first parses the raw bytes to extract input definitions, then renders the recipe through sigil with a context built from those defaults (plus a placeholder for any required input without a default) so structural checks operate on the same form `apply` would see. yaml.v3 line/column anchors from the rendered tree are used for error reporting. Source line numbers align with rendered line numbers as long as templates render inline, which is the case for typical recipes.
type PropertyEntrySchema ¶
type PropertyEntrySchema struct {
// Name is the value a recipe puts in `property:`.
Name string `json:"name"`
// Scopes is a non-empty subset of ["app", "global"], in that order. Using
// the property in a scope it does not list is rejected at validate time,
// matching dokku's own CLI rejection.
Scopes []string `json:"scopes"`
// AppReportKey and GlobalReportKey are the keys
// `dokku <plugin>:report --format json` emits for the property in each
// scope. Absent for a scope the property has no form in.
AppReportKey string `json:"app_report_key,omitempty"`
GlobalReportKey string `json:"global_report_key,omitempty"`
// Sensitive marks a property whose value is a secret.
Sensitive bool `json:"sensitive,omitempty"`
}
PropertyEntrySchema is one property name and where it may be used.
type PropertyFields ¶
type PropertyFields struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the property should be applied globally
Global bool `` /* 128-byte string literal not displayed */
// Property is the name of the property to set
Property string `required:"true" identity:"key" yaml:"property" description:"Name of the property to set"`
// Value is the value to set for the property
Value string `required:"false" yaml:"value,omitempty" description:"Value to set for the property"`
// State is the desired state of the property
State State `` /* 126-byte string literal not displayed */
}
PropertyFields is the recipe shape every app-or-global property task shares: the scope (`app` or `global`), the property being managed, its value, and whether it should be present or absent. A property task declares `type XPropertyTask PropertyFields` rather than restating the five fields, so a cross-cutting field change - the identity tags of #427, say - lands in one place instead of twenty-seven.
A defined type rather than an embedded struct because the field set stays flat to reflection: the catalog, the required-field walk behind missing_required_field, the identity walk that names an unnamed task, and the sensitive-value walks all read a task's fields at the top level, and an embedded field set would empty every one of them out.
The descriptions are deliberately plugin-agnostic. A task's page already names its plugin in the title, the synopsis and the Properties table, so repeating it in every parameter row bought nothing and cost twenty-seven copies of the field set. See TestPropertyTasksDeclareTheSharedFields for the tasks whose shape genuinely differs.
type PropertyKeys ¶
PropertyKeys carries the JSON keys that dokku <plugin>:report --format json emits for one property on dokku 0.38.8+. An empty string means the property has no form in that scope (so probing it in that scope is rejected at plan time, matching dokku's own CLI rejection).
Values point at the canonical bare-key shape (no <plugin>- prefix). The legacy <plugin>-prefixed keys remain emitted during the 0.38.x deprecation window but are ignored by the lookup.
Sensitive marks a property whose value is a secret (e.g. a password or a cluster token). When set, planProperty registers both the desired value and the server-probed current value with the masker, so the `(was %q)` drift reason and the command echo are masked. It is a per-property flag because a plugin usually has a mix of secret and benign properties.
type PropertySchema ¶
type PropertySchema struct {
// Plugin is the dokku plugin, for example "apps" or "scheduler-k3s".
Plugin string `json:"plugin"`
// Subcommand is the dokku subcommand a set or unset runs, for example
// "apps:set" or "buildpacks:set-property".
Subcommand string `json:"subcommand"`
// Field is the recipe key the table constrains. Always "property".
Field string `json:"field"`
// Properties are the enumerable property names, sorted.
Properties []PropertyEntrySchema `json:"properties"`
// Dynamic are the name families the table cannot enumerate, because dokku
// validates them through the set subcommand rather than through its report
// schema. A name matching one of these prefixes is legal even though it is
// absent from Properties.
Dynamic []DynamicPropertySchema `json:"dynamic,omitempty"`
// Rejected are the name families this task refuses because another task
// manages them. A name matching one of these prefixes is absent from
// Properties for a different reason than a typo is, and a consumer that
// reports it as an unknown name sends the user looking through a list it
// will never be in.
Rejected []RejectedPropertySchema `json:"rejected,omitempty"`
}
PropertySchema is the enumerable property table a *_property task manages - the real schema behind its free-form-looking `property` field.
type PropertyTable ¶
type PropertyTable struct {
// Subcommand is the dokku subcommand a set or unset runs, for example
// "apps:set" or "buildpacks:set-property".
Subcommand string
// Keys maps each supported property name to the JSON keys
// `dokku <plugin>:report --format json` emits for it per scope.
Keys map[string]PropertyKeys
// Rejected are the name families this task refuses outright because
// another task manages them. Checked before Keys, so a member is
// answered with the task that owns it rather than with the list of
// names this one supports.
Rejected []RejectedPropertyFamily
}
PropertyTable is the property schema one *_property task manages: the dokku subcommand a set/unset runs, and the report keys for every property name the task supports.
It is the single source of truth for that task. Plan(), Validate(), the two exporters and the machine-readable catalog all read the same value, because the shared helpers below take the task through PropertyTableDocer rather than taking a subcommand and a map as separate arguments. A task therefore cannot declare one table to the catalog and run against another.
func TaskPropertyTable ¶
func TaskPropertyTable(t Task) (PropertyTable, bool)
TaskPropertyTable returns t's property table and whether t declared one. Centralised so the catalog, the docs generator and the coverage test share one read site, mirroring TaskExportSupport and TaskProbeSupport.
func (PropertyTable) Plugin ¶
func (p PropertyTable) Plugin() string
Plugin returns the dokku plugin the table belongs to, derived from the subcommand: "apps:set" -> "apps".
type PropertyTableDocer ¶
type PropertyTableDocer interface {
PropertyTable() PropertyTable
}
PropertyTableDocer is implemented by every task that manages a dokku property table.
Unlike its siblings (ExportDocer, ProbeDocer) this one is not read only by the docs generator: planProperty, validatePropertyInput and the property exporters take it as their first argument, so a task cannot reach the shared property machinery without declaring the table the catalog publishes.
A task whose property names are validated by dokku rather than by docket - dokku_service_property, whose names come from whichever datastore plugin backs the service - deliberately does not implement it. See TestEveryPropertyTaskDeclaresPropertyTable.
type ProxyPropertyTask ¶
type ProxyPropertyTask PropertyFields
ProxyPropertyTask manages the proxy configuration for a given dokku application
func (ProxyPropertyTask) Doc ¶
func (t ProxyPropertyTask) Doc() string
Doc returns the docblock for the proxy property task
func (ProxyPropertyTask) Examples ¶
func (t ProxyPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the proxy property task
func (ProxyPropertyTask) Execute ¶
func (t ProxyPropertyTask) Execute() TaskOutputState
Execute sets or unsets the proxy property
func (ProxyPropertyTask) ExportApp ¶
func (t ProxyPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (ProxyPropertyTask) ExportGlobal ¶
func (t ProxyPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (ProxyPropertyTask) ExportSupport ¶
func (t ProxyPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ProxyPropertyTask) Plan ¶
func (t ProxyPropertyTask) Plan() PlanResult
Plan reports the drift the ProxyPropertyTask would produce.
func (ProxyPropertyTask) ProbeSupport ¶
func (t ProxyPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ProxyPropertyTask) PropertyTable ¶
func (t ProxyPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (ProxyPropertyTask) Validate ¶
func (t ProxyPropertyTask) Validate() error
Validate checks the ProxyPropertyTask's inputs without contacting the server.
type ProxyPropertyTaskExample ¶
type ProxyPropertyTaskExample struct {
// Name is the task name holding the ProxyPropertyTask description
Name string `yaml:"-"`
// ProxyPropertyTask is the ProxyPropertyTask configuration
ProxyPropertyTask ProxyPropertyTask `yaml:"dokku_proxy_property"`
}
ProxyPropertyTaskExample contains an example of a ProxyPropertyTask
func (ProxyPropertyTaskExample) GetName ¶
func (e ProxyPropertyTaskExample) GetName() string
GetName returns the name of the example
type ProxyToggleTask ¶
type ProxyToggleTask ToggleFields
ProxyToggleTask manages the proxy for a given dokku application
func (ProxyToggleTask) Doc ¶
func (t ProxyToggleTask) Doc() string
Doc returns the docblock for the proxy toggle task
func (ProxyToggleTask) Examples ¶
func (t ProxyToggleTask) Examples() ([]Doc, error)
Examples returns the examples for the proxy toggle task
func (ProxyToggleTask) Execute ¶
func (t ProxyToggleTask) Execute() TaskOutputState
Execute enables or disables the proxy
func (ProxyToggleTask) ExportApp ¶
func (t ProxyToggleTask) ExportApp(app string) ([]interface{}, error)
ExportApp emits a dokku_proxy_toggle task only when the proxy is disabled (it is enabled by default).
func (ProxyToggleTask) ExportSupport ¶
func (t ProxyToggleTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ProxyToggleTask) Plan ¶
func (t ProxyToggleTask) Plan() PlanResult
Plan reports the drift the ProxyToggleTask would produce.
func (ProxyToggleTask) ProbeSupport ¶
func (t ProxyToggleTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
type ProxyToggleTaskExample ¶
type ProxyToggleTaskExample struct {
// Name is the task name holding the ProxyToggleTask description
Name string `yaml:"-"`
// ProxyToggleTask is the ProxyToggleTask configuration
ProxyToggleTask ProxyToggleTask `yaml:"dokku_proxy_toggle"`
}
ProxyToggleTaskExample contains an example of a ProxyToggleTask
func (ProxyToggleTaskExample) GetName ¶
func (e ProxyToggleTaskExample) GetName() string
GetName returns the name of the example
type PsPropertyTask ¶
type PsPropertyTask PropertyFields
PsPropertyTask manages the ps configuration for a given dokku application
func (PsPropertyTask) Doc ¶
func (t PsPropertyTask) Doc() string
Doc returns the docblock for the ps property task
func (PsPropertyTask) Examples ¶
func (t PsPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the ps property task
func (PsPropertyTask) Execute ¶
func (t PsPropertyTask) Execute() TaskOutputState
Execute sets or unsets the ps property
func (PsPropertyTask) ExportApp ¶
func (t PsPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (PsPropertyTask) ExportGlobal ¶
func (t PsPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (PsPropertyTask) ExportSupport ¶
func (t PsPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (PsPropertyTask) Plan ¶
func (t PsPropertyTask) Plan() PlanResult
Plan reports the drift the PsPropertyTask would produce.
func (PsPropertyTask) ProbeSupport ¶
func (t PsPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (PsPropertyTask) PropertyTable ¶
func (t PsPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (PsPropertyTask) Validate ¶
func (t PsPropertyTask) Validate() error
Validate checks the PsPropertyTask's inputs without contacting the server.
type PsPropertyTaskExample ¶
type PsPropertyTaskExample struct {
// Name is the task name holding the PsPropertyTask description
Name string `yaml:"-"`
// PsPropertyTask is the PsPropertyTask configuration
PsPropertyTask PsPropertyTask `yaml:"dokku_ps_property"`
}
PsPropertyTaskExample contains an example of a PsPropertyTask
func (PsPropertyTaskExample) GetName ¶
func (e PsPropertyTaskExample) GetName() string
GetName returns the name of the example
type PsScaleTask ¶
type PsScaleTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Scale is a map of process types to quantities
Scale map[string]int `required:"true" identity:"collection" yaml:"scale" description:"Map of process types to quantities"`
// SkipDeploy skips the corresponding deploy. It is a *bool so the value
// survives decoding unchanged; nil defaults to false.
SkipDeploy *bool `yaml:"skip_deploy,omitempty" default:"false" description:"Skip the corresponding deploy"`
// State is the desired state of the process scale
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present" description:"Desired state of the process scale"`
}
PsScaleTask manages the process scale for a given dokku application
func (PsScaleTask) Doc ¶
func (t PsScaleTask) Doc() string
Doc returns the docblock for the ps scale task
func (PsScaleTask) Examples ¶
func (t PsScaleTask) Examples() ([]Doc, error)
Examples returns the examples for the ps scale task
func (PsScaleTask) Execute ¶
func (t PsScaleTask) Execute() TaskOutputState
Execute sets the process scale for a given dokku application
func (PsScaleTask) ExportApp ¶
func (t PsScaleTask) ExportApp(app string) ([]interface{}, error)
ExportApp reads the app's process scale and returns a dokku_ps_scale task when any process is scaled above zero (an undeployed app has nothing to set).
func (PsScaleTask) ExportSupport ¶
func (t PsScaleTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (PsScaleTask) Plan ¶
func (t PsScaleTask) Plan() PlanResult
Plan reports the drift the PsScaleTask would produce.
func (PsScaleTask) ProbeSupport ¶
func (t PsScaleTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (PsScaleTask) Validate ¶
func (t PsScaleTask) Validate() error
Validate checks the PsScaleTask's inputs without contacting the server.
type PsScaleTaskExample ¶
type PsScaleTaskExample struct {
// Name is the task name holding the PsScaleTask description
Name string `yaml:"-"`
// PsScaleTask is the PsScaleTask configuration
PsScaleTask PsScaleTask `yaml:"dokku_ps_scale"`
}
PsScaleTaskExample contains an example of a PsScaleTask
func (PsScaleTaskExample) GetName ¶
func (e PsScaleTaskExample) GetName() string
GetName returns the name of the example
type Recipe ¶
type Recipe []RecipeEntry
Recipe represents a docket recipe: a YAML list of plays. Each entry is a play envelope carrying the play-level metadata (name, tags, when, inputs) and the per-play tasks list. Single-play files are simply a one-element list and require no special handling.
func UnmarshalRecipe ¶
UnmarshalRecipe decodes data as a Recipe using the parser keyed by format. Exposed because the commands package's input-extraction path (parseInputDocument) needs the same dispatch and there is no benefit to duplicating the switch.
type RecipeEntry ¶
type RecipeEntry struct {
// Name is the play's user-facing label. Auto-generated as
// "play #N" by GetPlays when omitted.
Name string `yaml:"name,omitempty" json:"name,omitempty"`
// Tags accepts either a YAML list (`tags: [a, b]`) or a scalar
// (`tags: a`). Decoded via decodeTags into the Play.Tags slice.
Tags interface{} `yaml:"tags,omitempty" json:"tags,omitempty"`
// When is the raw expr source for the play-level conditional. Empty
// means "always run". Compiled into the Play.whenProgram by GetPlays.
When string `yaml:"when,omitempty" json:"when,omitempty"`
// Inputs are the play-local input defaults. Layer above file-level
// defaults but below --vars-file / CLI overrides (per-play merge
// happens in GetPlays).
Inputs []Input `yaml:"inputs,omitempty" json:"inputs,omitempty"`
// Tasks is the raw per-play task list, decoded into envelopes by
// GetPlays via buildEnvelopesForEntry.
Tasks []map[string]interface{} `yaml:"tasks,omitempty" json:"tasks,omitempty"`
}
RecipeEntry is the on-disk shape of one play. The yaml-unmarshalled form; the runtime-facing Play struct (in play.go) is built from this by GetPlays.
type RegisteredValue ¶
type RegisteredValue struct {
TaskOutputState
Results []TaskOutputState
}
RegisteredValue is the shape stored in the apply / plan run-wide registered map for a `register: <name>` task. Predicates reach it via `.registered.<name>`.
For non-loop tasks, the embedded TaskOutputState is the post-override result and Results is nil; predicates use `.registered.foo.Changed`, `.registered.foo.Error`, etc. directly.
For loop expansions, every iteration shares the same Register name. Results carries the per-iteration post-override states in source order. The embedded TaskOutputState is an Ansible-style aggregate across the iterations:
- Changed: true when any iteration's Changed is true.
- Error: the first non-nil error among iterations (nil when every iteration succeeded).
- State / DesiredState / Stdout / Stderr / ExitCode / Commands: the last iteration's values.
Embedded-struct field access works through expr-lang/expr because it uses reflect.Value.FieldByName, which traverses embedded fields.
func AggregateRegistered ¶
func AggregateRegistered(iter []TaskOutputState) RegisteredValue
AggregateRegistered builds a RegisteredValue from one or more per-iteration TaskOutputStates. Callers use it to roll a loop's expansions into a single registered value. Every loop expansion - including one that resolves to a single iteration - yields a Results list with one entry per iteration, so `.Results[0]` is always available for a register+loop task (the documented contract in docs/task-envelope.md). The empty input is the only nil-Results case.
type RegistryAuthTask ¶
type RegistryAuthTask struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the registry credential should be applied globally
Global bool `` /* 139-byte string literal not displayed */
// Server is the docker registry hostname (e.g. docker.io, ghcr.io)
Server string `required:"true" identity:"key" yaml:"server" description:"Docker registry hostname (e.g. docker.io, ghcr.io)"`
// Username is the registry username (required when state is present)
Username string `required:"false" yaml:"username,omitempty" description:"Registry username (required when state is present)"`
// Password is the registry password (required when state is present)
// The value is fed to dokku via --password-stdin and never appears on argv
Password string `required:"false" sensitive:"true" yaml:"password,omitempty" description:"Registry password (required when state is present)"`
// State is the desired state of the registry credential
State State `` /* 137-byte string literal not displayed */
}
RegistryAuthTask manages docker registry authentication for a dokku application or globally
func (RegistryAuthTask) Doc ¶
func (t RegistryAuthTask) Doc() string
Doc returns the docblock for the registry auth task
func (RegistryAuthTask) Examples ¶
func (t RegistryAuthTask) Examples() ([]Doc, error)
Examples returns the examples for the registry auth task
func (RegistryAuthTask) Execute ¶
func (t RegistryAuthTask) Execute() TaskOutputState
Execute manages the registry authentication
func (RegistryAuthTask) ExportSupport ¶
func (t RegistryAuthTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (RegistryAuthTask) Plan ¶
func (t RegistryAuthTask) Plan() PlanResult
Plan reports the drift the RegistryAuthTask would produce. dokku registry plugins do not expose a probe for current login state, so the plan reports drift unconditionally.
func (RegistryAuthTask) ProbeSupport ¶
func (t RegistryAuthTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (RegistryAuthTask) Validate ¶
func (t RegistryAuthTask) Validate() error
Validate checks the RegistryAuthTask's inputs without contacting the server.
type RegistryAuthTaskExample ¶
type RegistryAuthTaskExample struct {
// Name is the task name holding the RegistryAuthTask description
Name string `yaml:"-"`
// RegistryAuthTask is the RegistryAuthTask configuration
RegistryAuthTask RegistryAuthTask `yaml:"dokku_registry_auth"`
}
RegistryAuthTaskExample contains an example of a RegistryAuthTask
func (RegistryAuthTaskExample) GetName ¶
func (e RegistryAuthTaskExample) GetName() string
GetName returns the name of the example
type RegistryPropertyTask ¶
type RegistryPropertyTask PropertyFields
RegistryPropertyTask manages the registry configuration for a given dokku application
func (RegistryPropertyTask) Doc ¶
func (t RegistryPropertyTask) Doc() string
Doc returns the docblock for the registry property task
func (RegistryPropertyTask) Examples ¶
func (t RegistryPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the registry property task
func (RegistryPropertyTask) Execute ¶
func (t RegistryPropertyTask) Execute() TaskOutputState
Execute sets or unsets the registry property
func (RegistryPropertyTask) ExportApp ¶
func (t RegistryPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (RegistryPropertyTask) ExportGlobal ¶
func (t RegistryPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (RegistryPropertyTask) ExportSupport ¶
func (t RegistryPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (RegistryPropertyTask) Plan ¶
func (t RegistryPropertyTask) Plan() PlanResult
Plan reports the drift the RegistryPropertyTask would produce.
func (RegistryPropertyTask) ProbeSupport ¶
func (t RegistryPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (RegistryPropertyTask) PropertyTable ¶
func (t RegistryPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (RegistryPropertyTask) Validate ¶
func (t RegistryPropertyTask) Validate() error
Validate checks the RegistryPropertyTask's inputs without contacting the server.
type RegistryPropertyTaskExample ¶
type RegistryPropertyTaskExample struct {
// Name is the task name holding the RegistryPropertyTask description
Name string `yaml:"-"`
// RegistryPropertyTask is the RegistryPropertyTask configuration
RegistryPropertyTask RegistryPropertyTask `yaml:"dokku_registry_property"`
}
RegistryPropertyTaskExample contains an example of a RegistryPropertyTask
func (RegistryPropertyTaskExample) GetName ¶
func (e RegistryPropertyTaskExample) GetName() string
GetName returns the name of the example
type RejectedPropertyFamily ¶
type RejectedPropertyFamily struct {
// Prefix is what a member's name starts with, for example "chart.".
Prefix string
// Replacement is the task type that manages the family instead, for
// example "dokku_scheduler_k3s_chart".
Replacement string
// Reason says why this task does not manage it, as a clause that reads
// after a semicolon: "the scheduler-k3s:set path for chart values is
// deprecated in dokku".
Reason string
}
RejectedPropertyFamily is a family of property names, matched by prefix, that a task deliberately refuses because another task owns them.
It is not the same as a name simply being absent from Keys. An absent name is a typo, and the right answer is the list of names that are supported; a rejected family is a name the user meant, written against the wrong task, and the only useful answer is which task to write it against instead. Offering the supported list there sends the user looking for something that is not on it (#458).
Declaring it on the table rather than guarding inside Plan() is what keeps plan, apply and validate on the same message: validatePropertyInput is the one function both paths reach, and it is where the family is checked.
type RejectedPropertySchema ¶
type RejectedPropertySchema struct {
// Prefix is what a member's name starts with.
Prefix string `json:"prefix"`
// Replacement is the task type to write the property against instead.
Replacement string `json:"replacement"`
// Reason says why this task does not manage the family.
Reason string `json:"reason"`
}
RejectedPropertySchema is a family of property names the task refuses, matched by prefix, and the task that manages them instead.
func RejectedPropertyFamilies ¶
func RejectedPropertyFamilies(table PropertyTable) []RejectedPropertySchema
RejectedPropertyFamilies returns the name families a table refuses, sorted by prefix, in the form the task catalog publishes. Exported so a consumer validating a recipe offline can answer a rejected name the way docket does - with the task that manages it - instead of reporting it as unknown.
type RequirementsDocer ¶
type RequirementsDocer interface {
Requirements() []string
}
RequirementsDocer is an optional interface a task implements when it depends on a dokku plugin that is not part of dokku core. The docs generator renders the returned entries in a Requirements section on the task's page. Each entry names a plugin and may carry a parenthetical qualifier when the dependency is conditional.
type ResourceContext ¶
type ResourceContext struct {
// App is the name of the app
App string
// ProcessType is the process type to filter resources for
ProcessType string
// Resources is a map of resource type to quantity
Resources map[string]string
// ClearBefore clears all resources before applying new ones
ClearBefore bool
}
ResourceContext represents the context for a resource operation
type ResourceLimitTask ¶
type ResourceLimitTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// ProcessType is the process type to set resource limits for
ProcessType string `required:"false" identity:"key" yaml:"process_type,omitempty" description:"Process type to set resource limits for"`
// Resources is a map of resource type to quantity
Resources map[string]string `identity:"collection" yaml:"resources" description:"Map of resource type to quantity"`
// ClearBefore clears all resource limits before applying new ones. It is a
// *bool so the value survives decoding unchanged; nil defaults to false.
ClearBefore *bool `yaml:"clear_before,omitempty" default:"false" description:"ClearBefore clears all resource limits before applying new ones"`
// State is the desired state of the resource limits
State State `` /* 133-byte string literal not displayed */
}
ResourceLimitTask manages the resource limits for a given dokku application
func (ResourceLimitTask) Doc ¶
func (t ResourceLimitTask) Doc() string
Doc returns the docblock for the resource limit task
func (ResourceLimitTask) Examples ¶
func (t ResourceLimitTask) Examples() ([]Doc, error)
Examples returns the examples for the resource limit task
func (ResourceLimitTask) Execute ¶
func (t ResourceLimitTask) Execute() TaskOutputState
Execute sets or clears the resource limits for a given dokku application
func (ResourceLimitTask) ExportApp ¶
func (t ResourceLimitTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's resource limits, one task per process type.
func (ResourceLimitTask) ExportSupport ¶
func (t ResourceLimitTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ResourceLimitTask) Plan ¶
func (t ResourceLimitTask) Plan() PlanResult
Plan reports the drift the ResourceLimitTask would produce.
func (ResourceLimitTask) ProbeSupport ¶
func (t ResourceLimitTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ResourceLimitTask) Validate ¶
func (t ResourceLimitTask) Validate() error
Validate checks the ResourceLimitTask's inputs without contacting the server.
type ResourceLimitTaskExample ¶
type ResourceLimitTaskExample struct {
// Name is the task name holding the ResourceLimitTask description
Name string `yaml:"-"`
// ResourceLimitTask is the ResourceLimitTask configuration
ResourceLimitTask ResourceLimitTask `yaml:"dokku_resource_limit"`
}
ResourceLimitTaskExample contains an example of a ResourceLimitTask
func (ResourceLimitTaskExample) GetName ¶
func (e ResourceLimitTaskExample) GetName() string
GetName returns the name of the example
type ResourceReserveTask ¶
type ResourceReserveTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// ProcessType is the process type to set resource reservations for
ProcessType string `required:"false" identity:"key" yaml:"process_type,omitempty" description:"Process type to set resource reservations for"`
// Resources is a map of resource type to quantity
Resources map[string]string `identity:"collection" yaml:"resources" description:"Map of resource type to quantity"`
// ClearBefore clears all resource reservations before applying new ones. It
// is a *bool so the value survives decoding unchanged; nil defaults to false.
ClearBefore *bool `` /* 129-byte string literal not displayed */
// State is the desired state of the resource reservations
State State `` /* 139-byte string literal not displayed */
}
ResourceReserveTask manages the resource reservations for a given dokku application
func (ResourceReserveTask) Doc ¶
func (t ResourceReserveTask) Doc() string
Doc returns the docblock for the resource reserve task
func (ResourceReserveTask) Examples ¶
func (t ResourceReserveTask) Examples() ([]Doc, error)
Examples returns the examples for the resource reserve task
func (ResourceReserveTask) Execute ¶
func (t ResourceReserveTask) Execute() TaskOutputState
Execute sets or clears the resource reservations for a given dokku application
func (ResourceReserveTask) ExportApp ¶
func (t ResourceReserveTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's resource reservations, one task per process type.
func (ResourceReserveTask) ExportSupport ¶
func (t ResourceReserveTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ResourceReserveTask) Plan ¶
func (t ResourceReserveTask) Plan() PlanResult
Plan reports the drift the ResourceReserveTask would produce.
func (ResourceReserveTask) ProbeSupport ¶
func (t ResourceReserveTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ResourceReserveTask) Validate ¶
func (t ResourceReserveTask) Validate() error
Validate checks the ResourceReserveTask's inputs without contacting the server.
type ResourceReserveTaskExample ¶
type ResourceReserveTaskExample struct {
// Name is the task name holding the ResourceReserveTask description
Name string `yaml:"-"`
// ResourceReserveTask is the ResourceReserveTask configuration
ResourceReserveTask ResourceReserveTask `yaml:"dokku_resource_reserve"`
}
ResourceReserveTaskExample contains an example of a ResourceReserveTask
func (ResourceReserveTaskExample) GetName ¶
func (e ResourceReserveTaskExample) GetName() string
GetName returns the name of the example
type ResourceSelector ¶
type ResourceSelector struct {
// Address is the address as the user wrote it, for diagnostics.
Address string
// TypeKey is the registered task name, e.g. "dokku_config".
TypeKey string
// Keys are the identity key values the address pinned, by yaml name.
Keys map[string]string
}
ResourceSelector is one parsed `docket export --resource` address: which task type to export, and which of that type's identity keys the address pinned. An empty Keys map means "every resource of this type".
func ParseResourceSelectors ¶
func ParseResourceSelectors(addresses []string) ([]ResourceSelector, error)
ParseResourceSelectors parses and validates every --resource value.
Validation happens here, before the export contacts the server, so a typo in an address fails immediately rather than after an SSH round trip. Three things are checked: the type resolves to a registered task, that task is actually reachable from ExportRecipe, and every key the address names is one the task declares.
type SchedulerDockerLocalPropertyTask ¶
type SchedulerDockerLocalPropertyTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Property is the name of the scheduler-docker-local property to set
Property string `required:"true" identity:"key" yaml:"property" description:"Name of the scheduler-docker-local property to set"`
// Value is the value to set for the scheduler-docker-local property
Value string `required:"false" yaml:"value,omitempty" description:"Value to set for the scheduler-docker-local property"`
// State is the desired state of the scheduler-docker-local configuration
State State `` /* 154-byte string literal not displayed */
}
SchedulerDockerLocalPropertyTask manages the scheduler-docker-local configuration for a given dokku application
func (SchedulerDockerLocalPropertyTask) Doc ¶
func (t SchedulerDockerLocalPropertyTask) Doc() string
Doc returns the docblock for the scheduler-docker-local property task
func (SchedulerDockerLocalPropertyTask) Examples ¶
func (t SchedulerDockerLocalPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-docker-local property task
func (SchedulerDockerLocalPropertyTask) Execute ¶
func (t SchedulerDockerLocalPropertyTask) Execute() TaskOutputState
Execute sets or unsets the scheduler-docker-local property
func (SchedulerDockerLocalPropertyTask) ExportApp ¶
func (t SchedulerDockerLocalPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (SchedulerDockerLocalPropertyTask) ExportSupport ¶
func (t SchedulerDockerLocalPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerDockerLocalPropertyTask) Plan ¶
func (t SchedulerDockerLocalPropertyTask) Plan() PlanResult
Plan reports the drift the SchedulerDockerLocalPropertyTask would produce.
func (SchedulerDockerLocalPropertyTask) ProbeSupport ¶
func (t SchedulerDockerLocalPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerDockerLocalPropertyTask) PropertyTable ¶
func (t SchedulerDockerLocalPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (SchedulerDockerLocalPropertyTask) Validate ¶
func (t SchedulerDockerLocalPropertyTask) Validate() error
Validate checks the SchedulerDockerLocalPropertyTask's inputs without contacting the server.
type SchedulerDockerLocalPropertyTaskExample ¶
type SchedulerDockerLocalPropertyTaskExample struct {
// Name is the task name holding the SchedulerDockerLocalPropertyTask description
Name string `yaml:"-"`
// SchedulerDockerLocalPropertyTask is the SchedulerDockerLocalPropertyTask configuration
SchedulerDockerLocalPropertyTask SchedulerDockerLocalPropertyTask `yaml:"dokku_scheduler_docker_local_property"`
}
SchedulerDockerLocalPropertyTaskExample contains an example of a SchedulerDockerLocalPropertyTask
func (SchedulerDockerLocalPropertyTaskExample) GetName ¶
func (e SchedulerDockerLocalPropertyTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sAnnotationsTask ¶
type SchedulerK3sAnnotationsTask struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the annotations should be applied globally
Global bool `` /* 131-byte string literal not displayed */
// ProcessType narrows the annotations to a specific process type. When
// empty, dokku stores the annotations under its default global process
// type.
ProcessType string `` /* 165-byte string literal not displayed */
// ResourceType narrows the annotations to a specific kubernetes resource
// type (e.g. deployment, ingress, service). Required, mirroring dokku's
// own scheduler-k3s:annotations:set rejection of empty resource types.
ResourceType string `` /* 146-byte string literal not displayed */
// Annotations is the desired set of annotation key/value pairs to apply at
// the (process_type, resource_type) scope.
Annotations map[string]string `` /* 135-byte string literal not displayed */
// State is the desired state of the annotations
State State `` /* 129-byte string literal not displayed */
}
SchedulerK3sAnnotationsTask manages a group of scheduler-k3s annotations scoped to a (process_type, resource_type) pair on a dokku application or globally.
func (SchedulerK3sAnnotationsTask) Doc ¶
func (t SchedulerK3sAnnotationsTask) Doc() string
Doc returns the docblock for the scheduler-k3s annotations task
func (SchedulerK3sAnnotationsTask) Examples ¶
func (t SchedulerK3sAnnotationsTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s annotations task
func (SchedulerK3sAnnotationsTask) Execute ¶
func (t SchedulerK3sAnnotationsTask) Execute() TaskOutputState
Execute sets or clears the scheduler-k3s annotations for the configured scope
func (SchedulerK3sAnnotationsTask) ExportApp ¶
func (t SchedulerK3sAnnotationsTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's annotations, one task per (process_type, resource_type) scope, from scheduler-k3s:annotations:report.
func (SchedulerK3sAnnotationsTask) ExportGlobal ¶
func (t SchedulerK3sAnnotationsTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the global-scope annotations, one task per (process_type, resource_type) scope, from scheduler-k3s:annotations:report.
func (SchedulerK3sAnnotationsTask) ExportSupport ¶
func (t SchedulerK3sAnnotationsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sAnnotationsTask) Plan ¶
func (t SchedulerK3sAnnotationsTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sAnnotationsTask would produce.
func (SchedulerK3sAnnotationsTask) ProbeSupport ¶
func (t SchedulerK3sAnnotationsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sAnnotationsTask) Validate ¶
func (t SchedulerK3sAnnotationsTask) Validate() error
Validate checks the SchedulerK3sAnnotationsTask's inputs without contacting the server.
type SchedulerK3sAnnotationsTaskExample ¶
type SchedulerK3sAnnotationsTaskExample struct {
// Name is the task name holding the SchedulerK3sAnnotationsTask description
Name string `yaml:"-"`
// SchedulerK3sAnnotationsTask is the SchedulerK3sAnnotationsTask configuration
SchedulerK3sAnnotationsTask SchedulerK3sAnnotationsTask `yaml:"dokku_scheduler_k3s_annotations"`
}
SchedulerK3sAnnotationsTaskExample contains an example of a SchedulerK3sAnnotationsTask
func (SchedulerK3sAnnotationsTaskExample) GetName ¶
func (e SchedulerK3sAnnotationsTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sAutoscalingAuthTask ¶
type SchedulerK3sAutoscalingAuthTask struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the trigger authentication should be
// applied globally instead of on a single app.
Global bool `` /* 142-byte string literal not displayed */
// Trigger is the name of the KEDA trigger authentication resource that
// groups the metadata keys.
Trigger string `required:"true" identity:"key" yaml:"trigger" description:"Name of the KEDA trigger authentication resource"`
// Metadata is the set of metadata key/value pairs to apply to the
// trigger. On present, these keys are written and merged with any other
// keys dokku already stores under the trigger. On absent, only the listed
// keys are cleared; their values are ignored.
Metadata map[string]string `` /* 174-byte string literal not displayed */
// State is the desired state of the trigger authentication metadata.
State State `` /* 149-byte string literal not displayed */
}
SchedulerK3sAutoscalingAuthTask manages the KEDA TriggerAuthentication metadata stored under a single trigger for a dokku application or globally.
func (SchedulerK3sAutoscalingAuthTask) Doc ¶
func (t SchedulerK3sAutoscalingAuthTask) Doc() string
Doc returns the docblock for the scheduler-k3s autoscaling-auth task
func (SchedulerK3sAutoscalingAuthTask) Examples ¶
func (t SchedulerK3sAutoscalingAuthTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s autoscaling-auth task
func (SchedulerK3sAutoscalingAuthTask) Execute ¶
func (t SchedulerK3sAutoscalingAuthTask) Execute() TaskOutputState
Execute sets or clears the scheduler-k3s autoscaling trigger authentication metadata
func (SchedulerK3sAutoscalingAuthTask) ExportApp ¶
func (t SchedulerK3sAutoscalingAuthTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's trigger authentication metadata, one task per trigger, from scheduler-k3s:autoscaling-auth:report. The metadata values are secrets; the export engine lifts them into the companion vars-file.
func (SchedulerK3sAutoscalingAuthTask) ExportGlobal ¶
func (t SchedulerK3sAutoscalingAuthTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the global-scope trigger authentication metadata, one task per trigger, from scheduler-k3s:autoscaling-auth:report.
func (SchedulerK3sAutoscalingAuthTask) ExportSupport ¶
func (t SchedulerK3sAutoscalingAuthTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sAutoscalingAuthTask) Plan ¶
func (t SchedulerK3sAutoscalingAuthTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sAutoscalingAuthTask would produce.
func (SchedulerK3sAutoscalingAuthTask) ProbeSupport ¶
func (t SchedulerK3sAutoscalingAuthTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sAutoscalingAuthTask) SensitiveValues ¶
func (t SchedulerK3sAutoscalingAuthTask) SensitiveValues() []string
SensitiveValues returns the trigger-authentication metadata values so they are masked in user-facing output. Every metadata value is a secret regardless of its key (the same shape as dokku_config), and the tag-based walker cannot reach a map on this task, so the values are collected here. The absent state leaves the values empty; those are dropped by the masker. Server-probed values (a drifted or surviving value) are registered separately at plan time, since they are not known from the task struct.
func (SchedulerK3sAutoscalingAuthTask) Validate ¶
func (t SchedulerK3sAutoscalingAuthTask) Validate() error
Validate checks the SchedulerK3sAutoscalingAuthTask's inputs without contacting the server.
type SchedulerK3sAutoscalingAuthTaskExample ¶
type SchedulerK3sAutoscalingAuthTaskExample struct {
// Name is the task name holding the SchedulerK3sAutoscalingAuthTask description
Name string `yaml:"-"`
// SchedulerK3sAutoscalingAuthTask is the SchedulerK3sAutoscalingAuthTask configuration
SchedulerK3sAutoscalingAuthTask SchedulerK3sAutoscalingAuthTask `yaml:"dokku_scheduler_k3s_autoscaling_auth"`
}
SchedulerK3sAutoscalingAuthTaskExample contains an example of a SchedulerK3sAutoscalingAuthTask
func (SchedulerK3sAutoscalingAuthTaskExample) GetName ¶
func (e SchedulerK3sAutoscalingAuthTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sChartTask ¶
type SchedulerK3sChartTask struct {
// Chart is the helm chart whose values to manage. Dokku validates the
// chart name against its known HelmCharts list at apply time.
Chart string `` /* 158-byte string literal not displayed */
// Values is the desired set of helm value overrides. It accepts either
// a flat map of dotted Helm property paths (e.g. resources.limits.cpu)
// or a nested tree (resources: { limits: { cpu: 200m } }). Both shapes
// flatten to the same dotted form before being handed to dokku. See
// flattenChartValues for the exact coalescing rules, including the
// nested-segment escaping that lets dotted leaf keys survive Helm's
// strvals parser.
Values map[string]any `` /* 351-byte string literal not displayed */
// State is the desired state of the chart values.
State State `` /* 131-byte string literal not displayed */
}
SchedulerK3sChartTask manages helm chart value overrides for one of dokku's bundled scheduler-k3s charts via the dokku `scheduler-k3s:charts:set` / `:charts:report` subcommands. Chart values are global by design in dokku, so the task carries no app/global toggle.
func (SchedulerK3sChartTask) Doc ¶
func (t SchedulerK3sChartTask) Doc() string
Doc returns the docblock for the scheduler-k3s chart task
func (SchedulerK3sChartTask) Examples ¶
func (t SchedulerK3sChartTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s chart task
func (SchedulerK3sChartTask) Execute ¶
func (t SchedulerK3sChartTask) Execute() TaskOutputState
Execute sets or clears the configured chart values
func (SchedulerK3sChartTask) ExportGlobal ¶
func (t SchedulerK3sChartTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs helm chart value overrides from charts:report, which returns every override keyed "<chart>.<key>". Values are grouped into one task per chart, keyed by the dotted override path.
func (SchedulerK3sChartTask) ExportSupport ¶
func (t SchedulerK3sChartTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sChartTask) Plan ¶
func (t SchedulerK3sChartTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sChartTask would produce.
func (SchedulerK3sChartTask) ProbeSupport ¶
func (t SchedulerK3sChartTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sChartTask) Validate ¶
func (t SchedulerK3sChartTask) Validate() error
Validate checks the SchedulerK3sChartTask's inputs without contacting the server.
type SchedulerK3sChartTaskExample ¶
type SchedulerK3sChartTaskExample struct {
// Name is the task name holding the SchedulerK3sChartTask description
Name string `yaml:"-"`
// SchedulerK3sChartTask is the SchedulerK3sChartTask configuration
SchedulerK3sChartTask SchedulerK3sChartTask `yaml:"dokku_scheduler_k3s_chart"`
}
SchedulerK3sChartTaskExample contains an example of a SchedulerK3sChartTask
func (SchedulerK3sChartTaskExample) GetName ¶
func (e SchedulerK3sChartTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sLabelsTask ¶
type SchedulerK3sLabelsTask struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the labels should be applied globally
Global bool `` /* 126-byte string literal not displayed */
// ProcessType narrows the labels to a specific process type. When empty,
// dokku stores the labels under its default global process type.
ProcessType string `` /* 160-byte string literal not displayed */
// ResourceType narrows the labels to a specific kubernetes resource type
// (e.g. deployment, ingress, service). Required, mirroring dokku's own
// scheduler-k3s:labels:set rejection of empty resource types.
ResourceType string `` /* 141-byte string literal not displayed */
// Labels is the desired set of label key/value pairs to apply at the
// (process_type, resource_type) scope.
Labels map[string]string `required:"false" identity:"collection" yaml:"labels,omitempty" description:"Map of label key to value to apply at the scope."`
// State is the desired state of the labels
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the labels"`
}
SchedulerK3sLabelsTask manages a group of scheduler-k3s labels scoped to a (process_type, resource_type) pair on a dokku application or globally.
func (SchedulerK3sLabelsTask) Doc ¶
func (t SchedulerK3sLabelsTask) Doc() string
Doc returns the docblock for the scheduler-k3s labels task
func (SchedulerK3sLabelsTask) Examples ¶
func (t SchedulerK3sLabelsTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s labels task
func (SchedulerK3sLabelsTask) Execute ¶
func (t SchedulerK3sLabelsTask) Execute() TaskOutputState
Execute sets or clears the scheduler-k3s labels for the configured scope
func (SchedulerK3sLabelsTask) ExportApp ¶
func (t SchedulerK3sLabelsTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's labels, one task per (process_type, resource_type) scope, from scheduler-k3s:labels:report.
func (SchedulerK3sLabelsTask) ExportGlobal ¶
func (t SchedulerK3sLabelsTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the global-scope labels, one task per (process_type, resource_type) scope, from scheduler-k3s:labels:report.
func (SchedulerK3sLabelsTask) ExportSupport ¶
func (t SchedulerK3sLabelsTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sLabelsTask) Plan ¶
func (t SchedulerK3sLabelsTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sLabelsTask would produce.
func (SchedulerK3sLabelsTask) ProbeSupport ¶
func (t SchedulerK3sLabelsTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sLabelsTask) Validate ¶
func (t SchedulerK3sLabelsTask) Validate() error
Validate checks the SchedulerK3sLabelsTask's inputs without contacting the server.
type SchedulerK3sLabelsTaskExample ¶
type SchedulerK3sLabelsTaskExample struct {
// Name is the task name holding the SchedulerK3sLabelsTask description
Name string `yaml:"-"`
// SchedulerK3sLabelsTask is the SchedulerK3sLabelsTask configuration
SchedulerK3sLabelsTask SchedulerK3sLabelsTask `yaml:"dokku_scheduler_k3s_labels"`
}
SchedulerK3sLabelsTaskExample contains an example of a SchedulerK3sLabelsTask
func (SchedulerK3sLabelsTaskExample) GetName ¶
func (e SchedulerK3sLabelsTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sProfileTask ¶
type SchedulerK3sProfileTask struct {
// Name is the profile name. It is the lookup key both for the on-disk
// global property and for `scheduler-k3s:profiles:list --format json`.
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the node profile."`
// Role is the k3s role nodes joined with this profile take. Required and
// validated up front; dokku also rejects unknown values but failing in the
// task gives a clearer message.
Role string `required:"true" yaml:"role" options:"server,worker" description:"Role for nodes joined with this profile."`
// KubeletArgs is the list of `key=value` strings forwarded to k3s via
// `--kubelet-arg`. Drift detection compares this as a multiset; the
// emitted command preserves the user-declared order so the on-disk JSON
// tracks the YAML when an apply actually runs.
KubeletArgs []string `required:"false" yaml:"kubelet_args,omitempty" description:"List of key=value kubelet arguments to forward to k3s."`
// TaintScheduling toggles the `--taint-scheduling` flag on
// `scheduler-k3s:profiles:add`. Absent or false is "explicitly cleared".
TaintScheduling bool `` /* 148-byte string literal not displayed */
// AllowUnknownHosts toggles `--insecure-allow-unknown-hosts`. Absent or
// false is "explicitly cleared".
AllowUnknownHosts bool `` /* 144-byte string literal not displayed */
// State is the desired state of the profile.
State State `` /* 126-byte string literal not displayed */
}
SchedulerK3sProfileTask manages a global scheduler-k3s node profile via the dokku `scheduler-k3s:profiles:add` / `:profiles:remove` subcommands. Each profile is stored on the dokku host as a single JSON blob (`node-profile-<name>.json`); the task represents the complete desired state of that blob because dokku's `profiles:add` is a full replace, not a patch.
func (SchedulerK3sProfileTask) Doc ¶
func (t SchedulerK3sProfileTask) Doc() string
Doc returns the docblock for the scheduler-k3s profile task
func (SchedulerK3sProfileTask) Examples ¶
func (t SchedulerK3sProfileTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s profile task
func (SchedulerK3sProfileTask) Execute ¶
func (t SchedulerK3sProfileTask) Execute() TaskOutputState
Execute drives the profile to the configured state.
func (SchedulerK3sProfileTask) ExportGlobal ¶
func (t SchedulerK3sProfileTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs every scheduler-k3s node profile from profiles:list, which exposes the full profile definition.
func (SchedulerK3sProfileTask) ExportSupport ¶
func (t SchedulerK3sProfileTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sProfileTask) Plan ¶
func (t SchedulerK3sProfileTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sProfileTask would produce.
func (SchedulerK3sProfileTask) ProbeSupport ¶
func (t SchedulerK3sProfileTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sProfileTask) Validate ¶
func (t SchedulerK3sProfileTask) Validate() error
Validate checks the SchedulerK3sProfileTask's inputs without contacting the server.
type SchedulerK3sProfileTaskExample ¶
type SchedulerK3sProfileTaskExample struct {
// Name is the task name holding the SchedulerK3sProfileTask description
Name string `yaml:"-"`
// SchedulerK3sProfileTask is the SchedulerK3sProfileTask configuration
SchedulerK3sProfileTask SchedulerK3sProfileTask `yaml:"dokku_scheduler_k3s_profile"`
}
SchedulerK3sProfileTaskExample contains an example of a SchedulerK3sProfileTask
func (SchedulerK3sProfileTaskExample) GetName ¶
func (e SchedulerK3sProfileTaskExample) GetName() string
GetName returns the name of the example
type SchedulerK3sPropertyTask ¶
type SchedulerK3sPropertyTask PropertyFields
SchedulerK3sPropertyTask manages the scheduler-k3s configuration for a given dokku application
func (SchedulerK3sPropertyTask) Doc ¶
func (t SchedulerK3sPropertyTask) Doc() string
Doc returns the docblock for the scheduler-k3s property task
func (SchedulerK3sPropertyTask) Examples ¶
func (t SchedulerK3sPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler-k3s property task
func (SchedulerK3sPropertyTask) Execute ¶
func (t SchedulerK3sPropertyTask) Execute() TaskOutputState
Execute sets or unsets the scheduler-k3s property
func (SchedulerK3sPropertyTask) ExportApp ¶
func (t SchedulerK3sPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (SchedulerK3sPropertyTask) ExportGlobal ¶
func (t SchedulerK3sPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (SchedulerK3sPropertyTask) ExportSupport ¶
func (t SchedulerK3sPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerK3sPropertyTask) Plan ¶
func (t SchedulerK3sPropertyTask) Plan() PlanResult
Plan reports the drift the SchedulerK3sPropertyTask would produce.
func (SchedulerK3sPropertyTask) ProbeSupport ¶
func (t SchedulerK3sPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerK3sPropertyTask) PropertyTable ¶
func (t SchedulerK3sPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (SchedulerK3sPropertyTask) Validate ¶
func (t SchedulerK3sPropertyTask) Validate() error
Validate checks the SchedulerK3sPropertyTask's inputs without contacting the server.
type SchedulerK3sPropertyTaskExample ¶
type SchedulerK3sPropertyTaskExample struct {
// Name is the task name holding the SchedulerK3sPropertyTask description
Name string `yaml:"-"`
// SchedulerK3sPropertyTask is the SchedulerK3sPropertyTask configuration
SchedulerK3sPropertyTask SchedulerK3sPropertyTask `yaml:"dokku_scheduler_k3s_property"`
}
SchedulerK3sPropertyTaskExample contains an example of a SchedulerK3sPropertyTask
func (SchedulerK3sPropertyTaskExample) GetName ¶
func (e SchedulerK3sPropertyTaskExample) GetName() string
GetName returns the name of the example
type SchedulerPropertyTask ¶
type SchedulerPropertyTask PropertyFields
SchedulerPropertyTask manages the scheduler configuration for a given dokku application
func (SchedulerPropertyTask) Doc ¶
func (t SchedulerPropertyTask) Doc() string
Doc returns the docblock for the scheduler property task
func (SchedulerPropertyTask) Examples ¶
func (t SchedulerPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the scheduler property task
func (SchedulerPropertyTask) Execute ¶
func (t SchedulerPropertyTask) Execute() TaskOutputState
Execute sets or unsets the scheduler property
func (SchedulerPropertyTask) ExportApp ¶
func (t SchedulerPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (SchedulerPropertyTask) ExportGlobal ¶
func (t SchedulerPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (SchedulerPropertyTask) ExportSupport ¶
func (t SchedulerPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SchedulerPropertyTask) Plan ¶
func (t SchedulerPropertyTask) Plan() PlanResult
Plan reports the drift the SchedulerPropertyTask would produce.
func (SchedulerPropertyTask) ProbeSupport ¶
func (t SchedulerPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SchedulerPropertyTask) PropertyTable ¶
func (t SchedulerPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (SchedulerPropertyTask) Validate ¶
func (t SchedulerPropertyTask) Validate() error
Validate checks the SchedulerPropertyTask's inputs without contacting the server.
type SchedulerPropertyTaskExample ¶
type SchedulerPropertyTaskExample struct {
// Name is the task name holding the SchedulerPropertyTask description
Name string `yaml:"-"`
// SchedulerPropertyTask is the SchedulerPropertyTask configuration
SchedulerPropertyTask SchedulerPropertyTask `yaml:"dokku_scheduler_property"`
}
SchedulerPropertyTaskExample contains an example of a SchedulerPropertyTask
func (SchedulerPropertyTaskExample) GetName ¶
func (e SchedulerPropertyTaskExample) GetName() string
GetName returns the name of the example
type SensitiveOverride ¶
type SensitiveOverride interface {
SensitiveValues() []string
}
SensitiveOverride is implemented by tasks whose sensitive values cannot be declared with a struct tag - typically because the secret lives in the values of an arbitrary map (e.g. dokku_config's `config:` field where every value is a secret regardless of key).
SensitiveValues returns the literal string values from this task instance that must be masked in any user-facing logging output. The tag-based walker runs in addition to this method; both contribute to the final masked set.
type SensitivePropertyFields ¶
type SensitivePropertyFields struct {
// App is the name of the app. Required if Global is false.
App string `required:"false" identity:"key" yaml:"app" description:"Name of the app. Required if Global is false."`
// Global is a flag indicating if the property should be applied globally
Global bool `` /* 128-byte string literal not displayed */
// Property is the name of the property to set
Property string `required:"true" identity:"key" yaml:"property" description:"Name of the property to set"`
// Value is the value to set for the property
Value string `required:"false" sensitive:"true" yaml:"value,omitempty" description:"Value to set for the property"`
// State is the desired state of the property
State State `` /* 126-byte string literal not displayed */
}
SensitivePropertyFields is PropertyFields with a masked Value, for a plugin whose property values can carry credentials. Every value is masked, benign ones included, which is preferable to leaking a secret because the per-property judgement was wrong.
The tag drives output masking only - export decides what to lift into a vars file from the property's PropertyKeys entry, so a benign value stays readable in the exported recipe (#451). It is a separate type rather than a tag override because a defined type carries the tags of exactly one struct; TestSensitivePropertyFieldsMatchesPropertyFields fails if the two drift apart in anything but that one tag.
type ServiceBackupTask ¶
type ServiceBackupTask struct {
// Service is the type of service to back up (e.g. redis, postgres, mysql)
Service string `required:"true" identity:"key" yaml:"service" description:"Type of service to back up (e.g. redis, postgres, mysql)"`
// Name is the name of the service instance
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the service instance"`
// Schedule is the cron schedule for backups. Requires bucket.
Schedule string `required:"false" yaml:"schedule,omitempty" description:"Cron schedule for backups (requires bucket)"`
// Bucket is the S3 bucket backups are written to. Requires schedule.
Bucket string `required:"false" yaml:"bucket,omitempty" description:"S3 bucket backups are written to (requires schedule)"`
// UseIam configures the schedule to use the instance IAM profile instead of static credentials.
UseIam bool `required:"false" yaml:"use_iam,omitempty" description:"Use the instance IAM profile instead of static credentials"`
// AwsAccessKeyID is the AWS access key id used for backup auth. Requires aws_secret_access_key.
AwsAccessKeyID string `` /* 132-byte string literal not displayed */
// AwsSecretAccessKey is the AWS secret access key used for backup auth. Requires aws_access_key_id.
AwsSecretAccessKey string `` /* 153-byte string literal not displayed */
// AwsDefaultRegion is the AWS region used for backup auth.
AwsDefaultRegion string `required:"false" yaml:"aws_default_region,omitempty" description:"AWS region used for backup auth"`
// AwsSignatureVersion is the AWS signature version used for backup auth.
AwsSignatureVersion string `` /* 142-byte string literal not displayed */
// EndpointURL is the S3-compatible endpoint url used for backup auth.
EndpointURL string `` /* 141-byte string literal not displayed */
// EncryptionPassphrase is the passphrase used to encrypt future backups.
EncryptionPassphrase string `` /* 128-byte string literal not displayed */
// State is the desired state of the backup configuration
State State `` /* 138-byte string literal not displayed */
}
ServiceBackupTask manages the S3 backup configuration for a dokku datastore service: the backup schedule, the S3 authentication, and the backup encryption passphrase.
Only the schedule is idempotent: dokku can read it back via <service>:backup-schedule-cat. The auth and encryption pieces have no read command, so when those fields are provided they are applied unconditionally and the task reports Changed=true, mirroring the no-probe pattern used by dokku_git_auth and dokku_registry_auth.
func (ServiceBackupTask) Doc ¶
func (t ServiceBackupTask) Doc() string
Doc returns the docblock for the service backup task
func (ServiceBackupTask) Examples ¶
func (t ServiceBackupTask) Examples() ([]Doc, error)
Examples returns a list of ServiceBackupTaskExamples as yaml
func (ServiceBackupTask) Execute ¶
func (t ServiceBackupTask) Execute() TaskOutputState
Execute manages the backup configuration for a dokku service
func (ServiceBackupTask) ExportGlobal ¶
func (t ServiceBackupTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the backup schedule of every datastore service on the server. Discovery is via listServices; the schedule, bucket, and use_iam flag are parsed from `<service>:backup-schedule-cat <name>`. The AWS credentials and encryption passphrase have no read command, so they are omitted (a partial export) and must be re-supplied before the recipe backs up. Services without a schedule are skipped.
func (ServiceBackupTask) ExportSupport ¶
func (t ServiceBackupTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ServiceBackupTask) Plan ¶
func (t ServiceBackupTask) Plan() PlanResult
Plan reports the drift the ServiceBackupTask would produce.
func (ServiceBackupTask) ProbeSupport ¶
func (t ServiceBackupTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ServiceBackupTask) Requirements ¶
func (t ServiceBackupTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (ServiceBackupTask) Validate ¶
func (t ServiceBackupTask) Validate() error
Validate checks the ServiceBackupTask's inputs without contacting the server.
type ServiceBackupTaskExample ¶
type ServiceBackupTaskExample struct {
// Name is the task name holding the ServiceBackupTask description
Name string `yaml:"-"`
// ServiceBackupTask is the ServiceBackupTask configuration
ServiceBackupTask ServiceBackupTask `yaml:"dokku_service_backup"`
}
ServiceBackupTaskExample contains an example of a ServiceBackupTask
func (ServiceBackupTaskExample) GetName ¶
func (e ServiceBackupTaskExample) GetName() string
GetName returns the name of the example
type ServiceCreateTask ¶
type ServiceCreateTask struct {
// Service is the type of service to create (e.g. redis, postgres, mysql)
Service string `required:"true" identity:"key" yaml:"service" description:"Type of service to create (e.g. redis, postgres, mysql)"`
// Name is the name of the service instance
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the service instance"`
// Image is the image the service container is started from.
Image string `` /* 150-byte string literal not displayed */
// ImageVersion is the tag of the image the service container is started from.
ImageVersion string `` /* 140-byte string literal not displayed */
// ConfigOptions are extra arguments passed to the container create command.
ConfigOptions string `` /* 161-byte string literal not displayed */
// CustomEnv is the environment the service container is started with.
CustomEnv map[string]string `` /* 173-byte string literal not displayed */
// Memory is the container memory limit in megabytes.
Memory int `` /* 133-byte string literal not displayed */
// ShmSize is the shared memory size of the service container.
ShmSize string `` /* 144-byte string literal not displayed */
// InitialNetwork is the network the service is attached to on creation.
InitialNetwork string `` /* 149-byte string literal not displayed */
// PostCreateNetwork are the networks attached after service creation.
PostCreateNetwork []string `` /* 169-byte string literal not displayed */
// PostStartNetwork are the networks attached after service start.
PostStartNetwork []string `` /* 165-byte string literal not displayed */
// Password overrides the user-level service password.
Password string `` /* 157-byte string literal not displayed */
// RootPassword overrides the root-level service password.
RootPassword string `` /* 162-byte string literal not displayed */
// State is the desired state of the service
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the service"`
}
ServiceCreateTask creates or destroys a dokku service.
Every field below `Name` is a create-time option: the datastore plugins accept them as flags on `<service>:create` (the same set ansible-dokku's module reaches through Ansible's `environment:` keyword, e.g. POSTGRES_IMAGE). They are rendered onto the argv rather than passed as environment variables so they behave identically locally and over SSH - a variable put in front of the local process never reaches the remote shell, so the argv is the only carrier both transports share.
They apply only when the service is created. The task probes `<service>:exists`, so a service that already exists is in sync whatever image it is running; changing that needs `<service>:upgrade`, which recreates the container and is not something docket does implicitly (tracked in #435).
func (ServiceCreateTask) Doc ¶
func (t ServiceCreateTask) Doc() string
Doc returns the docblock for the service create task
func (ServiceCreateTask) Examples ¶
func (t ServiceCreateTask) Examples() ([]Doc, error)
Examples returns a list of ServiceCreateTaskExamples as yaml
func (ServiceCreateTask) Execute ¶
func (t ServiceCreateTask) Execute() TaskOutputState
Execute creates or destroys a dokku service
func (ServiceCreateTask) ExportGlobal ¶
func (t ServiceCreateTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs every datastore service instance on the server as a dokku_service_create task. Discovery is via listServices (the `service-list` plugin trigger). Like dokku_storage_mount, the service's data is migrated separately - but the image it runs is exported, so a service recreated on another server comes up on the same version rather than whatever that server's plugin defaults to, which is what its `:import` counterpart needs.
func (ServiceCreateTask) ExportSupport ¶
func (t ServiceCreateTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ServiceCreateTask) Plan ¶
func (t ServiceCreateTask) Plan() PlanResult
Plan reports the drift the ServiceCreateTask would produce.
func (ServiceCreateTask) ProbeSupport ¶
func (t ServiceCreateTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ServiceCreateTask) Requirements ¶
func (t ServiceCreateTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (ServiceCreateTask) Validate ¶
func (t ServiceCreateTask) Validate() error
Validate checks the ServiceCreateTask's inputs without contacting the server.
type ServiceCreateTaskExample ¶
type ServiceCreateTaskExample struct {
// Name is the task name holding the ServiceCreateTask description
Name string `yaml:"-"`
// ServiceCreateTask is the ServiceCreateTask configuration
ServiceCreateTask ServiceCreateTask `yaml:"dokku_service_create"`
}
ServiceCreateTaskExample contains an example of a ServiceCreateTask
func (ServiceCreateTaskExample) GetName ¶
func (e ServiceCreateTaskExample) GetName() string
GetName returns the name of the example
type ServiceExposeTask ¶
type ServiceExposeTask struct {
// Service is the type of service to expose (e.g. redis, postgres, mysql)
Service string `required:"true" identity:"key" yaml:"service" description:"Type of service to expose (e.g. redis, postgres, mysql)"`
// Name is the name of the service instance
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the service instance"`
// Ports are the host ports to expose the service on. Required when state is present.
Ports []string `` /* 144-byte string literal not displayed */
// State is the desired state of the service exposure
State State `` /* 134-byte string literal not displayed */
}
ServiceExposeTask exposes or unexposes a dokku service on host ports
func (ServiceExposeTask) Doc ¶
func (t ServiceExposeTask) Doc() string
Doc returns the docblock for the service expose task
func (ServiceExposeTask) Examples ¶
func (t ServiceExposeTask) Examples() ([]Doc, error)
Examples returns a list of ServiceExposeTaskExamples as yaml
func (ServiceExposeTask) Execute ¶
func (t ServiceExposeTask) Execute() TaskOutputState
Execute exposes or unexposes a dokku service
func (ServiceExposeTask) ExportGlobal ¶
func (t ServiceExposeTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the exposed-ports state of every datastore service on the server. Discovery is via listServices; the exposed host ports are read from `<service>:info <name> --exposed-ports`. Services with no exposed ports are skipped.
func (ServiceExposeTask) ExportSupport ¶
func (t ServiceExposeTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ServiceExposeTask) Plan ¶
func (t ServiceExposeTask) Plan() PlanResult
Plan reports the drift the ServiceExposeTask would produce.
func (ServiceExposeTask) ProbeSupport ¶
func (t ServiceExposeTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ServiceExposeTask) Requirements ¶
func (t ServiceExposeTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (ServiceExposeTask) Validate ¶
func (t ServiceExposeTask) Validate() error
Validate checks the ServiceExposeTask's inputs without contacting the server.
type ServiceExposeTaskExample ¶
type ServiceExposeTaskExample struct {
// Name is the task name holding the ServiceExposeTask description
Name string `yaml:"-"`
// ServiceExposeTask is the ServiceExposeTask configuration
ServiceExposeTask ServiceExposeTask `yaml:"dokku_service_expose"`
}
ServiceExposeTaskExample contains an example of a ServiceExposeTask
func (ServiceExposeTaskExample) GetName ¶
func (e ServiceExposeTaskExample) GetName() string
GetName returns the name of the example
type ServiceLinkTask ¶
type ServiceLinkTask struct {
// App is the name of the app to link the service to
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app to link the service to"`
// Service is the type of service to link (e.g. redis, postgres, mysql)
Service string `required:"true" identity:"key" yaml:"service" description:"Type of service to link (e.g. redis, postgres, mysql)"`
// Name is the name of the service instance
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the service instance"`
// State is the desired state of the service link
State State `` /* 130-byte string literal not displayed */
}
ServiceLinkTask links or unlinks a dokku service to an app
func (ServiceLinkTask) Doc ¶
func (t ServiceLinkTask) Doc() string
Doc returns the docblock for the service link task
func (ServiceLinkTask) Examples ¶
func (t ServiceLinkTask) Examples() ([]Doc, error)
Examples returns a list of ServiceLinkTaskExamples as yaml
func (ServiceLinkTask) Execute ¶
func (t ServiceLinkTask) Execute() TaskOutputState
Execute links or unlinks a dokku service to an app
func (ServiceLinkTask) ExportApp ¶
func (t ServiceLinkTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs an app's datastore service links: it enumerates services (listServices) and emits a dokku_service_link for each service the app appears in (serviceLinkedApps). The link, not dokku_config, is the source of truth for the injected `<ALIAS>_URL`, so config export drops those values (see linkedServiceDSNs).
func (ServiceLinkTask) ExportSupport ¶
func (t ServiceLinkTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ServiceLinkTask) Plan ¶
func (t ServiceLinkTask) Plan() PlanResult
Plan reports the drift the ServiceLinkTask would produce.
func (ServiceLinkTask) ProbeSupport ¶
func (t ServiceLinkTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ServiceLinkTask) Requirements ¶
func (t ServiceLinkTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
type ServiceLinkTaskExample ¶
type ServiceLinkTaskExample struct {
// Name is the task name holding the ServiceLinkTask description
Name string `yaml:"-"`
// ServiceLinkTask is the ServiceLinkTask configuration
ServiceLinkTask ServiceLinkTask `yaml:"dokku_service_link"`
}
ServiceLinkTaskExample contains an example of a ServiceLinkTask
func (ServiceLinkTaskExample) GetName ¶
func (e ServiceLinkTaskExample) GetName() string
GetName returns the name of the example
type ServicePropertyTask ¶
type ServicePropertyTask struct {
// Service is the type of service to configure (e.g. redis, postgres, mysql)
Service string `required:"true" identity:"key" yaml:"service" description:"Type of service to configure (e.g. redis, postgres, mysql)"`
// Name is the name of the service instance
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the service instance"`
// Property is the name of the property to set
Property string `required:"true" identity:"key" yaml:"property" description:"Name of the property to set"`
// Value is the value to set the property to. Required when state is present.
Value string `required:"false" yaml:"value,omitempty" description:"Value to set the property to. Required when state is present."`
// State is the desired state of the property
State State `` /* 126-byte string literal not displayed */
}
ServicePropertyTask manages a single dokku service property via <service>:set.
Idempotency is intentionally skipped here because dokku service plugins expose no uniform way to read back an arbitrary set key: there is no per-service report JSON, and the `<service>:info` flags do not correspond one-to-one to settable keys (e.g. restart-policy, shm-size, and image are settable but not readable via info). The plan therefore reports drift unconditionally, and docket export cannot reconstruct these properties. Once a machine-readable service property report exists (requested upstream in dokku/dokku-datastore#98), this task should switch to probing instead of always reporting Changed=true, and its export can move off unsupported.
func (ServicePropertyTask) Doc ¶
func (t ServicePropertyTask) Doc() string
Doc returns the docblock for the service property task
func (ServicePropertyTask) Examples ¶
func (t ServicePropertyTask) Examples() ([]Doc, error)
Examples returns a list of ServicePropertyTaskExamples as yaml
func (ServicePropertyTask) Execute ¶
func (t ServicePropertyTask) Execute() TaskOutputState
Execute sets or clears the dokku service property
func (ServicePropertyTask) ExportSupport ¶
func (t ServicePropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (ServicePropertyTask) Plan ¶
func (t ServicePropertyTask) Plan() PlanResult
Plan reports the drift the ServicePropertyTask would produce. dokku has no reliable way to read back a service set key, so the plan reports drift unconditionally once the service is confirmed to exist.
func (ServicePropertyTask) ProbeSupport ¶
func (t ServicePropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (ServicePropertyTask) Requirements ¶
func (t ServicePropertyTask) Requirements() []string
Requirements lists the non-core dokku plugins this task depends on.
func (ServicePropertyTask) Validate ¶
func (t ServicePropertyTask) Validate() error
Validate checks the ServicePropertyTask's inputs without contacting the server.
type ServicePropertyTaskExample ¶
type ServicePropertyTaskExample struct {
// Name is the task name holding the ServicePropertyTask description
Name string `yaml:"-"`
// ServicePropertyTask is the ServicePropertyTask configuration
ServicePropertyTask ServicePropertyTask `yaml:"dokku_service_property"`
}
ServicePropertyTaskExample contains an example of a ServicePropertyTask
func (ServicePropertyTaskExample) GetName ¶
func (e ServicePropertyTaskExample) GetName() string
GetName returns the name of the example
type SshKeyTask ¶
type SshKeyTask struct {
// Name identifies the key in dokku
Name string `required:"true" identity:"key" yaml:"name" description:"Name that identifies the key in dokku"`
// Key is the public key contents. Required when state is present.
Key string `required:"false" yaml:"key,omitempty" description:"Public key contents. Required when state is present."`
// State is the desired state of the SSH key
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the SSH key"`
}
SshKeyTask manages an SSH public key for git push access via dokku's core ssh-keys plugin.
func (SshKeyTask) Doc ¶
func (t SshKeyTask) Doc() string
Doc returns the docblock for the ssh key task
func (SshKeyTask) Examples ¶
func (t SshKeyTask) Examples() ([]Doc, error)
Examples returns the examples for the ssh key task
func (SshKeyTask) Execute ¶
func (t SshKeyTask) Execute() TaskOutputState
Execute adds or removes the SSH key
func (SshKeyTask) ExportGlobal ¶
func (t SshKeyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the server's SSH keys from ssh-keys:list, which exposes both the name and the public-key body, so each key is reproduced faithfully.
func (SshKeyTask) ExportSupport ¶
func (t SshKeyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (SshKeyTask) Plan ¶
func (t SshKeyTask) Plan() PlanResult
Plan reports the drift the SshKeyTask would produce.
func (SshKeyTask) ProbeSupport ¶
func (t SshKeyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (SshKeyTask) Validate ¶
func (t SshKeyTask) Validate() error
Validate checks the SshKeyTask's inputs without contacting the server.
type SshKeyTaskExample ¶
type SshKeyTaskExample struct {
// Name is the task name holding the SshKeyTask description
Name string `yaml:"-"`
// SshKeyTask is the SshKeyTask configuration
SshKeyTask SshKeyTask `yaml:"dokku_ssh_key"`
}
SshKeyTaskExample contains an example of a SshKeyTask
func (SshKeyTaskExample) GetName ¶
func (e SshKeyTaskExample) GetName() string
GetName returns the name of the example
type State ¶
type State string
State represents the desired state of a task
const ( // StatePresent represents the present state StatePresent State = "present" // StateAbsent represents the absent state StateAbsent State = "absent" // StateDeployed represents the deployed state StateDeployed State = "deployed" // StateSet represents the set state StateSet State = "set" // StateClear represents the clear state StateClear State = "clear" // StateSkipped is the sentinel value the apply / plan path emits when // a task's `when:` predicate is false. Both State and DesiredState are // set to this so the equality check in commands/apply.go does not flag // a skipped task as a state mismatch. StateSkipped State = "skipped" )
State constants
type StorageEnsureTask ¶
type StorageEnsureTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// Chown is the chown value to set
Chown string `` /* 165-byte string literal not displayed */
// State is the desired state of the storage
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the storage"`
}
StorageEnsureTask manages the storage for a given dokku application
func (StorageEnsureTask) Deprecation ¶
func (t StorageEnsureTask) Deprecation() string
Deprecation marks dokku_storage_ensure as deprecated. dokku's underlying storage:ensure-directory subcommand has been deprecated in favor of storage:create, which docket exposes through dokku_storage_entry.
func (StorageEnsureTask) Doc ¶
func (t StorageEnsureTask) Doc() string
Doc returns the docblock for the storage ensure task
func (StorageEnsureTask) Examples ¶
func (t StorageEnsureTask) Examples() ([]Doc, error)
Examples returns the examples for the storage ensure task
func (StorageEnsureTask) Execute ¶
func (t StorageEnsureTask) Execute() TaskOutputState
Execute ensures the storage for a given app
func (StorageEnsureTask) ExportSupport ¶
func (t StorageEnsureTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (StorageEnsureTask) Plan ¶
func (t StorageEnsureTask) Plan() PlanResult
Plan reports the drift the StorageEnsureTask would produce. dokku does not expose a probe for storage:ensure-directory, so the plan reports drift unconditionally.
func (StorageEnsureTask) ProbeSupport ¶
func (t StorageEnsureTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (StorageEnsureTask) Validate ¶
func (t StorageEnsureTask) Validate() error
Validate checks the StorageEnsureTask's inputs without contacting the server. chown is optional: an omitted value lets dokku apply its default (herokuish) ownership. A non-empty value must be one dokku's storage:ensure-directory accepts - a named ownership preset or a numeric uid in 0-65535 (see validChown) - so a typo or out-of-range value is caught before dispatch.
type StorageEnsureTaskExample ¶
type StorageEnsureTaskExample struct {
// Name is the task name holding the StorageEnsureTask description
Name string `yaml:"-"`
// StorageEnsureTask is the StorageEnsureTask configuration
StorageEnsureTask StorageEnsureTask `yaml:"dokku_storage_ensure"`
}
StorageEnsureTaskExample contains an example of a StorageEnsureTask
func (StorageEnsureTaskExample) GetName ¶
func (e StorageEnsureTaskExample) GetName() string
GetName returns the name of the example
type StorageEntryTask ¶
type StorageEntryTask struct {
// Name is the name of the storage entry
Name string `required:"true" identity:"key" yaml:"name" description:"Name of the storage entry"`
// Path is the host path for the entry. Optional; on docker-local it
// defaults to the dokku storage root + name.
Path string `` /* 199-byte string literal not displayed */
// Scheduler is the scheduler that backs the entry
Scheduler string `` /* 138-byte string literal not displayed */
// Size is the volume size (k3s scheduler; required there, rejected on docker-local)
Size string `required:"false" yaml:"size,omitempty" description:"Volume size (k3s scheduler; required there and rejected on docker-local)"`
// AccessMode is the volume access mode (k3s scheduler)
AccessMode string `` /* 188-byte string literal not displayed */
// StorageClass is the storage class name (k3s scheduler)
StorageClass string `` /* 156-byte string literal not displayed */
// Namespace is the namespace (scheduler-dependent)
Namespace string `required:"false" yaml:"namespace,omitempty" description:"Namespace (scheduler-dependent)"`
// Chown is the chown value applied when the entry's host directory is created
Chown string `` /* 328-byte string literal not displayed */
// ReclaimPolicy is the reclaim policy (k3s scheduler)
ReclaimPolicy string `` /* 150-byte string literal not displayed */
// Annotations are the volume annotations (k3s scheduler)
Annotations map[string]string `required:"false" yaml:"annotations,omitempty" description:"Map of annotations set on the underlying volume (k3s scheduler)"`
// Labels are the volume labels (k3s scheduler)
Labels map[string]string `required:"false" yaml:"labels,omitempty" description:"Map of labels set on the underlying volume (k3s scheduler)"`
// State is the desired state of the storage entry
State State `` /* 131-byte string literal not displayed */
}
StorageEntryTask manages a named storage registry entry — the thing `storage:create` produces and `storage:list-entries` reports. Entries exist independently of any single app, and an attachment created via dokku_storage_mount references them by name.
Idempotency is keyed on the entry name: when an entry with the given name exists, the task is in sync regardless of the other field values. Attribute changes are therefore not drift-detected; to change scheduler, size, or any other attribute, the recipe must destroy and re-create the entry. Converging them in place is tracked in https://github.com/dokku/docket/issues/439 - it needs a different command per scheduler, since `storage:set --chown` records a new ownership value without re-running the chown on a docker-local directory.
func (StorageEntryTask) Doc ¶
func (t StorageEntryTask) Doc() string
Doc returns the docblock for the storage entry task
func (StorageEntryTask) Examples ¶
func (t StorageEntryTask) Examples() ([]Doc, error)
Examples returns the examples for the storage entry task
func (StorageEntryTask) Execute ¶
func (t StorageEntryTask) Execute() TaskOutputState
Execute creates or destroys the storage entry
func (StorageEntryTask) ExportGlobal ¶
func (t StorageEntryTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reads the named storage registry entries and returns a dokku_storage_entry task per explicitly-created entry. Auto-generated "legacy-" entries (created implicitly by legacy bind-mounts) are skipped since they are reconstructed by dokku_storage_mount.
storage:list-entries marshals the whole entry, so every field the task can set comes back from the one call. Reconstructing all of them is what makes the export lossless: dropping chown would lose the host directory's ownership, and dropping size would produce a k3s entry the task's own validation rejects.
func (StorageEntryTask) ExportSupport ¶
func (t StorageEntryTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (StorageEntryTask) Plan ¶
func (t StorageEntryTask) Plan() PlanResult
Plan reports the drift the StorageEntryTask would produce.
func (StorageEntryTask) ProbeSupport ¶
func (t StorageEntryTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (StorageEntryTask) Validate ¶
func (t StorageEntryTask) Validate() error
Validate checks the StorageEntryTask's inputs without contacting the server. It mirrors the rules dokku's own Entry.Validate enforces, so a combination the server would refuse fails at `docket validate` time instead of halfway through an apply. It deliberately goes no further: dokku ignores rather than rejects namespace, reclaim_policy, annotations, and labels on a docker-local entry, and a stricter docket would refuse recipes the server accepts.
type StorageEntryTaskExample ¶
type StorageEntryTaskExample struct {
// Name is the task name holding the StorageEntryTask description
Name string `yaml:"-"`
// StorageEntryTask is the StorageEntryTask configuration
StorageEntryTask StorageEntryTask `yaml:"dokku_storage_entry"`
}
StorageEntryTaskExample contains an example of a StorageEntryTask
func (StorageEntryTaskExample) GetName ¶
func (e StorageEntryTaskExample) GetName() string
GetName returns the name of the example
type StorageMountTask ¶
type StorageMountTask struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// EntryName is the named storage registry entry to attach. Mutually
// exclusive with host_dir.
EntryName string `` /* 132-byte string literal not displayed */
// HostDir is the host directory to mount (legacy bind-mount form).
// Mutually exclusive with entry_name.
HostDir string `` /* 147-byte string literal not displayed */
// ContainerDir is the container directory to mount
ContainerDir string `required:"true" identity:"key" yaml:"container_dir" description:"Container directory to mount"`
// Phases is the deployment phases the attachment applies to (deploy, run).
// Empty defers to the dokku default (both phases).
Phases []string `` /* 148-byte string literal not displayed */
// ProcessType limits the attachment to a specific process type
ProcessType string `required:"false" yaml:"process_type,omitempty" description:"Process type the attachment applies to"`
// Subpath is the subpath within the entry to mount
Subpath string `required:"false" yaml:"subpath,omitempty" description:"Subpath within the entry to mount"`
// Readonly mounts the attachment as read-only when true
Readonly bool `required:"false" yaml:"readonly,omitempty" description:"Mount the attachment as read-only"`
// VolumeChown is the chown option applied to the volume at mount time
VolumeChown string `required:"false" yaml:"volume_chown,omitempty" description:"Chown option applied to the volume at mount time"`
// VolumeOptions is the comma-separated mount options applied to the
// attachment (e.g. "Z" for SELinux relabeling, "noexec,nosuid", NFS
// opts). On the legacy form it is appended as the third colon segment;
// on the named-entry form it is passed via --volume-options.
VolumeOptions string `` /* 168-byte string literal not displayed */
// State is the desired state of the storage
State State `required:"false" yaml:"state,omitempty" default:"present" options:"present,absent" description:"Desired state of the storage"`
}
StorageMountTask manages a storage attachment for a dokku application. It supports two forms:
- Legacy bind mount: set host_dir + container_dir to pass the colon form to `storage:mount <app> <host:container[:opts]>`. Round-tripped with dokku versions that predate the named-entry registry.
- Named-entry attachment: set entry_name + container_dir and (optionally) phases, process_type, subpath, readonly, volume_chown, volume_options. Maps to `storage:mount <app> <entry_name> --container-dir <container_dir>` plus the matching attachment flags.
Exactly one of entry_name / host_dir must be set. Idempotency is keyed on (source, container_path, volume_options) using `storage:report <app> --format json`; the other attachment attributes (phases, process_type, subpath, readonly, volume_chown) are applied at mount time only and are not drift-detected (mirroring the partial-probe pattern in service_backup and storage_ensure). Export reads the same report and reconstructs every attribute in full.
func (StorageMountTask) Doc ¶
func (t StorageMountTask) Doc() string
Doc returns the docblock for the storage mount task
func (StorageMountTask) Examples ¶
func (t StorageMountTask) Examples() ([]Doc, error)
Examples returns the examples for the storage mount task
func (StorageMountTask) Execute ¶
func (t StorageMountTask) Execute() TaskOutputState
Execute attaches or detaches storage for a given app
func (StorageMountTask) ExportApp ¶
func (t StorageMountTask) ExportApp(app string) ([]interface{}, error)
ExportApp reads the app's storage attachments via storage:report and returns a dokku_storage_mount task per attachment, reconstructing every mount-time attribute (phases, process_type, subpath, readonly, volume_options, volume_chown). Legacy bind-mounts (dokku wraps these under an auto-generated "legacy-" entry name) use the host_dir form; named registry entries use the entry_name form. Phases and process_type that match dokku's defaults are omitted so the exported recipe stays minimal.
func (StorageMountTask) ExportSupport ¶
func (t StorageMountTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (StorageMountTask) Plan ¶
func (t StorageMountTask) Plan() PlanResult
Plan reports the drift the StorageMountTask would produce.
func (StorageMountTask) ProbeSupport ¶
func (t StorageMountTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (StorageMountTask) Validate ¶
func (t StorageMountTask) Validate() error
Validate checks the StorageMountTask's inputs without contacting the server.
type StorageMountTaskExample ¶
type StorageMountTaskExample struct {
// Name is the task name holding the StorageMountTask description
Name string `yaml:"-"`
// StorageMountTask is the StorageMountTask configuration
StorageMountTask StorageMountTask `yaml:"dokku_storage_mount"`
}
StorageMountTaskExample contains an example of a StorageMountTask
func (StorageMountTaskExample) GetName ¶
func (e StorageMountTaskExample) GetName() string
GetName returns the name of the example
type Task ¶
type Task interface {
// Doc returns the docblock for the task
Doc() string
// Examples returns the examples for the task
Examples() ([]Doc, error)
// Plan reports the drift the task would produce against the live server,
// without mutating it. Plan must never call mutating dokku commands.
Plan() PlanResult
// Execute executes the task. Conventionally implemented as
// ExecutePlan(t.Plan()) so probing happens once and the per-state
// mutation logic lives only in Plan().
Execute() TaskOutputState
}
Task represents a task
type TaskCatalog ¶
type TaskCatalog struct {
// Version is CatalogVersion. Consumers should branch on it so a future
// schema change does not silently break them.
Version int `json:"version"`
// Tasks are the requested task types - every registered one unless the
// caller narrowed the selection - sorted by Type.
Tasks []TaskSchema `json:"tasks"`
}
TaskCatalog is the machine-readable description of a set of registered task types. It is what `docket schema` emits.
func Catalog ¶
func Catalog() (TaskCatalog, error)
Catalog returns the catalog for every registered task, sorted by type key.
func CatalogFor ¶
func CatalogFor(typeKeys []string) (TaskCatalog, error)
CatalogFor returns the catalog narrowed to typeKeys, sorted by type key. A nil or empty selection means every registered task, so the whole catalog and a narrowed one are the same code path rather than two that can drift.
Sorting is by type key whatever order the keys arrived in, which is what lets a narrowed catalog be diffed against a full one and makes two runs of the same selection byte-identical. Duplicates collapse: the document is a set keyed by type, so naming a type twice is not an error.
An unregistered key is an error rather than a silently smaller document - a caller asking for a type that does not exist wants to know. Keys are checked in the order given, so the message names the first one the caller wrote, and all of them are checked before any schema is built.
The other error comes from Examples(), which yaml-marshals each example struct. Nothing else here can fail.
func (TaskCatalog) Encode ¶
func (c TaskCatalog) Encode(w io.Writer) error
Encode writes the catalog as an indented JSON document with a trailing newline. This is the byte format `docket schema` emits, so it lives with the catalog rather than with the command.
HTML escaping is off: json.Marshal would turn a description mentioning `dokku <plugin>:report` into `<plugin>`, which is unreadable for a document a human also skims.
type TaskEnvelope ¶
type TaskEnvelope struct {
// Name is the user-supplied human label for the task. Auto-generated
// when the entry omits a name (see GetTasks): a leaf task is named after
// the resource it addresses (`dokku_config[app=api]`), a group after its
// position (`group #3`).
Name string
// NameGenerated records that Name was derived rather than written in the
// recipe. dedupeGeneratedNames renames only these, so a generated name
// can never displace one a recipe author wrote.
NameGenerated bool
// Tags is the list of tag strings on the entry. The --tags / --skip-tags
// CLI flags filter against this set.
Tags []string
// When is the raw expr-lang/expr source for the per-task conditional.
// An empty string means "always run". When non-empty, whenProgram caches
// the compiled form so loop iterations re-evaluate cheaply.
When string
// Loop is the per-task iteration source. Either a list literal
// ([]interface{}) or an expr-lang/expr source string returning a list.
// nil means no loop. The loader resolves this into N expanded envelopes
// and replaces the original entry; downstream consumers see the
// expansions, not Loop itself.
Loop interface{}
// Register, ChangedWhen, FailedWhen, IgnoreErrors are reserved for #210.
// The loader recognises and decodes them so that issue does not have to
// revisit the envelope-key allowlist.
Register string
ChangedWhen string
FailedWhen string
IgnoreErrors bool
// Block / Rescue / Always carry the nested child envelopes for a
// try/catch/finally group entry (#211). When Block is non-empty the
// envelope is a group: Task is nil, TypeName is empty, and the
// executor walks the three child slices instead of dispatching to a
// task body. The wrapping envelope's `name`, `tags`, `when`, `loop`,
// `register`, `changed_when`, `failed_when`, and `ignore_errors`
// apply to the whole group.
Block []*TaskEnvelope
Rescue []*TaskEnvelope
Always []*TaskEnvelope
// Task is the decoded task body. Non-nil for leaf envelopes the
// loader produces; nil for group envelopes (#211) where Block /
// Rescue / Always carry the nested children instead.
Task Task
// TypeName is the registered task name (e.g. "dokku_app") that
// dispatched this envelope's body decode. Used for diagnostics.
TypeName string
// LoopItem and LoopIndex are populated on envelopes produced by loop
// expansion. LoopItem is the iterator value (expr context `.item`);
// LoopIndex is the zero-based position. Non-loop envelopes leave both
// at their zero value.
LoopItem interface{}
LoopIndex int
// IsLoopExpansion distinguishes a single-iteration envelope (e.g. when
// LoopIndex == 0 and LoopItem == nil) from one that came from loop
// expansion. Useful for predicate context construction.
IsLoopExpansion bool
// contains filtered or unexported fields
}
TaskEnvelope wraps a single Task with the cross-cutting fields that the task entry envelope admits. The envelope-key allowlist is the union of:
- the keys carrying values on this struct (name, tags, when, loop, register, changed_when, failed_when, ignore_errors), and
- the registered task-type key (e.g. dokku_app) which is decoded into Task and identified by TypeName.
register / changed_when / failed_when / ignore_errors are reserved by #205 but their semantics are activated in #210; the loader recognises the keys today so #210 does not need to revisit the cap.
func (*TaskEnvelope) ChangedWhenProgram ¶
func (e *TaskEnvelope) ChangedWhenProgram() *vm.Program
ChangedWhenProgram returns the pre-compiled expr program for ChangedWhen, or nil when no `changed_when:` predicate is present.
func (*TaskEnvelope) FailedWhenProgram ¶
func (e *TaskEnvelope) FailedWhenProgram() *vm.Program
FailedWhenProgram returns the pre-compiled expr program for FailedWhen, or nil when no `failed_when:` predicate is present.
func (*TaskEnvelope) HasChangedWhen ¶
func (e *TaskEnvelope) HasChangedWhen() bool
HasChangedWhen reports whether the envelope carries a non-empty `changed_when:` predicate.
func (*TaskEnvelope) HasFailedWhen ¶
func (e *TaskEnvelope) HasFailedWhen() bool
HasFailedWhen reports whether the envelope carries a non-empty `failed_when:` predicate.
func (*TaskEnvelope) HasTag ¶
func (e *TaskEnvelope) HasTag(tag string) bool
HasTag reports whether the envelope's tag set contains tag.
func (*TaskEnvelope) HasWhen ¶
func (e *TaskEnvelope) HasWhen() bool
HasWhen reports whether the envelope carries a non-empty `when:` predicate that must be evaluated before execution.
func (*TaskEnvelope) IntersectsTags ¶
func (e *TaskEnvelope) IntersectsTags(tags []string) bool
IntersectsTags reports whether the envelope's tag set intersects with any of the given tags. Returns false for an envelope with no tags.
func (*TaskEnvelope) IsGroup ¶
func (e *TaskEnvelope) IsGroup() bool
IsGroup reports whether the envelope is a try/catch/finally group entry (#211). Group envelopes carry their children in Block / Rescue / Always; their Task is nil. The executor uses this flag as the dispatch boundary between the leaf-task code path and the group walker.
func (*TaskEnvelope) WhenProgram ¶
func (e *TaskEnvelope) WhenProgram() *vm.Program
WhenProgram returns the pre-compiled expr program for When, or nil if no `when:` predicate is present.
type TaskExample ¶
type TaskExample interface {
GetName() string
}
TaskExample is a constraint for example structs that have a Name field.
type TaskOutputState ¶
type TaskOutputState struct {
// Changed is a flag indicating if the task was changed
Changed bool
// Commands records every resolved Dokku subprocess command line the
// task's apply path executed, in invocation order. Used by
// `docket apply --verbose` to echo one `→` continuation line per
// command. Empty for tasks that did not invoke any subprocess.
Commands []string
// DesiredState is the desired state of the task
DesiredState State
// Error is the error of the task
Error error
// ExitCode is the exit code of the last subprocess command the task
// executed. Zero when the call succeeded or no subprocess ran.
ExitCode int
// Message is the message of the task
Message string
// Meta is the meta of the task
Meta struct{}
// State is the state of the task
State State
// Stderr is the captured stderr of the last subprocess command the
// task executed. Empty when no subprocess ran. Tasks that issue
// multiple subprocess calls record only the final call's stderr;
// per-call output, when needed, lives on Commands.
Stderr string
// Stdout is the captured stdout of the last subprocess command the
// task executed. Empty when no subprocess ran. Same last-call-wins
// rule as Stderr.
Stdout string
// Warnings carries non-fatal probe diagnostics discovered while planning
// (a property task's Plan() surfaces them, and ExecutePlan copies them off
// the PlanResult so the apply path can drain them). The run loop routes
// each entry through EventEmitter.TaskWarning; the message is masked at
// emit time. Empty for tasks that produced no diagnostic.
Warnings []PlanWarning
}
TaskOutputState represents the output of a task
func DispatchState ¶
func DispatchState(state State, funcMap map[State]func() TaskOutputState) TaskOutputState
DispatchState looks up the given state in the funcMap, calls the matching function, and returns an error TaskOutputState if the state is not found.
func ExecutePlan ¶
func ExecutePlan(p PlanResult) (out TaskOutputState)
ExecutePlan applies a PlanResult to the server. It is the canonical implementation of Task.Execute(): each task's Execute body is `return ExecutePlan(t.Plan())`. ExecutePlan ensures the existing `state.State == state.DesiredState` contract that commands/apply.go relies on.
Three branches:
- p.Error != nil - probe failed; return TaskOutputState carrying the error and the desired state. The apply closure is not invoked.
- p.InSync - no change needed; return State == DesiredState with Changed=false. The apply closure is not invoked.
- otherwise - invoke p.apply (must be non-nil) and return its TaskOutputState verbatim. apply is responsible for setting Changed and a final State that matches DesiredState on success.
func TaskOutputErrorFromExec ¶
func TaskOutputErrorFromExec(state TaskOutputState, err error, result subprocess.ExecCommandResponse) TaskOutputState
TaskOutputErrorFromExec sets Error and Message on the given state from an exec result, copies the captured Stdout/Stderr/ExitCode onto the state via WithExecResult, and ensures the failing invocation is recorded in state.Commands so it surfaces under `--verbose`. Idempotent against the per-task pre-error-check append pattern: when the failing command is already the most recent entry it is not appended again. Returns the modified state for convenient use with early returns.
func (TaskOutputState) WithExecResult ¶
func (s TaskOutputState) WithExecResult(r subprocess.ExecCommandResponse) TaskOutputState
WithExecResult returns a copy of s with Stdout/Stderr/ExitCode populated from r. Callers use it from the success path so the returned state mirrors the underlying subprocess.ExecCommandResponse without having to assign each field by hand.
type TaskSchema ¶
type TaskSchema struct {
// Type is the registry key - the name a recipe uses to invoke the task,
// such as "dokku_apps_property".
Type string `json:"type"`
// Synopsis is the task's Doc(), verbatim.
Synopsis string `json:"synopsis"`
// Deprecation is the notice a deprecated task declares. Absent when the
// task is current.
Deprecation string `json:"deprecation,omitempty"`
// Requirements are the non-core dokku plugins the task needs, in declared
// order. Absent when the task needs nothing beyond dokku core.
Requirements []string `json:"requirements,omitempty"`
// Export says whether `docket export` can reconstruct the task from a live
// server.
Export ExportSupport `json:"export"`
// Probe says how much of its own state the task's Plan() can read back. An
// "unsupported" task plans as drift on every run and never converges.
Probe ProbeSupport `json:"probe"`
// Identity is what the task addresses on the server.
Identity IdentitySchema `json:"identity"`
// Fields are the recipe keys the task accepts, in declaration order -
// which is the order the reference page lists them in.
Fields []FieldSchema `json:"fields"`
// PropertySchema is present only for a task that manages an enumerable
// dokku property table. Its absence on a task that has a `property` field
// means the legal names are not enumerable from docket, not that there are
// none - see dokku_service_property.
PropertySchema *PropertySchema `json:"property_schema,omitempty"`
// Examples are the task's documented examples, the same ones its reference
// page publishes.
Examples []ExampleSchema `json:"examples,omitempty"`
}
TaskSchema describes one registered task type. The Go field order here is the key order of the emitted JSON.
func TaskSchemaOf ¶
func TaskSchemaOf(typeKey string, task Task) (TaskSchema, error)
TaskSchemaOf describes one task. Exported so a caller holding a single prototype does not have to build all of them.
type ToggleContext ¶
type ToggleContext struct {
// App is the name of the app
App string
}
ToggleContext represents the context for a toggle operation
type ToggleFields ¶
type ToggleFields struct {
// App is the name of the app
App string `required:"true" identity:"key" yaml:"app" description:"Name of the app"`
// State is the desired state of the plugin for the app
State State `` /* 136-byte string literal not displayed */
}
ToggleFields is the recipe shape every toggle task shares: the app whose plugin is being turned on or off, and whether it should be enabled (present) or disabled (absent). A toggle task declares `type XToggleTask ToggleFields` rather than restating the two fields, so a cross-cutting field change - the identity tags of #427, say - lands in one place instead of in every copy.
A defined type rather than an embedded struct because the field set stays flat to reflection: the catalog, the required-field walk behind missing_required_field, the identity walk that names an unnamed task, and the sensitive-value walks all read a task's fields at the top level, and an embedded field set would empty every one of them out.
The descriptions are deliberately plugin-agnostic. A task's page already names its plugin in the title and the synopsis, so repeating it in every parameter row bought nothing and cost a copy of the field set per plugin.
There is no `global` field: planToggle always targets an app, the global machinery having been removed in #322. A toggle that later needs one declares its own fields and goes on the toggleTasksWithOwnFields allowlist with the reason. See TestToggleTasksDeclareTheSharedFields.
type ToggleProbe ¶
type ToggleProbe func(ctx ToggleContext) (enabled bool, err error)
ToggleProbe returns whether the toggle is currently in the "enabled" (state: present) position. nil from a probe (or a non-nil error) is treated as "drift, must mutate" so we still run the underlying command, except an SSH transport failure, which is surfaced as a plan error.
type TraefikPropertyTask ¶
type TraefikPropertyTask PropertyFields
TraefikPropertyTask manages the traefik configuration for a given dokku application
func (TraefikPropertyTask) Doc ¶
func (t TraefikPropertyTask) Doc() string
Doc returns the docblock for the traefik property task
func (TraefikPropertyTask) Examples ¶
func (t TraefikPropertyTask) Examples() ([]Doc, error)
Examples returns the examples for the traefik property task
func (TraefikPropertyTask) Execute ¶
func (t TraefikPropertyTask) Execute() TaskOutputState
Execute sets or unsets the traefik property
func (TraefikPropertyTask) ExportApp ¶
func (t TraefikPropertyTask) ExportApp(app string) ([]interface{}, error)
ExportApp reconstructs the app's explicitly-set properties.
func (TraefikPropertyTask) ExportGlobal ¶
func (t TraefikPropertyTask) ExportGlobal() ([]interface{}, error)
ExportGlobal reconstructs the globally-set properties.
func (TraefikPropertyTask) ExportSupport ¶
func (t TraefikPropertyTask) ExportSupport() ExportSupport
ExportSupport reports how docket export handles this task.
func (TraefikPropertyTask) Plan ¶
func (t TraefikPropertyTask) Plan() PlanResult
Plan reports the drift the TraefikPropertyTask would produce.
func (TraefikPropertyTask) ProbeSupport ¶
func (t TraefikPropertyTask) ProbeSupport() ProbeSupport
ProbeSupport reports whether Plan() can read this task's current state.
func (TraefikPropertyTask) PropertyTable ¶
func (t TraefikPropertyTask) PropertyTable() PropertyTable
PropertyTable returns the property schema this task manages.
func (TraefikPropertyTask) Validate ¶
func (t TraefikPropertyTask) Validate() error
Validate checks the TraefikPropertyTask's inputs without contacting the server.
type TraefikPropertyTaskExample ¶
type TraefikPropertyTaskExample struct {
// Name is the task name holding the TraefikPropertyTask description
Name string `yaml:"-"`
// TraefikPropertyTask is the TraefikPropertyTask configuration
TraefikPropertyTask TraefikPropertyTask `yaml:"dokku_traefik_property"`
}
TraefikPropertyTaskExample contains an example of a TraefikPropertyTask
func (TraefikPropertyTaskExample) GetName ¶
func (e TraefikPropertyTaskExample) GetName() string
GetName returns the name of the example
type ValidateOptions ¶
type ValidateOptions struct {
Strict bool
InputOverrides map[string]bool
PlayName string
StartAtTask string
Format string
}
ValidateOptions controls optional checks. Strict turns on the input-resolution audit; InputOverrides is the set of input names whose values were supplied on the CLI (the same map registerInputFlags fills in for apply/plan).
PlayName and StartAtTask carry the values of `validate --play` and `validate --start-at-task` respectively. They power the cross-reference audit that runs under `--strict`: each non-empty value must resolve to a real play / task name in the recipe.
Format selects the on-disk surface syntax: "yaml" (default) or "json5". JSON5 input is normalised to YAML bytes once at the top of Validate so the rest of the pipeline (sigil render, yaml.Node walk, line/column reporting) keeps a single implementation. Line / column numbers in problems for a JSON5 file therefore index into the normalised form, not the original JSON5 source.
Source Files
¶
- acl_app_task.go
- acl_service_task.go
- app_clone_task.go
- app_json_property_task.go
- app_lock_task.go
- app_report.go
- app_task.go
- apps_property_task.go
- bool_ptr.go
- builder_dockerfile_property_task.go
- builder_herokuish_property_task.go
- builder_lambda_property_task.go
- builder_nixpacks_property_task.go
- builder_pack_property_task.go
- builder_property_task.go
- builder_railpack_property_task.go
- buildpacks_property_task.go
- buildpacks_task.go
- builds_property_task.go
- caddy_property_task.go
- capacity.go
- catalog.go
- certs_task.go
- checks_property_task.go
- checks_toggle_task.go
- config_task.go
- cron_property_task.go
- deprecation.go
- dispatch.go
- doc.go
- docker_options_task.go
- domains_task.go
- domains_toggle_task.go
- envelope.go
- errors.go
- examples.go
- export.go
- export_resource.go
- export_support.go
- format.go
- format_json5.go
- git_auth_task.go
- git_from_archive_task.go
- git_from_image_task.go
- git_property_task.go
- git_sync_task.go
- haproxy_property_task.go
- http_auth_allowed_ip_task.go
- http_auth_domain_task.go
- http_auth_task.go
- http_auth_user_task.go
- identity.go
- json5_dup.go
- letsencrypt_property_task.go
- letsencrypt_task.go
- logs_property_task.go
- loop.go
- main.go
- maintenance_custom_page_task.go
- maintenance_task.go
- map_pair_diff.go
- network_property_task.go
- network_task.go
- nginx_property_task.go
- openresty_property_task.go
- ordered_map.go
- pairs.go
- parse.go
- play.go
- plugin_task.go
- ports_task.go
- predicate.go
- probe_support.go
- properties.go
- proxy_property_task.go
- proxy_toggle_task.go
- ps_property_task.go
- ps_scale_task.go
- reflect_helpers.go
- registered.go
- registry_auth_task.go
- registry_property_task.go
- render_funcs.go
- requirements.go
- resource_limit_task.go
- resource_reserve_task.go
- resources.go
- scheduler_docker_local_property_task.go
- scheduler_k3s_annotations_task.go
- scheduler_k3s_autoscaling_auth.go
- scheduler_k3s_autoscaling_auth_task.go
- scheduler_k3s_chart_task.go
- scheduler_k3s_labels_task.go
- scheduler_k3s_profile_task.go
- scheduler_k3s_property_task.go
- scheduler_k3s_scoped_pairs.go
- scheduler_property_task.go
- sensitive.go
- service_backup_task.go
- service_create_task.go
- service_export.go
- service_expose_task.go
- service_link_task.go
- service_property_task.go
- ssh_key_task.go
- storage_ensure_task.go
- storage_entry_task.go
- storage_mount_task.go
- toggle.go
- traefik_property_task.go
- validate.go