Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/markdown-linters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Markdown linter

on:
pull_request:
paths: [ "**/*.md" ]
types: [ "opened", "reopened", "synchronize" ]
push:
branches:
- '**'
paths: [ "**/*.md" ]
tags-ignore:
- '**'
workflow_dispatch: {}

jobs:
markdown-link-checker:
container:
image: docker.io/library/node:24.10.0-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@v5.0.0
- name: Verify links in markdown files
run: |
npm install
npm run readme:link

markdown-lint:
container:
image: docker.io/library/node:24.10.0-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git
- uses: actions/checkout@v5.0.0
- name: Lint markdown files
run: |
npm install
npm run readme:lint
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@

# Helm resources
charts/*/charts

node_modules
155 changes: 155 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# markdownlint YAML configuration
# https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml

# Default state for all rules
default: true

# Path to configuration file to extend
extends: null

# MD003/heading-style/header-style - Heading style
MD003:
# Heading style
style: "atx"

# MD004/ul-style - Unordered list style
MD004:
style: "dash"

# MD007/ul-indent - Unordered list indentation
MD007:
# Spaces for indent
indent: 2
# Whether to indent the first level of the list
start_indented: false

# MD009/no-trailing-spaces - Trailing spaces
MD009:
# Spaces for line break
br_spaces: 2
# Allow spaces for empty lines in list items
list_item_empty_lines: false
# Include unnecessary breaks
strict: false

# MD010/no-hard-tabs - Hard tabs
MD010:
# Include code blocks
code_blocks: true

# MD012/no-multiple-blanks - Multiple consecutive blank lines
MD012:
# Consecutive blank lines
maximum: 1

# MD013/line-length - Line length
MD013:
# Number of characters
line_length: 120
# Number of characters for headings
heading_line_length: 120
# Number of characters for code blocks
code_block_line_length: 80
# Include code blocks
code_blocks: false
# Include tables
tables: false
# Include headings
headings: true
# Strict length checking
strict: false
# Stern length checking
stern: false

# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
MD022:
# Blank lines above heading
lines_above: 1
# Blank lines below heading
lines_below: 1

# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
MD024:
# Only check sibling headings
siblings_only: true

# MD025/single-title/single-h1 - Multiple top-level headings in the same document
MD025:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD026/no-trailing-punctuation - Trailing punctuation in heading
MD026:
# Punctuation characters
punctuation: ".,;:!。,;:!"

# MD029/ol-prefix - Ordered list item prefix
MD029:
# List style
style: "one_or_ordered"

# MD030/list-marker-space - Spaces after list markers
MD030:
# Spaces for single-line unordered list items
ul_single: 1
# Spaces for single-line ordered list items
ol_single: 1
# Spaces for multi-line unordered list items
ul_multi: 1
# Spaces for multi-line ordered list items
ol_multi: 1

# MD033/no-inline-html - Inline HTML
MD033:
# Allowed elements
allowed_elements: []

# MD035/hr-style - Horizontal rule style
MD035:
# Horizontal rule style
style: "---"

# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading
MD036:
# Punctuation characters
punctuation: ".,;:!?。,;:!?"

# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
MD041:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD044/proper-names - Proper names should have the correct capitalization
MD044:
# List of proper names
names:
- Git
- GitDevOps
- GitHub
- GitLab
- GitOps
- kube-prometheus-stack
- Memcached
- Nextcloud
- Oracle
- PostgreSQL
- Prometheus
- prometheus-exporter
- SSL
- TLS
# Include code blocks
code_blocks: false

# MD046/code-block-style - Code block style
MD046:
# Block style
style: "fenced"

# MD048/code-fence-style - Code fence style
MD048:
# Code fence syle
style: "backtick"
4 changes: 4 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.github/
Chart.lock
charts/
node_modules/
17 changes: 12 additions & 5 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
In the Nextcloud community, participants from all over the world come together to create Free Software for a free internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use Nextcloud software.
# CODE OF CONDUCT

Our code of conduct offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
In the Nextcloud community, participants from all over the world come together to create Free Software for a free
internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who
create and use Nextcloud software.

The Code of Conduct is shared by all contributors and users who engage with the Nextcloud team and its community services. It presents a summary of the shared values and “common sense” thinking in our community.
Our code of conduct offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and
inspiring atmosphere, and to explain how together we can strengthen and support each other.

You can find our full code of conduct on our website: https://nextcloud.com/contribute/code-of-conduct/
The Code of Conduct is shared by all contributors and users who engage with the Nextcloud team and its community
services. It presents a summary of the shared values and “common sense” thinking in our community.

Please, keep our CoC in mind when you contribute! That way, everyone can be a part of our community in a productive, positive, creative and fun way.
You can find our full code of conduct on our website: <https://nextcloud.com/contribute/code-of-conduct/>

Please, keep our CoC in mind when you contribute! That way, everyone can be a part of our community in a productive,
positive, creative and fun way.
36 changes: 23 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
# Welcome
# CONTRIBUTING

Thanks for considering a contribution to this Nextcloud repository run by the community! Please make sure you review the [Code of Conduct](./CODE_OF_CONDUCT.md) before proceeding, and keep in mind that this repository is run by volunteers.
Thanks for considering a contribution to this Nextcloud repository run by the community! Please make sure you review the
[Code of Conduct](./CODE_OF_CONDUCT.md) before proceeding, and keep in mind that this repository is run by volunteers.

# Pull Requests
## Pull Requests

Before submitting a feature or fix PR, please make sure your changes are targetted to one feature or fix, and all your commits are signed off. (Learn more the DCO [here](https://probot.github.io/apps/dco))
Before submitting a feature or fix PR, please make sure your changes are targeted to one feature or fix, and all your
commits are signed off. (More about Developer Certificate of Origin is [documented](https://probot.github.io/apps/dco)
online.

If you're making a change to the chart templates or `values.yaml`, please also do the following:

1. Ensure the chart is linted using [`helm lint`](https://helm.sh/docs/helm/helm_lint/)
2. Test rendering the helm templates from the chart root dir (`charts/nextcloud`) using `helm template .`
- If you're making a change to a non-default value, please also test that value change locally. You can pass in a custom values file to `helm template` with `--values mycustomvalues.yaml`
3. Test installing the chart. A great tool for this is [`ct`](https://github.com/helm/chart-testing/tree/main) using [`ct install`](https://github.com/helm/chart-testing/blob/main/doc/ct_install.md) on a test cluster like [kind](https://kind.sigs.k8s.io/)
4. Make sure new or changed values are updated in the [values.yaml](./charts/nextcloud/values.yaml) and the [README.md](./charts/nextcloud/README.md)
5. Bump the `version` in the [Chart.yaml](./charts/nextcloud/Chart.yaml) according to [Semantic Versioning](https://semver.org) which uses the format `major.minor.patch`.

Then, please make sure you follow the [pull request template](.github/pull_request_template.md), so we can more quickly review. In order to move your PR forward faster (for instance, bumping the helm chart version for you), please also check the "Allow edits and access to secrets by maintainers" box next to the "Create pull request" button:
- If you're making a change to a non-default value, please also test that value change locally. You can pass in a
custom values file to `helm template` with `--values mycustomvalues.yaml`
3. Test installing the chart. A great tool for this is [`ct`](https://github.com/helm/chart-testing/tree/main) using
[`ct install`](https://github.com/helm/chart-testing/blob/main/doc/ct_install.md) on a test cluster like
[kind](https://kind.sigs.k8s.io/)
4. Make sure new or changed values are updated in the [values.yaml](./charts/nextcloud/values.yaml) and the
[README.md](./charts/nextcloud/README.md)
5. Bump the `version` in the [Chart.yaml](./charts/nextcloud/Chart.yaml) according to [Semantic
Versioning](https://semver.org) which uses the format `major.minor.patch`.

Then, please make sure you follow the [pull request template](.github/pull_request_template.md), so we can more quickly
review. In order to move your PR forward faster (for instance, bumping the helm chart version for you), please also
check the "Allow edits and access to secrets by maintainers" box next to the "Create pull request" button:

![screenshot of the allow edits by maintainers check box to the left of the Create pull request button on GitHub](https://github.com/nextcloud/helm/assets/2389292/3a8044a9-583d-496a-b3d2-4dd699c56ed4)

## Issues

# Issues

Please make sure you follow one of the [issue templates](.github/ISSUE_TEMPLATE) so we can better help troubleshoot with you.
Please make sure you follow one of the [issue templates](.github/ISSUE_TEMPLATE) so we can better help troubleshoot with
you.
61 changes: 61 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# CONTAINER_RUNTIME
CONTAINER_RUNTIME?=$(shell which podman)

# NODE_IMAGE
NODE_IMAGE_REGISTRY_HOST?=docker.io
NODE_IMAGE_REPOSITORY?=library/node
NODE_IMAGE_VERSION?=24.10.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node
NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION}

# MISSING DOT
# ==============================================================================
missing-dot:
grep --perl-regexp '## @(param|skip).*[^.]$$' values.yaml

# README
# ==============================================================================
readme: readme/link readme/lint readme/parameters

readme/link:
npm install && npm run readme:link

readme/lint:
npm install && npm run readme:lint

readme/parameters:
npm install && npm run readme:parameters

# CONTAINER RUN - README
# ==============================================================================
PHONY+=container-run/readme
container-run/readme: container-run/readme/link container-run/readme/lint container-run/readme/parameters

container-run/readme/link:
${CONTAINER_RUNTIME} run \
--rm \
--volume $(shell pwd):$(shell pwd) \
--workdir $(shell pwd) \
${NODE_IMAGE_FULLY_QUALIFIED} \
npm install && npm run readme:link

container-run/readme/lint:
${CONTAINER_RUNTIME} run \
--rm \
--volume $(shell pwd):$(shell pwd) \
--workdir $(shell pwd) \
${NODE_IMAGE_FULLY_QUALIFIED} \
npm install && npm run readme:lint

container-run/readme/parameters:
${CONTAINER_RUNTIME} run \
--rm \
--volume $(shell pwd):$(shell pwd) \
--workdir $(shell pwd) \
${NODE_IMAGE_FULLY_QUALIFIED} \
npm install && npm run readme:parameters

# PHONY
# ==============================================================================
# Declare the contents of the PHONY variable as phony. We keep that information
# in a variable so we can use it in if_changed.
.PHONY: ${PHONY}
Loading