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
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ body:
- universal
- clusterpirate
- common
- etcd
- ghost
- keycloak
- mariadb
Expand All @@ -68,6 +69,7 @@ body:
- redis
- timescaledb
- valkey
- wordpress
- zookeeper
validations:
required: true
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ body:
- universal
- clusterpirate
- common
- etcd
- ghost
- keycloak
- mariadb
Expand All @@ -57,4 +58,5 @@ body:
- redis
- timescaledb
- valkey
- wordpress
- zookeeper
6 changes: 5 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
- Describe the scope of your change - i.e. what the change does.
- Describe any known limitations with your change.
- Please run any tests or examples that can exercise your modified code.
- Labels are automatically applied when they are inside the square brackets of your PR title on opening. Examples:
- [redis]: adds `redis` label
- [redis, valkey] Adds `redis` and `valkey` labels

Thank you for contributing! We will try to test and integrate the change as soon as we can.
-->
Expand All @@ -23,6 +26,7 @@
### Applicable issues

<!-- Enter any applicable Issues here (You can reference an issue using #) -->

- fixes #

### Additional information
Expand All @@ -33,6 +37,6 @@

<!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->

- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/). This is *not necessary* when the changes only affect README.md files.
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/). This is _not necessary_ when the changes only affect README.md files.
- [ ] Variables are documented in the values.yaml and added to the `README.md`
- [ ] Title of the pull request follows this pattern [<name_of_the_chart>] Descriptive title
20 changes: 18 additions & 2 deletions .github/workflows/auto-label.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,39 @@ name: Auto-label issues
on:
issues:
types: [opened]
pull_request:
types: [opened]

