@@ -42,10 +42,16 @@ type ApplicationSpec struct {
4242
4343// ComponentRef references a Component within an Application
4444type ComponentRef struct {
45- Name string `json:"name" yaml:"name"` // Component name
46- VirtualMachineSpec string `json:"virtualMachineSpec" yaml:"virtualMachineSpec"` // Reusable VM spec name
47- Replicas int `json:"replicas" yaml:"replicas"` // Number of VM replicas
48- HealthChecks []HealthCheck `json:"healthChecks,omitempty" yaml:"healthChecks,omitempty" gorm:"serializer:json"`
45+ Name string `json:"name" yaml:"name"` // Component name
46+ VirtualMachineSpec string `json:"virtualMachineSpec" yaml:"virtualMachineSpec"` // Reusable VM spec name
47+ Replicas int `json:"replicas" yaml:"replicas"` // Number of VM replicas
48+ // MinHealthy defines the minimum number of healthy VMs required for the component to be
49+ // considered healthy. If zero, defaults to Replicas. Propagated to the Component record.
50+ MinHealthy int `json:"minHealthy,omitempty" yaml:"minHealthy,omitempty"`
51+ HealthChecks []HealthCheck `json:"healthChecks,omitempty" yaml:"healthChecks,omitempty" gorm:"serializer:json"`
52+ // Overrides allows per-component overrides (e.g. serviceOffering, userDataRefs) defined
53+ // inline inside the Application spec, propagated to the Component record on creation.
54+ Overrides ComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" gorm:"serializer:json"`
4955 // DependsOn lists component names this component depends on. If set,
5056 // the reconciler will wait for the named components to be healthy
5157 // before creating or reconciling this component. Values may be a
0 commit comments