Skip to content

Commit

Permalink
feat(add): add lvm-disk-watcher chart (#23921)
Browse files Browse the repository at this point in the history
**Description**
This chart runs our custom lvm-disk-watcher container, which is used in
conjunction with topo-lvm to automatically provision local lvm-backed
storage.

**⚙️ Type of change**

- [x] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [ ] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):` or `chore(chart-name):`

**➕ App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
  • Loading branch information
PrivatePuffin authored Jul 17, 2024
1 parent c466ce1 commit 1f6ef39
Show file tree
Hide file tree
Showing 8 changed files with 205 additions and 0 deletions.
32 changes: 32 additions & 0 deletions charts/system/lvm-disk-watcher/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png
icon.webp
icon-small.webp
37 changes: 37 additions & 0 deletions charts/system/lvm-disk-watcher/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
annotations:
max_scale_version: 24.04.1
min_scale_version: 24.04.0
truecharts.org/category: operators
truecharts.org/max_helm_version: "3.15"
truecharts.org/min_helm_version: "3.11"
truecharts.org/train: system
apiVersion: v2
appVersion: latest
dependencies:
- name: common
version: 24.1.5
repository: oci://tccr.io/truecharts
condition: ""
alias: ""
tags: []
import-values: []
deprecated: false
description: Watches for empty disk to setup with LVM for use with TopoLVM
home: https://truecharts.org/charts/system/lvm-disk-watcher
icon: https://truecharts.org/img/hotlink-ok/chart-icons/lvm-disk-watcher.webp
keywords:
- lvm-disk-watcher
- loadbalancer
kubeVersion: '>=1.24.0-0'
maintainers:
- name: TrueCharts
email: [email protected]
url: https://truecharts.org
name: lvm-disk-watcher
sources:
- https://github.com/lvm-disk-watcher/lvm-disk-watcher
- https://github.com/truecharts/charts/tree/master/charts/system/lvm-disk-watcher
- https://github.com/truecharts/containers/tree/master/apps/alpine
- https://lvm-disk-watcher.universe.tf
type: application
version: 0.0.1
61 changes: 61 additions & 0 deletions charts/system/lvm-disk-watcher/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: README
---

## General Info

TrueCharts can be installed as both _normal_ Helm Charts or as TrueNAS SCALE Apps.
Both solutions are fully supported, but we heavily advice the use of normal Helm Charts where possible

For more information about this Chart, please check the docs on the TrueCharts [website](https://truecharts.org/charts/system/spegel)

**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**

## Installation

### Helm-Chart installation

To install TrueCharts Helm charts using Helm, you can use our OCI Repository.

`helm install mychart oci://tccr.io/truecharts/spegel`

For more information on how to install TrueCharts Helm charts, checkout the [instructions on the website](/guides)


### TrueNAS SCALE Apps

For more information on how to use TrueCharts as TrueNAS SCALE Apps, please checkout the [quick-start guides for TrueNAS SCALE](/deprecated/scale).

## Chart Specific Guides and information

All our charts have dedicated documentation pages.
The documentation for this chart can be found here:
https://truecharts.org/charts/system/spegel

## Configuration Options

Please note: For TrueNAS SCALE, only options available in the GUI are supported.
Hence most of these docs do not apply to TrueNAS SCALE

To view the chart specific options, please view Values.yaml included in the chart.
The most recent version of which, is available here: https://github.com/truecharts/charts/blob/master/charts/system/spegel/values.yaml

All our Charts use a shared "common" library chart that contains most of the templating and options.
For the complete overview of all available options, please checkout the documentation for them on the [common docs on our website](/common)

For information about the common chart and all defaults included with it, please review its values.yaml file available here: https://github.com/truecharts/library-charts/blob/main/library/common/values.yaml

## Support

- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)

---

## Sponsor TrueCharts

TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](/general/sponsor) or contributing back to the project any way you can!

_All Rights Reserved - The TrueCharts Project_
Binary file added charts/system/lvm-disk-watcher/icon-small.webp
Binary file not shown.
Binary file added charts/system/lvm-disk-watcher/icon.webp
Binary file not shown.
1 change: 1 addition & 0 deletions charts/system/lvm-disk-watcher/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "tc.v1.common.lib.chart.notes" $ -}}
5 changes: 5 additions & 0 deletions charts/system/lvm-disk-watcher/templates/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.v1.common.loader.init" . }}

{{/* Render the templates */}}
{{ include "tc.v1.common.loader.apply" . }}
69 changes: 69 additions & 0 deletions charts/system/lvm-disk-watcher/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
image:
repository: tccr.io/tccr/lvm-disk-watcher
pullPolicy: IfNotPresent
tag: v3.18.4

service:
main:
enabled: false
ports:
main:
enabled: false

workload:
main:
type: DaemonSet
podSpec:
containers:
main:
env:
NODE_NAME:
fieldRef:
fieldPath: spec.nodeName
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false


configmap:
disk-config:
enabled: true
data:
disk-config: |
k8s-control-1: all
persistence:
disk-config:
enabled: true
type: configmap
objectName: disk-config
defaultMode: "0777"
mountPath: /config/disk-config

dev:
enabled: true
type: hostPath
mountPath: /dev
hostPath: /dev

securityContext:
container:
runAsUser: 0
runAsGroup: 0
allowPrivilegeEscalation: true
privileged: true
capabilities:
drop:
- ALL
add: ["SYS_ADMIN", "MKNOD", "SYS_RAWIO", "SYS_PTRACE", "NET_ADMIN", "SYS_MODULE"]
pod:
fsGroup: 0
fsGroupChangePolicy: OnRootMismatch

portal:
open:
enabled: false

0 comments on commit 1f6ef39

Please sign in to comment.