Documentation
¶
Index ¶
- Constants
- func RequirementContextFromConfig(cfg *config.WorkflowConfig, environment string) *pb.RequirementContext
- type DeploymentMode
- type ExternalDiscoveryProvider
- type Input
- type Kind
- type ObservabilityBackend
- type Provider
- type ProviderFunc
- type Requirement
- func Discover(ctx context.Context, input Input) ([]Requirement, error)
- func DiscoverManifestRequirements(cfg *config.WorkflowConfig, manifests map[string]*config.PluginManifestFile) ([]Requirement, error)
- func FromManifestRequirement(raw config.ModuleInfraRequirementV2) (Requirement, error)
- func FromProto(in *pb.IaCRequirement) (Requirement, error)
- type Runtime
- type TelemetrySignal
Constants ¶
View Source
const ( KindObservability Kind = "observability" KindWebAPI Kind = "web_api" KindMessageBroker Kind = "message_broker" KindDatabase Kind = "database" KindCache Kind = "cache" KindStorage Kind = "storage" RuntimeKubernetes Runtime = "kubernetes" RuntimeECS Runtime = "ecs" RuntimeCloudRun Runtime = "cloud_run" RuntimeAzureContainerApps Runtime = "azure_container_apps" RuntimeDigitalOceanAppPlatform Runtime = "digitalocean_app_platform" TelemetrySignalTraces TelemetrySignal = "traces" TelemetrySignalMetrics TelemetrySignal = "metrics" TelemetrySignalLogs TelemetrySignal = "logs" ObservabilityBackendOTel ObservabilityBackend = "otel" ObservabilityBackendDatadog ObservabilityBackend = "datadog" ObservabilityBackendPrometheus ObservabilityBackend = "prometheus" ObservabilityBackendLoki ObservabilityBackend = "loki" ObservabilityBackendGrafana ObservabilityBackend = "grafana" DeploymentModeSidecar DeploymentMode = "sidecar" DeploymentModeDaemonSet DeploymentMode = "daemonset" DeploymentModeSiblingService DeploymentMode = "sibling_service" DeploymentModeManaged DeploymentMode = "managed" )
Variables ¶
This section is empty.
Functions ¶
func RequirementContextFromConfig ¶
func RequirementContextFromConfig(cfg *config.WorkflowConfig, environment string) *pb.RequirementContext
Types ¶
type DeploymentMode ¶
type DeploymentMode string
type ExternalDiscoveryProvider ¶
type ExternalDiscoveryProvider struct {
Client pb.IaCRequirementDiscoveryClient
Context *pb.RequirementContext
ModuleConfigJSON []byte
}
func (ExternalDiscoveryProvider) IaCRequirements ¶
func (p ExternalDiscoveryProvider) IaCRequirements(ctx context.Context, input Input) ([]Requirement, error)
type Input ¶
type Input struct {
Config *config.WorkflowConfig
Manifests map[string]*config.PluginManifestFile
Providers []Provider
Environment string
}
type ObservabilityBackend ¶
type ObservabilityBackend string
type Provider ¶
type Provider interface {
IaCRequirements(context.Context, Input) ([]Requirement, error)
}
type ProviderFunc ¶
type ProviderFunc func(context.Context, Input) ([]Requirement, error)
func (ProviderFunc) IaCRequirements ¶
func (f ProviderFunc) IaCRequirements(ctx context.Context, input Input) ([]Requirement, error)
type Requirement ¶
type Requirement struct {
Key string
Kind Kind
Source string
ResourceTypeHint string
Environment string
Runtimes []Runtime
TelemetrySignals []TelemetrySignal
ObservabilityBackends []ObservabilityBackend
DeploymentModes []DeploymentMode
VendorFeatures []string
ParametersJSON []byte
}
Requirement is Workflow's provider-neutral IaC requirement model. It mirrors the strict protobuf contract while staying pleasant to author in Go tests and plugin manifest adapters.
func DiscoverManifestRequirements ¶
func DiscoverManifestRequirements(cfg *config.WorkflowConfig, manifests map[string]*config.PluginManifestFile) ([]Requirement, error)
func FromManifestRequirement ¶
func FromManifestRequirement(raw config.ModuleInfraRequirementV2) (Requirement, error)
func FromProto ¶
func FromProto(in *pb.IaCRequirement) (Requirement, error)
func (Requirement) ToProto ¶
func (r Requirement) ToProto() (*pb.IaCRequirement, error)
func (Requirement) Validate ¶
func (r Requirement) Validate() error
type TelemetrySignal ¶
type TelemetrySignal string
Click to show internal directories.
Click to hide internal directories.