Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion kinds/apis/v1beta1/config_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,35 @@ type Helm struct {
}

type Extensions struct {
Helm *Helm `json:"helm,omitempty"`
Helm *Helm `json:"helm,omitempty"`
Velero VeleroExtensions `json:"velero,omitempty"`
}

// VeleroExtensions contains Velero-specific extension settings
type VeleroExtensions struct {
// Plugins is a list of custom Velero plugins to be added as initContainers
// +kubebuilder:validation:Optional
Plugins []VeleroPlugin `json:"plugins,omitempty"`
}

// VeleroPlugin defines a custom Velero plugin to be added to the Velero deployment
type VeleroPlugin struct {
// Name is the container name for the plugin initContainer
// This name will be used as the initContainer name in the Velero deployment
// +kubebuilder:validation:Required
Name string `json:"name"`
// Image is the OCI image reference for the plugin container
// Examples:
// - "myvendor/velero-postgresql:v1.0.0" (explicit registry)
// - "velero-plugin-postgres:v1.0.0" (will use proxy registry)
// +kubebuilder:validation:Required
Image string `json:"image"`
// ImagePullPolicy is the image pull policy for the plugin container.
// Valid values are: Always, IfNotPresent, Never
// If not specified, defaults to IfNotPresent
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=Always;IfNotPresent;Never
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
}

