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
22 changes: 11 additions & 11 deletions .buildkite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,17 @@ fi

The following table lists files used in CI/CD and their purposes.

|File |Purpose |
|:----------------------------:|:-----------------------------------------------------:|
|.yamllint.yaml |Configuration for linting the yaml aspects of charts |
|.buildkite/cr.yaml |Configuration for Chart Releaser |
|.buildkite/ct.yaml |Configuration for Chart Testing (linting tasks) |
|.buildkite/ct.version.yaml |Configuration for Chart Testing (version check task) |
|.buildkite/chart_schema.yaml |Configuration for checking the Chart.yaml schema |
|.buildkite/pipeline.yaml |The Buildkite pipeline template which is envsubst'd |
|.buildkite/scripts/pipeline.sh|The script to derive env vars to envsubst pipeline.yaml|
|.buildkite/hooks/post-checkout|This hook does tasks directly after the checkout |
|.buildkite/hooks/pre-command |This hook does tasks directly before the actual step |
| File | Purpose |
|:------------------------------:|:-------------------------------------------------------:|
| .yamllint.yaml | Configuration for linting the yaml aspects of charts |
| .buildkite/cr.yaml | Configuration for Chart Releaser |
| .buildkite/ct.yaml | Configuration for Chart Testing (linting tasks) |
| .buildkite/ct.version.yaml | Configuration for Chart Testing (version check task) |
| .buildkite/chart_schema.yaml | Configuration for checking the Chart.yaml schema |
| .buildkite/pipeline.yaml | The Buildkite pipeline template which is envsubst'd |
| .buildkite/scripts/pipeline.sh | The script to derive env vars to envsubst pipeline.yaml |
| .buildkite/hooks/post-checkout | This hook does tasks directly after the checkout |
| .buildkite/hooks/pre-command | This hook does tasks directly before the actual step |

[hooks]: https://buildkite.com/docs/agent/v3/hooks

Expand Down
25 changes: 12 additions & 13 deletions .buildkite/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@ env:
CHART_CHANGES: ${CHART_CHANGES}

steps:
- command: "ct --config .buildkite/ct.version.yaml lint"
- command: "make lint-chart-version"
key: "lint-version"
label: ":helm: Chart Version (Chart Testing)"
agents:
charts: "true"
if: build.branch != "gh-pages" && build.env("CHART_CHANGES") == "true"

- command: "ct --config .buildkite/ct.yaml lint"
- command: "make lint-chart"
key: "lint"
label: ":helm: Linting (Chart Testing)"
agents:
charts: "true"
if: build.branch != "gh-pages" && build.env("CHART_CHANGES") == "true"

- command: "ct --config .buildkite/ct.yaml list-changed --since HEAD~1 | xargs -n1 cr --config .buildkite/cr.yaml package"
key: "package-test"
- command: "make lint-docs"
key: "lint-docs"
label: ":markdown: Lint Documentation (helm-docs)"
if: build.branch != "gh-pages" && build.branch != "master" && build.env("CHART_CHANGES") == "true"

- command: "make lint-chart-package"
key: "lint-package"
label: ":package: Package Chart (Chart Releaser)"
artifact_paths:
- ".cr-release-packages/*"
Expand All @@ -29,16 +30,14 @@ steps:
continue_on_failure: true
if: build.branch == "master" && build.env("CHART_CHANGES") == "true"

- command: "ct --config .buildkite/ct.yaml list-changed --since HEAD~1 | xargs -n1 cr --config .buildkite/cr.yaml package"
- command: "make release-package"
key: "package"
label: ":package: Package Chart (Chart Releaser)"
artifact_paths:
- ".cr-release-packages/*"
agents:
charts: "true"
if: build.branch == "master" && build.env("CHART_CHANGES") == "true"

- command: "cr --config .buildkite/cr.yaml upload --auto-release"
- command: "make release-upload"
key: "upload"
label: ":github: Deploy Artifacts (Chart Releaser)"
agents:
Expand All @@ -47,7 +46,7 @@ steps:
- step: "package"
if: build.branch == "master" && build.env("CHART_CHANGES") == "true"

