Skip to content
Closed
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
9 changes: 9 additions & 0 deletions config/plugins/osac.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,12 @@
# -----BEGIN OPENSSH PRIVATE KEY-----
# ...
# -----END OPENSSH PRIVATE KEY-----
# Optional: enable BCM (NVIDIA Base Command Manager) as an additional
# bare metal inventory source. discovery_hosts in cloud_infra.yaml are
# always used when the CaaS profile is active.
# osacBcmEnabled: true
# osacBcmApiUrl: "https://bcm-head:8081"
# osacBcmClientCert: "<PEM-encoded client certificate>"
# osacBcmClientKey: "<PEM-encoded client private key>"
# osacBcmValidateCerts: true
# osacBcmDisableBmcCertVerification: false
17 changes: 17 additions & 0 deletions plugins/osac/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,20 @@ osac_db_database: service
# AAP bootstrap
osac_aap_project_git_uri: "https://github.com/osac-project/osac-aap"
osac_aap_project_git_branch: main

# Container images
osac_images:
operator: "ghcr.io/osac-project/osac-operator"
operator_tag: "latest"
fulfillment_service: "ghcr.io/osac-project/fulfillment-service:latest"
envoy: "docker.io/envoyproxy/envoy:v1.33.0"
aap_bootstrap: "ghcr.io/osac-project/osac-aap:latest"
cli: "quay.io/openshift/origin-cli:4.20.0"

# BCM inventory (NVIDIA Base Command Manager)
osacBcmEnabled: false
osacBcmApiUrl: ""
osacBcmClientCert: ""
osacBcmClientKey: ""
osacBcmValidateCerts: true
osacBcmDisableBmcCertVerification: false
26 changes: 26 additions & 0 deletions plugins/osac/schemas/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,32 @@ properties:
osacNetrisSshBastionKey:
type: string
description: "SSH private key for bastion host access"
osacBcmEnabled:
type: boolean
title: "Enable BCM Inventory"
description: "Enable NVIDIA Base Command Manager as an additional bare metal inventory source"
osacBcmApiUrl:
type: string
title: "BCM API URL"
description: "BCM head node API endpoint (e.g. https://bcm-head:8081)"
osacBcmClientCert:
type: string
title: "BCM Client Certificate"
format: textarea
description: "PEM-encoded client certificate for BCM mTLS authentication"
osacBcmClientKey:
type: string
title: "BCM Client Key"
format: textarea
description: "PEM-encoded client private key for BCM mTLS authentication"
osacBcmValidateCerts:
type: boolean
title: "BCM Validate Certificates"
description: "Verify BCM server TLS certificates"
osacBcmDisableBmcCertVerification:
type: boolean
title: "BCM Disable BMC Cert Verification"
description: "Skip BMC TLS certificate verification during BCM system discovery"
required:
- osacAapLicenseFile
dependencies:
Expand Down
43 changes: 35 additions & 8 deletions plugins/osac/templates/values.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -114,15 +114,42 @@ aap:
image: "{{ osac_images.aap_bootstrap }}"
{% endif %}

configAsCode:
projectGitUri: "{{ osac_aap_project_git_uri }}"
projectGitBranch: "{{ osac_aap_project_git_branch }}"
configAsCode:
projectGitUri: "{{ osac_aap_project_git_uri }}"
projectGitBranch: "{{ osac_aap_project_git_branch }}"
{% if osac_images is defined and osac_images.aap_bootstrap is defined %}
eeImage: "{{ osac_images.aap_bootstrap }}"
{% endif %}

bmf:
enabled: false
eeImage: "{{ osac_images.aap_bootstrap }}"
{% endif %}
{% set _has_discovery = discovery_hosts | default([]) | length > 0 %}
{% set _has_bcm = osacBcmEnabled | default(false) %}
{% if _has_discovery %}
importAgentsEnabled: true
{% endif %}
{% if _has_bcm %}
importBcmAgentsEnabled: true
{% endif %}
{% if _has_discovery %}
importAgents:
servers:
{% for host in discovery_hosts %}
- name: "{{ host.name }}"
bmc_url: "redfish-virtualmedia+https://{{ host.redfish }}:443/redfish/v1/Systems/1"
bmc_username: "{{ host.redfishUser }}"
bmc_password: "{{ host.redfishPassword }}"
boot_mac: "{{ host.macAddress }}"
netris_server_name: "{{ host.name }}"
resource_class: "{{ host.resource_class | default('default') }}"
{% endfor %}
{% endif %}
{% if _has_bcm %}
importBcmAgents:
cert: |
{{ osacBcmClientCert | indent(6, true) }}
key: |
{{ osacBcmClientKey | indent(6, true) }}
{% endif %}
bmf:
enabled: false

dbMigrate:
enabled: false
Expand Down
Loading