Skip to content

Commit

Permalink
chore(release): 0.4.0
Browse files Browse the repository at this point in the history
[skip.ci]
  • Loading branch information
jobcespedes committed Mar 31, 2024
1 parent 98c6017 commit a1d9bc4
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 3 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

### Chores

* update: bump collection krestomatio.k8s 0.3.69 (krestomatio-cibot)
* update: bump collection krestomatio.k8s 0.4.4 (krestomatio-cibot)
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PROJECT_SHORTNAME ?= nfs
VERSION ?= 0.3.47
VERSION ?= 0.4.0
COLLECTION_VERSION ?= 0.4.4
OPERATOR_TYPE ?= ansible
PROJECT_TYPE ?= $(OPERATOR_TYPE)-operator
Expand Down
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ resources:
images:
- name: controller
newName: quay.io/krestomatio/nfs-operator
newTag: 0.3.47
newTag: 0.4.0
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
68 changes: 68 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
## NFS Operator

This operator simplifies deployment and management of NFSv4 Ganesha servers within Kubernetes environments. It offers advanced features for NFS exports, including:

* Ownership and Permission Control: Set ownership and permissions for the NFS export directory.
* Automatic PVC Expansion: Configure automatic scaling of the underlying Persistent Volume Claim (PVC) as storage demands grow.
* RWX Storage Class Provisioning: Automatically create a StorageClass for RWX (read-write-execute) access to the NFS export.

**Key Technologies:**

* Kubernetes
* Ansible Operator SDK
* NFS-Ganesha

## Installation

**Important Note:** This NFS Operator is currently in **Beta** stage. Proceed with caution in production deployments.

1. **Install Operator:**
```bash
# Ensure prerequisites are met
kubectl apply -k https://github.com/krestomatio/nfs-operator/config/default?ref=v0.4.0
```

2. **Configure NFS Instance:**
- Download and modify [this sample](https://raw.githubusercontent.com/krestomatio/nfs-operator/v0.4.0/config/samples/nfs_v1alpha1_ganesha.yaml) file to reflect your specific instance. This file defines the desired configuration for your NFS Ganesha deployment.
```bash
curl -sSL 'https://raw.githubusercontent.com/krestomatio/nfs-operator/v0.4.0/config/samples/nfs_v1alpha1_ganesha.yaml' -o nfs_v1alpha1_ganesha.yaml
# modify nfs_v1alpha1_ganesha.yaml
```

3. **Deploy NFS:**
- Deploy a NFS instance using the modified configuration:
```bash
kubectl apply -f nfs_v1alpha1_ganesha.yaml
```

4. **Monitor Logs:**
- Track the NFS Operator logs for insights into the deployment process:
```bash
kubectl -n nfs-operator-system logs -l control-plane=controller-manager -c manager -f
```

- Monitor the status of your deployed NFS instance:
```bash
kubectl get -f nfs_v1alpha1_ganesha.yaml -w
```

## Uninstall

1. **Delete NFS Instance:**
```bash
# Caution: This step leads to data loss. Proceed with caution.
kubectl delete -f nfs_v1alpha1_ganesha.yaml
```

2. **Uninstall Operator:**
```bash
kubectl delete -k https://github.com/krestomatio/nfs-operator/config/default?ref=v0.4.0
```

## Configuration

NFS Ganesha custom resource (CR) can be configure via its spec field. NFS Ganesha CR spec supports all the the variables in [v1alpha1.nfs.ganesha ansible role](https://krestomatio.com/docs/krestomatio.k8s/roles/v1alpha1.nfs.ganesha/defaults/main/ganesha) as fields. These variables can be specified directly in the NFS CR YAML manifest file, allowing for customization of the Ganesha instance during deployment. Refer to the official [v1alpha1.nfs.ganesha ansible role documentation](https://krestomatio.com/docs/krestomatio.k8s/roles/v1alpha1.nfs.ganesha/) for a comprehensive list of supported fields.

## Contributing

* Report bugs, request enhancements, or propose new features using GitHub issues.

0 comments on commit a1d9bc4

Please sign in to comment.