Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( PostgreSQL = Provider{ Kind: ProviderPostgreSQL, Capabilities: []Kind{SQL}, } Valkey = Provider{ Kind: ProviderValkey, Capabilities: []Kind{KeyValue}, } OpenBao = Provider{ Kind: ProviderOpenBao, Capabilities: []Kind{Secrets}, } )
Reference providers describe the capability products already used by the current Compose implementation. They are descriptors only: existing provisioning remains authoritative until it is migrated behind the shared lifecycle in later v0.4.1 commits.
Functions ¶
This section is empty.
Types ¶
type Diagnostic ¶
type Kind ¶
type Kind string
Kind identifies portable application behavior. It describes what an application needs, never which product or runtime satisfies that need.
type Provider ¶
type Provider struct {
Kind ProviderKind `json:"kind"`
Capabilities []Kind `json:"capabilities"`
}
Provider describes the capability surface of one provider implementation. Placement, ownership and shared/dedicated/external scope deliberately remain outside this v0.4.1 foundation and are introduced by the provider registry.
type ProviderKind ¶
type ProviderKind string
ProviderKind identifies a capability implementation. Capability providers are independent from runtime providers such as Compose.
const ( ProviderPostgreSQL ProviderKind = "postgresql" ProviderValkey ProviderKind = "valkey" ProviderOpenBao ProviderKind = "openbao" )
type Request ¶
type Request struct {
Requirement Requirement
Workload string
Driver Driver
}
type Requirement ¶
Requirement is one application-owned logical capability request.
type Resource ¶
type Resource struct {
Application string `json:"application"`
Kind Kind `json:"kind"`
Name string `json:"name"`
Provider ProviderKind `json:"provider"`
}
Resource is the provider-backed representation of one stable logical application resource. Provider-specific object names, ports and credentials are intentionally absent.
type Result ¶
type Result struct {
Application string `json:"application"`
Status Status `json:"status"`
Plan Plan `json:"plan"`
Steps []StepResult `json:"steps"`
}
type StepResult ¶
type StepResult struct {
Phase Phase `json:"phase"`
Status Status `json:"status"`
Resource Resource `json:"resource"`
Binding Binding `json:"binding"`
Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
}