# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: operator.solr.apache.org/version: v0.7.0 argocd.argoproj.io/sync-options: Replace=true controller-gen.kubebuilder.io/version: v0.10.0 creationTimestamp: null name: solrbackups.solr.apache.org spec: group: solr.apache.org names: kind: SolrBackup listKind: SolrBackupList plural: solrbackups singular: solrbackup scope: Namespaced versions: - additionalPrinterColumns: - description: Solr Cloud jsonPath: .spec.solrCloud name: Cloud type: string - description: Most recent time the backup started jsonPath: .status.startTimestamp name: Started type: date - description: Whether the most recent backup has finished jsonPath: .status.finished name: Finished type: boolean - description: Whether the most recent backup was successful jsonPath: .status.successful name: Successful type: boolean - description: Next scheduled time for a recurrent backup format: date-time jsonPath: .status.nextScheduledTime name: NextBackup type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1beta1 schema: openAPIV3Schema: description: SolrBackup is the Schema for the solrbackups API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: SolrBackupSpec defines the desired state of SolrBackup properties: collections: description: The list of collections to backup. items: type: string type: array location: description: The location to store the backup in the specified backup repository. type: string recurrence: description: "Set this backup to be taken recurrently, with options for scheduling and storage. \n NOTE: This is only supported for Solr Clouds version 8.9+, as it uses the incremental backup API." properties: disabled: default: false description: Disable the recurring backups. Note this will not affect any currently-running backup. type: boolean maxSaved: default: 5 description: Define the number of backup points to save for this backup at any given time. The oldest backups will be deleted if too many exist when a backup is taken. If not provided, this defaults to 5. minimum: 1 type: integer schedule: description: "Perform a backup on the given schedule, in CRON format. \n Multiple CRON syntaxes are supported - Standard CRON (e.g. \"CRON_TZ=Asia/Seoul 0 6 * * ?\") - Predefined Schedules (e.g. \"@yearly\", \"@weekly\", \"@daily\", etc.) - Intervals (e.g. \"@every 10h30m\") \n For more information please check this reference: https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format" type: string required: - schedule type: object repositoryName: description: The name of the repository to use for the backup. Defaults to "legacy_local_repository" if not specified (the auto-configured repository for legacy singleton volumes). maxLength: 100 minLength: 1 pattern: '[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])?' type: string solrCloud: description: A reference to the SolrCloud to create a backup for maxLength: 63 minLength: 1 pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?' type: string required: - solrCloud type: object status: description: SolrBackupStatus defines the observed state of SolrBackup properties: collectionBackupStatuses: description: The status of each collection's backup progress items: description: CollectionBackupStatus defines the progress of a Solr Collection's backup properties: asyncBackupStatus: description: The status of the asynchronous backup call to solr type: string backupName: description: BackupName of this collection's backup in Solr type: string collection: description: Solr Collection name type: string finishTimestamp: description: Time that the collection backup finished at format: date-time type: string finished: description: Whether the backup has finished type: boolean inProgress: description: Whether the collection is being backed up type: boolean startTimestamp: description: Time that the collection backup started at format: date-time type: string successful: description: Whether the backup was successful type: boolean required: - collection type: object type: array finishTimestamp: description: The time that this backup was finished format: date-time type: string finished: description: Whether the backup has finished type: boolean history: description: The status history of recurring backups items: description: IndividualSolrBackupStatus defines the observed state of a single issued SolrBackup properties: collectionBackupStatuses: description: The status of each collection's backup progress items: description: CollectionBackupStatus defines the progress of a Solr Collection's backup properties: asyncBackupStatus: description: The status of the asynchronous backup call to solr type: string backupName: description: BackupName of this collection's backup in Solr type: string collection: description: Solr Collection name type: string finishTimestamp: description: Time that the collection backup finished at format: date-time type: string finished: description: Whether the backup has finished type: boolean inProgress: description: Whether the collection is being backed up type: boolean startTimestamp: description: Time that the collection backup started at format: date-time type: string successful: description: Whether the backup was successful type: boolean required: - collection type: object type: array finishTimestamp: description: The time that this backup was finished format: date-time type: string finished: description: Whether the backup has finished type: boolean solrVersion: description: Version of the Solr being backed up type: string startTimestamp: description: The time that this backup was initiated format: date-time type: string successful: description: Whether the backup was successful type: boolean type: object type: array nextScheduledTime: description: The scheduled time for the next backup to occur format: date-time type: string solrVersion: description: Version of the Solr being backed up type: string startTimestamp: description: The time that this backup was initiated format: date-time type: string successful: description: Whether the backup was successful type: boolean type: object type: object served: true storage: true subresources: status: {}