Skip to content

Commit

Permalink
feat: add dr module velero configurations to schema (#282)
Browse files Browse the repository at this point in the history
* feat: add dr module velero configurations to schema

* add missing change

* address PR comments

* lint: fix yaml linter

* fix velero manifests check
  • Loading branch information
alessiodionisi authored Oct 28, 2024
1 parent 8838e8c commit c92cb2a
Show file tree
Hide file tree
Showing 60 changed files with 4,102 additions and 3,721 deletions.
3 changes: 0 additions & 3 deletions defaults/ekscluster-kfd-v1alpha2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,6 @@ data:
bucketName: velerobucket
schedules:
install: true
cron:
manifests: ""
full: ""
# auth module configuration
auth:
overrides:
Expand Down
3 changes: 0 additions & 3 deletions defaults/kfddistribution-kfd-v1alpha2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,6 @@ data:
bucketName: velerobucket
schedules:
install: true
cron:
manifests: ""
full: ""
# auth module configuration
auth:
overrides:
Expand Down
3 changes: 0 additions & 3 deletions defaults/onpremises-kfd-v1alpha2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,6 @@ data:
bucketName: velerobucket
schedules:
install: true
cron:
manifests: ""
full: ""
# auth module configuration
auth:
overrides:
Expand Down
52 changes: 52 additions & 0 deletions docs/schemas/ekscluster-kfd-v1alpha2.md
Original file line number Diff line number Diff line change
Expand Up @@ -1435,6 +1435,7 @@ The type of the DR, must be ***none*** or ***eks***
|:-------------------------------------------------------|:---------|:---------|
| [eks](#specdistributionmodulesdrveleroeks) | `object` | Required |
| [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional |
| [schedules](#specdistributionmodulesdrveleroschedules) | `object` | Optional |

## .spec.distribution.modules.dr.velero.eks

Expand Down Expand Up @@ -1558,6 +1559,57 @@ The key of the toleration

The value of the toleration

## .spec.distribution.modules.dr.velero.schedules

### Properties

| Property | Type | Required |
|:------------------------------------------------------------|:----------|:---------|
| [cron](#specdistributionmodulesdrveleroschedulescron) | `object` | Optional |
| [install](#specdistributionmodulesdrveleroschedulesinstall) | `boolean` | Optional |
| [ttl](#specdistributionmodulesdrveleroschedulesttl) | `string` | Optional |

### Description

Configuration for Velero's backup schedules.

## .spec.distribution.modules.dr.velero.schedules.cron

### Properties

| Property | Type | Required |
|:--------------------------------------------------------------------|:---------|:---------|
| [full](#specdistributionmodulesdrveleroschedulescronfull) | `string` | Optional |
| [manifests](#specdistributionmodulesdrveleroschedulescronmanifests) | `string` | Optional |

### Description

Configuration for Velero's schedules cron.

## .spec.distribution.modules.dr.velero.schedules.cron.full

### Description

The cron expression for the `full` backup schedule (default `0 1 * * *`).

## .spec.distribution.modules.dr.velero.schedules.cron.manifests

### Description

The cron expression for the `manifests` backup schedule (default `*/15 * * * *`).

## .spec.distribution.modules.dr.velero.schedules.install

### Description

Whether to install or not the default `manifests` and `full` backups schedules. Default is `true`.

## .spec.distribution.modules.dr.velero.schedules.ttl

### Description

The Time To Live (TTL) of the backups created by the backup schedules (default `720h0m0s`, 30 days). Notice that changing this value will affect only newly created backups, prior backups will keep the old TTL.

## .spec.distribution.modules.ingress

### Properties
Expand Down
67 changes: 58 additions & 9 deletions docs/schemas/kfddistribution-kfd-v1alpha2.md
Original file line number Diff line number Diff line change
Expand Up @@ -1022,13 +1022,13 @@ The type of the DR, must be ***none*** or ***on-premises***
| [backend](#specdistributionmodulesdrvelerobackend) | `string` | Optional |
| [externalEndpoint](#specdistributionmodulesdrveleroexternalendpoint) | `object` | Optional |
| [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional |
| [retentionTime](#specdistributionmodulesdrveleroretentiontime) | `string` | Optional |
| [schedules](#specdistributionmodulesdrveleroschedules) | `object` | Optional |

## .spec.distribution.modules.dr.velero.backend

### Description

The backend for velero
The storage backend type for Velero. `minio` will use an in-cluster MinIO deployment for object storage, `externalEndpoint` can be used to point to an external S3-compatible object storage instead of deploying an in-cluster MinIO.

### Constraints

Expand All @@ -1051,35 +1051,39 @@ The backend for velero
| [insecure](#specdistributionmodulesdrveleroexternalendpointinsecure) | `boolean` | Optional |
| [secretAccessKey](#specdistributionmodulesdrveleroexternalendpointsecretaccesskey) | `string` | Optional |

### Description

Configuration for Velero's external storage backend.

## .spec.distribution.modules.dr.velero.externalEndpoint.accessKeyId

### Description

The access key id for velero backend
The access key ID (username) for the external S3-compatible bucket.

## .spec.distribution.modules.dr.velero.externalEndpoint.bucketName

### Description

The bucket name for velero backend
The bucket name of the external S3-compatible object storage.

## .spec.distribution.modules.dr.velero.externalEndpoint.endpoint

### Description

The endpoint for velero
External S3-compatible endpoint for Velero's storage.

## .spec.distribution.modules.dr.velero.externalEndpoint.insecure

### Description

If true, the endpoint will be insecure
If true, will use HTTP as protocol instead of HTTPS.

## .spec.distribution.modules.dr.velero.externalEndpoint.secretAccessKey

### Description

The secret access key for velero backend
The secret access key (password) for the external S3-compatible bucket.

## .spec.distribution.modules.dr.velero.overrides

Expand Down Expand Up @@ -1146,11 +1150,56 @@ The key of the toleration

The value of the toleration

## .spec.distribution.modules.dr.velero.retentionTime
## .spec.distribution.modules.dr.velero.schedules

### Properties

| Property | Type | Required |
|:------------------------------------------------------------|:----------|:---------|
| [cron](#specdistributionmodulesdrveleroschedulescron) | `object` | Optional |
| [install](#specdistributionmodulesdrveleroschedulesinstall) | `boolean` | Optional |
| [ttl](#specdistributionmodulesdrveleroschedulesttl) | `string` | Optional |

### Description

Configuration for Velero's backup schedules.

## .spec.distribution.modules.dr.velero.schedules.cron

### Properties

| Property | Type | Required |
|:--------------------------------------------------------------------|:---------|:---------|
| [full](#specdistributionmodulesdrveleroschedulescronfull) | `string` | Optional |
| [manifests](#specdistributionmodulesdrveleroschedulescronmanifests) | `string` | Optional |

### Description

Configuration for Velero's schedules cron.

## .spec.distribution.modules.dr.velero.schedules.cron.full

### Description

The cron expression for the `full` backup schedule (default `0 1 * * *`).

## .spec.distribution.modules.dr.velero.schedules.cron.manifests

### Description

The cron expression for the `manifests` backup schedule (default `*/15 * * * *`).

## .spec.distribution.modules.dr.velero.schedules.install

### Description

Whether to install or not the default `manifests` and `full` backups schedules. Default is `true`.

## .spec.distribution.modules.dr.velero.schedules.ttl

### Description

The retention time for velero
The Time To Live (TTL) of the backups created by the backup schedules (default `720h0m0s`, 30 days). Notice that changing this value will affect only newly created backups, prior backups will keep the old TTL.

## .spec.distribution.modules.ingress

Expand Down
51 changes: 48 additions & 3 deletions docs/schemas/onpremises-kfd-v1alpha2.md
Original file line number Diff line number Diff line change
Expand Up @@ -1190,7 +1190,7 @@ The type of the Disaster Recovery, must be `none` or `on-premises`. `none` disab
| [backend](#specdistributionmodulesdrvelerobackend) | `string` | Optional |
| [externalEndpoint](#specdistributionmodulesdrveleroexternalendpoint) | `object` | Optional |
| [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional |
| [retentionTime](#specdistributionmodulesdrveleroretentiontime) | `string` | Optional |
| [schedules](#specdistributionmodulesdrveleroschedules) | `object` | Optional |

### Description

Expand Down Expand Up @@ -1322,11 +1322,56 @@ The key of the toleration

The value of the toleration

## .spec.distribution.modules.dr.velero.retentionTime
## .spec.distribution.modules.dr.velero.schedules

### Properties

| Property | Type | Required |
|:------------------------------------------------------------|:----------|:---------|
| [cron](#specdistributionmodulesdrveleroschedulescron) | `object` | Optional |
| [install](#specdistributionmodulesdrveleroschedulesinstall) | `boolean` | Optional |
| [ttl](#specdistributionmodulesdrveleroschedulesttl) | `string` | Optional |

### Description

Configuration for Velero's backup schedules.

## .spec.distribution.modules.dr.velero.schedules.cron

### Properties

| Property | Type | Required |
|:--------------------------------------------------------------------|:---------|:---------|
| [full](#specdistributionmodulesdrveleroschedulescronfull) | `string` | Optional |
| [manifests](#specdistributionmodulesdrveleroschedulescronmanifests) | `string` | Optional |

### Description

Configuration for Velero's schedules cron.

## .spec.distribution.modules.dr.velero.schedules.cron.full

### Description

The cron expression for the `full` backup schedule (default `0 1 * * *`).

## .spec.distribution.modules.dr.velero.schedules.cron.manifests

### Description

The cron expression for the `manifests` backup schedule (default `*/15 * * * *`).

## .spec.distribution.modules.dr.velero.schedules.install

### Description

Whether to install or not the default `manifests` and `full` backups schedules. Default is `true`.

## .spec.distribution.modules.dr.velero.schedules.ttl

### Description

CURRENTLY NOT IN USE.
The Time To Live (TTL) of the backups created by the backup schedules (default `720h0m0s`, 30 days). Notice that changing this value will affect only newly created backups, prior backups will keep the old TTL.

## .spec.distribution.modules.ingress

Expand Down
28 changes: 28 additions & 0 deletions pkg/apis/ekscluster/v1alpha2/private/schema.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c92cb2a

Please sign in to comment.