Files
truecharts/website/src/content/docs/guides/fluxcd/deploychart.md
T
BoemeltreinandGitHub 0374f6e104 fix(docs): First Chart (#35301)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
Warning was not correctly rendered? Maybe this helps?

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

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

**🧪 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 changes to the documentation
- [ ] 🧪 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
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** 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._

Signed-off-by: Boemeltrein <130394941+Boemeltrein@users.noreply.github.com>
2025-05-12 15:33:03 +02:00

2.3 KiB

sidebar, title
sidebar title
order
3
Deploy a chart with Flux on your Clustertool Cluster

This guide will explain briefly how to deploy a chart on your brand new Clustertool Cluster using Flux.

Create the files

  • Your charts can be placed in the folder clusters/main/kubernetes/apps/.
  • There will make a folder for your chart and inside that folder an app folder.
  • In this guide we will use as example librespeed
  • So it will be like: clusters/main/kubernetes/apps/librespeed/app/
  • In this folder we will create two files, helm-release.yaml and namespace.yaml.

:::note[Folder Structure]

You are not limited to only use the clusters/main/kubernetes/apps folder. You can make any folder with subfolders in clusters/main/kubernetes/ to organize your charts.

:::

// namespace.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: librespeed
## Add this part when you need a privileged namespace
#  labels:
#    pod-security.kubernetes.io/enforce: privileged

:::warning[Privileged Namespace]

Add the label for pod-security only when it is really needed. After deploying the chart and this part will be needed you will see this in your event logs.

:::

// helm-release.yaml
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: librespeed
  namespace: librespeed
spec:
  interval: 15m
  chart:
    spec:
      chart: librespeed
      version: 15.6.1
      sourceRef:
        kind: HelmRepository
        name: truecharts
        namespace: flux-system
      interval: 15m
  timeout: 20m
  maxHistory: 3
  driftDetection:
    mode: warn
  install:
    createNamespace: true
    remediation:
      retries: 3
  upgrade:
    cleanupOnFail: true
    remediation:
      retries: 3
  uninstall:
    keepHistory: false
  values:
    # Add here your chart specific values

Generate and deploy

:::note[Kustomizations]

When not using clustertool, you need to add the kustomizations yourself.

:::

  • Run clustertool genconfig. This will creates kustomization.yaml and ks.yaml files.
  • Also this will update the kustomization.yaml in the folder above.
  • Push to git
  • Wait for flux to get it deployed. This can be taken up to 30 minutes. Another option you can do is run flux reconcile or configure a flux webhook.