From 3da9e86f01f2694d97508d855d25a3a66f79212e Mon Sep 17 00:00:00 2001 From: GridexX Date: Thu, 21 Sep 2023 17:26:58 +0300 Subject: [PATCH 1/8] docs: write README with awesome template Signed-off-by: GridexX --- CONTRIBUTING.md | 2 + README.md | 108 ++++++++++++++++++++++++++++++++++++++++++++---- assets/logo.png | Bin 0 -> 18248 bytes 3 files changed, 103 insertions(+), 7 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 assets/logo.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..21775f0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,2 @@ +Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. +If you want to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome. \ No newline at end of file diff --git a/README.md b/README.md index 3e173c5..09c01ff 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,118 @@ -# CryptPad Helm Chart +
-This is the [CryptPad](https://cryptpad.org) [Helm Chart](https://helm.sh/) for easy deployment on Kubernetes. + logo +

CryptPad Helm Chart

+ +

+ This is the [CryptPad](https://cryptpad.org) [Helm Chart](https://helm.sh/) for easy deployment on Kubernetes. +

+ + + +

+ + contributors + + + last update + + + forks + + + stars + + + open issues + + + license + +

+ +

+ Documentation + · + Report Bug + · + Request Feature +

+
-## Requirements +
-* Kubernetes 1.23+ + +# :notebook_with_decorative_cover: Table of Contents -## Usage +- [:notebook\_with\_decorative\_cover: Table of Contents](#notebook_with_decorative_cover-table-of-contents) + - [:star2: About the Project](#star2-about-the-project) + - [:toolbox: Getting Started](#toolbox-getting-started) + - [:bangbang: Prerequisites](#bangbang-prerequisites) + - [:keyboard: Usage](#keyboard-usage) + - [:test\_tube: Running Tests](#test_tube-running-tests) + - [:wave: Contributing](#wave-contributing) + - [:warning: License](#warning-license) + - [:handshake: Authors](#handshake-authors) + + +## :star2: About the Project + +Aster is designed to efficiently collect metrics from a REST API, transform them into chargeable data, expose the API and SDKs, create invoices and bills, and generate alerts based on specified rules. + + +## :toolbox: Getting Started + + +### :bangbang: Prerequisites + +This project requires [Kubernetes 1.23+](https://kubernetes.io/) and [Helm](https://helm.sh/docs/intro/install/) installed on your system + +### :keyboard: Usage + +Check [values.yaml](charts/cryptpad/values.yaml) for custom values/settings. + +Install the Helm Chart using: ```bash helm repo add cryptpad-github https://cryptpad.github.io/helm helm install cryptpad cryptpad-github/cryptpad ``` -Check [values.yaml](charts/cryptpad/values.yaml) for custom values/settings. + +### :test_tube: Running Tests + +To run tests, run the following command + +```bash + for FILE in charts/*; do + helm unittest $FILE + done +``` + + +## :wave: Contributing + + + + + -# License +Contributions are always welcome! + +See `CONTRIBUTING.md` for ways to get started. + + +## :warning: License ![AGPL logo](https://www.gnu.org/graphics/agplv3-155x51.png "GNU Affero General Public License") This software is and will always be available under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + + +## :handshake: Authors + +This project was maintained by [Guilherme Sautner](https://www.xwiki.org/xwiki/bin/view/XWiki/sautner) + +Project Link: [https://github.com/cryptpad/helm](https://github.com/cryptpad/helm) diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5fac2c854c85b63b58f9f7bbadc21906822b84 GIT binary patch literal 18248 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

;HF_9(>wQU(-tg@#TIWDlIb4Vo@d>Jx%G5>7Q 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 JPDHLkV1neyi-Z6G literal 0 HcmV?d00001 From 60be18342d3e6305870c975132a5aaace9cecf8b Mon Sep 17 00:00:00 2001 From: GridexX Date: Fri, 22 Sep 2023 10:22:17 +0300 Subject: [PATCH 2/8] ci: add helm docs action Signed-off-by: GridexX --- .github/workflows/docs.yml | 25 ++++++++++ README.md | 2 +- charts/cryptpad/Chart.yaml | 2 +- charts/cryptpad/README.md | 97 +++++++++++++++++++++++++++++++++++++ charts/cryptpad/values.yaml | 46 +++++++++++++++--- 5 files changed, 162 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 charts/cryptpad/README.md diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..6a8e1e8 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,25 @@ +name: Generate Helm documentation + +on: + push: + paths: + - '.github/**' + - 'charts/**' + +permissions: + contents: write + +jobs: + update-chart-metadata: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: gabe565/setup-helm-docs-action@v1 + - run: helm-docs + - name: Commit documentation + run: | + git config --global user.name 'GridexX' + git config --global user.email 'gridexx@users.noreply.github.com' + git add . + git commit -sm "docs: generate chart documentation" + git push \ No newline at end of file diff --git a/README.md b/README.md index 09c01ff..fb83d0b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

CryptPad Helm Chart

- This is the [CryptPad](https://cryptpad.org) [Helm Chart](https://helm.sh/) for easy deployment on Kubernetes. + This is the Cryptpad Helm Chart for easy deployment on Kubernetes.

diff --git a/charts/cryptpad/Chart.yaml b/charts/cryptpad/Chart.yaml index d3b48b2..17a78f7 100644 --- a/charts/cryptpad/Chart.yaml +++ b/charts/cryptpad/Chart.yaml @@ -21,7 +21,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.8 +version: 0.0.9 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/charts/cryptpad/README.md b/charts/cryptpad/README.md new file mode 100644 index 0000000..1c145b2 --- /dev/null +++ b/charts/cryptpad/README.md @@ -0,0 +1,97 @@ +# cryptpad + +![Version: 0.0.8](https://img.shields.io/badge/Version-0.0.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) + +CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Guilherme Sautner | | | +| Arsène Fougerouse | | | + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | common | 2.9.1 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| affinity | object | `{}` | Values for the Affinity | +| apiDomain | string | `""` | CryptPad API subdomain FQDN | +| application_config | string | `nil` | Configuration of the [application](https://docs.cryptpad.org/en/admin_guide/customization.html#application-config) | +| autoscaling.enabled | bool | `false` | Enable the Autoscaling | +| autoscaling.maxReplicas | int | `100` | Maximum numbers of replicas | +| autoscaling.minReplicas | int | `1` | Minimal numbers of replicas | +| autoscaling.targetCPUUtilizationPercentage | int | `80` | Percentage of the targeted CPU Utilization | +| autoscaling.targetMemoryUtilizationPercentage | int | `80` | Percentage of the targeted Memory Utilization | +| config | object | `{"adminKeys":[],"archivePath":"./data/archive","blobPath":"./blob","blobStagingPath":"./data/blobstage","blockPath":"./block","decreePath":"./data/decrees","filePath":"./datastore/","httpAddress":"0.0.0.0","installMethod":"helm-docker","logFeedback":false,"logLevel":"info","logPath":"./data/logs","logToStdout":false,"pinPath":"./data/pins","taskPath":"./data/tasks","verbose":false}` | [Configuration of Cryptpad](https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config) | +| cpadConfig | string | `"/cryptpad/config/config.js"` | File to mount for the CPAD Configuration (`CPAD_CONF`) | +| filesDomain | string | `""` | CryptPad files subdomain FQDN | +| fullnameOverride | string | `""` | | +| http2Disable | string | `""` | Disable HTTP2 | +| image | object | `{"pullPolicy":"IfNotPresent","repository":"cryptpad/cryptpad","tag":"version-5.4.0"}` | Parameters for the Cryptpad image used | +| imagePullSecrets | list | `[]` | | +| ingress | object | `{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"localhost","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]}` | Values for the ingress | +| ingress.enabled | bool | `false` | Enable the ingress | +| nameOverride | string | `""` | | +| nodeSelector | object | `{}` | Values for the Node Selector | +| persistence.cryptpad.blob.accessModes[0] | string | `"ReadWriteOnce"` | | +| persistence.cryptpad.blob.annotations | object | `{}` | | +| persistence.cryptpad.blob.dataSource | object | `{}` | | +| persistence.cryptpad.blob.existingClaim | string | `""` | | +| persistence.cryptpad.blob.labels | object | `{}` | | +| persistence.cryptpad.blob.selector | object | `{}` | | +| persistence.cryptpad.blob.size | string | `"100Mi"` | | +| persistence.cryptpad.blob.storageClass | string | `""` | | +| persistence.cryptpad.block.accessModes[0] | string | `"ReadWriteOnce"` | | +| persistence.cryptpad.block.annotations | object | `{}` | | +| persistence.cryptpad.block.dataSource | object | `{}` | | +| persistence.cryptpad.block.existingClaim | string | `""` | | +| persistence.cryptpad.block.labels | object | `{}` | | +| persistence.cryptpad.block.selector | object | `{}` | | +| persistence.cryptpad.block.size | string | `"100Mi"` | | +| persistence.cryptpad.block.storageClass | string | `""` | | +| persistence.cryptpad.data.accessModes[0] | string | `"ReadWriteOnce"` | | +| persistence.cryptpad.data.annotations | object | `{}` | | +| persistence.cryptpad.data.dataSource | object | `{}` | | +| persistence.cryptpad.data.existingClaim | string | `""` | | +| persistence.cryptpad.data.labels | object | `{}` | | +| persistence.cryptpad.data.selector | object | `{}` | | +| persistence.cryptpad.data.size | string | `"100Mi"` | | +| persistence.cryptpad.data.storageClass | string | `""` | | +| persistence.cryptpad.datastore.accessModes[0] | string | `"ReadWriteOnce"` | | +| persistence.cryptpad.datastore.annotations | object | `{}` | | +| persistence.cryptpad.datastore.dataSource | object | `{}` | | +| persistence.cryptpad.datastore.existingClaim | string | `""` | | +| persistence.cryptpad.datastore.labels | object | `{}` | | +| persistence.cryptpad.datastore.selector | object | `{}` | | +| persistence.cryptpad.datastore.size | string | `"100Mi"` | | +| persistence.cryptpad.datastore.storageClass | string | `""` | | +| persistence.enabled | bool | `true` | Enable the persistence | +| podAnnotations | object | `{}` | Annotations for the Pod | +| podSecurityContext | object | `{"fsGroup":4001}` | Security context for the Pod | +| realIpHeader | string | `""` | Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) | +| realIpRecursive | string | `""` | Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) | +| replicaCount | int | `1` | Number of replicas | +| resources | object | `{}` | Specify default resources We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. | +| securityContext | object | `{}` | Security context | +| service | object | `{"externalIPs":[],"externalPort":80,"internalPort":"http","name":"http","portName":"node","sessionAffinity":"ClientIP","type":"ClusterIP"}` | Values for the service | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | +| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | +| tlsCert | string | `""` | Path to TLS certificate file | +| tlsDhParam | string | `""` | Path to Diffie-Hellman parameters file | +| tlsKey | string | `""` | Path to TLS private key file | +| tolerations | list | `[]` | Values for the Tolerations | +| trustedProxy | string | `""` | Trusted proxy address or CIDR | +| workloadStateful | bool | `true` | Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2) diff --git a/charts/cryptpad/values.yaml b/charts/cryptpad/values.yaml index ad204b5..e8917ff 100644 --- a/charts/cryptpad/values.yaml +++ b/charts/cryptpad/values.yaml @@ -2,11 +2,13 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- Number of replicas replicaCount: 1 -# Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment +# -- Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment workloadStateful: true +# -- Parameters for the Cryptpad image used image: pullPolicy: IfNotPresent repository: cryptpad/cryptpad @@ -14,7 +16,7 @@ image: # repository: git.xwikisas.com:5050/xwiki-cloud-infrastructure/docker-images/cryptpad # tag: "latest" -# https://docs.cryptpad.org/en/admin_guide/customization.html#application-config +# -- Configuration of the [application](https://docs.cryptpad.org/en/admin_guide/customization.html#application-config) application_config: # Check all the configurable values: https://github.com/xwiki-labs/cryptpad/blob/main/www/common/application_config_internal.js # availableLanguages: [ 'en', 'fr', 'de' ] @@ -26,9 +28,11 @@ application_config: # "de": 'https://example.com/privacy.de.html', // you get the idea? # } +# -- File to mount for the CPAD Configuration (`CPAD_CONF`) cpadConfig: "/cryptpad/config/config.js" # https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config +# -- [Configuration of Cryptpad](https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config) config: ######################### # NETWORK CONFIGURATION # @@ -68,14 +72,23 @@ config: # Check values on https://github.com/xwiki-labs/cryptpad-docker#environment-variables # For CPAD_MAIN_DOMAIN and CPAD_SANDBOX_DOMAIN values httpUnsafeOrigin and httpSafeOrigin will be used. +# -- CryptPad API subdomain FQDN apiDomain: "" +# -- CryptPad files subdomain FQDN filesDomain: "" +# -- Trusted proxy address or CIDR trustedProxy: "" +# -- Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) realIpHeader: "" +# -- Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) realIpRecursive: "" +# -- Path to TLS certificate file tlsCert: "" +# -- Path to TLS private key file tlsKey: "" +# -- Path to Diffie-Hellman parameters file tlsDhParam: "" +# -- Disable HTTP2 http2Disable: "" imagePullSecrets: [] @@ -83,19 +96,22 @@ nameOverride: "" fullnameOverride: "" serviceAccount: - # Specifies whether a service account should be created + # -- Specifies whether a service account should be created create: true - # Annotations to add to the service account + # -- Annotations to add to the service account annotations: {} - # The name of the service account to use. + # -- The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" +# -- Annotations for the Pod podAnnotations: {} +# -- Security context for the Pod podSecurityContext: fsGroup: 4001 +# -- Security context securityContext: {} # capabilities: # drop: @@ -104,6 +120,7 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 +# -- Values for the service service: portName: node name: http @@ -117,7 +134,9 @@ service: # Reference: https://kubernetes.io/docs/reference/networking/virtual-ips/#session-affinity sessionAffinity: ClientIP +# -- Values for the ingress ingress: + # -- Enable the ingress enabled: false className: "" annotations: {} @@ -131,10 +150,12 @@ ingress: tls: [] # - secretName: secret-tls +# -- Specify default resources. +# We usually recommend not to specify default resources and to leave this as a conscious +# choice for the user. This also increases chances charts run on environments with little +# resources, such as Minikube. resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following + # If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m @@ -144,19 +165,28 @@ resources: {} # memory: 128Mi autoscaling: + # -- Enable the Autoscaling enabled: false + # -- Minimal numbers of replicas minReplicas: 1 + # -- Maximum numbers of replicas maxReplicas: 100 + # -- Percentage of the targeted CPU Utilization targetCPUUtilizationPercentage: 80 + # -- Percentage of the targeted Memory Utilization targetMemoryUtilizationPercentage: 80 +# -- Values for the Node Selector nodeSelector: {} +# -- Values for the Tolerations tolerations: [] +# -- Values for the Affinity affinity: {} persistence: + # -- Enable the persistence enabled: true cryptpad: blob: From c3c22ff7a59f78f1a94ded34dca7bae361a134cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ars=C3=A8ne=20Fougerouse?= Date: Fri, 22 Sep 2023 08:23:44 +0000 Subject: [PATCH 3/8] docs: generate chart documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Arsène Fougerouse --- .github/workflows/docs.yml | 2 ++ charts/cryptpad/README.md | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6a8e1e8..651492f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,6 +2,8 @@ name: Generate Helm documentation on: push: + branches: + - main paths: - '.github/**' - 'charts/**' diff --git a/charts/cryptpad/README.md b/charts/cryptpad/README.md index 1c145b2..f53a539 100644 --- a/charts/cryptpad/README.md +++ b/charts/cryptpad/README.md @@ -1,6 +1,6 @@ # cryptpad -![Version: 0.0.8](https://img.shields.io/badge/Version-0.0.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +![Version: 0.0.9](https://img.shields.io/badge/Version-0.0.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. @@ -80,7 +80,7 @@ CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. | realIpHeader | string | `""` | Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) | | realIpRecursive | string | `""` | Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) | | replicaCount | int | `1` | Number of replicas | -| resources | object | `{}` | Specify default resources We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. | +| resources | object | `{}` | Specify default resources. We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. | | securityContext | object | `{}` | Security context | | service | object | `{"externalIPs":[],"externalPort":80,"internalPort":"http","name":"http","portName":"node","sessionAffinity":"ClientIP","type":"ClusterIP"}` | Values for the service | | serviceAccount.annotations | object | `{}` | Annotations to add to the service account | From 2e7e7e4770445da5aa8530750618a8d34fae6490 Mon Sep 17 00:00:00 2001 From: Guilherme Sautner Date: Fri, 22 Sep 2023 06:48:03 -0300 Subject: [PATCH 4/8] [misc] improving some docs --- README.md | 27 +++++++++------------------ charts/cryptpad/README.md.gotmpl | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 charts/cryptpad/README.md.gotmpl diff --git a/README.md b/README.md index fb83d0b..e584325 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,7 @@ logo

CryptPad Helm Chart

- -

- This is the Cryptpad Helm Chart for easy deployment on Kubernetes. -

- +

@@ -19,7 +15,7 @@ forks - + stars @@ -48,16 +44,16 @@ - [:star2: About the Project](#star2-about-the-project) - [:toolbox: Getting Started](#toolbox-getting-started) - [:bangbang: Prerequisites](#bangbang-prerequisites) - - [:keyboard: Usage](#keyboard-usage) + - [:books: Documentation](#books-documentation) + - [:fast\_forward: TL;DR;](#fast\_forward-tldr) - [:test\_tube: Running Tests](#test_tube-running-tests) - [:wave: Contributing](#wave-contributing) - [:warning: License](#warning-license) - - [:handshake: Authors](#handshake-authors) ## :star2: About the Project -Aster is designed to efficiently collect metrics from a REST API, transform them into chargeable data, expose the API and SDKs, create invoices and bills, and generate alerts based on specified rules. +This is the [CryptPad](https://cryptpad.org) [Helm Chart](https://helm.sh/) for easy deployment on Kubernetes. ## :toolbox: Getting Started @@ -67,9 +63,11 @@ Aster is designed to efficiently collect metrics from a REST API, transform them This project requires [Kubernetes 1.23+](https://kubernetes.io/) and [Helm](https://helm.sh/docs/intro/install/) installed on your system -### :keyboard: Usage +### :books: Documentation + +* Check documentation on [README.md](charts/cryptpad/README.md) on charts/cryptpad. -Check [values.yaml](charts/cryptpad/values.yaml) for custom values/settings. +### :fast_forward: TL;DR; Install the Helm Chart using: @@ -109,10 +107,3 @@ See `CONTRIBUTING.md` for ways to get started. This software is and will always be available under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - - -## :handshake: Authors - -This project was maintained by [Guilherme Sautner](https://www.xwiki.org/xwiki/bin/view/XWiki/sautner) - -Project Link: [https://github.com/cryptpad/helm](https://github.com/cryptpad/helm) diff --git a/charts/cryptpad/README.md.gotmpl b/charts/cryptpad/README.md.gotmpl new file mode 100644 index 0000000..d23e647 --- /dev/null +++ b/charts/cryptpad/README.md.gotmpl @@ -0,0 +1,19 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +## Installing the Chart + +Install the Helm Chart using: + +```console +helm repo add cryptpad-github https://cryptpad.github.io/helm +helm install cryptpad cryptpad-github/cryptpad +``` + +{{ template "chart.requirementsSection" . }} + +{{ template "chart.valuesSection" . }} + +{{ template "helm-docs.versionFooter" . }} \ No newline at end of file From 058cbf8548b6a319fe0d5771d3f7f754ff8fac19 Mon Sep 17 00:00:00 2001 From: Guilherme Sautner Date: Fri, 22 Sep 2023 06:53:13 -0300 Subject: [PATCH 5/8] [misc] improving some docs --- README.md | 2 +- charts/cryptpad/Chart.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e584325..f20fdd5 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ ## :star2: About the Project -This is the [CryptPad](https://cryptpad.org) [Helm Chart](https://helm.sh/) for easy deployment on Kubernetes. +This is the [Helm Chart](https://helm.sh/) for easy deployment of [CryptPad](https://cryptpad.org) on Kubernetes. ## :toolbox: Getting Started diff --git a/charts/cryptpad/Chart.yaml b/charts/cryptpad/Chart.yaml index 17a78f7..14de6e2 100644 --- a/charts/cryptpad/Chart.yaml +++ b/charts/cryptpad/Chart.yaml @@ -5,7 +5,7 @@ keywords: - open office - storage - end2end -description: CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. +description: CryptPad is a collaboration office suite that is end-to-end-encrypted and open-source. home: https://cryptpad.org icon: https://cryptpad.org/images/CryptPad_logo_text.svg # A chart can be either an 'application' or a 'library' chart. From 16065426a12031fafb1b82901ccf70fe80cba5ab Mon Sep 17 00:00:00 2001 From: Guilherme Sautner Date: Fri, 22 Sep 2023 06:59:03 -0300 Subject: [PATCH 6/8] [misc] improving some docs --- charts/cryptpad/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/charts/cryptpad/README.md b/charts/cryptpad/README.md index f53a539..5b799e5 100644 --- a/charts/cryptpad/README.md +++ b/charts/cryptpad/README.md @@ -1,17 +1,17 @@ # cryptpad -![Version: 0.0.9](https://img.shields.io/badge/Version-0.0.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +CryptPad is a collaboration office suite that is end-to-end-encrypted and open-source. -CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. +![Version: 0.0.9](https://img.shields.io/badge/Version-0.0.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) -**Homepage:** +## Installing the Chart -## Maintainers +Install the Helm Chart using: -| Name | Email | Url | -| ---- | ------ | --- | -| Guilherme Sautner | | | -| Arsène Fougerouse | | | +```console +helm repo add cryptpad-github https://cryptpad.github.io/helm +helm install cryptpad cryptpad-github/cryptpad +``` ## Requirements @@ -94,4 +94,4 @@ CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. | workloadStateful | bool | `true` | Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2) +Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2) \ No newline at end of file From 104a51ddb3f7742468a3b2ca356544355ab93027 Mon Sep 17 00:00:00 2001 From: Guilherme Sautner Date: Fri, 22 Sep 2023 08:19:40 -0300 Subject: [PATCH 7/8] [misc] improving some docs --- .github/workflows/release.yml | 1 + charts/cryptpad/README.md | 100 ++++++++++++++++++++++++++----- charts/cryptpad/README.md.gotmpl | 53 ++++++++++++++++ charts/cryptpad/values.yaml | 53 +++++++++++----- 4 files changed, 179 insertions(+), 28 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57fefd9..1326e3b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,7 @@ on: - '.github/**' - 'charts/**' - '!**.md' + - '!**.md.gotmpl' jobs: diff --git a/charts/cryptpad/README.md b/charts/cryptpad/README.md index 5b799e5..e83549f 100644 --- a/charts/cryptpad/README.md +++ b/charts/cryptpad/README.md @@ -13,6 +13,30 @@ helm repo add cryptpad-github https://cryptpad.github.io/helm helm install cryptpad cryptpad-github/cryptpad ``` +### Configure and Customization + +Values example of how customize your intance: + +```yaml +# https://docs.cryptpad.org/en/admin_guide/installation.html#configure-cryptpad +config: + adminKeys: [ + "[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", + ] + +# https://docs.cryptpad.org/en/admin_guide/customization.html#application-config +application_config: + availableLanguages: [ 'en', 'de', 'fr', 'pt-br' ] + availablePadTypes: [ 'drive', 'teams', 'sheet', 'doc', 'presentation', 'pad', 'kanban', 'code', 'form', 'poll', 'whiteboard', + 'file', 'contacts', 'slide', 'convert', 'diagram' ] + privacy: | + { + "default": 'https://example.com/privacy.html', + "en": 'https://example.com/privacy.en.html', // in case English is not your default language + "de": 'https://example.com/privacy.de.html', // you get the idea? + } +``` + ## Requirements | Repository | Name | Version | @@ -24,22 +48,41 @@ helm install cryptpad cryptpad-github/cryptpad | Key | Type | Default | Description | |-----|------|---------|-------------| | affinity | object | `{}` | Values for the Affinity | -| apiDomain | string | `""` | CryptPad API subdomain FQDN | | application_config | string | `nil` | Configuration of the [application](https://docs.cryptpad.org/en/admin_guide/customization.html#application-config) | | autoscaling.enabled | bool | `false` | Enable the Autoscaling | | autoscaling.maxReplicas | int | `100` | Maximum numbers of replicas | | autoscaling.minReplicas | int | `1` | Minimal numbers of replicas | | autoscaling.targetCPUUtilizationPercentage | int | `80` | Percentage of the targeted CPU Utilization | | autoscaling.targetMemoryUtilizationPercentage | int | `80` | Percentage of the targeted Memory Utilization | -| config | object | `{"adminKeys":[],"archivePath":"./data/archive","blobPath":"./blob","blobStagingPath":"./data/blobstage","blockPath":"./block","decreePath":"./data/decrees","filePath":"./datastore/","httpAddress":"0.0.0.0","installMethod":"helm-docker","logFeedback":false,"logLevel":"info","logPath":"./data/logs","logToStdout":false,"pinPath":"./data/pins","taskPath":"./data/tasks","verbose":false}` | [Configuration of Cryptpad](https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config) | +| config.adminKeys | list | `[]` | Public signing key of users to give admin panel access | +| config.archivePath | string | `"./data/archive"` | Directory to archive data for a configurable period before deleting it. | +| config.blobPath | string | `"./blob"` | Directory to store encrypted files that was uploaded. | +| config.blobStagingPath | string | `"./data/blobstage"` | Directory to store incomplete blobs in a 'staging' area until they are fully uploaded. | +| config.blockPath | string | `"./block"` | Directory to store authenticated blocks. | +| config.decreePath | string | `"./data/decrees"` | TODO | +| config.filePath | string | `"./datastore/"` | Directory where files/documents should be stored. | +| config.httpAddress | string | `"0.0.0.0"` | httpAddress specifies the address on which the nodejs server should be accessible. | +| config.installMethod | string | `"helm-docker"` | | +| config.logFeedback | bool | `false` | Enable feedback log, but requires feedback on log level to work. | +| config.logLevel | string | `"info"` | Change log level from this list below by order of importance: (silly, verbose, debug, feedback, info, warn, error). | +| config.logPath | string | `"./data/logs"` | Directory to store logging events. | +| config.logToStdout | bool | `false` | Log activity to stdout, this may be useful for debugging | +| config.pinPath | string | `"./data/pins"` | Directory to store documents that was pinned to to be stored by the server indefinitely. | +| config.taskPath | string | `"./data/tasks"` | Directory to store a list of scheduled tasks. | +| config.verbose | bool | `false` | Enable verbose logging | | cpadConfig | string | `"/cryptpad/config/config.js"` | File to mount for the CPAD Configuration (`CPAD_CONF`) | -| filesDomain | string | `""` | CryptPad files subdomain FQDN | | fullnameOverride | string | `""` | | -| http2Disable | string | `""` | Disable HTTP2 | -| image | object | `{"pullPolicy":"IfNotPresent","repository":"cryptpad/cryptpad","tag":"version-5.4.0"}` | Parameters for the Cryptpad image used | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"cryptpad/cryptpad"` | | +| image.tag | string | `"version-5.4.0"` | | | imagePullSecrets | list | `[]` | | -| ingress | object | `{"annotations":{},"className":"","enabled":false,"hosts":[{"host":"localhost","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}],"tls":[]}` | Values for the ingress | -| ingress.enabled | bool | `false` | Enable the ingress | +| ingress.annotations | object | `{}` | | +| ingress.className | string | `""` | | +| ingress.enabled | bool | `false` | | +| ingress.hosts[0].host | string | `"localhost"` | | +| ingress.hosts[0].paths[0].path | string | `"/"` | | +| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | | +| ingress.tls | list | `[]` | | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | Values for the Node Selector | | persistence.cryptpad.blob.accessModes[0] | string | `"ReadWriteOnce"` | | @@ -77,21 +120,50 @@ helm install cryptpad cryptpad-github/cryptpad | persistence.enabled | bool | `true` | Enable the persistence | | podAnnotations | object | `{}` | Annotations for the Pod | | podSecurityContext | object | `{"fsGroup":4001}` | Security context for the Pod | -| realIpHeader | string | `""` | Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) | -| realIpRecursive | string | `""` | Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) | | replicaCount | int | `1` | Number of replicas | | resources | object | `{}` | Specify default resources. We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. | | securityContext | object | `{}` | Security context | -| service | object | `{"externalIPs":[],"externalPort":80,"internalPort":"http","name":"http","portName":"node","sessionAffinity":"ClientIP","type":"ClusterIP"}` | Values for the service | +| service.externalIPs | list | `[]` | | +| service.externalPort | int | `80` | | +| service.internalPort | string | `"http"` | | +| service.name | string | `"http"` | | +| service.portName | string | `"node"` | | +| service.sessionAffinity | string | `"ClientIP"` | | +| service.type | string | `"ClusterIP"` | | | serviceAccount.annotations | object | `{}` | Annotations to add to the service account | | serviceAccount.create | bool | `true` | Specifies whether a service account should be created | | serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| tlsCert | string | `""` | Path to TLS certificate file | -| tlsDhParam | string | `""` | Path to Diffie-Hellman parameters file | -| tlsKey | string | `""` | Path to TLS private key file | | tolerations | list | `[]` | Values for the Tolerations | -| trustedProxy | string | `""` | Trusted proxy address or CIDR | | workloadStateful | bool | `true` | Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment | +## Backup + +Important volumes or paths (in case different solution like empty/sidecar backup tools) to be considered: + +* **cryptpad-blob** volume, or **/cryptpad/blob** +* **cryptpad-block** volume, or **/cryptpad/block** +* **cryptpad-data** volume, or **/cryptpad/data** +* **cryptpad-datastore** volume, or **/cryptpad/datastore** + +And configuration file or command line with preferences used to install Helm release. + +There are some tools that can manage the backups on k8s workloads. We can suggest [Velero](https://velero.io/), as we already used on some internal clusters. + +There is specific product documentation on: https://docs.cryptpad.org/en/admin_guide/maintenance.html#backup-and-migration + +## Logging + +Current logging resources are standard [Kubernetes logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/). + +Example of how change log levels from instance: + +```yaml +config: + verbose: false + logToStdout: false + logLevel: 'info' + logFeedback: false +``` + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2) \ No newline at end of file diff --git a/charts/cryptpad/README.md.gotmpl b/charts/cryptpad/README.md.gotmpl index d23e647..be296e8 100644 --- a/charts/cryptpad/README.md.gotmpl +++ b/charts/cryptpad/README.md.gotmpl @@ -12,8 +12,61 @@ helm repo add cryptpad-github https://cryptpad.github.io/helm helm install cryptpad cryptpad-github/cryptpad ``` +### Configure and Customization + +Values example of how customize your intance: + +```yaml +# https://docs.cryptpad.org/en/admin_guide/installation.html#configure-cryptpad +config: + adminKeys: [ + "[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", + ] + +# https://docs.cryptpad.org/en/admin_guide/customization.html#application-config +application_config: + availableLanguages: [ 'en', 'de', 'fr', 'pt-br' ] + availablePadTypes: [ 'drive', 'teams', 'sheet', 'doc', 'presentation', 'pad', 'kanban', 'code', 'form', 'poll', 'whiteboard', + 'file', 'contacts', 'slide', 'convert', 'diagram' ] + privacy: | + { + "default": 'https://example.com/privacy.html', + "en": 'https://example.com/privacy.en.html', // in case English is not your default language + "de": 'https://example.com/privacy.de.html', // you get the idea? + } +``` + {{ template "chart.requirementsSection" . }} {{ template "chart.valuesSection" . }} +## Backup + +Important volumes or paths (in case different solution like empty/sidecar backup tools) to be considered: + +* **cryptpad-blob** volume, or **/cryptpad/blob** +* **cryptpad-block** volume, or **/cryptpad/block** +* **cryptpad-data** volume, or **/cryptpad/data** +* **cryptpad-datastore** volume, or **/cryptpad/datastore** + +And configuration file or command line with preferences used to install Helm release. + +There are some tools that can manage the backups on k8s workloads. We can suggest [Velero](https://velero.io/), as we already used on some internal clusters. + +There is specific product documentation on: https://docs.cryptpad.org/en/admin_guide/maintenance.html#backup-and-migration + +## Logging + +Current logging resources are standard [Kubernetes logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/). + +Example of how change log levels from instance: + +```yaml +config: + verbose: false + logToStdout: false + logLevel: 'info' + logFeedback: false +``` + {{ template "helm-docs.versionFooter" . }} \ No newline at end of file diff --git a/charts/cryptpad/values.yaml b/charts/cryptpad/values.yaml index e8917ff..98290b7 100644 --- a/charts/cryptpad/values.yaml +++ b/charts/cryptpad/values.yaml @@ -8,7 +8,7 @@ replicaCount: 1 # -- Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment workloadStateful: true -# -- Parameters for the Cryptpad image used +# Parameters for the Cryptpad image used image: pullPolicy: IfNotPresent repository: cryptpad/cryptpad @@ -32,32 +32,46 @@ application_config: cpadConfig: "/cryptpad/config/config.js" # https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config -# -- [Configuration of Cryptpad](https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config) +# [Configuration of Cryptpad](https://docs.cryptpad.org/en/admin_guide/installation.html#admin-cryptpad-config) config: ######################### # NETWORK CONFIGURATION # ######################### + # -- httpAddress specifies the address on which the nodejs server should be accessible. httpAddress: '0.0.0.0' #################### # Database Volumes # #################### + # -- Directory where files/documents should be stored. filePath: './datastore/' + # -- Directory to archive data for a configurable period before deleting it. archivePath: './data/archive' + # -- Directory to store documents that was pinned to to be stored by the server indefinitely. pinPath: './data/pins' + # -- Directory to store a list of scheduled tasks. taskPath: './data/tasks' + # -- Directory to store authenticated blocks. blockPath: './block' + # -- Directory to store encrypted files that was uploaded. blobPath: './blob' + # -- Directory to store incomplete blobs in a 'staging' area until they are fully uploaded. blobStagingPath: './data/blobstage' + # -- TODO decreePath: './data/decrees' + # -- Directory to store logging events. logPath: './data/logs' ############# # Debugging # ############# + # -- Enable verbose logging verbose: false + # -- Log activity to stdout, this may be useful for debugging logToStdout: false + # -- Change log level from this list below by order of importance: (silly, verbose, debug, feedback, info, warn, error). logLevel: 'info' + # -- Enable feedback log, but requires feedback on log level to work. logFeedback: false # Surplus information @@ -65,30 +79,41 @@ config: # Administrator keys # https://docs.cryptpad.org/en/admin_guide/installation.html#configure-administrators + # -- Public signing key of users to give admin panel access adminKeys: [] # adminKeys: [ # "[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", # ] +# TODO: remove # Check values on https://github.com/xwiki-labs/cryptpad-docker#environment-variables # For CPAD_MAIN_DOMAIN and CPAD_SANDBOX_DOMAIN values httpUnsafeOrigin and httpSafeOrigin will be used. -# -- CryptPad API subdomain FQDN +# CryptPad API subdomain FQDN +# @ignore apiDomain: "" -# -- CryptPad files subdomain FQDN +# CryptPad files subdomain FQDN +# @ignore filesDomain: "" -# -- Trusted proxy address or CIDR +# Trusted proxy address or CIDR +# @ignore trustedProxy: "" -# -- Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) +# Header to get client IP from (`X-Real-IP` or `X-Forwarded-For`) +# @ignore realIpHeader: "" -# -- Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) +# Instruct Nginx to perform a recursive search to find client's real IP (`on`/`off`) (see [ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)) +# @ignore realIpRecursive: "" -# -- Path to TLS certificate file +# Path to TLS certificate file +# @ignore tlsCert: "" -# -- Path to TLS private key file +# Path to TLS private key file +# @ignore tlsKey: "" -# -- Path to Diffie-Hellman parameters file +# Path to Diffie-Hellman parameters file +# @ignore tlsDhParam: "" -# -- Disable HTTP2 +# Disable HTTP2 +# @ignore http2Disable: "" imagePullSecrets: [] @@ -120,7 +145,7 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 -# -- Values for the service +# Values for the service service: portName: node name: http @@ -134,9 +159,9 @@ service: # Reference: https://kubernetes.io/docs/reference/networking/virtual-ips/#session-affinity sessionAffinity: ClientIP -# -- Values for the ingress +# Values for the ingress ingress: - # -- Enable the ingress + # Enable the ingress enabled: false className: "" annotations: {} From d3bbd704ab71ecee1c9dcdf27ee2b5a78bad44e0 Mon Sep 17 00:00:00 2001 From: Guilherme Sautner Date: Fri, 22 Sep 2023 08:24:14 -0300 Subject: [PATCH 8/8] misc: changed to not real user --- .github/workflows/docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 651492f..1eee775 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,8 +20,8 @@ jobs: - run: helm-docs - name: Commit documentation run: | - git config --global user.name 'GridexX' - git config --global user.email 'gridexx@users.noreply.github.com' + git config --global user.name '$GITHUB_ACTOR' + git config --global user.email '$GITHUB_ACTOR@users.noreply.github.com' git add . git commit -sm "docs: generate chart documentation" git push \ No newline at end of file