Docs rework fase 2 (#182)

* move faq to seperate file

* Slight tweaking and adding license file(s) to wiki

* Update README.md

* Port git guide from UnityStation

* Rename Ingress to Reverse Proxy

Fixes #183

* Prefer central templates

* Add initial information about Storage

* Port Chart structure info from TrueNAS/charts readme

* Create and document standardised Chart.yaml layout

* update tautulli version

* Add custom liveness probes for sonarr, radarr, lidarr and readarr

* Add Maintainers Wanted page

* Update existing Chart.yaml files
This commit is contained in:
Kjeld Schouten-Lebbing
2021-02-25 17:09:50 +01:00
committed by kjeld Schouten-Lebbing
parent e54ba75b97
commit 17d52b7d1c
586 changed files with 1835 additions and 4142 deletions
+8 -32
View File
@@ -1,7 +1,8 @@
# About TrueCharts:<br>
**Community App Catalog for TrueNAS SCALE**
# TrueCharts:<br>Community App Catalog for TrueNAS SCALE
[![GitHub last commit](https://img.shields.io/github/last-commit/truecharts/truecharts/master.svg)](https://github.com/truecharts/truecharts/commits) [![License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://github.com/truecharts/truecharts/blob/master/docs/LICENSE.BSD3)[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftruecharts%2Ftruecharts.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftruecharts%2Ftruecharts?ref=badge_shield)
---
Truecharts is an innitiative to provide high quality Apps to use with the TrueNAS SCALE App Ecosystem.
Our primary goals are:
- Freedom
@@ -21,42 +22,14 @@ For more information, please visit our wiki:
https://wiki.truecharts.org
## FAQ
- Q: I tried to run TrueCharts on TrueNAS SCALE 20.12 and it doesn't work.
A: TrueNAS SCALE 20.12 has never supported custom charts in any way, shape or form. Hence TrueCharts is 21.02+ only
- Q: Please include app X<br>
A: Please file an issue about it, after checking the wiki to make sure it hasn't been discussed already:
https://github.com/truecharts/truecharts/wiki/k8s-at-home-to-SCALE-App-migration-list
- Q: Isn't there more documentation for app x<br>
A: If it's not on our [wiki](https://wiki.truecharts.org), we do not. Currently during TrueNAS SCALE ALPHA/BETA we focus on the technical aspects.
- Q: Function x doesn't seem to be working, should it be working?<br>
A: Maybe, please file an issue
- Q: I'm missing a lot of configuration opions in the install GUI.<br>
A: We try to aim for a balance in the amount of options vs the simplicity of installation. Suggestions are always welcome
- Q: The portal button isn't working.<br>
A: Portal buttons are current't not implemented very well and are considered "not supported" for the time being
- Q: I selected letsencrypt but still get a traefik certificate.<br>
A: Cert Manager might take up to 10 minutes to fetch the right certificate and requires free access to 1.1.1.1:53. Until the right certificate is fetched, it will use the Traefik Default cert.
- Q: Is my data guaranteed to be secure?<br>
A: ix_volumes (the auto generated storage) is considered relatively secure as long as you don't delete the App, but we can't give an absolute guarantee. data mounted using a hostPath, is as secure as the application that is using the data, our charts do not actively alter said dataset/folder. However: SCALE is still ALPHA, so breaking changes in the storage design are very likely.
- Q: sabnzbd isn't starting.<br>
A: SabNZBD has a weird security implementation that requires you to add the hostname or IP adress to their config file. In the future we might automate this proces, but currently we do not.
- Q: An app is asking for a password.<br>
A: We almost allways use the defaults from the upstream project, if we are forced to use a password and not add the option to change it in the install GUI.
Please refer to our [FAQ](https://wiki.truecharts.org/faq) and Issue tracker before creating an issue.
There is a significant chance your issue has been reported before!
## Getting into creating Apps
Creating charts takes some getting used to, as it's based on Helm charts. We highly suggest prior knowhow on creation/modifying Helm Charts, before taking on the challenge of creating SCALE Apps.
## Licence
`SPDX-License-Identifier: BSD-3-Clause`
@@ -64,3 +37,6 @@ Creating charts takes some getting used to, as it's based on Helm charts. We hig
Truecharts as a whole, is based on a BSD-3-clause license, this ensures almost everyone can use and modify our charts. However: As a lot of Apps are based on upstream Helm Charts, Licences can vary on a per-App basis. This can easily be seen by the presence of a "LICENSE" file in the App rootfolder.
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftruecharts%2Ftruecharts.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftruecharts%2Ftruecharts?ref=badge_large)
---
![built-with-resentment](http://forthebadge.com/images/badges/built-with-resentment.svg) ![contains-technical-debt](http://forthebadge.com/images/badges/contains-technical-debt.svg)
+32
View File
@@ -0,0 +1,32 @@
# FAQ
- Q: I tried to run TrueCharts on TrueNAS SCALE 20.12 and it doesn't work.<br>
A: TrueNAS SCALE 20.12 has never supported custom charts in any way, shape or form. Hence TrueCharts is 21.02+ only
- Q: Please include app X<br>
A: Please file an issue about it, after checking the wiki to make sure it hasn't been discussed already:
https://github.com/truecharts/truecharts/wiki/k8s-at-home-to-SCALE-App-migration-list
- Q: Isn't there more documentation for app x<br>
A: If it's not on our [wiki](https://wiki.truecharts.org), we do not. Currently during TrueNAS SCALE ALPHA/BETA we focus on the technical aspects.
- Q: Function x doesn't seem to be working, should it be working?<br>
A: Maybe, please file an issue
- Q: I'm missing a lot of configuration opions in the install GUI.<br>
A: We try to aim for a balance in the amount of options vs the simplicity of installation. Suggestions are always welcome
- Q: The portal button isn't working.<br>
A: Portal buttons are current't not implemented very well and are considered "not supported" for the time being
- Q: I selected letsencrypt but still get a traefik certificate.<br>
A: Cert Manager might take up to 10 minutes to fetch the right certificate and requires free access to 1.1.1.1:53. Until the right certificate is fetched, it will use the Traefik Default cert.
- Q: Is my data guaranteed to be secure?<br>
A: ix_volumes (the auto generated storage) is considered relatively secure as long as you don't delete the App, but we can't give an absolute guarantee. data mounted using a hostPath, is as secure as the application that is using the data, our charts do not actively alter said dataset/folder. However: SCALE is still ALPHA, so breaking changes in the storage design are very likely.
- Q: sabnzbd isn't starting.<br>
A: SabNZBD has a weird security implementation that requires you to add the hostname or IP adress to their config file. In the future we might automate this proces, but currently we do not.
- Q: An app is asking for a password.<br>
A: We almost allways use the defaults from the upstream project, if we are forced to use a password and not add the option to change it in the install GUI.
+157
View File
@@ -0,0 +1,157 @@
# TrueNAS SCALE Chart Structure
A TrueNAS SCALE chart repository differs slightly in directory structure from upstream repos in that it includes an `app version` directory.
A TrueNAS SCALE chart also has three additional files an `app-readme.md` file that provides a high level overview display in the TrueNAS SCALE UI and a `questions.yaml` file defining questions to prompt the user with and an `item.yaml` file outlining item specific details.
There are 2 directories `charts` and `test`, each representing a train. Chart releases created from catalog items in a specific train cannot be moved to another train. Currently only the `charts` train can be used inside the UI.
```
charts/ix-chart/<chart version>/
app-readme.md # TrueNAS SCALE Specific: Readme file for display in TrueNAS SCALE UI
charts/ # Directory containing dependency charts
Chart.yaml # Required Helm chart information file
questions.yaml # TrueNAS SCALE Specific: File containing questions for TrueNAS SCALE UI
README.md # Optional: Helm Readme file (will be rendered in TrueNAS SCALE UI as well)
templates/ # A directory of templates that, when combined with values.yml will generate K8s YAML
values.yaml # The default configuration values for this chart
```
*See the upstream Helm chart [developer reference](https://helm.sh/docs/topics/chart_template_guide/) for a complete walk through of developing charts.*
To convert an upstream chart to take advantage of TrueNAS SCALE enhanced UX, first create an `item.yaml` file.
This file among other catalog item information provides a list of categories that this chart fits into. This helps users navigate and filtering when browsing the catalog UI.
```
$ cat charts/ix-chart/item.yaml
categories:
- generic
icon_url: "http://ix_url"
```
After that create `app-readme.md` file.
```
$ cat charts/ix-chart/<chart version>/app-readme.md
# iX-Chart
iX-chart is a chart designed to let user deploy a docker image in a TrueNAS SCALE kubernetes cluster.
It provides a mechanism to specify workload type, add external host interfaces in the pods, configure volumes and allocate host resources to the workload.
```
Then add a `questions.yaml` file to prompt the user for something.
```
groups:
- name: "Container Images"
description: "Image to be used for container"
questions:
- variable: image
description: "Docker Image Details"
group: "Container Images"
schema:
type: dict
required: true
attrs:
- variable: repository
description: "Docker image repository"
label: "Image repository"
schema:
type: string
required: true
- variable: tag
description: "Tag to use for specified image"
label: "Image Tag"
schema:
type: string
default: "latest"
- variable: pullPolicy
description: "Docker Image Pull Policy"
label: "Image Pull Policy"
schema:
type: string
default: "IfNotPresent"
enum:
- value: "IfNotPresent"
description: "Only pull image if not present on host"
- value: "Always"
description: "Always pull image even if present on host"
- value: "Never"
description: "Never pull image even if it's not present on host"
```
The above will prompt the user with 2 text fields and a dropdown in the UI getting details for image configuration in a helm chart.
#### Question Variable Reference
| Variable | Type | Required | Description |
| ------------- | ------------- | --- |------------- |
| variable | string | true | define the variable name specified in the `values.yaml`file. |
| label | string | true | define the UI label. |
| description | string | false | specify the description of the variable. |
| group | string | false | group questions by input value. |
| schema | dictionary | true | specify schema details for the `variable` |
| schema.type | string | true | specify type of value for `variable` (current supported types are string, int, boolean, path, hostpath, list, dict, ipaddr, and cron).|
| schema.required | bool | false | define if the variable is required or not (true \ false), defaults to false |
| schema.default | object | false | specify the default value. |
| schema.min_length | int | false | min character length for string type variable.|
| schema.max_length | int | false | max character length for string type variable.|
| schema.min | int | false | min integer length. |
| schema.max | int | false | max integer length. |
| schema.enum | []dictionary | false | specify the options when the variable type is `string`, for example, <br><br>enum:<br> - value: "RollingUpdate" <br>&nbsp;&nbsp;description: "Create new pods and then kill old ones"<br> - value: "Recreate"<br>&nbsp;&nbsp;description: "Kill existing pods before creating new ones"|
| schema.valid_chars | string | false | regular expression for input chars validation. |
| schema.subquestions | []subquestion | false | add an array of subquestions.|
| schema.show_if | string | false | show current variable if condition specified is true, for example `show_if: [["workloadType", "=", "CronJob"]]` |
| schema.show_subquestions_if | string | false | show subquestions if is true or equal to one of the options. for example `show_subquestion_if: "static"`. system will convert this to the filters format specifid for `shcema.show_if` automatically.|
| schema.attrs | []variables | false | specified when `schema.type` is dictionary to declare attributes allowed in the dictionary. |
| schema.items | []variables | false | specified when `schema.type` is list to declare attributes allowed in the list. |
| schema.private | bool | false | specified for declaring information sensitive fields. |
| schema.null | bool | false | specifies if the value for the variable can be null. defaults to false. |
**subquestions**: `subquestions[]` cannot contain `subquestions` or `show_subquestions_if` keys, but all other keys in the above table are supported. Also variables having `schema.type` list do not support `subquestions`.
There are some novel cases where we would like to provide ability to configure / manage resources for workloads with getting some data from system dynamically.
So a chart can specify certain actions to be performed by the system for a variable by defining a reference. An example better illustrates this concept:
```
- variable: volume
label: "Volume"
schema:
type: dict
$ref:
- "normalize/ixVolume"
attrs:
- variable: mountPath
label: "Mount Path"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
required: true
- variable: datasetName
label: "Dataset Name"
schema:
type: string
required: true
```
In the above variable we define a `$ref` in schema which specifies that the system should take some action for normalising the value specified for the variable.
In this specific case, `ix_volume` is a concept introduced where we recommend using a volume which we are able to rollback automatically on chart release rollback. In essence,
it is just a `hostPath` volume for which the system automatically creates the dataset specified.
We have following types of actions supported in `$ref` right now:
1) definitions
2) normalize
For (1), system will automatically update schema for a particular definition. For example,
```
- variable: hostInterface
description: "Please specify host interface"
label: "Host Interface"
schema:
type: string
required: true
$ref:
- "definitions/interface"
```
System will automatically populate available interfaces for the user based on what interfaces are available on the system.
For (2), system will normalize values or perform some actions as discussed above.
@@ -0,0 +1,61 @@
# Chart.yaml layout
At TrueCharts we try to keep some files standardised, this enables us to make changes to these charts in bulk with less risk of mistakes. Chart.yaml is one of these files.
In this documentation we will explain the standardised layout options. For an example layout, please see our standard Chart.yaml [template](https://github.com/truecharts/charts/tree/master/.tools/templates/chart/Chart.yaml)
### Layout Explained
```
apiVersion: The chart API version (required)
kubeVersion: A SemVer range of compatible Kubernetes versions (optional)
name: The name of the chart (required)
version: A SemVer 2 version (required)
upstream_version: A SemVer 2 version, as used by an upstream Helm Chart source (optional)
appVersion: The version of the app that this contains (optional). Needn't be SemVer. Quotes recommended.
description: A single-sentence description of this project (optional)
type: The type of the chart (optional)
deprecated: Whether this chart is deprecated (optional, boolean)
home: The URL of this projects home page (optional)
icon: A URL to an SVG or PNG image to be used as an icon (optional).
keywords:
- A list of keywords about this project (optional)
sources:
- A list of URLs to source code for this project (optional)
dependencies:
- name: The name of the chart (nginx)
repository: The repository URL ("https://example.com/charts") or alias ("@repo-name")
version: The version of the chart ("1.2.3")
condition: (optional) A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled )
tags: # (optional)
- Tags can be used to group charts for enabling/disabling together
import-values: # (optional)
- ImportValues holds the mapping of source values to parent key to be imported. Each item can be a string or pair of child/parent sublist items.
alias: (optional) Alias to be used for the chart. Useful when you have to add the same chart multiple times
maintainers: # (optional)
- name: The maintainers name (required for each maintainer)
email: The maintainers email (optional for each maintainer)
url: A URL for the maintainer (optional for each maintainer)
annotations:
example: A list of annotations keyed by name (optional).
```
##### Commenting
In the above description there are a lot of values that are not actually used. Some of those, like `deprecated`, we just set to false. While others, like `annotations` get commented out.
Please refer to our standard Chart.yaml [template](https://github.com/truecharts/charts/tree/master/.tools/templates/chart/Chart.yaml) to see which unused values needs which treatment.
##### Dependencies
We expect each chart to use our Common-Chart in some capacity, inless it's absolutely impossible to do so. This also means we expect the Common-Chart to always be the first dependency in the list. This enables us to easily update all common-chart references in bulk.
All other dependencies are expected to be listed in alphabetical order.
##### Maintainers
The first maintainer should always be TrueCharts, as the TrueCharts core team is expected to step in if the other maintainers fail to maintain their work.
An example of how to list TrueCharts as a maintainer is available in our standard Chart.yaml [template](https://github.com/truecharts/charts/tree/master/.tools/templates/chart/Chart.yaml).
While currently we primarily use the CODEOWNERS file to define maintainers. We might in the future either automate keeping track of maintainers, completely rely on the maintainers or do both. For this reason it's important to add yourself as a maintainer if you expect to maintain your work.
All other maintainers are, ofcoarse, expected to be entered in importance. With the primary maintainer under "truecharts" and secondary maintainers thereunder.
+202
View File
@@ -0,0 +1,202 @@
# Getting Started
This is a step by step guide for people who want to contribute but have no idea how to get started.
If you get lost at any point in this guide, don't be afraid to ask. There are tons of friendly dudes and dudettes who will answer all your questions.
***
### First thing first
You will need these to start your journey:
- A [GitHub account](https://github.com/).
- You'll also need to download Git from this link https://git-scm.com/, this is different from GitHub and will allow you to download and upload TrueCharts and your personal changes
### Setting up your dev environment
If you already know what you're doing, go to our [GitHub](https://github.com/truecharts/charts) and fork. Otherwise, look at this picture, from now on this will be the **contribution cycle**. This is how our workflow will look at the end of the tutorial.
<img src="https://i.imgur.com/qPg9XmQ.png" alt="Contribution cycle" style="zoom:120%;" />
What's that? You have no idea what any of that means? Worry not, my fellow contributor! I will guide you step by step.
First, you did your [GitHub account](https://github.com/) account as suggested, right? Good. We will now visit the [TrueCharts Repository in GitHub](https://github.com/truecharts/charts) and click this little button located at the top right corner of the page:
![Fork button](https://i.imgur.com/lw1XYPS.png)
As the hint suggests, this will create your very own copy of TrueCharts under your account. This copy is yours and you can do whatever you want with it, but in order to contribute, you will need to comply with some good practices I'll tell you in a second.
Good, now we just need GIT. You don't know what a GIT is? Well, GIT is a [Version Control Software](https://en.wikipedia.org/wiki/Version_control) designed to deal with the problem of having multiple people modifying the same files at the same time. In other words, we need it. If we don't use it, the project would descend into chaos.
At this point, you have a very important decision to make. It is like the type of Pokémon you choose to start your adventure... You want [GIT with GUI](https://desktop.github.com/) or [CLI](https://gitforwindows.org/)? I will describe the starting steps for both now, so you can make your mind. (OSX and Linux come with GIT CLI installed!)
At a later stage you might also want to pick your own GUI, like [GitKraken](https://www.gitkraken.com/) or [SourceTree](https://www.sourcetreeapp.com/)
##### Downloading GIT and Dependencies
First of all, you need to download Git from this link https://git-scm.com/, this is also a great stage to install [GIT with GUI](https://desktop.github.com/) or your own GIT GUI.
**Optionally**
_With TrueCharts we use some custom tools to make sure you have the least amount of work possible when working on the project._
_However, this means you need some custom tools before you can start working on TrueCharts:_
- _Git (git client optional)_
- _Python (including Pip, added to path on windows)_
- _Pre-Commit (prefered)_
_When on Windows install Python3 with the installer available here: (https://www.python.org/downloads/), Be sure to check "Add to Path" during installation._
After that's finished installing, restart your computer then you can continue with setting up the project.
##### Cloning from your GitHub
**You are here**: <img src="https://i.imgur.com/jLPqKL9.png" alt="cloning" style="zoom: 80%;" />
After **Forking** from TrueCharts central repo (**upstream**), we need to **clone** from our fork so we get the files into your computer (**Local repo**).
| GitHub Desktop | Git Bash |
| :----------------------------------------------------------: | :----------------------------------------------------------: |
| ![desk1](https://i.imgur.com/a0LNXEG.png)<br /><img src="https://i.imgur.com/mVoz1Kp.pnghttps://i.imgur.com/QYUSgJQ.png" alt="desk2" style="zoom:80%;" /> | Navigate to the folder where you want to save the files<br />``git clone https://github.com/YourUser/YourRepo.git`` |
##### Adding the central repo as a remote
Are you done downloading? Awesome! Now your local repo is automagically soul-linked with your remote repo in GitHub (remember we call this **origin**). We're going to also link the central repo and name it **upstream**
| GitHub Desktop | Git Bash |
| :------------------------: | :----------------------------------------------------------: |
| This is automagically done | Navigate to the folder where your local repo is<br />``git remote add upstream https://github.com/truecharts/charts.git``<br />Now to make sure everything is in order, we do<br />``git remote -v``<br />and it should show both repos, yours in **origin** and central in **upstream** |
##### Setting up Pre-Commit
Pre-Commit makes sure to fix small warnings that might prevent us from merging your changes into our repo. For now it isn't really important why, how and what. But realise it does so in each step called "commit" in the future.
To setup Pre-Commit on windows, simply double click `.tools/pre-commit-install.bat`, on Linux you can install pre-commit by using `pip install pre-commit` and `pre-commit install` from the project top-most directory
### Opening the project and editing the project
By now you would have a complete copy of TrueCharts to play with.
Use your favorite editor to edit them and/or follow other guides to make the changes you want!
What follows in this guide is how to get your changes into the TrueCharts official catalog
### Final step in your setup!
After some playing around you might notice it created changes you don't want to keep. Said files **should not be committed** when you request your other changes to be integrated into the TrueCharts. Let's go and discard all of them...
| GitHub Desktop | Git Bash |
| :----------------------------------------------------------: | :----------------------------------------------------------: |
| Go to the **changes** tab. In my case, I have 2 changes<br />![changes](https://i.imgur.com/0Vpe3MA.png)<br /> Now right-click in the amount of changes and discard all![discard](https://i.imgur.com/dlXn3k0.png) | ``git status`` will show you all the unstaged changes you currently have.<br />``git checkout .`` and ``git clean -f`` to get rid of all of them. |
You will be doing this **a lot** so make sure to learn it!
Now that our **master** branch is completely clean we will create a new branch from it. Try to always have a **feature branch** you can play with and keep **master** pristine.
What's a branch? Well, let's say it is like having a multiverse in your folder. In **branch A** you have a file called "greeting.txt" and its content is "hello world", while in **branch B** you have the same file but now its content is "hello universe". You can see how this is useful for us, so we have a version of the game that is common to everyone and you have your own version with the feature you're adding. We can later **merge** both branches and GIT will try its best to do it smoothly.
So how do I create a new branch?
| GitHub Desktop | Git Bash |
| :----------------------------------------------------------: | :----------------------------------------------------------: |
| Click the current branch button<br />![create branch 1](https://i.imgur.com/RxIZcYG.png)<br />![create new branch 2]()<br />All that's missing is to publish the new branch so your remote in GitHub (**origin**) is up to date<br />![publish](https://i.imgur.com/1wCOCAB.png) | <br />``git branch mybranch``<br />Where "mybranch" is the name you chose for your branch (be more creative than this, please).<br />Then we do ``git checkout mybranch`` to change the current branch to **mybranch** instead of **master**<br />Finally we publish our new branch doing ``git push`` |
### Contribute to the central repo
#### Committing and pushing your changes
You are here: ![committing and pushin](https://i.imgur.com/co15IxT.png)
I strongly suggest you handle your changes in your IDE or GitHub Desktop. Remember to only commit those files you intended to change.
In the case of GitHub Desktop, all you got to do is to select the files you wish to commit and click the commit button
![committing changes](https://i.imgur.com/uih3SIN.png)
Now all that is missing is publishing your commits to your remote (**origin**)
| GitHub Desktop | Git Bash |
| :------------------------------------------------: | :-----------------: |
| ![push to origin](https://i.imgur.com/WYbI8zO.png) | ``git push origin`` |
#### Making a PR
A **P**ull **R**equest is the only way to get your changes into the central version of the game. You do a PR by **committing** your changes and **pushing them** to your remote repo (**origin**). Then, visit the [TrueCharts Repository in GitHub](https://github.com/truecharts/charts) and click this green button:
![make a pr button](https://i.imgur.com/yt2QJd4.png)
You will see a page where you can name your PR and fill a little form with the relevant information. Your PR will be tested and reviewed and once you answered all questions and processed all feedback, it will be accepted into TrueCharts!
#### Updating your repo
This is a chaotic project and stuff happens almost **every day** so it is very important that you keep your repo up-to-date, especially when mapping.
| GitHub Desktop | Git Bash |
| :------------------------------------------------: | :-----------------------------------------------------: |
| Click the current branch tab<br />![update 1](https://i.imgur.com/mo72LEm.png)<br />In the list find ``upstream/master``<br /><img src="https://i.imgur.com/7ifC4MQ.png" /> | ``git fetch --all``<br />``git merge upstream/master`` |
You did it, you completed the tutorial! Now go back to the first time I showed you the **Contribution cycle** picture and see how you understand it a little better now!
Here is a little resume of what we just saw:
**Set up**
1. Fork from the central repo (upstream)
2. Clone from your remote repo (origin) to your local
3. Create a feature branch
**Working**
0. Update your repo from the central (upstream)
1. Start working in your feature
2. Commit to your local repo
3. Push from your local to your remote (origin)
4. Make a PR
***
## Now what?
Well, feeling confused after messing around with the scenes and all? well, it's now time to actually learn to work on TrueCharts and TrueNAS SCALE Apps!
##### Reading other TrueCharts wikis
Take a look at [other wiki pages we have](https://wiki.truecharts.org)
##### Downloading a code editor
There is a lot you can accomplish through simple text editors like notepad and notepad++, but if you plan on contributing seriously to the code/scripts, you'll do better if you have a good coding environment set-up.
##### Getting help
There is no shame in asking questions.
Anyone would be glad to answer your questions, just ask!
##### License
This specific file is licensed under GNU AGPL v3
`SPDX-License-Identifier: AGPL-3.0-only`
-39
View File
@@ -1,39 +0,0 @@
# Setting up your dev environment
With TrueCharts we use some custom tools to make sure you have the least amount of work possible when working on the project.
However, this means you need some custom tools before you can start working on TrueCharts:
- Git (git client optional)
- Python (including Pip, added to path on windows)
- Pre-Commit (prefered)
## Windows
### Terminal basics:
When we talk about "In a terminal" we mean doing the following:
- hit windows+r
- enter "cmd"
### GIT
- Download and install GIT (https://git-scm.com/download/win)
- Most default options would be fine
In a terminal window or GUI client:
- Clone the repository in a specific directory of your choice (we will call this "Project-Root")
### Python
- Install Python3 with the installer (https://www.python.org/downloads/)
- Right click "Run as administrator"
- Check "Add to Path"
- Click the big install button
### Pre-Commit
Run .tools/pre-commit-install.bat
(Advanced users: This is for beginner users and will also execute "git config --unset-all core.hooksPath")
OR
In a terminal window:
- Enter "pip install pre-commit"
- CD to Project-Root
- Enter "pre-commit install"
+35
View File
@@ -0,0 +1,35 @@
# Storage
TrueCharts tries to stay in sync with the Official IX-Systems App Catalog when it comes to storage. Which is currently pretty much a "work in progres".
### Storage types
Storage is currently seperated into two types:
1. ix_volumes
2. hostPath
While, from a k8s point of view, both of these are technically hostPath volumes, for you, as a user, there is a significant difference.
##### ix_volumes
ix_volumes, are the default storage option for every TrueCharts App. They always get created and used unless "hostPath" is checked.
ix_volumes are fully managed by TrueNAS SCALE, they get created and destroyed on demand when creating, updating or editing an App.
But, most importantly, they can be reverted if an upgrade goes wrong. Which makes them an great to use for storing config files.
They are, normally, stored in the following directory:
`/mnt/poolname/ix-applications/releases/releasename/volumes/ix_volumes/`
##### hostPath
Hostpath is quite simple: It mounts a directory from your TrueNAS SCALE system, directly to a directory inside the App you're installing.
There is, in contrast to the ix_volumes, no "special magic sauce" when adding hostPath storage.
### Permissions
Permission settings are rather important and are often something that causes issues for users.
For that reason TrueCharts introduced a feature to automatically set permissions individually for each of your storage options.
Setting permissions automatically means we `chown` the folder and all folder within it, to a user and group of your choice.
However, we only do so when installing or updating an app.
These permission get based on the user and group you enter in the App configuration dialog and default to `568` (the SCALE default Apps user).
+28
View File
@@ -0,0 +1,28 @@
# Maintainers Wanted
While a lot of containers are based on the common chart, we at TrueCharts still prefer to have at least one dedicated actual maintainer for every chart. Preferably someone who actually uses said App.
#### Are you the one we are looking for?
If you have experience working on SCALE Apps, TrueCharts and/or Helm Charts and are interested in maintaing one of the Apps below please contact us by [email](mailto://info@truecharts.org)
_Please note: We always prefer maintainers that have worked on one of our Apps before and, if thats not the case, people with verifyable experience with SCALE Apps and/or Helm Charts_
### Current Apps without maintainers
- Calibre-web
- deluge
- freshrss
- gaps
- grocy
- heimdall
- lychee
- navidrome
- node-red
- nzb-get
- nzbhydra
- organizr
- qbittorrent
- readarr
- sabnzbd
- truecommand
- tvheadend
+5 -6
View File
@@ -44,15 +44,12 @@ jobs:
- name: Create general wiki
run: |
cd master
for doc in .github/docs/*; do
if [ -d "${doc}" ]; then
docname=$(basename ${doc})
cp -Rf ${doc} ../wiki/content/
fi
done
cp -Rf .github/docs/* ../wiki/content/
cp .github/README.md ../wiki/content/index.md || echo "readme copy failed, continuing..."
cp .github/CODE_OF_CONDUCT ../wiki/content/code_of_conduct.md || echo "CODE_OF_CONDUCT copy failed, continuing..."
cp .github/CONTRIBUTING ../wiki/content/development/contributing.md || echo "CONTRIBUTING copy failed, continuing..."
cp .github/LICENSE ../wiki/content/development/LICENSE.md || echo "license copy failed, continuing..."
sed -i '1s/^/#License\n/' ../wiki/content/LICENSE.md
ls ../wiki/content/
cd ..
@@ -70,6 +67,8 @@ jobs:
cp -f ${chart}/${maxfolderversion}/docs/* ../wiki/content/apps/${chartname}/
fi
cp ${chart}/${maxfolderversion}/README.md ../wiki/content/apps/${chartname}/index.md || echo "readme copy failed, continuing..."
cp ${chart}/${maxfolderversion}/LICENSE ../wiki/content/apps/${chartname}/LICENSE.md || echo "license copy failed, continuing..."
sed -i '1s/^/#License\n/' ../wiki/content/apps/${chartname}/LICENSE.md
fi
done
ls ../wiki/content/apps/
+4 -9
View File
@@ -28,18 +28,13 @@ for chart in charts/*; do
maxchartversion=$(cat ${chart}/${maxfolderversion}/Chart.yaml | grep "^version: " | awk -F" " '{ print $2 }')
chartname=$(basename ${chart})
mkdir -p ${chart}/${maxfolderversion}/docs || true
echo "-] Copying templates to ${chart}/${maxfolderversion}"
# Copy README template into each Chart directory, remove current if existing
rm -f "${chart}/${maxfolderversion}/README.md.gotmpl" || true
cp -f "${readme_template}" "${chart}/${maxfolderversion}/README.md.gotmpl" || true
# Copy README template into each Chart directory, remove current if existing
rm -f "${chart}/${maxfolderversion}/app-readme.md.gotmpl" || true
cp -f "${app_readme_template}" "${chart}/${maxfolderversion}/app-readme.md.gotmpl" || true
echo "-] Copying templates to ${repository}/${chart}/${maxfolderversion}"
# Copy CONFIG template to each Chart directory, do not overwrite if exists
cp -n "${config_template}" "${chart}/${maxfolderversion}/docs/CONFIG.md.gotmpl" || true
helm-docs \
--ignore-file="${repository}/.helmdocsignore" \
--template-files="${chart}/${maxfolderversion}/README.md.gotmpl" \
--output-file="README.md" \
--template-files="${repository}/.tools/templates/chart/README.md.gotmpl" \
--chart-search-root="${chart}/${maxfolderversion}"
helm-docs \
--ignore-file="${repository}/.helmdocsignore" \
@@ -49,7 +44,7 @@ for chart in charts/*; do
helm-docs \
--ignore-file="${repository}/.helmdocsignore" \
--output-file="app-readme.md" \
--template-files="${chart}/${maxfolderversion}/app-readme.md.gotmpl" \
--template-files="${repository}/.tools/templates/chart/app-readme.md.gotmpl" \
--chart-search-root="${chart}/${maxfolderversion}"
+22 -14
View File
@@ -1,20 +1,28 @@
apiVersion: v2
appVersion: 1.0.0
description: ${CHARTNAME} helm package
kubeVersion: ">=1.16.0-0"
name: ${CHARTNAME}
version: 1.0.0
kubeVersion: ">=1.16.0-0"
upstream_version: 1.1.0
appVersion: 1.0.0
description: ${CHARTNAME} App for TrueNAS SCALE
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/${CHARTNAME}
icon: https://raw.githubusercontent.com/truecharts/charts/master/charts/${CHARTNAME}/icon.png?raw=true
keywords:
- ${CHARTNAME}
home: https://github.com/k8s-at-home/charts/tree/master/charts/${CHARTNAME}
icon: https://${CHARTNAME}.org/icon
- ${CHARTNAME}
sources:
- https://github.com/${CHARTNAME}/${CHARTNAME}-docker
- https://github.com/k8s-at-home/charts/tree/master/charts/${CHARTNAME}
maintainers:
- name: ${CHARTNAME}
email: ${CHARTNAME}@${CHARTNAME}.com
- https://github.com/truecharts/charts/tree/master/charts/${CHARTNAME}
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 3.0.1
- name: common
repository: https://charts.truecharts.com/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
# annotations:
-95
View File
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
-5
View File
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
@@ -1,9 +1,14 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: bazarr
version: 1.3.2
upstream_version: 5.2.1
appVersion: v0.9.0.5
description: Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements
name: bazarr
version: 1.3.1
upstream_version: 5.2.1
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/bazarr
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png
keywords:
- bazarr
- radarr
@@ -11,14 +16,24 @@ keywords:
- subtitles
- usenet
- torrent
home: https://github.com/truecharts/charts/tree/dev/charts/bazarr
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png
sources:
- https://github.com/truecharts/charts/tree/master/charts/bazarr
- https://github.com/k8s-at-home/charts/tree/master/charts/bazarr
- https://github.com/Bazarr/Bazarr
- https://hub.docker.com/r/linuxserver/bazarr
maintainers:
- name: TrueCharts
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
- name: Kjeld Schouten-Lebbing
email: kjeld@schouten-lebbing.nl
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
portals:
web_portal:
protocols:
@@ -343,13 +343,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
label: "Web Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false
-95
View File
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
@@ -1,20 +1,33 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: calibre-web
version: 1.3.2
upstream_version: 4.3.1
appVersion: 0.6.9
description: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
name: calibre-web
version: 1.3.1
upstream_version: 4.3.1
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/calibre-web
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png
keywords:
- calibre-web
- calibre
- ebook
home: https://github.com/truecharts/truecharts/tree/master/charts/calibre-web
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png
sources:
- https://github.com/truecharts/charts/tree/master/charts/calibre-web
- https://github.com/k8s-at-home/charts/tree/master/charts/calibre-web
- https://hub.docker.com/r/linuxserver/calibre-web/
- https://github.com/janeczku/calibre-web
maintainers:
- name: TrueCharts
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
portals:
web_portal:
protocols:
@@ -286,13 +286,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
label: "Web Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false
-18
View File
@@ -1,18 +0,0 @@
apiVersion: v2
name: collabora-online
version: 1.3.1
appVersion: 6.4.6.1
description: Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.
keywords:
- collabora
- collaboration
- documents
home: https://www.collaboraoffice.com/
icon: https://avatars.githubusercontent.com/u/22418908?s=200&v=4
sources:
- https://hub.docker.com/r/collabora/code
- https://www.collaboraoffice.com/code/docker/
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
+34
View File
@@ -0,0 +1,34 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: collabora-online
version: 1.3.2
# upstream_version:
appVersion: 6.4.6.1
description: Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/collabora-online
icon: https://avatars.githubusercontent.com/u/22418908?s=200&v=4
keywords:
- collabora-online
sources:
- https://github.com/truecharts/charts/tree/master/charts/collabora-online
- https://github.com/k8s-at-home/charts/tree/master/charts/collabora-online
- https://hub.docker.com/r/collabora/code
- https://www.collaboraoffice.com/code/docker/
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
- name: Stavros Kois
email: stavros-k@users.noreply.github.com
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Environment Variables"
description: "Environment Variables Configuration"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
- name: "Storage"
description: "configure app volume mounts"
@@ -192,7 +192,7 @@ questions:
type: string
default: 'collabora\.domain\.tld'
# Ingress
# Reverse Proxy
- variable: appIngress
label: ""
group: "Ingress"
@@ -200,13 +200,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
group: "Ingress"
label: "Web Reverse Proxy Configuration"
group: "Reverse Proxy"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false
-95
View File
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
-5
View File
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
@@ -1,20 +1,31 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: deluge
version: 1.3.2
upstream_version: 1.1.1
appVersion: v2.0.3-2201906121747
description: Deluge is a torrent download client
name: deluge
version: 1.3.1
upstream_version: 1.1.1
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/deluge
icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200
keywords:
- deluge
- torrent
home: https://github.com/truecharts/truecharts/tree/master/charts/deluge
icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200
sources:
- https://github.com/truecharts/charts/tree/master/charts/deluge
- https://github.com/k8s-at-home/charts/tree/master/charts/deluge
- https://hub.docker.com/r/linuxserver/deluge/
- https://deluge-torrent.org/
maintainers:
- name: TrueCharts
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
portals:
web_portal:
@@ -415,13 +415,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
label: "Web Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false
@@ -506,20 +506,20 @@ questions:
type: string
default: ""
- variable: tcp
label: "TCP Ingress Configuration"
label: "TCP Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable TCP Ingress"
label: "Enable TCP Reverse Proxy"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
label: "Select Ingress Type"
label: "Select Reverse Proxy Type"
schema:
type: string
default: "TCP"
@@ -547,20 +547,20 @@ questions:
- value: ""
description: "No Encryption/TLS/Certificates"
- variable: udp
label: "UDP Ingress Configuration"
label: "UDP Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable UDP Ingress"
label: "Enable UDP Reverse Proxy"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
label: "Select Ingress Type"
label: "Select Reverse Proxy Type"
schema:
type: string
default: "UDP"
-95
View File
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
@@ -1,26 +1,34 @@
apiVersion: v2
appVersion: 1.15.3
version: 1.3.1
upstream_version: 4.3.1
kubeVersion: ">=1.16.0-0"
name: esphome
version: 1.3.2
upstream_version: 4.3.1
appVersion: 1.15.3
description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
home: https://github.com/truecharts/charts/tree/dev/charts/esphome
icon: https://esphome.io/_images/logo.svg
type: application
maintainers:
- name: TrueCharts
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/esphome
icon: https://esphome.io/_images/logo.svg
keywords:
- esphome
sources:
- https://github.com/truecharts/charts/tree/master/charts/esphome
- https://github.com/k8s-at-home/charts/tree/master/charts/esphome
- https://github.com/esphome/esphome
- https://hub.docker.com/u/esphome
- https://github.com/k8s-at-home/charts/tree/master/charts/esphome
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
- name: Troy Prelog
email: 35702532+tprelog@users.noreply.github.com
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
portals:
web_portal:
@@ -236,13 +236,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
label: "Web Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false
-95
View File
@@ -1,95 +0,0 @@
{{- define "custom.introheader" -}}
# Introduction
{{- end -}}
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
- Open TrueNAS SCALE
- Go to Apps
- Click "Install" for this specific Apps
- Fill out the configuration form
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
- Open TrueNAS SCALE
- Go to Apps
- Go to "Installed Apps"
- Expand the menu in the top-right corner of this App
- Click "Remove" for this specific Apps
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Wiki](https://wiki.truecharts.org)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
- Ask a [question](https://github.com/truecharts/charts/discussions)
{{- end -}}
{{ template "custom.introheader" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
@@ -1,5 +0,0 @@
{{- define "custom.notes" -}}
{{- end -}}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
@@ -1,20 +1,32 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: freshrss
version: 1.3.2
upstream_version: 2.3.1
appVersion: 1.17.0
description: FreshRSS is a self-hosted RSS feed aggregator
name: freshrss
version: 1.3.1
upstream_version: 2.3.1
type: application
deprecated: false
home: https://github.com/truecharts/charts/tree/master/charts/freshrss
icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true
keywords:
- freshrss
- rss
home: https://github.com/truecharts/truecharts/tree/master/charts/freshrss
icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true
sources:
- https://github.com/truecharts/charts/tree/master/charts/freshrss
- https://github.com/k8s-at-home/charts/tree/master/charts/freshrss
- https://github.com/FreshRSS/FreshRSS
- https://hub.docker.com/r/linuxserver/freshrss
maintainers:
- name: TrueCharts
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.3.0
# condition:
# tags:
# import-values:
# alias:
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: truecharts.org
# annotations:
@@ -8,7 +8,7 @@ groups:
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
description: "Reverse Proxy configuration"
portals:
web_portal:
protocols:
@@ -230,13 +230,13 @@ questions:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
label: "Web Reverse Proxy Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
label: "Enable Web Reverse Proxy"
schema:
type: boolean
default: false

Some files were not shown because too many files have changed in this diff Show More