Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

20241025 add sharry #229

Merged
merged 11 commits into from
Oct 26, 2024
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Collection of helm charts I used in my personal clusters.
- [hedgedoc](./charts/hedgedoc/README.md)
- [heimdall](./charts/heimdall/README.md)
- [jellyfin](./charts/jellyfin/README.md)
- [kanboard](./charts/kanboard/README.md)
- [sharry](./charts/sharry/README.md)
- [syncthing](./charts/syncthing/README.md)
- [tailscale](./charts/tailscale/README.md)
- [uptime-kuma](./charts/uptime-kuma/README.md)
Expand Down
26 changes: 26 additions & 0 deletions charts/sharry/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 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
24 changes: 24 additions & 0 deletions charts/sharry/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
apiVersion: v2
appVersion: 1.8.0
description: Sharry allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is to upload files and get a url back that can then be shared.
name: sharry
version: 6.0.0
keywords:
- file sharing
home: https://github.com/johanneskastl/charts/tree/main/charts/sharry
icon: https://github.com/eikek/sharry/blob/master/artwork/logo.svg?raw=true
sources:
- https://github.com/eikek/sharry
- https://hub.docker.com/r/eikek0/sharry
maintainers:
- name: johanneskastl
email: [email protected]
dependencies:
- name: common
repository: https://johanneskastl.github.io/helm-charts/
version: 5.0.5
annotations:
artifacthub.io/changes: |-
- kind: changed
description: Forked the chart from k8s@home
110 changes: 110 additions & 0 deletions charts/sharry/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# sharry

![Version: 6.0.0](https://img.shields.io/badge/Version-6.0.0-informational?style=flat-square) ![AppVersion: 1.8.0](https://img.shields.io/badge/AppVersion-1.8.0-informational?style=flat-square)

Sharry allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is to upload files and get a url back that can then be shared.

Forked from the chart in the [k8s-at-home repository](https://github.com/k8s-at-home/charts) at version 5.4.2.

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

## Source Code

* <https://github.com/eikek/sharry>
* <https://hub.docker.com/r/eikek0/sharry>

## Requirements

## Dependencies

| Repository | Name | Version |
|------------|------|---------|
| https://johanneskastl.github.io/helm-charts/ | common | 5.0.5 |

## TL;DR

```console
helm repo add johanneskastl-helm-charts https://johanneskastl.github.io/helm-charts/
helm repo update
helm install sharry johanneskastl-helm-charts/sharry
```

## Installing the Chart

To install the chart with the release name `sharry`

```console
helm install sharry johanneskastl-helm-charts/sharry
```

## Uninstalling the Chart

To uninstall the `sharry` deployment

```console
helm uninstall sharry
```

The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.

## Configuration

Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/johanneskastl/helm-charts/tree/main/charts/common/values.yaml) from the [common library](https://github.com/johanneskastl/helm-charts/tree/main/charts/common).

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

```console
helm install sharry \
--set env.TZ="America/New York" \
johanneskastl-helm-charts/sharry
```

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.

```console
helm install sharry johanneskastl-helm-charts/sharry -f values.yaml
```

## Custom configuration

N/A

## Values

**Important**: When deploying an application Helm chart you can add more values from the common library chart [here](https://github.com/johanneskastl/helm-charts/tree/main/charts/common)

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| args | list | `["/opt/sharry.conf"]` | Override the command line arguments for the default container |
| config | string | See values.yaml | Sharry configuration. Supports Helm templates. See [application docs](https://eikek.github.io/sharry/doc/configure) for more details. |
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"eikek0/sharry"` | image repository |
| image.tag | string | chart.appVersion | image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| service | object | See values.yaml | Configures service settings for the chart. |

## Changelog

All notable changes to this Helm chart will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### Version 6.0.0

#### Added

N/A

#### Changed

* Forked the chart from k8s-at-home (at version 5.4.2)

#### Fixed

N/A

## Support

Open an [issue](https://github.com/johanneskastl/helm-charts/issues/).
27 changes: 27 additions & 0 deletions charts/sharry/README_CHANGELOG.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}

{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}

All notable changes to this Helm chart will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### Version 6.0.0

#### Added

N/A

#### Changed

* Forked the chart from k8s-at-home (at version 5.4.2)

#### Fixed

N/A

{{- end -}}
15 changes: 15 additions & 0 deletions charts/sharry/README_CONFIG.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{- define "custom.notes" -}}
Forked from the chart in the [k8s-at-home repository](https://github.com/k8s-at-home/charts) at version 5.4.2.

**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/johanneskastl/helm-charts/issues/)**
{{- end -}}

{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}

{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}

N/A
{{- end -}}
1 change: 1 addition & 0 deletions charts/sharry/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}
19 changes: 19 additions & 0 deletions charts/sharry/templates/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}

{{/* Append the hardcoded settings */}}
{{- define "sharry.harcodedValues" -}}
persistence:
sharry-config:
enabled: "true"
mountPath: "/opt/sharry.conf"
subPath: sharry.conf
type: "custom"
volumeSpec:
configMap:
name: {{ printf "%v-config" (include "common.names.fullname" .) }}
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "sharry.harcodedValues" . | fromYaml) -}}

{{/* Render the templates */}}
{{ include "common.all" . }}
11 changes: 11 additions & 0 deletions charts/sharry/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{{- include "common.values.setup" . -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}-config
labels:
{{- include "common.labels" . | nindent 4 }}
data:
sharry.conf: |
{{- tpl .Values.config $| nindent 4 }}
59 changes: 59 additions & 0 deletions charts/sharry/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#
## IMPORTANT NOTE
##
# This chart inherits from the common library chart. You can check the default values/options here:
# https://github.com/johanneskastl/helm-charts/tree/main/charts/common/values.yaml
##
image:
# -- image repository
repository: eikek0/sharry
# -- image pull policy
pullPolicy: IfNotPresent
# -- image tag
# @default -- chart.appVersion
tag:

# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 9090

# -- Override the command line arguments for the default container
args:
- "/opt/sharry.conf"

ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Enable large file support with those annotations for nginx
# annotations:
# nginx.ingress.kubernetes.io/client-body-buffer-size: "2048m"
# nginx.ingress.kubernetes.io/proxy-body-size: "2048m"
# nginx.ingress.kubernetes.io/proxy-buffering: "off"

# -- Sharry configuration. Supports Helm templates.
# See [application docs](https://eikek.github.io/sharry/doc/configure) for more details.
# @default -- See values.yaml
config: |
sharry.restserver {
# base-url = "https://sharry.${DOMAIN}"
bind {
address = "0.0.0.0"
port = {{ .Values.service.main.ports.http.port }}
}
backend {
auth {
fixed {
enabled = false # set to true to enable this auth provider
user = "admin"
password = "admin"
order = 10
}
}
}
}
Loading