type Domains struct {
Expand Down
36 changes: 36 additions & 0 deletions kinds/apis/v1beta1/zz_generated.deepcopy.go

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

Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,45 @@ spec:
type: object
type: array
type: object
velero:
description: VeleroExtensions contains Velero-specific extension
settings
properties:
plugins:
description: Plugins is a list of custom Velero plugins to
be added as initContainers
items:
description: VeleroPlugin defines a custom Velero plugin
to be added to the Velero deployment
properties:
image:
description: |-
Image is the OCI image reference for the plugin container
Examples:
- "myvendor/velero-postgresql:v1.0.0" (explicit registry)
- "velero-plugin-postgres:v1.0.0" (will use proxy registry)
type: string
imagePullPolicy:
description: |-
ImagePullPolicy is the image pull policy for the plugin container.
Valid values are: Always, IfNotPresent, Never
If not specified, defaults to IfNotPresent
enum:
- Always
- IfNotPresent
- Never
type: string
name:
description: |-
Name is the container name for the plugin initContainer
This name will be used as the initContainer name in the Velero deployment
type: string
required:
- image
- name
type: object
type: array
type: object
type: object
metadataOverrideUrl:
type: string
Expand Down Expand Up @@ -451,6 +490,45 @@ spec:
type: object
type: array
type: object
velero:
description: VeleroExtensions contains Velero-specific extension
settings
properties:
plugins:
description: Plugins is a list of custom Velero plugins
to be added as initContainers
items:
description: VeleroPlugin defines a custom Velero plugin
to be added to the Velero deployment
properties:
image:
description: |-
Image is the OCI image reference for the plugin container
Examples:
- "myvendor/velero-postgresql:v1.0.0" (explicit registry)
- "velero-plugin-postgres:v1.0.0" (will use proxy registry)
type: string
imagePullPolicy:
description: |-
ImagePullPolicy is the image pull policy for the plugin container.
Valid values are: Always, IfNotPresent, Never
If not specified, defaults to IfNotPresent
enum:
- Always
- IfNotPresent
- Never
type: string
name:
description: |-
Name is the container name for the plugin initContainer
This name will be used as the initContainer name in the Velero deployment
type: string
required:
- image
- name
type: object
type: array
type: object
type: object
metadataOverrideUrl:
type: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,45 @@ spec:
type: object
type: array
type: object
velero:
description: VeleroExtensions contains Velero-specific extension
settings
properties:
plugins:
description: Plugins is a list of custom Velero plugins to
be added as initContainers
items:
description: VeleroPlugin defines a custom Velero plugin
to be added to the Velero deployment
properties:
image:
description: |-
Image is the OCI image reference for the plugin container
Examples:
- "myvendor/velero-postgresql:v1.0.0" (explicit registry)
- "velero-plugin-postgres:v1.0.0" (will use proxy registry)
type: string
imagePullPolicy:
description: |-
ImagePullPolicy is the image pull policy for the plugin container.
Valid values are: Always, IfNotPresent, Never
If not specified, defaults to IfNotPresent
enum:
- Always
- IfNotPresent
- Never
type: string
name:
description: |-
Name is the container name for the plugin initContainer
This name will be used as the initContainer name in the Velero deployment
type: string
required:
- image
- name
type: object
type: array
type: object
type: object
metadataOverrideUrl:
type: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,45 @@ spec:
type: object
type: array
type: object
velero:
description: VeleroExtensions contains Velero-specific extension
settings
properties:
plugins:
description: Plugins is a list of custom Velero plugins
to be added as initContainers
items:
description: VeleroPlugin defines a custom Velero plugin
to be added to the Velero deployment
properties:
image:
description: |-
Image is the OCI image reference for the plugin container
Examples:
- "myvendor/velero-postgresql:v1.0.0" (explicit registry)
- "velero-plugin-postgres:v1.0.0" (will use proxy registry)
type: string
imagePullPolicy:
description: |-
ImagePullPolicy is the image pull policy for the plugin container.
Valid values are: Always, IfNotPresent, Never
If not specified, defaults to IfNotPresent
enum:
- Always
- IfNotPresent
- Never
type: string
name:
description: |-
Name is the container name for the plugin initContainer
This name will be used as the initContainer name in the Velero deployment
type: string
required:
- image
- name
type: object
type: array
type: object
type: object
metadataOverrideUrl:
type: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,45 @@ spec:
type: object
type: array
type: object
velero:
description: VeleroExtensions contains Velero-specific extension
settings
properties:
plugins:
description: Plugins is a list of custom Velero plugins
to be added as initContainers
items:
description: VeleroPlugin defines a custom Velero plugin
to be added to the Velero deployment
properties:
image:
description: |-
Image is the OCI image reference for the plugin container
Examples:
- "myvendor/velero-postgresql:v1.0.0" (explicit registry)
- "velero-plugin-postgres:v1.0.0" (will use proxy registry)
type: string
imagePullPolicy:
description: |-
ImagePullPolicy is the image pull policy for the plugin container.
Valid values are: Always, IfNotPresent, Never
If not specified, defaults to IfNotPresent
enum:
- Always
- IfNotPresent
- Never
type: string
name:
description: |-
Name is the container name for the plugin initContainer
This name will be used as the initContainer name in the Velero deployment
type: string
required:
- image
- name
type: object
type: array
type: object
type: object
metadataOverrideUrl:
type: string
Expand Down
37 changes: 37 additions & 0 deletions operator/schemas/config-embeddedcluster-v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,43 @@
}
}
}
},
"velero": {
"description": "VeleroExtensions contains Velero-specific extension settings",
"type": "object",
"properties": {
"plugins": {
"description": "Plugins is a list of custom Velero plugins to be added as initContainers",
"type": "array",
"items": {
"description": "VeleroPlugin defines a custom Velero plugin to be added to the Velero deployment",
"type": "object",
"required": [
"image",
"name"
],
"properties": {
"image": {
"description": "Image is the OCI image reference for the plugin container\nExamples:\n - \"myvendor/velero-postgresql:v1.0.0\" (explicit registry)\n - \"velero-plugin-postgres:v1.0.0\" (will use proxy registry)",
"type": "string"
},
"imagePullPolicy": {
"description": "ImagePullPolicy is the image pull policy for the plugin container.\nValid values are: Always, IfNotPresent, Never\nIf not specified, defaults to IfNotPresent",
"type": "string",
"enum": [
"Always",
"IfNotPresent",
"Never"
]
},
"name": {
"description": "Name is the container name for the plugin initContainer\nThis name will be used as the initContainer name in the Velero deployment",
"type": "string"
}
}
}
}
}
}
}
},
Expand Down
Loading
Loading