...

Text file src/edge-infra.dev/test/fixtures/crds/datasync/datasync.edge.ncr.com_couchdbservers.yaml

Documentation: edge-infra.dev/test/fixtures/crds/datasync

     1---
     2apiVersion: apiextensions.k8s.io/v1
     3kind: CustomResourceDefinition
     4metadata:
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7  name: couchdbservers.datasync.edge.ncr.com
     8spec:
     9  group: datasync.edge.ncr.com
    10  names:
    11    kind: CouchDBServer
    12    listKind: CouchDBServerList
    13    plural: couchdbservers
    14    singular: couchdbserver
    15  scope: Namespaced
    16  versions:
    17  - additionalPrinterColumns:
    18    - jsonPath: .status.conditions[?(@.type=="Ready")].status
    19      name: Ready
    20      type: string
    21    - jsonPath: .status.conditions[?(@.type=="Ready")].message
    22      name: Status
    23      type: string
    24    name: v1alpha1
    25    schema:
    26      openAPIV3Schema:
    27        properties:
    28          apiVersion:
    29            description: |-
    30              APIVersion defines the versioned schema of this representation of an object.
    31              Servers should convert recognized schemas to the latest internal value, and
    32              may reject unrecognized values.
    33              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    34            type: string
    35          kind:
    36            description: |-
    37              Kind is a string value representing the REST resource this object represents.
    38              Servers may infer this from the endpoint the client submits requests to.
    39              Cannot be updated.
    40              In CamelCase.
    41              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    42            type: string
    43          metadata:
    44            type: object
    45          spec:
    46            properties:
    47              admin:
    48                description: Admin contains configuration that controls how the admin
    49                  user is setup
    50                properties:
    51                  cookie:
    52                    description: |-
    53                      SecretReference represents a Secret Reference. It has enough information to retrieve secret
    54                      in any namespace
    55                    properties:
    56                      name:
    57                        description: name is unique within a namespace to reference
    58                          a secret resource.
    59                        type: string
    60                      namespace:
    61                        description: namespace defines the space within which the
    62                          secret name must be unique.
    63                        type: string
    64                    type: object
    65                    x-kubernetes-map-type: atomic
    66                  replicationSecret:
    67                    description: |-
    68                      ReplicationSecret configures how the GCP Secret Manager Secret for
    69                      replicators is created. It is always created in the server's GCP Project
    70                    properties:
    71                      fromSecret:
    72                        description: |-
    73                          Reference to a secret to get the replication auth from. Defaults to the value
    74                          of Admin.Credentials. Allows using different auth for replication and admin
    75                        properties:
    76                          name:
    77                            description: name is unique within a namespace to reference
    78                              a secret resource.
    79                            type: string
    80                          namespace:
    81                            description: namespace defines the space within which
    82                              the secret name must be unique.
    83                            type: string
    84                        type: object
    85                        x-kubernetes-map-type: atomic
    86                      target:
    87                        description: The name of the Secret Manager Secret to create
    88                        type: string
    89                    required:
    90                    - target
    91                    type: object
    92                  secretRef:
    93                    description: |-
    94                      SecretReference represents a Secret Reference. It has enough information to retrieve secret
    95                      in any namespace
    96                    properties:
    97                      name:
    98                        description: name is unique within a namespace to reference
    99                          a secret resource.
   100                        type: string
   101                      namespace:
   102                        description: namespace defines the space within which the
   103                          secret name must be unique.
   104                        type: string
   105                    type: object
   106                    x-kubernetes-map-type: atomic
   107                type: object
   108              admins:
   109                additionalProperties:
   110                  type: string
   111                type: object
   112              attachments:
   113                description: AttachmentConfig is the configuration for attachment
   114                  storage
   115                properties:
   116                  compressibleTypes:
   117                    description: specifies by their MIME type which types of attachments
   118                      to compress
   119                    items:
   120                      type: string
   121                    type: array
   122                  compressionLevel:
   123                    description: Defines zlib compression level for the attachments
   124                    type: integer
   125                type: object
   126              backgroundIndex:
   127                description: BackgroundIndexConfig Secondary indexes in CouchDB
   128                properties:
   129                  batch_channels:
   130                    description: BatchChannels Controls number of background view
   131                      builds that can be running in parallel
   132                    type: integer
   133                  ignoreShards:
   134                    additionalProperties:
   135                      type: boolean
   136                    description: IgnoreShardsIgnoreShards tell the background indexer
   137                      to skip over specific database shard files
   138                    type: object
   139                  incremental_channels:
   140                    description: IncrementalChannels Controls number of additional
   141                      short jobs allowed to run concurrently with main jobs
   142                    type: integer
   143                  max_incremental_updates:
   144                    description: MaxIncrementalUpdates Controls whether an indexing
   145                      job is "incremental" or not by looking at the difference in
   146                      sequence numbers between the current index and the main database
   147                    type: integer
   148                type: object
   149              base:
   150                description: |-
   151                  BaseConfig contains all configuration related CouchDB specific functionality
   152                  Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/couchdb.html
   153                properties:
   154                  bufferSize:
   155                    description: |-
   156                      BufferSize Higher values may result in better read performance due to fewer read operations and/or more OS page cache hits.
   157                      However, they can also increase overall response time for writes when there are many attachment write requests in parallel.
   158                    type: integer
   159                  compression:
   160                    description: |-
   161                      Compression is the method used to compress everything that is appended
   162                      to database and view index files, except for attachments. Immutable.
   163                      Available methods are:
   164                        - `none`: no compressions
   165                        - `snappy`: use Google Snappy, a very fast compressor/decompressor
   166                        - `deflate_N`: use zlib’s deflate; N is the compression level which
   167                        ranges from 1 (fastest, lowest compression ratio) to 9 (slowest,
   168                        highest compression ratio)
   169                    type: string
   170                  databaseDir:
   171                    description: |-
   172                      DatabaseDir location of CouchDB database files (*.couch).
   173                      This location should be writable and readable for the user the CouchDB service runs as (couchdb by default).
   174                    type: string
   175                  databaseRecovery:
   176                    description: DatabaseRecovery Enable this to only “soft-delete”
   177                      databases.
   178                    type: boolean
   179                  defaultSecurity:
   180                    description: |-
   181                      DefaultSecurity for access to databases. By default `admin_only` is set
   182                      so only admins can read and write. When set to `admin_local`, sharded
   183                      databases can be read and written by anyone but the shareds can only be
   184                      read and written by admins. When set to `everyone`, anyone can perform
   185                      reads and writes. Immutable.
   186                    type: string
   187                  driverDir:
   188                    description: |-
   189                      DriverDir Specifies location of binary drivers (icu, ejson, etc.).
   190                      This location and its contents should be readable for the user that runs the CouchDB service.
   191                    type: string
   192                  maintenance_mode:
   193                    description: |-
   194                      MaintenanceMode A CouchDB node may be put into distinct maintenance modes:
   195                      Modes:
   196                      - true: The node will not respond to clustered requests from other nodes and the /_up endpoint will return a 404 response.
   197                      - nolb: The /_up endpoint will return a 404 response.
   198                      - false: The node responds normally, /_up returns a 200 response.
   199                    type: string
   200                  maxDBsOpen:
   201                    description: |-
   202                      MaxDBsOpen is the upper found on the number of databases that can be open
   203                      at once. Requires restart of CouchDB to take effect. Immutable.
   204                    type: integer
   205                  maxDocSize:
   206                    description: TODO(help_wanted) - add others, maintenance mode
   207                      and lifecyle actions will need investigation
   208                    type: integer
   209                  processTimeout:
   210                    description: |-
   211                      ProcessTimeout If an external process, such as a query server or external process,
   212                      runs for this amount of milliseconds without returning any results, it will be terminated.
   213                    type: integer
   214                  securityEditable:
   215                    description: SecurityEditable When this configuration setting
   216                      is set to false, users_db_checkpoint is checked for corruption
   217                      when opened.
   218                    type: boolean
   219                  singleNode:
   220                    description: |-
   221                      SingleNode automatically creates the system databases on startup. Must
   222                      be `false` for a clustered installation. Immutable.
   223                    type: boolean
   224                  uriFile:
   225                    description: URIFile This file contains the full URI that can
   226                      be used to access this instance of CouchDB.
   227                    type: string
   228                  usersDBSuffix:
   229                    description: UsersDBSuffix Specifies the suffix (last component
   230                      of a name) of the system database for storing CouchDB users.
   231                    type: string
   232                  uuid:
   233                    description: Unique identifier for the server instance. Immutable.
   234                    type: string
   235                  viewIndexDir:
   236                    description: ViewIndexDir Specifies location of CouchDB view index
   237                      files.
   238                    type: string
   239                type: object
   240              cluster:
   241                description: Cluster is the configuration for clustered couchdb servers
   242                properties:
   243                  autoFinish:
   244                    description: |-
   245                      If true, finish_cluster will be sent to a random node within the cluster,
   246                      completing the clustered server setup
   247                    type: boolean
   248                  nodes:
   249                    description: Unused. Number of couch servers in the cluster
   250                    type: integer
   251                type: object
   252              clustering:
   253                description: |-
   254                  ClusterConfig contains all configuration options for running a multi-node
   255                  clustered instance. Immutable.
   256                  Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/cluster.html
   257                properties:
   258                  nodes:
   259                    description: |-
   260                      Nodes is the number of nodes in a clustered install. Sets the number of
   261                      replicas of each document in a cluster with only one replica per node.
   262                      Immutable.
   263                    type: integer
   264                  placement:
   265                    description: |-
   266                      Sets the cluster-wide replica placement policy when creating new
   267                      databases. The value must be a comma-delimited list
   268                      of strings of the format zone_name:#
   269                    type: string
   270                  reconnect_interval_sec:
   271                    description: Period in seconds specifying how often to attempt
   272                      reconnecting to disconnected nodes. There is a 25% random jitter
   273                      applied to this value.
   274                    type: integer
   275                  seedList:
   276                    description: |-
   277                      SeedList is an optional list of node names used when joining nodes in a
   278                      cluster. Immutable.
   279                    items:
   280                      type: string
   281                    type: array
   282                  shards:
   283                    description: |-
   284                      Shards is the default number of shards for newly created databases
   285                      (default value is 2). Immutable.
   286                    type: integer
   287                type: object
   288              csp:
   289                description: CSPConfig is the configuration for Content Security Policy
   290                properties:
   291                  attachmentsEnable:
   292                    description: specifies whether to enable the sending of the CSP
   293                      header for attachments
   294                    type: boolean
   295                  attachmentsHeaderValue:
   296                    description: specifies the exact header value to send for attachments
   297                    type: string
   298                  enable:
   299                    description: specifies whether to enable the sending of the CSP
   300                      header
   301                    type: boolean
   302                  headerValue:
   303                    description: specifies the default header value to send
   304                    type: string
   305                  showListEnable:
   306                    description: specifies whether to enable the sending of the CSP
   307                      header for show list
   308                    type: boolean
   309                  showlistHeaderValue:
   310                    description: specifies the exact header value to send for show
   311                      list
   312                    type: string
   313                  utilsEnable:
   314                    description: specifies whether to enable the sending of the CSP
   315                      header for _utils
   316                    type: boolean
   317                  utilsHeaderValue:
   318                    description: specifies the exact header value to send for _utils
   319                    type: string
   320                type: object
   321              deletionPolicy:
   322                description: |-
   323                  DeletionPolicy determines what happens to the CouchDB instance when this
   324                  resource is deleted. Immutable.
   325                  Available options are:
   326                    - `abandon`: all CouchDB resources are left alone (default)
   327                    - `purge`: all CouchDB resources will also be removed
   328                type: string
   329              disk_monitor:
   330                description: |-
   331                  DiskMonitor Disk Monitor Options
   332                  Apache CouchDB can react proactively when disk space gets low.
   333                properties:
   334                  backgroundViewIndexingThreshold:
   335                    description: |-
   336                      BackgroundViewIndexingThreshold The percentage of used disk space on the `view_index_dir` above which CouchDB
   337                      will no longer start background view indexing jobs. Defaults to 80.
   338                    type: integer
   339                  enable:
   340                    description: Enable enable disk monitoring subsystem. Defaults
   341                      to false.
   342                    type: boolean
   343                  interactiveDatabaseWritesThreshold:
   344                    description: |-
   345                      InteractiveDatabaseWritesThreshold The percentage of used disk space on the database_dir above which CouchDB
   346                      will no longer allow interactive document updates (writes or deletes).
   347                      Replicated updates and database deletions are still permitted.
   348                      In a clustered write an error will be returned if enough nodes are above the `interactive_database_writes_threshold`.
   349                      Defaults to 90.
   350                    type: integer
   351                  interactiveViewIndexingThreshold:
   352                    description: |-
   353                      InteractiveViewIndexingThreshold The percentage of used disk space on the view_index_dir above which CouchDB
   354                      will no longer update stale view indexes when queried.
   355                      View indexes that are already up to date can still be queried,
   356                      and stale view indexes can be queried if either stale=ok or update=false are set.
   357                      Attempts to query a stale index without either parameter will yield a 507 Insufficient Storage error. Defaults to 90.
   358                    type: integer
   359                type: object
   360              ingress:
   361                properties:
   362                  certificate:
   363                    description: Certificate is a reference to a ManagedCertificate
   364                      to create, or use if it exists
   365                    properties:
   366                      name:
   367                        description: |-
   368                          NOTE: An Ingress will reference this ManagedCertificate, so this value must match
   369                          the networking.gke.io/managed-certificates annotation on the Ingress.
   370                        type: string
   371                    required:
   372                    - name
   373                    type: object
   374                type: object
   375              interval:
   376                description: |-
   377                  Interval is how often the object will be reconciled, in order to prevent
   378                  drift.
   379                type: string
   380              ioq:
   381                description: IOQConfig config from https://docs.couchdb.org/en/stable/config/ioq.html
   382                properties:
   383                  bypass:
   384                    description: Bypass ioq bypass config belows
   385                    properties:
   386                      compaction:
   387                        description: Disk IO issued by compaction jobs.
   388                        type: boolean
   389                      osProcess:
   390                        description: Messages on their way to an external process
   391                          (e.g., couchjs).
   392                        type: boolean
   393                      read:
   394                        description: Disk IO fulfilling interactive read requests.
   395                        type: boolean
   396                      reshard:
   397                        description: Disk IO issued by resharding jobs.
   398                        type: boolean
   399                      shardSync:
   400                        description: Disk IO issued by the background replication
   401                          processes that fix any inconsistencies between shard copies.
   402                        type: boolean
   403                      viewUpdate:
   404                        description: Disk IO required to update views and other secondary
   405                          indexes.
   406                        type: boolean
   407                      write:
   408                        description: Disk IO required to update a database.
   409                        type: boolean
   410                    type: object
   411                  concurrency:
   412                    description: 'Specifies the maximum number of concurrent in-flight
   413                      IO requests that the queueing system will submit:'
   414                    type: integer
   415                  ratio:
   416                    description: 'The fraction of the time that a background IO request
   417                      will be selected over an interactive IO request when both queues
   418                      are non-empty:'
   419                    type: number
   420                type: object
   421              log:
   422                description: LogConfig from https://docs.couchdb.org/en/stable/config/logging.html
   423                properties:
   424                  file:
   425                    description: 'Specifies the location of file for logging output.
   426                      Only used by the file writer:'
   427                    type: string
   428                  includeSASL:
   429                    description: Includes SASL information in logs
   430                    type: boolean
   431                  level:
   432                    description: Logging level defines how verbose and detailed logging
   433                      will be
   434                    type: string
   435                  syslogAppid:
   436                    description: 'Specifies application name to the syslog writer:'
   437                    type: string
   438                  syslogFacility:
   439                    description: 'Specifies the syslog facility to use with the syslog
   440                      writer:'
   441                    type: string
   442                  syslogHost:
   443                    description: 'Specifies the syslog host to send logs to. Only
   444                      used by the syslog writer:'
   445                    type: string
   446                  syslogPort:
   447                    description: 'Specifies the syslog port to connect to when sending
   448                      logs. Only used by the syslog writer:'
   449                    type: integer
   450                  writeBuffer:
   451                    description: |-
   452                      Specifies the size of the file log write buffer in bytes, to enable delayed log writes
   453                       Only used by the file writer
   454                    type: string
   455                  writeDelay:
   456                    description: |-
   457                      Specifies the wait in milliseconds before committing logs to disk, to enable delayed log writes.
   458                      Only used by the file writer:
   459                    type: string
   460                  writer:
   461                    description: 'Where to send logs: stderr, file, syslog, journald
   462                      or your implementation'
   463                    type: string
   464                type: object
   465              metrics:
   466                description: |-
   467                  MetricsConfig contains all configuration options for managing Prometheus
   468                  integration.
   469                  Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/misc.html#configuration-of-prometheus-endpoint
   470                properties:
   471                  additionalPort:
   472                    description: |-
   473                      AdditionalPort sets whether or not to create a separate,
   474                      non-authenticated port (default is `false``)
   475                    type: boolean
   476                  bindAddress:
   477                    description: BindAddress is the IP address to bind. Immutable.
   478                    type: string
   479                  port:
   480                    description: |-
   481                      Port on which client can query Prometheus endpoint data without auth.
   482                      Immutable.
   483                    type: integer
   484                type: object
   485              nativeQuery:
   486                description: NativeQueryConfig CouchDB has a native Erlang query server,
   487                  allowing you to write your map/reduce functions in Erlang.
   488                properties:
   489                  enable:
   490                    description: Enables or disables the Native Erlang Query Server.
   491                    type: boolean
   492                type: object
   493              purge:
   494                description: PurgeConfig is the configuration for database purge
   495                properties:
   496                  indexLagWarnSeconds:
   497                    description: allowed duration when index is not updated for local
   498                      purge checkpoint document
   499                    type: integer
   500                  maxDocumentIdNumber:
   501                    description: maximum number of documents allowed in a single purge
   502                      request
   503                    type: integer
   504                  maxRevisionsNumber:
   505                    description: maximum number of accumulated revisions allowed in
   506                      a single purge request
   507                    type: integer
   508                type: object
   509              query:
   510                description: QueryServerConfig The external query server is a special
   511                  OS process which communicates with CouchDB over standard input/output
   512                  using a very simple line-based protocol with JSON messages.
   513                properties:
   514                  commit_freq:
   515                    description: Specifies the delay in seconds before view index
   516                      changes are committed to disk.
   517                    type: integer
   518                  processLimit:
   519                    description: Hard limit on the number of OS processes usable by
   520                      Query Servers.
   521                    type: integer
   522                  processTimeout:
   523                    description: The timeout for a process used by Query Servers.
   524                    type: integer
   525                  reduceLimit:
   526                    description: Controls Reduce overflow error that raises when output
   527                      of reduce functions.
   528                    type: boolean
   529                  softLimit:
   530                    description: Soft limit on the number of OS processes usable by
   531                      Query Servers.
   532                    type: integer
   533                type: object
   534              reSharding:
   535                description: ReShardingConfig options for re sharding nodes
   536                properties:
   537                  deleteSource:
   538                    description: ' DeleteSource Indicates if the source shard should
   539                      be deleted after resharding has finished. By default, it is
   540                      true'
   541                    type: boolean
   542                  maxHistory:
   543                    description: ' MaxHistory Each resharding job maintains a timestamped
   544                      event log. This setting limits the maximum size of that log'
   545                    type: integer
   546                  maxJobs:
   547                    description: ' MaxJobs Maximum number of resharding jobs per cluster
   548                      node'
   549                    type: integer
   550                  maxRetries:
   551                    description: ' MaxRetries How many times to retry shard splitting
   552                      steps if they fail. For example, if indexing or topping off
   553                      fails, it will be retried up to this many times before the whole
   554                      resharding job fails'
   555                    type: integer
   556                  requireNodeParam:
   557                    description: ' RequireNodeParam Require users to specify a node'
   558                    type: boolean
   559                  requireRangeParam:
   560                    description: ' RequireRangeParam Require users to specify a range'
   561                    type: boolean
   562                  retryInterval:
   563                    description: RetryInterval  How long to wait between subsequent
   564                      retries
   565                    type: integer
   566                  sourceCloseTimeout:
   567                    description: ' SourceCloseTimeout How many seconds to wait for
   568                      the source shard to close. “Close” in this context means that
   569                      client requests which keep the database open have all finished'
   570                    type: integer
   571                  updateTimeout:
   572                    description: ' UpdateTimeout How many seconds to wait for the
   573                      shard map update operation to complete. If there is a large
   574                      number of shard db changes waiting to finish replicating, it
   575                      might be beneficial to increase this timeout'
   576                    type: integer
   577                type: object
   578              replicator:
   579                description: |-
   580                  ReplicatorConfig contains all configuration options for managing
   581                  replication for this instance.
   582                  Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/replicator.html
   583                properties:
   584                  authPlugins:
   585                    description: |-
   586                      AuthPlugins list of replicator client authentication plugin: couch_replicator_auth_session,couch_replicator_auth_noop.
   587                      For backwards compatibility, the no-op plugin should be used at the end of the plugin list.
   588                      Immutable.
   589                    type: string
   590                  certFile:
   591                    description: CertFile Path to a file containing the user’s certificate.
   592                      Immutable.
   593                    type: string
   594                  certMaxDepth:
   595                    description: CertMaxDepth Maximum peer certificate depth (must
   596                      be set even if certificate validation is off). Immutable.
   597                    type: integer
   598                  checkpointInterval:
   599                    description: CheckpointInterval  replicator will request from
   600                      the Source database at the specified interval in milliseconds.
   601                      Immutable.
   602                    type: integer
   603                  connectionTimeout:
   604                    description: |-
   605                      ConnectionTimeout is the http connection timeout per replication in ms.
   606                      This is divided by 3 when the replicator makes changes feed requests.
   607                      Immutable.
   608                    type: integer
   609                  httpConnections:
   610                    description: HTTPConnections Maximum number of HTTP connections
   611                      per replication. Immutable.
   612                    type: integer
   613                  interval:
   614                    description: Interval is the scheduling interval in milliseconds.
   615                      Immutable.
   616                    type: integer
   617                  maxChurn:
   618                    description: MaxChurn is the number of replication jobs to start
   619                      and stop during rescheduling. Immutable.
   620                    type: integer
   621                  maxHistory:
   622                    description: MaxHistory is the number of events recorded for each
   623                      job. Immutable.
   624                    type: integer
   625                  maxJobs:
   626                    description: MaxJobs is the number of actively running replications.
   627                      Immutable.
   628                    type: integer
   629                  password:
   630                    description: Password the user’s password, only used if the private
   631                      key file is password protected. Immutable.
   632                    type: string
   633                  priorityCoeff:
   634                    description: |-
   635                      PriorityCoeff Priority coefficient decays all the job priorities such that they slowly drift towards the front of the run queue.
   636                      The value must be between 0.0 and 1.0.
   637                      Immutable.
   638                    type: number
   639                  replicatorShares:
   640                    additionalProperties:
   641                      type: integer
   642                    description: |-
   643                      Fair share configuration section. Higher share values results in a higher chance that jobs from that db get to run.
   644                      The default value is 100, minimum is 1 and maximum is 1000.
   645                      The configuration may be set even if the database does not exist.
   646                    type: object
   647                  retriesPerRequest:
   648                    description: |-
   649                      TODO(help_wanted) - handle http_connections in separate PR
   650                      RetriesPerRequest if a request fails, the replicator will retry it up to N times. Immutable.
   651                    type: integer
   652                  socketOptions:
   653                    description: SocketOptions socket options that might boost performance
   654                      in some scenarios.
   655                    type: string
   656                  trustedCertFile:
   657                    description: TrustedCertFile File containing a list of peer trusted
   658                      certificates (in the PEM format). Immutable.
   659                    type: string
   660                  updateDocs:
   661                    description: UpdateDocs when true, replicator will update replication
   662                      document with error and triggered states. Immutable.
   663                    type: boolean
   664                  usageCoeff:
   665                    description: |-
   666                      UsageCoeff Usage coefficient decays historic fair share usage every scheduling cycle.
   667                      The value must be between 0.0 and 1.0.
   668                      Immutable.
   669                    type: number
   670                  useBulkGet:
   671                    description: UseBulkGet CouchDB will attempt to use the _bulk_get
   672                      HTTP API endpoint to fetch documents from the source. Immutable.
   673                    type: boolean
   674                  useCheckpoints:
   675                    description: UseCheckpoints CouchDB will make checkpoints during
   676                      replication and at the completion of replication. Immutable.
   677                    type: boolean
   678                  validEndpointProtocols:
   679                    description: ValidEndpointProtocols replication jobs with endpoint
   680                      urls not in this list will fail to run. Immutable.
   681                    type: string
   682                  validProxyProtocols:
   683                    description: ValidProxyProtocols replication jobs with proxy urls
   684                      not in this list will fail to run. Immutable.
   685                    type: string
   686                  validSocketOptions:
   687                    description: 'ValidSocketOptions valid socket options: buffer,keepalive,nodelay,priority,recbuf,sndbuf,
   688                      etc... Immutable.'
   689                    type: string
   690                  workerBatchSize:
   691                    description: WorkerBatchSize with lower batch sizes checkpoints
   692                      are done more frequently. Immutable.
   693                    type: integer
   694                  workerProcesses:
   695                    description: WorkerProcesses More worker processes can give higher
   696                      network throughput but can also imply more disk and network
   697                      IO. Immutable.
   698                    type: integer
   699                type: object
   700              retryInterval:
   701                description: |-
   702                  RetryInterval is how often to retry previously failed reconciliations. Defaults
   703                  to Interval if not provided.
   704                type: string
   705              rpc:
   706                properties:
   707                  bufferCount:
   708                    description: |-
   709                      The local RPC server will buffer messages if a remote node goes unavailable.
   710                      This flag determines how many messages will be buffered before the local
   711                      server starts dropping messages. Default value is 2000.
   712                    type: integer
   713                  server_per_node:
   714                    description: |-
   715                      By default, rexi will spawn one local gen_server process for each node in
   716                      the cluster. Disabling this flag will cause CouchDB to use a single process
   717                      for all RPC communication, which is not recommended in high throughput
   718                      deployments.
   719                    type: boolean
   720                  stream_limit:
   721                    description: |-
   722                      This flag comes into play during streaming operations like views and change
   723                      feeds. It controls how many messages a remote worker process can send to a
   724                      coordinator without waiting for an acknowledgement from the coordinator
   725                      process. If this value is too large the coordinator can become overwhelmed
   726                      by messages from the worker processes and actually deliver lower overall
   727                      throughput to the client.
   728                    type: integer
   729                type: object
   730              search:
   731                description: SearchConfig CouchDB’s search subsystem can be configured
   732                  via the dreyfus configuration section.
   733                properties:
   734                  limit:
   735                    description: The number of results returned from a global search
   736                      query if no limit is specified.
   737                    type: integer
   738                  limitPartitions:
   739                    description: The number of results returned from a search on a
   740                      partition of a database if no limit is specified.
   741                    type: integer
   742                  maxLimit:
   743                    description: The maximum number of results that can be returned
   744                      from a global search query.
   745                    type: integer
   746                  maxLimitPartitions:
   747                    description: The maximum number of results that can be returned
   748                      when searching a partition of a database.
   749                    type: integer
   750                  name:
   751                    description: The name and location of the Clouseau Java service
   752                      required to enable Search functionality.
   753                    type: string
   754                  retryLimit:
   755                    description: The number of times CouchDB will try to reconnect
   756                      to Clouseau.
   757                    type: integer
   758                type: object
   759              server:
   760                description: ServerConfig contains all server configuration options
   761                properties:
   762                  auth:
   763                    description: |-
   764                      AuthConfig contains all auth related configuration options.
   765                      Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/auth.html#chttpd_auth
   766                    properties:
   767                      XAuthRoles:
   768                        description: |-
   769                          The HTTP header name (X-Auth-CouchDB-Roles by default) that contains the list of a user’s roles, separated by a comma.
   770                          Used for Proxy Authentication.
   771                        type: string
   772                      XAuthToken:
   773                        description: |-
   774                          The HTTP header name (X-Auth-CouchDB-Token by default) containing the token used to authenticate the authorization.
   775                          This token is an HMAC-SHA1 created from the chttpd_auth/secret and chttpd_auth/x_auth_username.
   776                          The secret key should be the same on the client and the CouchDB node.
   777                          This token is optional if the value of the chttpd_auth/proxy_use_secret option is not true.
   778                          Used for Proxy Authentication.
   779                        type: string
   780                      XAuthUsername:
   781                        description: The HTTP header name (X-Auth-CouchDB-UserName
   782                          by default) containing the username. Used for Proxy Authentication.
   783                        type: string
   784                      allowPersistentCookies:
   785                        description: When set to true, CouchDB will set the Max-Age
   786                          and Expires attributes on the cookie, which causes user
   787                          agents (like browsers) to preserve the cookie over restarts.
   788                        type: boolean
   789                      authCacheSize:
   790                        description: Number of User Context Object to cache in memory,
   791                          to reduce disk lookups.
   792                        type: integer
   793                      authenticationRedirect:
   794                        description: Specifies the location for redirection on successful
   795                          authentication if a text/html response is accepted by the
   796                          client (via an Accept header).
   797                        type: string
   798                      cookieDomain:
   799                        description: Configures the domain attribute of the AuthSession
   800                          cookie. By default the domain attribute is empty, resulting
   801                          in the cookie being set on CouchDB’s domain.
   802                        type: string
   803                      hashAlgorithms:
   804                        description: Sets the HMAC hash algorithm used for cookie
   805                          and proxy authentication. You can provide a comma-separated
   806                          list of hash algorithms.
   807                        type: string
   808                      iterations:
   809                        description: The number of iterations for password hashing
   810                          by the PBKDF2 algorithm.
   811                        type: integer
   812                      maxIterations:
   813                        description: The maximum number of iterations allowed for
   814                          passwords hashed by the PBKDF2 algorithm. Any user with
   815                          greater iterations is forbidden.
   816                        type: integer
   817                      minIterations:
   818                        description: The minimum number of iterations allowed for
   819                          passwords hashed by the PBKDF2 algorithm. Any user with
   820                          fewer iterations is forbidden.
   821                        type: integer
   822                      passwordRegexp:
   823                        description: A list of Regular Expressions to check new/changed
   824                          passwords. When set, new user passwords must match all RegExp
   825                          in this list.
   826                        type: string
   827                      proxyUseSecret:
   828                        description: When this option is set to true, the chttpd_auth/secret
   829                          option is required for Proxy Authentication.
   830                        type: boolean
   831                      publicFields:
   832                        description: |-
   833                          A comma-separated list of field names in user documents (in couchdb/users_db_suffix) that can be read by any user.
   834                          If unset or not specified, authenticated users can only retrieve their own document.
   835                        type: string
   836                      sameSite:
   837                        description: When this option is set to a non-empty value,
   838                          a SameSite attribute is added to the AuthSession cookie.
   839                          Valid values are none, lax or strict.
   840                        type: string
   841                      secret:
   842                        description: The secret token is used for Proxy Authentication
   843                          and for Cookie Authentication.
   844                        type: string
   845                      timeout:
   846                        description: Number of seconds since the last request before
   847                          sessions will be expired.
   848                        type: integer
   849                      usersDbPublic:
   850                        description: Allow all users to view user documents. By default,
   851                          only admins may browse all users documents, while users
   852                          may browse only their own document.
   853                        type: boolean
   854                    type: object
   855                  cors:
   856                    properties:
   857                      credentials:
   858                        description: |2-
   859                           Credentials CouchDB will respond to a credentials-enabled CORS request with an additional header,
   860                          Access-Control-Allow-Credentials=true.
   861                        type: boolean
   862                      headers:
   863                        description: Headers List of accepted headers separated by
   864                          a comma
   865                        items:
   866                          type: string
   867                        type: array
   868                      maxAge:
   869                        description: MaxAge Sets the Access-Control-Max-Age header
   870                          in seconds. Use it to avoid repeated OPTIONS requests.
   871                        type: integer
   872                      methods:
   873                        description: Methods List of accepted methods separated by
   874                          a comma
   875                        items:
   876                          type: string
   877                        type: array
   878                      origins:
   879                        description: |-
   880                          Origins List of origins separated by a comma, * means accept all.
   881                          You can’t set origins = * and credentials = true option at the same time:
   882                        items:
   883                          type: string
   884                        type: array
   885                    required:
   886                    - credentials
   887                    - headers
   888                    - maxAge
   889                    - methods
   890                    - origins
   891                    type: object
   892                  http:
   893                    description: |-
   894                      HTTPConfig contains all basic http configuration options.
   895                      Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/http.html
   896                    properties:
   897                      XForwardedHost:
   898                        description: The x_forwarded_host header (X-Forwarded-Host)
   899                        type: string
   900                      XForwardedProto:
   901                        description: The x_forwarded_proto header (X-Forwarder-Proto)
   902                        type: string
   903                      XForwardedSSL:
   904                        description: The x_forwarded_ssl header (X-Forwarded-Ssl)
   905                        type: string
   906                      adminOnlyAllDbs:
   907                        description: Whether to restrict _all_dbs to admins only
   908                        type: boolean
   909                      allowJsonp:
   910                        description: JSONP support
   911                        type: boolean
   912                      authenticationHandlers:
   913                        description: List of authentication handlers used by CouchDB
   914                        type: string
   915                      bindAddress:
   916                        description: |-
   917                          BindAddress is the IP by which clusterd port is available. Default value
   918                          is "::" for any available. Immutable.
   919                        type: string
   920                      bufferResponse:
   921                        description: Whether to buffer response
   922                        type: boolean
   923                      bulkGetUseBatches:
   924                        description: Whether to use batches for bulk_get
   925                        type: boolean
   926                      changesTimeout:
   927                        description: |-
   928                          ChangesTimeout is the default timeout value for changes feed in ms
   929                          (default value is 60000). Immutable.
   930                        type: integer
   931                      configWhitelist:
   932                        description: Whitelist of configuration modifications
   933                        type: string
   934                      enableCORS:
   935                        description: |-
   936                          EnableCors by supporting CORS functionality, a CouchDB instance can accept direct connections to protected databases
   937                          and instances, without the browser functionality being blocked due to same-origin constraints
   938                        type: boolean
   939                      enableXframeOptions:
   940                        description: Whether to enable X-Frame-Options
   941                        type: boolean
   942                      maxHttpRequestSize:
   943                        description: Maximum size of the HTTP request body
   944                        type: integer
   945                      port:
   946                        description: Defines the port number to listen
   947                        type: integer
   948                      preferMinimal:
   949                        description: 'If a request has the header "Prefer": "return=minimal"'
   950                        type: string
   951                      requireValidUser:
   952                        description: |-
   953                          RequireValidUser is when no requests are allowed from anonymous users.
   954                          Everyone must be authenticated. Immutable.
   955                        type: boolean
   956                      requireValidUserExceptUp:
   957                        description: |-
   958                          RequireValidUserExceptUp same behavior as RequireValidUser with the
   959                          `/_up` endpoint being except. Immutable.
   960                        type: boolean
   961                      secureRewrites:
   962                        description: Whether to isolate databases via subdomains
   963                        type: boolean
   964                    type: object
   965                  httpd:
   966                    description: HTTPDConfig options
   967                    properties:
   968                      serverOptions:
   969                        description: Server options for the MochiWeb component of
   970                          CouchDB can be added to the configuration files.
   971                        type: string
   972                      socketOptions:
   973                        description: |-
   974                          The socket options for the listening socket in CouchDB,
   975                          as set at the beginning of every request, can be specified as a list of tuples.
   976                          Supported options are a subset of full options supported by the TCP/IP stack.
   977                        type: string
   978                    type: object
   979                  ssl:
   980                    description: |-
   981                      SSLConfig contains all ssl related configuration options.
   982                      Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/http.html#https-ssl-tls-options
   983                    properties:
   984                      ' cacertFile':
   985                        description: CacertFile Path to a file containing PEM encoded
   986                          CA certificates. Immutable.
   987                        type: string
   988                      certFile:
   989                        description: CertFile Path to a file containing the couchdb’s
   990                          certificate. Immutable.
   991                        type: string
   992                      certMaxDepth:
   993                        description: CertMaxDepth Maximum peer certificate depth (must
   994                          be set even if certificate validation is off). Immutable.
   995                        type: integer
   996                      ciphers:
   997                        description: Ciphers Set to the cipher suites that should
   998                          be supported which can be specified in erlang format or
   999                          in OpenSSL format. Immutable.
  1000                        type: string
  1001                      enable:
  1002                        description: Enable indicates whether to enable ssl
  1003                        type: boolean
  1004                      failIfNoPeerCert:
  1005                        description: FailIfNoPeerCert  if set to false it will only
  1006                          fail if the client sends an invalid certificate (an empty
  1007                          certificate is considered valid)
  1008                        type: boolean
  1009                      keyFile:
  1010                        description: KeyFile Path to a file containing the couchdb’s
  1011                          certificate. Immutable.
  1012                        type: string
  1013                      password:
  1014                        description: Password the user’s password, only used if the
  1015                          private key file is password protected. Immutable.
  1016                        type: string
  1017                      secureRenegotiate:
  1018                        description: SecureRenegotiate  Set to true to reject renegotiation
  1019                          attempt that does not live up to RFC 5746
  1020                        type: boolean
  1021                      tls_versions:
  1022                        description: TLSVersions Set to a list of permitted SSL/TLS
  1023                          protocol versions. Immutable.
  1024                        type: string
  1025                      verifyCertificates:
  1026                        description: VerifyCertificates Set to true to validate peer
  1027                          certificates:. Immutable.
  1028                        type: string
  1029                      verifyFun:
  1030                        description: VerifyFun The verification fun (optional) if
  1031                          not specified, the default verification fun will be used.
  1032                          Immutable.
  1033                        type: string
  1034                    type: object
  1035                type: object
  1036              smoosh:
  1037                properties:
  1038                  capacity:
  1039                    description: If set to true, the compaction daemon will delete
  1040                      the files for indexes that are no longer associated with any
  1041                      design document
  1042                    type: boolean
  1043                  channels:
  1044                    additionalProperties:
  1045                      properties:
  1046                        capacity:
  1047                          description: The maximum number of items the channel can
  1048                            hold (lowest priority item is removed to make room for
  1049                            new items). Defaults to 9999
  1050                          type: integer
  1051                        concurrency:
  1052                          description: The maximum number of jobs that can run concurrently
  1053                            in this channel. Defaults to 1.
  1054                          type: integer
  1055                        from:
  1056                          description: |-
  1057                            The time period during which this channel is allowed to execute compactions
  1058                            The value for each of these parameters must obey the format HH:MM with HH in [0..23] and MM in [0..59]
  1059                          type: string
  1060                        maxPriority:
  1061                          description: Each item must have a priority lower than this
  1062                            to be enqueued. Defaults to infinity.
  1063                          type: number
  1064                        maxSize:
  1065                          description: The item must be no larger than this many bytes
  1066                            in length to be enqueued. Defaults to infinity.
  1067                          type: number
  1068                        minChanges:
  1069                          description: The minimum number of changes since last compaction
  1070                            before the item will be enqueued. Defaults to 0. Currently
  1071                            only works for databases.
  1072                          type: number
  1073                        minPriority:
  1074                          description: The item must have a priority at least this
  1075                            high to be enqueued. Defaults to 5.0 for ratio and 16
  1076                            MB for slack.
  1077                          type: number
  1078                        minSize:
  1079                          description: The item must be at least this many bytes in
  1080                            length to be enqueued. Defaults to 1mb (1048576 bytes).
  1081                          type: number
  1082                        priority:
  1083                          description: The method used to calculate priority. Can
  1084                            be ratio (calculated as sizes.file/sizes.active) or slack
  1085                            (calculated as sizes.file - sizes.active). Defaults to
  1086                            ratio.
  1087                          type: string
  1088                        strictWindow:
  1089                          description: If set to true, any compaction that is still
  1090                            running after the end of the allowed perio will be suspended,
  1091                            and then resumed during the next window
  1092                          type: boolean
  1093                        to:
  1094                          type: string
  1095                      type: object
  1096                    description: These settings control the resource allocation for
  1097                      a given compaction channel.
  1098                    type: object
  1099                  cleanupChannels:
  1100                    description: 'Special channel for compaction cleanup: index_cleanup,
  1101                      from https://docs.couchdb.org/en/stable/maintenance/compaction.html#channel-configuration'
  1102                    items:
  1103                      type: string
  1104                    type: array
  1105                  compactionLogLevel:
  1106                    description: Log level of compaction
  1107                    type: string
  1108                  dbChannels:
  1109                    description: A comma-delimited list of channels that are sent
  1110                      the names of database files when those files are updated.
  1111                    items:
  1112                      type: string
  1113                    type: array
  1114                  persist:
  1115                    description: 'Smoosh queue persistence. This allows resuming smoosh
  1116                      operations after a node restart. from: https://docs.couchdb.org/en/stable/whatsnew/3.3.html#id3,
  1117                      https://github.com/apache/couchdb/blob/dce6769edf141c36d408bddcd48082e91ae2f7ab/rel/overlay/etc/default.ini#L793'
  1118                    type: boolean
  1119                  staleness:
  1120                    description: The number of minutes that the (expensive) priority
  1121                      calculation on an individual can be stale for before it is recalculated.
  1122                      Defaults to 5.
  1123                    type: integer
  1124                  viewChannels:
  1125                    description: A comma-delimited list of channels that are sent
  1126                      the names of secondary index files when those files are updated
  1127                    items:
  1128                      type: string
  1129                    type: array
  1130                type: object
  1131              stats:
  1132                description: StatisticsConfig is the configuration for statistics
  1133                  calculation
  1134                properties:
  1135                  interval:
  1136                    description: Interval between gathering statistics in seconds
  1137                    type: integer
  1138                type: object
  1139              type:
  1140                type: string
  1141              uri:
  1142                type: string
  1143              userDB:
  1144                properties:
  1145                  deleteDBs:
  1146                    description: DeleteDBs If set to true and a user is deleted, the
  1147                      respective database gets deleted as well.
  1148                    type: boolean
  1149                  enable:
  1150                    description: Enable indicates whether to enable per-user databases
  1151                    type: boolean
  1152                  shards:
  1153                    description: Shards specifies the sharding value for per-user
  1154                      databases
  1155                    type: integer
  1156                type: object
  1157              uuids:
  1158                description: UUIDConfig is the UUIDs configuration
  1159                properties:
  1160                  algorithm:
  1161                    description: algorithm to generate UUIDs
  1162                    type: string
  1163                  maxCount:
  1164                    description: maximum number of UUIDs that will be sent in a single
  1165                      request
  1166                    type: integer
  1167                  utcIDSuffix:
  1168                    description: UUID suffix
  1169                    type: string
  1170                type: object
  1171              vendor:
  1172                description: VendorConfig is the configuration for vendor information
  1173                properties:
  1174                  name:
  1175                    description: distributor name
  1176                    type: string
  1177                  version:
  1178                    description: distributer version
  1179                    type: string
  1180                type: object
  1181            required:
  1182            - uri
  1183            type: object
  1184          status:
  1185            default:
  1186              observedGeneration: -1
  1187            properties:
  1188              conditions:
  1189                items:
  1190                  description: "Condition contains details for one aspect of the current
  1191                    state of this API Resource.\n---\nThis struct is intended for
  1192                    direct use as an array at the field path .status.conditions.  For
  1193                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
  1194                    observations of a foo's current state.\n\t    // Known .status.conditions.type
  1195                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
  1196                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
  1197                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
  1198                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
  1199                    \   // other fields\n\t}"
  1200                  properties:
  1201                    lastTransitionTime:
  1202                      description: |-
  1203                        lastTransitionTime is the last time the condition transitioned from one status to another.
  1204                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
  1205                      format: date-time
  1206                      type: string
  1207                    message:
  1208                      description: |-
  1209                        message is a human readable message indicating details about the transition.
  1210                        This may be an empty string.
  1211                      maxLength: 32768
  1212                      type: string
  1213                    observedGeneration:
  1214                      description: |-
  1215                        observedGeneration represents the .metadata.generation that the condition was set based upon.
  1216                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  1217                        with respect to the current state of the instance.
  1218                      format: int64
  1219                      minimum: 0
  1220                      type: integer
  1221                    reason:
  1222                      description: |-
  1223                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
  1224                        Producers of specific condition types may define expected values and meanings for this field,
  1225                        and whether the values are considered a guaranteed API.
  1226                        The value should be a CamelCase string.
  1227                        This field may not be empty.
  1228                      maxLength: 1024
  1229                      minLength: 1
  1230                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  1231                      type: string
  1232                    status:
  1233                      description: status of the condition, one of True, False, Unknown.
  1234                      enum:
  1235                      - "True"
  1236                      - "False"
  1237                      - Unknown
  1238                      type: string
  1239                    type:
  1240                      description: |-
  1241                        type of condition in CamelCase or in foo.example.com/CamelCase.
  1242                        ---
  1243                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
  1244                        useful (see .node.status.conditions), the ability to deconflict is important.
  1245                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  1246                      maxLength: 316
  1247                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  1248                      type: string
  1249                  required:
  1250                  - lastTransitionTime
  1251                  - message
  1252                  - reason
  1253                  - status
  1254                  - type
  1255                  type: object
  1256                type: array
  1257              inventory:
  1258                description: |-
  1259                  ResourceInventory contains a list of Kubernetes resource object references
  1260                  that have been applied.
  1261                properties:
  1262                  entries:
  1263                    description: Entries of Kubernetes resource object references.
  1264                    items:
  1265                      description: ResourceRef contains the information necessary
  1266                        to locate a resource within a cluster.
  1267                      properties:
  1268                        id:
  1269                          description: |-
  1270                            ID is the string representation of the Kubernetes resource object's metadata,
  1271                            in the format '<namespace>_<name>_<group>_<kind>'.
  1272                          type: string
  1273                        v:
  1274                          description: Version is the API version of the Kubernetes
  1275                            resource object's kind.
  1276                          type: string
  1277                      required:
  1278                      - id
  1279                      - v
  1280                      type: object
  1281                    type: array
  1282                type: object
  1283              observedGeneration:
  1284                format: int64
  1285                type: integer
  1286            type: object
  1287        type: object
  1288    served: true
  1289    storage: true
  1290    subresources:
  1291      status: {}

View as plain text