From fa345443166d39a36b1078a54ae88f205769e7ac Mon Sep 17 00:00:00 2001 From: Alexander Mattoni <5110855+mattoni@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:02:21 +0000 Subject: [PATCH 1/2] Update external volume sources to use integration IDs --- .../sources/ceph-rbd/SourceCephRbd.yml | 22 ++++------------- .../ceph-rbd/SourceCephRbdClientIdentity.yml | 14 ----------- .../sources/ceph-rbd/SourceCephRbdMonitor.yml | 14 ----------- .../san-iscsi/SourceSanChapCredentials.yml | 14 ----------- .../sources/san-iscsi/SourceSanIscsi.yml | 14 +++++------ .../san-iscsi/SourceSanIscsiTarget.yml | 24 ------------------- .../sources/san-iscsi/SourceSanPortal.yml | 16 ------------- 7 files changed, 10 insertions(+), 108 deletions(-) delete mode 100644 components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdClientIdentity.yml delete mode 100644 components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdMonitor.yml delete mode 100644 components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanChapCredentials.yml delete mode 100644 components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsiTarget.yml delete mode 100644 components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanPortal.yml diff --git a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbd.yml b/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbd.yml index 5329540a..3941bc51 100644 --- a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbd.yml +++ b/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbd.yml @@ -14,26 +14,12 @@ properties: details: type: object required: - - monitors - - client + - integration_id - image properties: - monitors: + integration_id: description: > - Ceph monitor endpoints used by the client to discover the cluster. - Typically 1-3 endpoints are provided. - anyOf: - - type: array - items: - $ref: "./SourceCephRbdMonitor.yml" - - type: "null" - fsid: - type: string - description: > - Ceph cluster FSID (UUID). Optional; used for additional validation or - to ensure the client connects to the intended cluster. - format: uuid - client: - $ref: "./SourceCephRbdClientIdentity.yml" + The ID of a Ceph cluster integration for authentication. + $ref: ../../../../ID.yml image: $ref: "./SourceCephRbdImageRef.yml" diff --git a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdClientIdentity.yml b/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdClientIdentity.yml deleted file mode 100644 index 9703f391..00000000 --- a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdClientIdentity.yml +++ /dev/null @@ -1,14 +0,0 @@ -title: SourceCephRbdClientIdentity -type: object -description: CephX client credentials used to authenticate to the Ceph cluster. -required: - - id - - key -properties: - id: - type: string - description: CephX client ID (e.g., "client.admin" or "client.cycle"). - key: - type: string - format: password - description: CephX secret key for the client. diff --git a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdMonitor.yml b/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdMonitor.yml deleted file mode 100644 index 437b4889..00000000 --- a/components/schemas/infrastructure/external-volumes/sources/ceph-rbd/SourceCephRbdMonitor.yml +++ /dev/null @@ -1,14 +0,0 @@ -title: SourceCephRbdMonitor -type: object -description: A Ceph monitor endpoint (host and TCP port). -required: - - host - - port -properties: - host: - type: string - description: Hostname or IP address of the Ceph monitor (DNS, IPv4, or IPv6). - port: - type: integer - format: int32 - description: TCP port of the Ceph monitor (typically 6789 or 3300). diff --git a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanChapCredentials.yml b/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanChapCredentials.yml deleted file mode 100644 index 24e8eb2e..00000000 --- a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanChapCredentials.yml +++ /dev/null @@ -1,14 +0,0 @@ -title: SourceSanChapCredentials -type: object -description: CHAP credentials used by initiators to authenticate to the iSCSI target. -required: - - username - - password -properties: - username: - type: string - description: CHAP username used by initiators. - password: - type: string - format: password - description: CHAP shared secret. diff --git a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsi.yml b/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsi.yml index 896c9dcf..a8d0abb9 100644 --- a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsi.yml +++ b/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsi.yml @@ -14,17 +14,15 @@ properties: details: type: object required: - - targets + - integration_ids - lun properties: - targets: + integration_ids: description: > - One or more iSCSI targets that expose the desired LUN; may be null. - anyOf: - - type: array - items: - $ref: "./SourceSanIscsiTarget.yml" - - type: "null" + One or more iSCSI integration IDs to use for authentication. + type: array + items: + $ref: ../../../../ID.yml lun: type: integer format: int32 diff --git a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsiTarget.yml b/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsiTarget.yml deleted file mode 100644 index f2d1a75a..00000000 --- a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanIscsiTarget.yml +++ /dev/null @@ -1,24 +0,0 @@ -title: SourceSanIscsiTarget -type: object -description: > - An iSCSI target definition used by a SAN-backed volume source. -required: - - iqn - - portals -properties: - iqn: - $ref: "../../../san/targets/Iqn.yml" - portals: - description: > - Network endpoints where this target accepts iSCSI sessions. - anyOf: - - type: array - items: - $ref: "./SourceSanPortal.yml" - - type: "null" - credentials: - description: > - Optional CHAP credentials required by initiators to authenticate to this target. - anyOf: - - $ref: "./SourceSanChapCredentials.yml" - - type: "null" diff --git a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanPortal.yml b/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanPortal.yml deleted file mode 100644 index ea8d1c7c..00000000 --- a/components/schemas/infrastructure/external-volumes/sources/san-iscsi/SourceSanPortal.yml +++ /dev/null @@ -1,16 +0,0 @@ -title: SourceSanPortal -type: object -description: > - A network endpoint (host and TCP port) where the iSCSI target listens for sessions. -required: - - host - - port -properties: - host: - type: string - description: > - Hostname or IP address of the portal. Accepts DNS names, IPv4, or IPv6 literals. - port: - type: integer - format: int32 - description: TCP port number for the portal (typically 3260) From 62afd9caecdc3066ece13dfa44e1da6b58acfdec Mon Sep 17 00:00:00 2001 From: Alexander Mattoni <5110855+mattoni@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:32:55 +0000 Subject: [PATCH 2/2] integration field `description` -> `name` --- .../schemas/hubs/integrations/IntegrationDefinitionField.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/schemas/hubs/integrations/IntegrationDefinitionField.yml b/components/schemas/hubs/integrations/IntegrationDefinitionField.yml index 33d78ebe..ea753a88 100644 --- a/components/schemas/hubs/integrations/IntegrationDefinitionField.yml +++ b/components/schemas/hubs/integrations/IntegrationDefinitionField.yml @@ -1,7 +1,7 @@ title: IntegrationDefinitionField type: object required: - - description + - name - required properties: regex: @@ -10,6 +10,8 @@ properties: - "null" required: type: boolean + name: + type: string description: type: string type: