Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 9 additions & 20 deletions charts/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,26 +135,6 @@ data:

shutdown_timeout: {{ .Values.config.health.shutdown_timeout }}
db_ping_timeout: {{ .Values.config.health.db_ping_timeout }}

adapters:
required:
cluster:
{{- if .Values.config.adapters.required.cluster }}
{{- range .Values.config.adapters.required.cluster }}
- {{ . }}
{{- end }}
{{- else }}
[]
{{- end }}
nodepool:
{{- if .Values.config.adapters.required.nodepool }}
{{- range .Values.config.adapters.required.nodepool }}
- {{ . }}
{{- end }}
{{- else }}
[]
{{- end }}

# NOTE: When EntityDescriptor gains many more fields, consider replacing
# the explicit range below with: .Values.config.entities | toYaml | indent 6
{{- if .Values.config.entities }}
Expand All @@ -181,6 +161,15 @@ data:
- {{ . }}
{{- end }}
{{- end }}
{{- if .name_min_len }}
name_min_len: {{ .name_min_len }}
{{- end }}
{{- if .name_max_len }}
name_max_len: {{ .name_max_len }}
{{- end }}
{{- if .require_spec_schema }}
require_spec_schema: {{ .require_spec_schema }}
{{- end }}
{{- if .references }}
references:
{{- range .references }}
Expand Down
30 changes: 18 additions & 12 deletions charts/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,21 +194,27 @@ config:
shutdown_timeout: 20s
# -- Timeout for the database liveness ping
db_ping_timeout: 2s

# -- Adapters required for resources to reach "Ready" state.
# Production deployments should list all expected adapters.
adapters:
# -- Adapters required for cluster resources
required:
# -- Required cluster adapters (e.g. `["validation", "dns", "pullsecret", "hypershift"]`)
cluster: []
# -- Required nodepool adapters (e.g. `["validation", "hypershift"]`)
nodepool: []

# -- Entity descriptors registered at startup. Each entry auto-generates
# REST endpoints, spec validation, and delete policies.
# Cluster and NodePool use legacy typed handlers and are NOT listed here.
entities:
- kind: Cluster
plural: clusters
spec_schema_name: ClusterSpec
required_adapters: [validation, dns, pullsecret, hypershift]
search_disallowed_fields: [spec]
name_min_len: 3
name_max_len: 53
require_spec_schema: true
- kind: NodePool
plural: nodepools
parent_kind: Cluster
on_parent_delete: cascade
spec_schema_name: NodePoolSpec
required_adapters: [validation, hypershift]
search_disallowed_fields: [spec]
name_min_len: 3
name_max_len: 15
require_spec_schema: true
- kind: Channel
plural: channels
spec_schema_name: ChannelSpec
Expand Down
2 changes: 0 additions & 2 deletions cmd/hyperfleet-api/environments/framework_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ func TestLoadServices(t *testing.T) {

// Create minimal configuration for unit test
cfg := config.NewApplicationConfig()
cfg.Adapters.Required.Cluster = []string{"validation", "dns", "pullsecret", "hypershift"}
cfg.Adapters.Required.Nodepool = []string{"validation", "hypershift"}

env := Environment()
env.Config = cfg
Expand Down
3 changes: 0 additions & 3 deletions cmd/hyperfleet-api/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,9 @@ import (
"github.com/openshift-hyperfleet/hyperfleet-api/pkg/logger"

// Import plugins to trigger their init() functions
// _ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/events" // REMOVED: Events plugin no longer exists
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/adapterStatus"
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/clusters"
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/entities"
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/generic"
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/nodePools"
_ "github.com/openshift-hyperfleet/hyperfleet-api/plugins/resources"
)

Expand Down
35 changes: 20 additions & 15 deletions configs/config.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -101,25 +101,30 @@ health:

shutdown_timeout: 20s # Graceful shutdown timeout
db_ping_timeout: 2s # Database ping timeout for readiness check

# Adapter Requirements Configuration
adapters:
required:
cluster: # Required adapters for cluster resources
- validation
- dns
- pullsecret
- hypershift

nodepool: # Required adapters for nodepool resources
- validation
- hypershift

# Entity Registration
# Generic resource types registered at startup. Each entry auto-generates
# REST endpoints, spec validation, and delete policies.
# Cluster and NodePool use legacy typed handlers and are NOT listed here.
entities:
- kind: Cluster
plural: clusters
spec_schema_name: ClusterSpec
required_adapters: [validation, dns, pullsecret, hypershift]
search_disallowed_fields: [spec]
name_min_len: 3
name_max_len: 53
require_spec_schema: true

- kind: NodePool
plural: nodepools
parent_kind: Cluster
on_parent_delete: cascade
spec_schema_name: NodePoolSpec
required_adapters: [validation, hypershift]
search_disallowed_fields: [spec]
name_min_len: 3
name_max_len: 15
require_spec_schema: true

- kind: Channel
plural: channels
spec_schema_name: ChannelSpec
Expand Down
81 changes: 0 additions & 81 deletions pkg/api/cluster_types.go

This file was deleted.

Loading