Skip to content
Merged
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
61 changes: 61 additions & 0 deletions .github/workflows/update-community-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Update Community Documentation

on:
schedule:
# Run weekly on Mondays at 3 AM UTC
# Adjust frequency as needed - could be nightly: '0 3 * * *'
- cron: '0 3 * * 1'
workflow_dispatch: # Allows manual triggering

permissions:
contents: write
pull-requests: write

jobs:
update-community-docs:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Update community docs
run: yarn download-remote-community

- name: Create or Update Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'chore(community): update docs from upstream'
signoff: true
title: 'chore(community): update docs from helm/community'
body: |
## 🔄 Automated Community Documentation Update

Updates community documentation from [helm/community](https://github.com/helm/community) repository.

### What this does:
- Downloads latest docs from helm/community
- Applies transformations (frontmatter, links, etc.)
- Creates PR if there are changes

### Review checklist:
- [ ] Verify docs render correctly with `yarn start`
- [ ] Check that no local files were overwritten

---
*This is an automated PR. See `.github/workflows/update-community-docs.yml` for details.*
branch: upstream-community-changes
delete-branch: true
labels: |
docs
community
5 changes: 5 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@ extend-exclude = [
"docs/changelog.md",
# v2 docs
"versioned_docs/version-2/*",
# Ignore typos on files imported from remote repos (fix upstream instead)
# See docusaurus.config.js customFields.communityDocs.remoteDocs[] for full list
"community/art/",
"community/hips/",
"community/meeting-notes/",
]
71 changes: 71 additions & 0 deletions ARCHITECTURAL_DECISIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,77 @@ Remove them only after:
2. All redirects are tested and working
3. No rollback scenarios require Hugo functionality

## Community Documentation Import

### Helm-Specific Requirement

The Helm project maintains community governance documents in a [separate repository](https://github.com/helm/community) that need to be included in the website as an unversioned documentation section with proper Docusaurus integration.

### Solution

Uses [docusaurus-plugin-remote-content](https://github.com/rdilweb/docusaurus-plugin-remote-content) to import and transform content at build time.

**Architecture:**
- **Multi-instance docs:** Community docs are a separate Docusaurus docs plugin instance with `id: "community"`, creating `/community/*` URLs
- **Content transformation:** Custom functions in `src/utils/communityDocsTransforms.js` handle all content processing
- **Configuration:** Centralized in `docusaurus.config.js` under `customFields.communityDocs`
- **Files committed to Git:** Imported files are tracked in version control to maintain clean git status and avoid complex .gitignore management
- **Build settings:** Uses `performCleanup: false` to prevent file deletion during i18n builds (workaround for [plugin issue #98](https://github.com/rdilweb/docusaurus-plugin-remote-content/issues/98))

### Content Transformation Features

**Import notice headers:** Every imported file gets a warning header indicating it shouldn't be edited directly, with a link to the source file in the helm/community repository.

**HIP (Helm Improvement Proposal) formatting:** HIP documents get special treatment:
- Metadata fields (hip, authors, created, status, etc.) displayed as a markdown table
- Sidebar labels include HIP number for easy navigation (e.g., "0023: Utilize Server Side Apply")
- Frontmatter cleaned to remove duplicate metadata

**Plain text file handling:** `.txt` files (like meeting notes) are automatically:
- Converted to `.md` files during import
- Title extracted from content headers
- Content wrapped in code blocks to preserve formatting

**Link transformations:** Only applied for configured exceptions - most links work as-is since the file structure mirrors the source repository.

### Why imported files are committed to Git

The `/community` directory mixes imported files from helm/community with locally-maintained community docs. Committing imported files to Git:

1. **Avoids complex .gitignore patterns** - No need to maintain a parallel list of which specific files to ignore
2. **Provides clean git status** - Contributors don't see dozens of untracked files during development
3. **Enables offline development** - With `noRuntimeDownloads: true`, `yarn start` works without network access
4. **Simplifies mental model** - All files in `/community` are tracked, regardless of source

The tradeoff of content duplication is acceptable since these files rarely change structure and the import notices clearly indicate they shouldn't be edited locally.

### Commands

- `yarn download-remote-community` - Fetch and transform latest content from helm/community repository
- `yarn clear-remote-community` - Remove imported files (useful for testing)

### Automated Updates

A GitHub Action (`.github/workflows/update-community-docs.yml`) runs weekly to:
1. Check for updates in helm/community repository
2. Apply transformations and import changes
3. Create or update a PR if there are changes
4. Skip if an identical PR already exists

The workflow can also be triggered manually through GitHub Actions UI.

### For Contributors

To add new community documents:
1. Add entry to `customFields.communityDocs.remoteDocs` in `docusaurus.config.js`
2. Include optional `meta` field for frontmatter overrides
3. Add link exceptions only if specific links need custom mapping
4. Run `yarn download-remote-community` to test import locally

To modify transformation logic:
1. Edit `src/utils/communityDocsTransforms.js` for content processing
2. Test changes with `yarn download-remote-community`

## Netlify Build Caching

### Problem
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING-ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Date: Thu Feb 2 11:41:15 2018 -0800
2. 원하는 저장소를 포크하여 코드 변경 사항을 개발하고 테스트하세요.
3. 풀 리퀘스트를 보내주세요.

코딩 규약 및 표준은 [공식 개발자 문서](https://helm.sh/docs/community/developers/)에 설명되어 있습니다.
코딩 규약 및 표준은 [공식 개발자 문서](/community/developers)에 설명되어 있습니다.

## 풀 리퀘스트

Expand Down
2 changes: 1 addition & 1 deletion README-ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Helm의 사전 릴리스 버전이 GA로 승격될 때, 사전 릴리스 문서

**우리 사이트와 문서의 컨텐츠 번역을 환영합니다** 전 세계에서 Helm에 대한 접근을 확장하는 데 도움이 되도록 합니다.

Helm.sh는 여러 언어를 지원합니다. 해외 사용자를 위한 컨텐츠 번역과 구성 가이드는 [헬름 문서 현지화](https://helm.sh/docs/community/localization/)를 참조하세요.
Helm.sh는 여러 언어를 지원합니다. 해외 사용자를 위한 컨텐츠 번역과 구성 가이드는 [헬름 문서 현지화](/community/localization)를 참조하세요.

---

Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,24 @@ Helm v3 documentation is located under `versioned-docs/version-3`. The sidebar f

For earlier versions, see the dev-v2 branch of the main Helm repo [here](https://github.com/helm/helm/tree/dev-v2/docs).

### Community Documentation

The Community section imports content from the [helm/community](https://github.com/helm/community) repository. To manage these imported docs:

#### Download/Update Community Docs
```bash
yarn download-remote-community
```
This command fetches the latest community documentation from the helm/community repository and applies transformations for proper integration.

#### Clear Community Docs
```bash
yarn clear-remote-community
```
This removes the imported community documentation files (useful before re-importing or for troubleshooting).

The imported docs configuration is defined in `docusaurus.config.js` under `customFields.communityDocs`. See `ARCHITECTURAL_DECISIONS.md` for details on the implementation.

### Updating the Helm CLI Reference Docs

The documentation for the list of Helm CLI Commands are [exported](https://github.com/helm/helm/blob/a6b2c9e2126753f6f94df231e89b2153c2862764/cmd/helm/root.go#L169) from the main helm project repo and rendered [here on the website](https://helm.sh/docs/helm) as a reference.
Expand Down
3 changes: 1 addition & 2 deletions blog/2020-08-13-helm-v2-deprecation-timeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,4 @@ _After November 13, 2020, you will see these changes:_

The community has found Helm v3 to be a vastly improved experience, and community resources like the [helm-2to3 plugin](https://github.com/helm/helm-2to3) are available to assist you in your essential migration. Please ensure that you migrate to Helm v3 before the November 13th deadline, as operating software which no longer receives security patches is a risk best avoided.

We want to take this moment to thank everyone in the community who has used Helm or contributed an issue or pull request to help improve it. Many great ideas that don’t fit into Helm itself have much success as [related ecosystem projects](https://helm.sh/docs/community/related/). Every time you submit updates to the docs, you’re helping others get started and be more effective with Helm. Thank you all!

We want to take this moment to thank everyone in the community who has used Helm or contributed an issue or pull request to help improve it. Many great ideas that don’t fit into Helm itself have much success as [related ecosystem projects](/community/related). Every time you submit updates to the docs, you’re helping others get started and be more effective with Helm. Thank you all!
26 changes: 26 additions & 0 deletions community/MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: Helm Org Maintainers
---

<!--
THIS FILE IS AUTOMATICALLY IMPORTED FROM THE HELM/COMMUNITY REPOSITORY
DO NOT EDIT THIS FILE DIRECTLY - IT WILL BE OVERWRITTEN

TO MAKE CHANGES:
- Edit the source file at: https://github.com/helm/community/blob/main/MAINTAINERS.md
-->

* [Karen Chu](https://github.com/karenhchu)
* [Matt Butcher](https://github.com/technosophos) (chair)
* [Matt Farina](https://github.com/mattfarina)
* [Reinhard Nägele](https://github.com/unguiculus)
* [Scott Rigby](https://github.com/scottrigby)

## Emeritus

* [Adam Reese](https://github.com/adamreese)
* [Adnan Abdulhussein](https://github.com/prydonius)
* [Josh Dolitsky](https://github.com/jdolitsky)
* [Martin Hickey](https://github.com/hickeyma)
* [Matt Fisher](https://github.com/bacongobbler)
* [Vic Iglesias](https://github.com/viglesiasce)
90 changes: 90 additions & 0 deletions community/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
sidebar_position: 1
title: Helm Community
---

<!--
THIS FILE IS AUTOMATICALLY IMPORTED FROM THE HELM/COMMUNITY REPOSITORY
DO NOT EDIT THIS FILE DIRECTLY - IT WILL BE OVERWRITTEN

TO MAKE CHANGES:
- Edit the source file at: https://github.com/helm/community/blob/main/README.md
-->

Welcome to the Helm community!

This is the starting point for becoming a contributor to the Helm project - improving docs, improving code, giving talks etc.

## Communicating

The [communication](communication.md) page lists communication channels like chat,
issues, mailing lists, meetings, conferences, etc.

## Assets

- Helm logos are located at [cncf/artwork](https://github.com/cncf/artwork/blob/master/examples/graduated.md#helm-logos)
- Helm website and docs are located at [helm/helm-www](https://github.com/helm/helm-www)
- Helm brand examples and guidelines: [art](/community/art)
- Helm themed presentation template: [slides](https://github.com/helm/community/tree/main/slides)

## How Can I Help?

#### First, you should join our communication forums:

- Follow us on [Twitter](communication.md#social-media)
- Join us on [Slack](communication.md#slack)
- Subscribe to our [mailing lists](communication.md#mailing-lists)
- Join the [weekly meeting](communication.md#meetings)

#### Next, get set-up with the basics (if not already done so):

- [Documentation](https://docs.helm.sh/)
- [Issues](https://github.com/helm/helm/issues)
- [PRs](https://github.com/helm/helm/pulls)
- [Quickstart Guide](https://docs.helm.sh/using_helm/#quickstart)
- [Developer Guide](https://docs.helm.sh/developers/)

Now, you can get down to business!

A good way to learn is:

- Check out the code and look at code reviews. Documentation and test are part of the code base.
- Try reproducing issues and get an overview of user problems.
- Talk to people on Slack and ask questions.

Areas you can start working on:

- Documentation (like the text you are reading now) can always use improvement!
- We can always do with more test coverage.
- Review open PRs. Add comments, feedback or give a LGTM!
- Try out some easy-to-fix bugs which may be marked with the [good first issue] tag
- Just ask an [owner] for suggestions.

#### Last but not least, we'd love to know what you want to see on the [Helm Blog](https://helm.sh/blog).
Feel free to submit a blog post topic [here](blog-topics.md).

## Your First Contribution

We recommend that you work on existing [issues] before attempting to develop a new feature.

Find an existing issue (e.g. one marked [good first issue], or simply ask an [owner] for suggestions),
and respond on the issue thread expressing interest in working on it.

This helps other people know that the issue is active, and hopefully prevents duplicated efforts.

Each commit must be signed off in git, as described by
[the article](https://www.helm.sh/blog/helm-dco/index.html)
describing Helm's switch to DCO.

If you want to work on a new idea of relatively small scope:

1. Submit an issue describing your proposed change to the repo in question.
1. The repo owners will respond to your issue promptly.
1. If your proposed change is accepted, start work in your fork, signing off each commit as described above.
1. Submit a [pull request] containing a tested change.


[good first issue]: https://github.com/helm/helm/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3A%22good+first+issue%22
[issues]: https://github.com/helm/helm/issues
[pull request]: https://github.com/helm/helm/blob/main/CONTRIBUTING.md#pull-requests
[owner]: https://github.com/kubernetes/helm/blob/main/OWNERS
Loading