apiVersion: releases.vmsp.vmware.com/v1alpha1
kind: Schema
metadata:
  labels:
    packages.vcf.vmware.com/packaging: bundle
  name: configuration-vcf-fleet-depot-9.1.0.0.25289908
  namespace: vcf-fleet-depot
spec:
  context:
    name: vcf-fleet-depot
    type: configuration
    version: 9.1.0.0.25289908
  schema:
    openAPIV3Schema:
      description: Configuration schema for the vcf-fleet-depot-9.1.0.0.25289908 package
      properties:
        values:
          properties:
            cache:
              properties:
                binariesHttpStatusCodeAndTime:
                  description: Set HTTP response status codes used for caching binary
                    files and the duration of cache validity.
                  type: string
                disabled:
                  description: Disable depot cache.
                  type: boolean
                excludeFileExtensions:
                  description: Comma-separated list of file extensions to exclude
                    from caching.
                  type: string
                inactive:
                  description: Time after which cached items are removed if not accessed.
                  type: string
                keysZoneSize:
                  description: Size of the shared memory zone for cache keys and metadata.
                  type: string
                lockAge:
                  description: Maximum age for cache lock before allowing new requests
                    to fill the cache.
                  type: string
                lockTimeout:
                  description: Timeout for waiting requests before starting their
                    own download.
                  type: string
                maxTempFileSize:
                  description: Maximum size of temporary files for proxy responses.
                    Set to 0 to disable temporary files (cache should handle it).
                  type: integer
                revalidateBinaries:
                  description: Enable cache revalidation for binary files.
                  type: boolean
                revalidateMetadata:
                  description: Enable cache revalidation for metadata files.
                  type: boolean
              type: object
            depotConnectionValidation:
              properties:
                metadataDir:
                  description: Relative metadata directory from v2RootDir.
                  type: string
                v2RootDir:
                  description: Root directory for the depot base path.
                  type: string
              type: object
            depotSSL:
              properties:
                sessionCache:
                  description: SSL session cache configuration.
                  type: string
                sessionReuse:
                  description: Enable SSL session reuse for proxy connections to upstream
                    servers.
                  type: boolean
                sessionTimeout:
                  description: SSL session timeout.
                  type: string
              type: object
            depotService:
              properties:
                scope:
                  description: Cluster scope for depot-service. Possible values 'FLEET'
                    and 'INSTANCE'.
                  type: string
              type: object
            oci:
              properties:
                offlineWriteEnabled:
                  description: Enable write operations (POST/PUT/DELETE) for the offline
                    OCI registry. Only use it when you need to upload OCI artifacts,
                    and turn it off after the upload is complete. The default setting
                    is false for security reasons.
                  type: boolean
                repoPathMappingsOverride:
                  description: Override specific OCI URL path mappings to override
                    the built-in defaults. Only specify mappings that differ from
                    defaults. Unspecified mappings use built-in defaults. Format is
                    a list of objects with pattern and target key pairs.
                  type: list
              type: object
            online:
              properties:
                authorizationServer:
                  description: OAuth server URL to get the bearer token for download
                    authorization.
                  type: string
                publicDepotHost:
                  description: Depot endpoint to fetch the files or binaries.
                  type: string
                publicPackagesHost:
                  description: Packages Depot endpoint to fetch the images.
                  type: string
                publicVsanHclHost:
                  description: vSAN HCL Depot endpoint to fetch hcl data.
                  type: string
                publicVvsHost:
                  description: VVS Depot endpoint to fetch compatibility data.
                  type: string
                publicVvsVcfInteropBundlePath:
                  description: VVS vcf interop bundle path.
                  type: string
                publicVvsVcfLcmBundlePath:
                  description: VVS vcf lcm bundle path.
                  type: string
                publicVvsVlcmInteropVcgBundlePath:
                  description: VVS vlcm interop vcg bundle path.
                  type: string
              type: object
            performance:
              properties:
                outputBuffers:
                  description: Number and size of buffers used for reading a response
                    from disk.
                  type: string
                rateLimitBurst:
                  description: Number of requests that can be burst above the rate
                    limit.
                  type: integer
                rateLimitZone:
                  description: Rate limiting zone configuration for downloads.
                  type: string
                sendTimeout:
                  description: Timeout for transmitting a response to the client.
                  type: string
                workerConnections:
                  description: Maximum number of simultaneous connections that a worker
                    process can open.
                  type: integer
                workerRlimitNofile:
                  description: Maximum number of open files for worker processes.
                  type: integer
              type: object
            proxy:
              properties:
                disableProxy:
                  description: Skip the VMSP proxy-service to reach the depot.
                  type: boolean
                skipProxyForwarder:
                  description: Directly reach the depot servers bypassing depot-service
                    proxy and VMSP proxy-service.
                  type: boolean
              type: object
            size:
              description: Deployment size profile for fleet-depot (small, medium,
                large)
              enum:
              - small
              - medium
              - large
              type: string
            storage:
              properties:
                volumeGroups:
                  properties:
                    depotserviceData:
                      properties:
                        capacity:
                          description: Depot storage PVC size.
                          type: string
                      type: object
                    distributionserviceData:
                      properties:
                        capacity:
                          description: Distribution PVC size.
                          type: string
                      type: object
                  type: object
              type: object
            upload:
              properties:
                enableSignatureValidation:
                  description: Enable signature validation for metadata.
                  type: boolean
              type: object
            upstream:
              properties:
                readTimeout:
                  description: Timeout for reading response from upstream in seconds.
                  type: integer
              type: object
            vcfFleetDepot:
              properties:
                scope:
                  description: Cluster scope for depot-service. Possible values 'FLEET'
                    and 'INSTANCE'.
                  type: string
              type: object
          type: object
      type: object