jobs:
label:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: Apply labels
uses: actions/github-script@v7
with:
script: |
const labels = (context.payload.issue.body.split(/### Affected Helm charts/)[1] || "")
let content = "";
if (context.payload.pull_request) {
const parsedTitle = context.payload.pull_request.title.match(/^\[([a-z_-]+(?:, [a-z_-]+)*)\].+$/);
content = parsedTitle ? parsedTitle[1] : "";
} else {
content = context.payload.issue.body.split(/### Affected Helm charts/)[1] || "";
}
const { data } = await github.rest.issues.listLabelsForRepo({
...context.repo,
per_page: 100,
});
const existingLabels = new Set(data.map((label) => label.name));
const labels = content
.trim()
.split(",")
.map((s) => s.trim())
.filter((s) => s && s !== "_No response_");
.filter((s) => s && existingLabels.has(s));
if (labels.length) {
console.log(`Adding ${labels.length} labels: ${labels.join(', ')}`)
await github.rest.issues.addLabels({
...context.repo,
issue_number: context.issue.number,
Expand Down
59 changes: 48 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,23 @@ Hi there! We are thrilled that you'd like to contribute to this project. It's pe

- [Code of Conduct](#code-of-conduct)
- [How Can I Contribute?](#how-can-i-contribute)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Types of Contributions We're Looking For](#types-of-contributions-were-looking-for)
- [Development Setup](#development-setup)
- [Prerequisites](#prerequisites)
- [Setting Up Your Development Environment](#setting-up-your-development-environment)
- [Contributing Guidelines](#contributing-guidelines)
- [Chart Development Standards](#chart-development-standards)
- [Chart Development Standards](#chart-development-standards)
- [Chart Structure](#chart-structure)
- [Documentation Requirements](#documentation-requirements)
- [Versioning](#versioning)
- [Testing](#testing)
- [Running Tests](#running-tests)
- [Test Requirements](#test-requirements)
- [Manual Testing](#manual-testing)
- [Pull Request Process](#pull-request-process)
- [Pull Request Checklist](#pull-request-checklist)

## Code of Conduct

Expand All @@ -22,21 +34,21 @@ This project and everyone participating in it is governed by our [Code of Conduc

Before creating bug reports, please check the existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:

- **Use a clear and descriptive title**
- **Describe the exact steps to reproduce the problem**
- **Provide specific examples to demonstrate the steps**
- **Describe the behavior you observed and what behavior you expected**
- **Include details about your configuration and environment**
- Use a **clear and descriptive title**
- Describe the **exact steps to reproduce** the problem
- Provide **specific examples** to demonstrate the steps
- Describe the **behavior you observed** and what **behavior you expected**
- Include details about **your configuration and environment**

### Suggesting Enhancements

Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:

- **Use a clear and descriptive title**
- **Provide a step-by-step description of the suggested enhancement**
- **Provide specific examples to demonstrate the steps**
- **Describe the current behavior and explain which behavior you expected to see**
- **Explain why this enhancement would be useful**
- Use a **clear and descriptive title**
- Provide a **step-by-step description** of the suggested enhancement
- Provide **specific examples** to demonstrate the steps
- Describe the **current behavior** and explain which **behavior you expected** to see
- Explain **why this enhancement would be useful**

### Types of Contributions We're Looking For

Expand All @@ -52,40 +64,61 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme
- Kubernetes 1.24+
- Helm 3.2.0+
- [helm-unittest](https://github.com/helm-unittest/helm-unittest) plugin
- Commits verified by signature

### Setting Up Your Development Environment

1. Fork the repository on GitHub
2. Clone your fork locally:

```bash
git clone https://github.com/your-username/helm-charts.git
cd helm-charts
```

3. Install the helm-unittest plugin:

```bash
helm plugin install https://github.com/helm-unittest/helm-unittest
```

4. Make sure to sign your commits

```bash
git config gpg.format ssh
git config user.signingkey <filePath>
git config commit.gpgsign true
git config tag.gpgsign true
```

Replace `<filePath>` with the path to your public ssh key file, e.g. `~/.ssh/id_ed25519.pub`, wich you use to push to GitHub.
Alternatively, a signing ssh key can be used instead.
If you want to sign commits in every repository, not just this one, add the `--global` parameter.

> More information: [GitHub docs](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification)

## Contributing Guidelines

### Chart Development Standards

All charts in this repository must follow these standards:

#### Security First

- Implement read-only root filesystems where possible
- Drop unnecessary Linux capabilities
- Configure security contexts properly
- Never hardcode credentials

#### Production Ready

- Include comprehensive health checks (liveness, readiness, startup probes)
- Support resource requests and limits
- Provide persistent storage configurations
- Include health check endpoints

#### Highly Configurable

- Provide extensive `values.yaml` with detailed documentation
- Support existing secrets and ConfigMaps
- Offer flexible ingress configurations
Expand Down Expand Up @@ -154,6 +187,7 @@ helm unittest charts/your-chart
### Test Requirements

Your tests should cover:

- Template rendering with default values
- Template rendering with custom values
- Required value validation
Expand Down Expand Up @@ -181,13 +215,15 @@ kubectl get all -n test
## Pull Request Process

1. **Branch**: Create a feature branch from `main`

```bash
git checkout -b feature/your-chart-improvement
```

2. **Development**: Make your changes following the guidelines above

3. **Testing**: Run all tests and ensure they pass

```bash
./test-all-charts.sh
helm lint ./charts/your-chart
Expand All @@ -196,6 +232,7 @@ kubectl get all -n test
4. **Documentation**: Update documentation as needed

5. **Commit**: Use clear, descriptive commit messages

```bash
git commit -m "[chart-name] Add support for custom annotations"
```
Expand Down
2 changes: 1 addition & 1 deletion charts/common/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

## 1.1.1 (2025-10-09)

* [mongodb] feat: add metrics exporter ([#243](https://github.com/CloudPirates-io/helm-charts/pull/243))
* [mongodb] fix: newline between mongo labels and additional labels ([#301](https://github.com/CloudPirates-io/helm-charts/pull/301))
2 changes: 1 addition & 1 deletion charts/common/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: common
description: A library chart for common templates and helper functions
type: library
version: 1.1.1
version: 1.1.2
appVersion: "1.0.0"

home: https://www.cloudpirates.io
Expand Down
9 changes: 9 additions & 0 deletions charts/common/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ If release name contains chart name it will be used as a full name.
{{- end }}
{{- end }}

{{/*
Return the namespace to use for resources.
Defaults to .Release.Namespace but can be overridden via .Values.namespaceOverride.
Useful for multi-namespace deployments in combined charts.
*/}}
{{- define "common.namespace" -}}
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
Expand Down
9 changes: 9 additions & 0 deletions charts/etcd/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

## 0.1.1 (2025-10-10)

* [Etcd] artifact hub repository id ([#333](https://github.com/CloudPirates-io/helm-charts/pull/333))

## 0.1.0 (2025-10-10)

* [etcd]: Initial etcd implementation (#230) ([c6476c3](https://github.com/CloudPirates-io/helm-charts/commit/c6476c3)), closes [#230](https://github.com/CloudPirates-io/helm-charts/issues/230)
6 changes: 6 additions & 0 deletions charts/etcd/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: oci://registry-1.docker.io/cloudpirates
version: 1.1.1
digest: sha256:8da3c04e2c4a1ebfff4f21936399938e0f3fcf9fbd2f7135e7e907ce725b8f00
generated: "2025-10-08T12:49:37.237547+02:00"
26 changes: 26 additions & 0 deletions charts/etcd/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: v2
name: etcd
description: etcd is a distributed reliable key-value store for the most critical data of a distributed system
type: application
version: 0.1.1
appVersion: "3.6.0"
keywords:
- etcd
- distributed
- key-value
- consensus
- raft
home: https://etcd.io/
sources:
- https://github.com/etcd-io/etcd
annotations:
category: Database
license: Apache-2.0
maintainers:
- name: CloudPirates GmbH & Co. KG
url: https://www.cloudpirates.io
dependencies:
- name: common
version: "1.x.x"
repository: oci://registry-1.docker.io/cloudpirates
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/etcd/icon/color/etcd-icon-color.svg
Loading
Loading