-
Notifications
You must be signed in to change notification settings - Fork 196
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2470f04
commit 11e4094
Showing
42 changed files
with
1,785 additions
and
675 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
114 changes: 114 additions & 0 deletions
114
assets/components/lvms/lvm.topolvm.io_lvmvolumegroupnodestatuses.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.14.0 | ||
creationTimestamp: null | ||
name: lvmvolumegroupnodestatuses.lvm.topolvm.io | ||
spec: | ||
group: lvm.topolvm.io | ||
names: | ||
kind: LVMVolumeGroupNodeStatus | ||
listKind: LVMVolumeGroupNodeStatusList | ||
plural: lvmvolumegroupnodestatuses | ||
singular: lvmvolumegroupnodestatus | ||
scope: Namespaced | ||
versions: | ||
- name: v1alpha1 | ||
schema: | ||
openAPIV3Schema: | ||
description: LVMVolumeGroupNodeStatus is the Schema for the lvmvolumegroupnodestatuses | ||
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: LVMVolumeGroupNodeStatusSpec defines the desired state of | ||
LVMVolumeGroupNodeStatus | ||
properties: | ||
nodeStatus: | ||
description: NodeStatus contains the per node status of the VG | ||
items: | ||
properties: | ||
deviceDiscoveryPolicy: | ||
default: RuntimeDynamic | ||
description: |- | ||
DeviceDiscoveryPolicy is a field to indicate whether the devices are discovered | ||
at runtime or preconfigured through a DeviceSelector | ||
Setting this to DeviceDiscoveryPolicyPreconfigured indicates the devices are preconfigured through a DeviceSelector. | ||
Setting this to DeviceDiscoveryPolicyRuntimeDynamic indicates the devices are added to the VG dynamically if they are present at runtime. | ||
By default, the value is set to RuntimeDynamic. | ||
enum: | ||
- Preconfigured | ||
- RuntimeDynamic | ||
type: string | ||
devices: | ||
description: Devices is the list of devices used by the volume | ||
group | ||
items: | ||
type: string | ||
type: array | ||
excluded: | ||
description: |- | ||
Excluded contains the per node status of applied device exclusions that were picked up via selector, | ||
but were not used for other reasons. | ||
items: | ||
properties: | ||
name: | ||
description: Name is the device that was filtered | ||
type: string | ||
reasons: | ||
description: Reasons are the human-readable reasons why | ||
the device was excluded from the volume group | ||
items: | ||
type: string | ||
type: array | ||
required: | ||
- name | ||
- reasons | ||
type: object | ||
type: array | ||
name: | ||
description: Name is the name of the volume group | ||
type: string | ||
reason: | ||
description: Reason provides more detail on the volume group | ||
creation status | ||
type: string | ||
status: | ||
description: Status tells if the volume group was created on | ||
the node | ||
type: string | ||
type: object | ||
type: array | ||
type: object | ||
status: | ||
description: LVMVolumeGroupNodeStatusStatus defines the observed state | ||
of LVMVolumeGroupNodeStatus | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: null | ||
storedVersions: null |
209 changes: 209 additions & 0 deletions
209
assets/components/lvms/lvm.topolvm.io_lvmvolumegroups.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,209 @@ | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.14.0 | ||
creationTimestamp: null | ||
name: lvmvolumegroups.lvm.topolvm.io | ||
spec: | ||
group: lvm.topolvm.io | ||
names: | ||
kind: LVMVolumeGroup | ||
listKind: LVMVolumeGroupList | ||
plural: lvmvolumegroups | ||
singular: lvmvolumegroup | ||
scope: Namespaced | ||
versions: | ||
- name: v1alpha1 | ||
schema: | ||
openAPIV3Schema: | ||
description: LVMVolumeGroup is the Schema for the lvmvolumegroups 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: LVMVolumeGroupSpec defines the desired state of LVMVolumeGroup | ||
properties: | ||
default: | ||
description: Default is a flag to indicate whether the device-class | ||
is the default | ||
type: boolean | ||
deviceSelector: | ||
description: DeviceSelector is a set of rules that should match for | ||
a device to be included in this TopoLVMCluster | ||
properties: | ||
forceWipeDevicesAndDestroyAllData: | ||
description: |- | ||
ForceWipeDevicesAndDestroyAllData is a flag to force wipe the selected devices. | ||
This wipes the file signatures on the devices. Use this feature with caution. | ||
Force wipe the devices only when you know that they do not contain any important data. | ||
type: boolean | ||
optionalPaths: | ||
description: OptionalPaths specify the optional device paths. | ||
items: | ||
type: string | ||
type: array | ||
paths: | ||
description: Paths specify the device paths. | ||
items: | ||
type: string | ||
type: array | ||
type: object | ||
nodeSelector: | ||
description: NodeSelector chooses nodes | ||
properties: | ||
nodeSelectorTerms: | ||
description: Required. A list of node selector terms. The terms | ||
are ORed. | ||
items: | ||
description: |- | ||
A null or empty node selector term matches no objects. The requirements of | ||
them are ANDed. | ||
The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. | ||
properties: | ||
matchExpressions: | ||
description: A list of node selector requirements by node's | ||
labels. | ||
items: | ||
description: |- | ||
A node selector requirement is a selector that contains values, a key, and an operator | ||
that relates the key and values. | ||
properties: | ||
key: | ||
description: The label key that the selector applies | ||
to. | ||
type: string | ||
operator: | ||
description: |- | ||
Represents a key's relationship to a set of values. | ||
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. | ||
type: string | ||
values: | ||
description: |- | ||
An array of string values. If the operator is In or NotIn, | ||
the values array must be non-empty. If the operator is Exists or DoesNotExist, | ||
the values array must be empty. If the operator is Gt or Lt, the values | ||
array must have a single element, which will be interpreted as an integer. | ||
This array is replaced during a strategic merge patch. | ||
items: | ||
type: string | ||
type: array | ||
required: | ||
- key | ||
- operator | ||
type: object | ||
type: array | ||
matchFields: | ||
description: A list of node selector requirements by node's | ||
fields. | ||
items: | ||
description: |- | ||
A node selector requirement is a selector that contains values, a key, and an operator | ||
that relates the key and values. | ||
properties: | ||
key: | ||
description: The label key that the selector applies | ||
to. | ||
type: string | ||
operator: | ||
description: |- | ||
Represents a key's relationship to a set of values. | ||
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. | ||
type: string | ||
values: | ||
description: |- | ||
An array of string values. If the operator is In or NotIn, | ||
the values array must be non-empty. If the operator is Exists or DoesNotExist, | ||
the values array must be empty. If the operator is Gt or Lt, the values | ||
array must have a single element, which will be interpreted as an integer. | ||
This array is replaced during a strategic merge patch. | ||
items: | ||
type: string | ||
type: array | ||
required: | ||
- key | ||
- operator | ||
type: object | ||
type: array | ||
type: object | ||
x-kubernetes-map-type: atomic | ||
type: array | ||
required: | ||
- nodeSelectorTerms | ||
type: object | ||
x-kubernetes-map-type: atomic | ||
thinPoolConfig: | ||
description: ThinPoolConfig contains configurations for the thin-pool | ||
properties: | ||
chunkSize: | ||
anyOf: | ||
- type: integer | ||
- type: string | ||
description: |- | ||
ChunkSize specifies the statically calculated chunk size for the thin pool. | ||
Thus, It is only used when the ChunkSizeCalculationPolicy is set to Static. | ||
No ChunkSize with a ChunkSizeCalculationPolicy set to Static will result in a default chunk size of 128Ki. | ||
It can be between 64Ki and 1Gi due to the underlying limitations of lvm2. | ||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ | ||
x-kubernetes-int-or-string: true | ||
chunkSizeCalculationPolicy: | ||
default: Static | ||
description: |- | ||
ChunkSizeCalculationPolicy specifies the policy to calculate the chunk size for the underlying volume. | ||
When set to Host, the chunk size is calculated based on the lvm2 host setting on the node. | ||
When set to Static, the chunk size is calculated based on the static size attribute provided within ChunkSize. | ||
enum: | ||
- Host | ||
- Static | ||
type: string | ||
name: | ||
description: Name specifies a name for the thin pool. | ||
type: string | ||
overprovisionRatio: | ||
description: OverProvisionRatio specifies a factor by which you | ||
can provision additional storage based on the available storage | ||
in the thin pool. To prevent over-provisioning through validation, | ||
set this field to 1. | ||
minimum: 1 | ||
type: integer | ||
sizePercent: | ||
default: 90 | ||
description: SizePercent specifies the percentage of space in | ||
the LVM volume group for creating the thin pool. | ||
maximum: 90 | ||
minimum: 10 | ||
type: integer | ||
required: | ||
- name | ||
- overprovisionRatio | ||
type: object | ||
type: object | ||
status: | ||
description: LVMVolumeGroupStatus defines the observed state of LVMVolumeGroup | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: null | ||
storedVersions: null |
17 changes: 17 additions & 0 deletions
17
assets/components/lvms/lvms-metrics_rbac.authorization.k8s.io_v1_role.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: Role | ||
metadata: | ||
creationTimestamp: null | ||
name: lvms-metrics | ||
namespace: openshift-storage | ||
rules: | ||
- apiGroups: | ||
- "" | ||
resources: | ||
- services | ||
- endpoints | ||
- pods | ||
verbs: | ||
- get | ||
- list | ||
- watch |
14 changes: 14 additions & 0 deletions
14
assets/components/lvms/lvms-metrics_rbac.authorization.k8s.io_v1_rolebinding.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: RoleBinding | ||
metadata: | ||
creationTimestamp: null | ||
name: lvms-metrics | ||
namespace: openshift-storage | ||
roleRef: | ||
apiGroup: rbac.authorization.k8s.io | ||
kind: Role | ||
name: lvms-metrics | ||
subjects: | ||
- kind: ServiceAccount | ||
name: prometheus-k8s | ||
namespace: openshift-monitoring |
21 changes: 21 additions & 0 deletions
21
assets/components/lvms/lvms-operator-metrics-service_v1_service.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
annotations: | ||
service.beta.openshift.io/serving-cert-secret-name: lvms-operator-metrics-cert | ||
creationTimestamp: null | ||
labels: | ||
app.kubernetes.io/compose: metrics | ||
app.kubernetes.io/name: lvms-operator | ||
name: lvms-operator-metrics-service | ||
namespace: openshift-storage | ||
spec: | ||
ports: | ||
- name: https | ||
port: 443 | ||
protocol: TCP | ||
targetPort: 8443 | ||
selector: | ||
app.kubernetes.io/name: lvms-operator | ||
status: | ||
loadBalancer: {} |
Oops, something went wrong.