Skip to content

Commit

Permalink
Merge pull request #229 from johanneskastl/20241025_add_sharry
Browse files Browse the repository at this point in the history
20241025 add sharry
  • Loading branch information
johanneskastl authored Oct 26, 2024
2 parents 1da90f1 + 53ee300 commit 9891e83
Show file tree
Hide file tree
Showing 10 changed files with 294 additions and 0 deletions.
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: git@johannes-kastl.de
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
}
}
}
}

0 comments on commit 9891e83

Please sign in to comment.