Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
2 changes: 2 additions & 0 deletions api/v1alpha1/controlplane_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ type ControlPlaneSpec struct {
// Image is the container image used for all simplyblock control-plane and
// storage-node workloads (e.g. quay.io/simplyblock-io/simplyblock:26.2.2).
// StorageNode CRs that omit spec.clusterImage inherit this value.
// Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
// +optional
// +kubebuilder:validation:Pattern=`^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$`
Image string `json:"image,omitempty"`
}

Expand Down
6 changes: 6 additions & 0 deletions api/v1alpha1/storagenode_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ type StorageNodeSpec struct {
ClusterName string `json:"clusterName"`
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cluster Image"
// ClusterImage is the container image used for storage-node workloads.
// Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
// +kubebuilder:validation:Pattern=`^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$`
ClusterImage string `json:"clusterImage,omitempty"`
// +kubebuilder:validation:Enum=shutdown;restart;suspend;resume;remove
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Action"
Expand All @@ -56,9 +58,13 @@ type StorageNodeSpec struct {
MaxSize string `json:"maxSize,omitempty"`
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="SPDK Image"
// SpdkImage is the SPDK image reference used by node services.
// Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
// +kubebuilder:validation:Pattern=`^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$`
SpdkImage string `json:"spdkImage,omitempty"`
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="SPDK Proxy Image"
// SpdkProxyImage is the SPDK proxy image reference used by node services.
// Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
// +kubebuilder:validation:Pattern=`^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$`
SpdkProxyImage string `json:"spdkProxyImage,omitempty"`
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Management Interface"
// MgmtIfname is the management interface name used by storage nodes.
Expand Down
2 changes: 2 additions & 0 deletions config/crd/bases/storage.simplyblock.io_controlplanes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ spec:
Image is the container image used for all simplyblock control-plane and
storage-node workloads (e.g. quay.io/simplyblock-io/simplyblock:26.2.2).
StorageNode CRs that omit spec.clusterImage inherit this value.
Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
type: object
status:
Expand Down
17 changes: 12 additions & 5 deletions config/crd/bases/storage.simplyblock.io_storagenodes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ spec:
- remove
type: string
clusterImage:
description: ClusterImage is the container image used for storage-node
workloads.
description: |-
ClusterImage is the container image used for storage-node workloads.
Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
clusterName:
description: ClusterName is the target storage cluster name.
Expand Down Expand Up @@ -158,11 +160,16 @@ spec:
type: string
type: array
spdkImage:
description: SpdkImage is the SPDK image reference used by node services.
description: |-
SpdkImage is the SPDK image reference used by node services.
Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
spdkProxyImage:
description: SpdkProxyImage is the SPDK proxy image reference used
by node services.
description: |-
SpdkProxyImage is the SPDK proxy image reference used by node services.
Must reference one of the trusted registries (quay.io/simplyblock-io, docker.io/simplyblock, public.ecr.aws/simply-block); digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
tolerations:
description: Tolerations configures pod tolerations for storage-node
Expand Down
2 changes: 1 addition & 1 deletion config/samples/storage_v1alpha1_storagenode.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ metadata:
name: storagenode-sample
spec:
clusterName: sample-cluster
clusterImage: simplyblock/snode:latest
clusterImage: quay.io/simplyblock-io/simplyblock:26.2.5-PRE
maxLogicalVolumeCount: 256
workerNodes:
- worker-node-1
17 changes: 12 additions & 5 deletions dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1553,8 +1553,10 @@ spec:
- remove
type: string
clusterImage:
description: ClusterImage is the container image used for storage-node
workloads.
description: |-
ClusterImage is the container image used for storage-node workloads.
Must reference the quay.io/simplyblock-io registry; digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
clusterName:
description: ClusterName is the target storage cluster name.
Expand Down Expand Up @@ -1662,11 +1664,16 @@ spec:
type: string
type: array
spdkImage:
description: SpdkImage is the SPDK image reference used by node services.
description: |-
SpdkImage is the SPDK image reference used by node services.
Must reference the quay.io/simplyblock-io registry; digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
spdkProxyImage:
description: SpdkProxyImage is the SPDK proxy image reference used
by node services.
description: |-
SpdkProxyImage is the SPDK proxy image reference used by node services.
Must reference the quay.io/simplyblock-io registry; digest pinning (@sha256:...) is recommended.
pattern: ^($|(quay\.io/simplyblock-io|docker\.io/simplyblock|public\.ecr\.aws/simply-block)/[a-z0-9][a-z0-9._-]*:[a-zA-Z0-9][a-zA-Z0-9._-]*(@sha256:[a-f0-9]{64})?)$
type: string
tolerations:
description: Tolerations configures pod tolerations for storage-node
Expand Down
Loading