Skip to content

Commit

Permalink
Working Longhorn Example (#1264)
Browse files Browse the repository at this point in the history
## Description
Add to Longhorn to Zarf Examples 

## Related Issue

Relates to #854 as
longhorn will be used as the backing storage for this ZarfInitPackage

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Other (security config, docs update, etc)

## Checklist before merging

- [x] Test, docs, adr added or updated as needed
- [x] [Contributor Guide
Steps](https://github.com/defenseunicorns/zarf/blob/main/CONTRIBUTING.md#developer-workflow)
followed
  • Loading branch information
JasonvanBrackel committed Jan 28, 2023
1 parent a584e0d commit e8d689f
Show file tree
Hide file tree
Showing 4 changed files with 432 additions and 0 deletions.
49 changes: 49 additions & 0 deletions examples/longhorn/README.md
@@ -0,0 +1,49 @@
# Longhorn

This example shows how you how to deploy [Longhorn](longhorn.io) using Zarf

Before deploying Longhorn make sure your nodes are configured with the [Longhorn Installation Requirements](https://longhorn.io/docs/1.4.0/deploy/install/#installation-requirements).

You will need [open-iscsi](https://longhorn.io/docs/1.4.0/deploy/install/#installing-open-iscsi) installed.

If you wish to support RWX access modes you'll need to install an [NFSv4 client](https://longhorn.io/docs/1.4.0/deploy/install/#installing-nfsv4-client) on each node.

If you're working with K3s, there is extra setup required see [Longhorn CSI on K3s](https://longhorn.io/docs/1.4.0/advanced-resources/os-distro-specific/csi-on-k3s/).

The values file from this example was pulled using the directions at [Customizing Default Settings](https://longhorn.io/docs/1.4.0/advanced-resources/deploy/customizing-default-settings/#using-helm) as the path for kubelet needs to be set for K3s as per [Longhorn CSI on K3s](https://longhorn.io/docs/1.4.0/advanced-resources/os-distro-specific/csi-on-k3s/)

You do not need to use the values file and can remove it from the Zarf package configuration if you're not using K3s and don't need that variable set.

:::info

To view the example source code, select the `Edit this page` link below the article and select the parent folder.

:::

```
components:
- name: longhorn
required: true
description: "Deploy Longhorn into a Kubernetes cluster. https://longhorn.io"
charts:
- name: longhorn
url: https://charts.longhorn.io
version: 1.4.0
namespace: longhorn-system
valuesFiles:
- "values.yaml"
images:
- longhornio/csi-attacher:v3.4.0
- longhornio/csi-provisioner:v2.1.2
- longhornio/csi-resizer:v1.3.0
- longhornio/csi-snapshotter:v5.0.1
- longhornio/csi-node-driver-registrar:v2.5.0
- longhornio/livenessprobe:v2.8.0
- longhornio/backing-image-manager:v1.4.0
- longhornio/longhorn-engine:v1.4.0
- longhornio/longhorn-instance-manager:v1.4.0
- longhornio/longhorn-manager:v1.4.0
- longhornio/longhorn-share-manager:v1.4.0
- longhornio/longhorn-ui:v1.4.0
- longhornio/support-bundle-kit:v0.0.17
```
17 changes: 17 additions & 0 deletions examples/longhorn/connect.yaml
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: zarf-connect-longhorn-ui
labels:
# Enables "zarf connect longhorn-ui"
zarf.dev/connect-name: longhorn-ui
annotations:
zarf.dev/connect-description: "Connect to the Longhorn User Interface"
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
selector:
app: longhorn-ui

0 comments on commit e8d689f

Please sign in to comment.