-
Notifications
You must be signed in to change notification settings - Fork 102
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(chart): add helm chart for zfs local pv (#247)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
- Loading branch information
1 parent
90ecfe9
commit bd6df9b
Showing
19 changed files
with
2,555 additions
and
1 deletion.
There are no files selected for viewing
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 |
---|---|---|
|
@@ -14,7 +14,7 @@ | |
name: release | ||
|
||
on: | ||
create: | ||
push: | ||
tags: | ||
- 'v*' | ||
|
||
|
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,23 @@ | ||
# Patterns to ignore when building packages. | ||
# This supports shell glob matching, relative path matching, and | ||
# negation (prefixed with !). Only one pattern per line. | ||
.DS_Store | ||
# Common VCS dirs | ||
.git/ | ||
.gitignore | ||
.bzr/ | ||
.bzrignore | ||
.hg/ | ||
.hgignore | ||
.svn/ | ||
# Common backup files | ||
*.swp | ||
*.bak | ||
*.tmp | ||
*.orig | ||
*~ | ||
# Various IDEs | ||
.project | ||
.idea/ | ||
*.tmproj | ||
.vscode/ |
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,23 @@ | ||
apiVersion: v2 | ||
name: zfs-localpv | ||
description: CSI Driver for dynamic provisioning of ZFS Persistent Local Volumes. | ||
version: 1.2.0 | ||
appVersion: 1.2.1 | ||
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png | ||
home: http://www.openebs.io/ | ||
keywords: | ||
- cloud-native-storage | ||
- block-storage | ||
- filesystem | ||
- ZFS | ||
- Local Persistent Volumes | ||
- storage | ||
sources: | ||
- https://github.com/openebs/zfs-localpv | ||
maintainers: | ||
- name: xUnholy | ||
email: michaelfornaro@gmail.com | ||
- name: prateekpandey14 | ||
email: prateek.pandey@mayadata.io | ||
- name: pawanpraka1 | ||
email: pawan@mayadata.io |
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,135 @@ | ||
|
||
# OpenEBS LocalPV Provisioner | ||
|
||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | ||
![Chart Lint and Test](https://github.com/openebs/zfs-localpv/workflows/Chart%20Lint%20and%20Test/badge.svg) | ||
![Release Charts](https://github.com/openebs/zfs-localpv/workflows/Release%20Charts/badge.svg?branch=develop) | ||
|
||
A Helm chart for openebs zfs localpv provisioner. This chart bootstraps OpenEBS ZFS LocalPV provisioner deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. | ||
|
||
|
||
**Homepage:** <http://www.openebs.io/> | ||
|
||
## Maintainers | ||
|
||
| Name | Email | Url | | ||
| ---- | ------ | --- | | ||
| pawanpraka1 | pawan@mayadata.io | | | ||
| xUnholy | michaelfornaro@gmail.com | | | ||
| prateekpandey14 | prateek.pandey@mayadata.io | | | ||
|
||
|
||
## Get Repo Info | ||
|
||
```console | ||
helm repo add openebs-zfslocalpv https://openebs.github.io/zfs-localpv | ||
helm repo update | ||
``` | ||
|
||
_See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation._ | ||
|
||
## Install Chart | ||
|
||
Please visit the [link](https://openebs.github.io/zfs-localpv/) for install instructions via helm3. | ||
|
||
```console | ||
# Helm | ||
$ helm install [RELEASE_NAME] openebs-zfslocalpv/zfs-localpv | ||
``` | ||
|
||
**Note:** If moving from the operator to helm | ||
- Make sure the namespace provided in the helm install command is same as `OPENEBS_NAMESPACE` (by default it is `openebs`) env in the controller statefulset. | ||
- Before installing, clean up the stale statefulset and daemonset from `kube-system` namespace using the below commands | ||
```sh | ||
kubectl delete sts openebs-zfs-controller -n kube-system | ||
kubectl delete ds openebs-zfs-node -n kube-system | ||
``` | ||
|
||
|
||
_See [configuration](#configuration) below._ | ||
|
||
_See [helm install](https://helm.sh/docs/helm/helm_install/) for command documentation._ | ||
|
||
## Uninstall Chart | ||
|
||
```console | ||
# Helm | ||
$ helm uninstall [RELEASE_NAME] | ||
``` | ||
|
||
This removes all the Kubernetes components associated with the chart and deletes the release. | ||
|
||
_See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command documentation._ | ||
|
||
## Upgrading Chart | ||
|
||
```console | ||
# Helm | ||
$ helm upgrade [RELEASE_NAME] [CHART] --install | ||
``` | ||
|
||
## Configuration | ||
|
||
The following table lists the configurable parameters of the OpenEBS ZFS Localpv chart and their default values. | ||
|
||
| Parameter| Description| Default| | ||
| -| -| -| | ||
| `imagePullSecrets`| Provides image pull secrect| `""`| | ||
| `zfsPlugin.image.registry`| Registry for openebs-zfs-plugin image| `""`| | ||
| `zfsPlugin.image.repository`| Image repository for openebs-zfs-plugin| `openebs/zfs-driver`| | ||
| `zfsPlugin.image.pullPolicy`| Image pull policy for openebs-zfs-plugin| `IfNotPresent`| | ||
| `zfsPlugin.image.tag`| Image tag for openebs-zfs-plugin| `1.1.0`| | ||
| `zfsNode.driverRegistrar.image.registry`| Registry for csi-node-driver-registrar image| `quay.io/`| | ||
| `zfsNode.driverRegistrar.image.repository`| Image repository for csi-node-driver-registrar| `k8scsi/csi-node-driver-registrar`| | ||
| `zfsNode.driverRegistrar.image.pullPolicy`| Image pull policy for csi-node-driver-registrar| `IfNotPresent`| | ||
| `zfsNode.driverRegistrar.image.tag`| Image tag for csi-node-driver-registrar| `v1.2.0`| | ||
| `zfsNode.updateStrategy.type`| Update strategy for zfsnode daemonset | `RollingUpdate` | | ||
| `zfsNode.kubeletDir`| Kubelet mount point for zfsnode daemonset| `"/var/lib/kubelet/"` | | ||
| `zfsNode.annotations` | Annotations for zfsnode daemonset metadata| `""`| | ||
| `zfsNode.podAnnotations`| Annotations for zfsnode daemonset's pods metadata | `""`| | ||
| `zfsNode.resources`| Resource and request and limit for zfsnode daemonset containers | `""`| | ||
| `zfsNode.labels`| Labels for zfsnode daemonset metadata | `""`| | ||
| `zfsNode.podLabels`| Appends labels to the zfsnode daemonset pods| `""`| | ||
| `zfsNode.nodeSelector`| Nodeselector for zfsnode daemonset pods| `""`| | ||
| `zfsNode.tolerations` | zfsnode daemonset's pod toleration values | `""`| | ||
| `zfsNode.securityContext` | Seurity context for zfsnode daemonset container | `""`| | ||
| `zfsController.resizer.image.registry`| Registry for csi-resizer image| `quay.io/`| | ||
| `zfsController.resizer.image.repository`| Image repository for csi-resizer| `k8scsi/csi-resizer`| | ||
| `zfsController.resizer.image.pullPolicy`| Image pull policy for csi-resizer| `IfNotPresent`| | ||
| `zfsController.resizer.image.tag`| Image tag for csi-resizer| `v0.4.0`| | ||
| `zfsController.snapshotter.image.registry`| Registry for csi-snapshotter image| `quay.io/`| | ||
| `zfsController.snapshotter.image.repository`| Image repository for csi-snapshotter| `k8scsi/csi-snapshotter`| | ||
| `zfsController.snapshotter.image.pullPolicy`| Image pull policy for csi-snapshotter| `IfNotPresent`| | ||
| `zfsController.snapshotter.image.tag`| Image tag for csi-snapshotter| `v2.0.1`| | ||
| `zfsController.snapshotController.image.registry`| Registry for snapshot-controller image| `quay.io/`| | ||
| `zfsController.snapshotController.image.repository`| Image repository for snapshot-controller| `k8scsi/snapshot-controller`| | ||
| `zfsController.snapshotController.image.pullPolicy`| Image pull policy for snapshot-controller| `IfNotPresent`| | ||
| `zfsController.snapshotController.image.tag`| Image tag for snapshot-controller| `v2.0.1`| | ||
| `zfsController.provisioner.image.registry`| Registry for csi-provisioner image| `quay.io/`| | ||
| `zfsController.provisioner.image.repository`| Image repository for csi-provisioner| `k8scsi/csi-provisioner`| | ||
| `zfsController.provisioner.image.pullPolicy`| Image pull policy for csi-provisioner| `IfNotPresent`| | ||
| `zfsController.provisioner.image.tag`| Image tag for csi-provisioner| `v1.6.0`| | ||
| `zfsController.updateStrategy.type`| Update strategy for zfs localpv controller statefulset | `RollingUpdate` | | ||
| `zfsController.annotations` | Annotations for zfs localpv controller statefulset metadata| `""`| | ||
| `zfsController.podAnnotations`| Annotations for zfs localpv controller statefulset's pods metadata | `""`| | ||
| `zfsController.resources`| Resource and request and limit for zfs localpv controller statefulset containers | `""`| | ||
| `zfsController.labels`| Labels for zfs localpv controller statefulset metadata | `""`| | ||
| `zfsController.podLabels`| Appends labels to the zfs localpv controller statefulset pods| `""`| | ||
| `zfsController.nodeSelector`| Nodeselector for zfs localpv controller statefulset pods| `""`| | ||
| `zfsController.tolerations` | zfs localpv controller statefulset's pod toleration values | `""`| | ||
| `zfsController.securityContext` | Seurity context for zfs localpv controller statefulset container | `""`| | ||
| `serviceAccount.zfsNode.create` | Create a service account for zfsnode or not| `true`| | ||
| `serviceAccount.zfsNode.name` | Name for the zfsnode service account| `openebs-zfs-node-sa`| | ||
| `serviceAccount.zfsController.create` | Create a service account for zfs localpv controller or not| `true`| | ||
| `serviceAccount.zfsController.name` | Name for the zfs localpv controller service account| `openebs-zfs-controller-sa`| | ||
| `analytics.enabled` | Enable or Disable google analytics for the controller| `true`| | ||
|
||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. | ||
|
||
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, | ||
|
||
```bash | ||
helm install <release-name> -f values.yaml openebs/zfs-localpv | ||
``` | ||
|
||
> **Tip**: You can use the default [values.yaml](values.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,111 @@ | ||
|
||
--- | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.4.0 | ||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" | ||
creationTimestamp: null | ||
name: volumesnapshotclasses.snapshot.storage.k8s.io | ||
spec: | ||
group: snapshot.storage.k8s.io | ||
names: | ||
kind: VolumeSnapshotClass | ||
listKind: VolumeSnapshotClassList | ||
plural: volumesnapshotclasses | ||
singular: volumesnapshotclass | ||
scope: Cluster | ||
versions: | ||
- additionalPrinterColumns: | ||
- jsonPath: .driver | ||
name: Driver | ||
type: string | ||
- description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. | ||
jsonPath: .deletionPolicy | ||
name: DeletionPolicy | ||
type: string | ||
- jsonPath: .metadata.creationTimestamp | ||
name: Age | ||
type: date | ||
name: v1 | ||
schema: | ||
openAPIV3Schema: | ||
description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced | ||
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 | ||
deletionPolicy: | ||
description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. | ||
enum: | ||
- Delete | ||
- Retain | ||
type: string | ||
driver: | ||
description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. | ||
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 | ||
parameters: | ||
additionalProperties: | ||
type: string | ||
description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. | ||
type: object | ||
required: | ||
- deletionPolicy | ||
- driver | ||
type: object | ||
served: true | ||
storage: false | ||
subresources: {} | ||
- additionalPrinterColumns: | ||
- jsonPath: .driver | ||
name: Driver | ||
type: string | ||
- description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. | ||
jsonPath: .deletionPolicy | ||
name: DeletionPolicy | ||
type: string | ||
- jsonPath: .metadata.creationTimestamp | ||
name: Age | ||
type: date | ||
name: v1beta1 | ||
schema: | ||
openAPIV3Schema: | ||
description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced | ||
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 | ||
deletionPolicy: | ||
description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. | ||
enum: | ||
- Delete | ||
- Retain | ||
type: string | ||
driver: | ||
description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. | ||
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 | ||
parameters: | ||
additionalProperties: | ||
type: string | ||
description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. | ||
type: object | ||
required: | ||
- deletionPolicy | ||
- driver | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: {} | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: [] | ||
storedVersions: [] |
Oops, something went wrong.