- command: "cr --config .buildkite/cr.yaml index --push"
- command: "make release-index"
key: "index"
label: ":k8s: Publish Chart Index (Chart Releaser)"
agents:
Expand Down
5 changes: 3 additions & 2 deletions .buildkite/scripts/pipeline.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#!/usr/bin/env bash

if [[ "${BUILDKITE_BRANCH}" == "master" ]]; then
export CHART_CHANGES=$(git diff --name-only HEAD~1 | sed -rn '/^charts\/[a-zA-Z0-9-]+\/(templates\/.*|crds\/.*|Chart.yaml|values.yaml|values.schema.json|LICENSE|README.md)/{q1}' && echo false || echo true)
export CHART_CHANGES=$(git diff --name-only HEAD~1 | sed -rn '/^charts\/[a-zA-Z0-9-]+\/(templates\/.*|crds\/.*|Chart.yaml|values.yaml|values.schema.json|LICENSE|README.md|README.md.gotmpl)/{q1}' && echo false || echo true)
else
export CHART_CHANGES=$(git diff --name-only `git merge-base --fork-point origin/master` | sed -rn '/^charts\/[a-zA-Z0-9-]+\/(templates\/.*|crds\/.*|Chart.yaml|values.yaml|values.schema.json|LICENSE|README.md)/{q1}' && echo false || echo true)
export CHART_CHANGES=$(git diff --name-only `git merge-base --fork-point origin/master` | sed -rn '/^charts\/[a-zA-Z0-9-]+\/(templates\/.*|crds\/.*|Chart.yaml|values.yaml|values.schema.json|LICENSE|README.md|README.md.gotmpl)/{q1}' && echo false || echo true)
fi

export CHART_CHANGES="true"
envsubst < .buildkite/pipeline.yaml
33 changes: 33 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
GO=go

docs: install-helm-docs
helm-docs

lint: lint-chart lint-chart-package lint-chart-version lint-docs

lint-chart:
@ct --config .buildkite/ct.yaml lint

lint-chart-version:
@ct --config .buildkite/ct.version.yaml lint

lint-chart-package:
@ct --config .buildkite/ct.yaml list-changed --since HEAD~1 | xargs -n1 cr --config .buildkite/cr.yaml package

lint-docs:
@(git diff-index --quiet HEAD charts/**/README.md) || (echo "Documentation is outdated, run make docs") && (git diff --color-words charts/**/README.md) && false
@echo "Documentation up to date"

install-helm-docs:
${GO} install github.com/norwoodj/helm-docs/cmd/helm-docs@latest

release: release-package release-upload release-index

release-package:
@ct --config .buildkite/ct.yaml list-changed --since HEAD~1 | xargs -n1 cr --config .buildkite/cr.yaml package

release-upload:
@cr --config .buildkite/cr.yaml upload --auto-release

release-index:
@cr --config .buildkite/cr.yaml index --push
4 changes: 2 additions & 2 deletions charts/authelia/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: authelia
version: 0.10.14
version: 0.10.15
kubeVersion: ">= 1.13.0-0"
description: Authelia is a Single Sign-On Multi-Factor portal for web apps
type: application
Expand Down Expand Up @@ -34,7 +34,7 @@ dependencies:
repository: https://charts.bitnami.com/bitnami
condition: configMap.session.redis.deploy
maintainers:
- name: James Elliott
- name: james-d-elliott
email: [email protected]
url: https://github.com/james-d-elliott
icon: https://avatars2.githubusercontent.com/u/59122411?s=200&v=4
Expand Down
31 changes: 30 additions & 1 deletion charts/authelia/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# authelia

