Skip to content

Commit

Permalink
Add support for credential-less backup and restore (#49)
Browse files Browse the repository at this point in the history
  • Loading branch information
ishtiaqhimel authored Oct 13, 2023
1 parent 15eae58 commit 76aa9a9
Show file tree
Hide file tree
Showing 19 changed files with 1,513 additions and 925 deletions.
2 changes: 1 addition & 1 deletion apis/core/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ type AddonInfo struct {
// +optional
ContainerRuntimeSettings *ofst.ContainerRuntimeSettings `json:"containerRuntimeSettings,omitempty"`

// JobTemplate specifies runtime configurations for the bakcup/restore Job
// JobTemplate specifies runtime configurations for the backup/restore Job
// +optional
JobTemplate *ofst.PodTemplateSpec `json:"jobTemplate,omitempty"`
}
Expand Down
3 changes: 3 additions & 0 deletions apis/storage/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,9 @@ type GCSSpec struct {
}

type AzureSpec struct {
// StorageAccount specifies the name of the Azure Storage Account
StorageAccount string `json:"storageAccount,omitempty"`

// Container specifies the name of the Azure Blob container that will be used as storage backend.
Container string `json:"container,omitempty"`

Expand Down
59 changes: 55 additions & 4 deletions crds/core.kubestash.com_backupbatches.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2540,6 +2540,12 @@ spec:
that will be attached with the respective
Pod
type: object
podLabels:
additionalProperties:
type: string
description: PodLabels are the labels that
will be attached with the respective Pod
type: object
priority:
description: The priority value. Various system
components use this field to find the priority
Expand Down Expand Up @@ -7674,6 +7680,12 @@ spec:
that will be attached with the respective
Pod
type: object
podLabels:
additionalProperties:
type: string
description: PodLabels are the labels that
will be attached with the respective Pod
type: object
priority:
description: The priority value. Various system
components use this field to find the priority
Expand Down Expand Up @@ -12027,6 +12039,13 @@ spec:
options set along with hostNetwork, you have
to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.
type: string
enableServiceLinks:
description: 'EnableServiceLinks indicates whether
information about services should be injected
into pod''s environment variables, matching
the syntax of Docker links. Optional: Defaults
to true.'
type: boolean
env:
description: List of environment variables to
set in the container. Cannot be updated.
Expand Down Expand Up @@ -12173,12 +12192,13 @@ spec:
Optional: Default to false.'
type: boolean
imagePullSecrets:
description: ImagePullSecrets is an optional
description: 'ImagePullSecrets is an optional
list of references to secrets in the same
namespace to use for pulling any of the images
used by this PodSpec. If specified, these
secrets will be passed to individual puller
implementations for them to use.
implementations for them to use. More info:
https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
items:
description: LocalObjectReference contains
enough information to let you locate the
Expand Down Expand Up @@ -14182,6 +14202,7 @@ spec:
for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
type: object
x-kubernetes-map-type: atomic
priority:
description: The priority value. Various system
components use this field to find the priority
Expand Down Expand Up @@ -14411,6 +14432,16 @@ spec:
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
runtimeClassName:
description: 'RuntimeClassName refers to a RuntimeClass
object in the node.k8s.io group, which should
be used to run this pod. If no RuntimeClass
resource matches the named class, the pod
will not be run. If unset or empty, the "legacy"
RuntimeClass will be used, which is an implicit
class with an empty definition that uses the
default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
type: string
schedulerName:
description: If specified, the pod will be dispatched
by specified scheduler. If not specified,
Expand Down Expand Up @@ -18229,7 +18260,7 @@ spec:
type: object
jobTemplate:
description: JobTemplate specifies runtime configurations
for the bakcup/restore Job
for the backup/restore Job
properties:
controller:
description: 'Workload controller''s metadata.
Expand Down Expand Up @@ -19797,6 +19828,13 @@ spec:
you have to specify DNS policy explicitly
to 'ClusterFirstWithHostNet'.
type: string
enableServiceLinks:
description: 'EnableServiceLinks indicates
whether information about services should
be injected into pod''s environment variables,
matching the syntax of Docker links. Optional:
Defaults to true.'
type: boolean
env:
description: List of environment variables
to set in the container. Cannot be updated.
Expand Down Expand Up @@ -19948,12 +19986,13 @@ spec:
Optional: Default to false.'
type: boolean
imagePullSecrets:
description: ImagePullSecrets is an optional
description: 'ImagePullSecrets is an optional
list of references to secrets in the same
namespace to use for pulling any of the
images used by this PodSpec. If specified,
these secrets will be passed to individual
puller implementations for them to use.
More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
items:
description: LocalObjectReference contains
enough information to let you locate the
Expand Down Expand Up @@ -22033,6 +22072,7 @@ spec:
for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
type: object
x-kubernetes-map-type: atomic
priority:
description: The priority value. Various system
components use this field to find the priority
Expand Down Expand Up @@ -22267,6 +22307,17 @@ spec:
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
runtimeClassName:
description: 'RuntimeClassName refers to a
RuntimeClass object in the node.k8s.io group,
which should be used to run this pod. If
no RuntimeClass resource matches the named
class, the pod will not be run. If unset
or empty, the "legacy" RuntimeClass will
be used, which is an implicit class with
an empty definition that uses the default
runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class'
type: string
schedulerName:
description: If specified, the pod will be
dispatched by specified scheduler. If not
Expand Down
Loading

0 comments on commit 76aa9a9

Please sign in to comment.