![Version: 0.10.14](https://img.shields.io/badge/Version-0.10.14-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.39.4](https://img.shields.io/badge/AppVersion-4.39.4-informational?style=flat-square)
![Version: 0.10.15](https://img.shields.io/badge/Version-0.10.15-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.39.4](https://img.shields.io/badge/AppVersion-4.39.4-informational?style=flat-square)

Authelia is a Single Sign-On Multi-Factor portal for web apps

Expand All @@ -24,6 +24,35 @@ which users should be aware of:
3. Install the chart with `helm install authelia authelia/authelia` and optionally set your values with `--values values.yaml` or
via `--set [parameter]=[value]`.

### Expected Minimum Configuration

It is expected you will configure at least the following sections/values:

- The configMap section (the configMap follows a majority of the configuration options
in [the documentation](https://www.authelia.com/configuration))
- The `configMap.session.cookies` section contains the domain configuration for the Authelia portal and session
cookies:
- The full Authelia URL will be in the format of `https://[<subdomain>.]<domain>[/<subpath>]` (part within the square braces is
omitted if not configured) i.e. `domain` of `example.com` and `subdomain` empty yields `https://example.com` and
`subdomain` of `auth` yields `https://auth.example.com`. The `subpath` is also optionally included.
- The `domain` option is required.
- The `subdomain` option is generally required.
- The `path` option is generally **_NOT_** required or recommended. Every domain that has this option configured
MUST have the same value i.e. you can have one blank and one configured but all those that are configured must be
the same, and in addition if configured at all the `configMap.server.path` option must have the same value.

- The following sections require one of the sub-options enabled:
- The `configMap.storage` section:
- `postgres`
- `mysql`
- `local` (stateful)
- The `configMap.notifier` section:
- `smtp`
- `filesystem` (stateful)
- The `configMap.authentication_backend` section:
- `ldap`
- `file` (stateful)

## Maintainers

| Name | Email | Url |
Expand Down
29 changes: 29 additions & 0 deletions charts/authelia/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,35 @@ which users should be aware of:
3. Install the chart with `helm install authelia authelia/authelia` and optionally set your values with `--values values.yaml` or
via `--set [parameter]=[value]`.

### Expected Minimum Configuration
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Use consistent top-level heading
The new section appears under ## Getting Started but is marked as ###. To align with other primary sections (## Breaking Changes, ## Values Files, etc.), change:

-### Expected Minimum Configuration
+## Expected Minimum Configuration
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Expected Minimum Configuration
## Expected Minimum Configuration
🤖 Prompt for AI Agents
In charts/authelia/README.md.gotmpl at line 28, the heading "Expected Minimum
Configuration" is marked as a third-level heading (###) but should be a
second-level heading (##) to maintain consistency with other primary sections
like "Breaking Changes" and "Values Files". Change the heading from ### to ## to
align with the document's top-level heading structure.


It is expected you will configure at least the following sections/values:

- The configMap section (the configMap follows a majority of the configuration options
in [the documentation](https://www.authelia.com/configuration))
- The `configMap.session.cookies` section contains the domain configuration for the Authelia portal and session
cookies:
- The full Authelia URL will be in the format of `https://[<subdomain>.]<domain>[/<subpath>]` (part within the square braces is
omitted if not configured) i.e. `domain` of `example.com` and `subdomain` empty yields `https://example.com` and
`subdomain` of `auth` yields `https://auth.example.com`. The `subpath` is also optionally included.
- The `domain` option is required.
- The `subdomain` option is generally required.
- The `path` option is generally **_NOT_** required or recommended. Every domain that has this option configured
MUST have the same value i.e. you can have one blank and one configured but all those that are configured must be
the same, and in addition if configured at all the `configMap.server.path` option must have the same value.

- The following sections require one of the sub-options enabled:
- The `configMap.storage` section:
- `postgres`
- `mysql`
- `local` (stateful)
- The `configMap.notifier` section:
- `smtp`
- `filesystem` (stateful)
- The `configMap.authentication_backend` section:
- `ldap`
- `file` (stateful)

{{ template "chart.maintainersSection" . }}

{{ template "chart.sourcesSection" . }}
Expand Down