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
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-idea.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Feature Idea
description: Propose a new kernel feature idea
labels: ["wishlist"]
body:
- type: input
id: title
attributes:
label: Feature title
description: A short, descriptive title for the feature.
placeholder: "e.g., Support detached mounts with pivot_root()"
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: Describe the feature and how it would work.
validations:
required: true

- type: textarea
id: usecase
attributes:
label: Use-Case
description: Why is this feature valuable? What problem does it solve?
validations:
required: true

- type: dropdown
id: category
attributes:
label: Category
description: Which subsystem area does this relate to?
multiple: true
options:
- mounts
- pidfd
- namespaces
- filesystems
- sockets
- cgroups
- block-devices
- security
- io-uring
- processes
- other

- type: textarea
id: links
attributes:
label: Related links
description: Links to mailing list threads, patches, documentation, etc.
17 changes: 17 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Feature

<!-- Title of the feature being added, updated, or completed -->

## Type

<!-- Check one -->
- [ ] New wishlist item
- [ ] Moving item to in-progress
- [ ] Marking item as completed
- [ ] Other (describe below)

## Checklist

- [ ] Front matter is complete (`title`, `status`, `categories`)
- [ ] Use-case section is included
- [ ] Cc: Christian Brauner noted if implementing a feature from this list
16 changes: 15 additions & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
Expand All @@ -27,6 +27,20 @@ jobs:
- name: Build
run: cd website && hugo --minify -d ../public

- name: Validate front matter
run: |
errors=0
for f in $(find website/content -name '*.md' ! -name '_index.md'); do
if ! head -1 "$f" | grep -q '^---$'; then
echo "ERROR: $f missing front matter"
errors=$((errors + 1))
fi
done
if [ "$errors" -gt 0 ]; then
echo "$errors file(s) with missing front matter"
exit 1
fi

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref == 'refs/heads/main' }}
Expand Down
77 changes: 77 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Contributing

Thank you for your interest in the UAPI Group Kernel Feature Wishlist. This
document explains how to propose new features, claim existing ones, or mark
items as completed.

## Proposing a new feature

1. Create a new Markdown file in the appropriate section directory
under `website/content/`:
- `wishlist/` for new ideas
- `in-progress/` for features you are actively working on

2. Use the following front matter template:

```yaml
---
title: "Short descriptive title"
weight: 10
status: wishlist
categories:
- mounts
- namespaces
---
```

3. Include a clear description of the feature and a **Use-Case** section
explaining why this would be valuable.

4. Open a pull request.

## Claiming an item

To indicate you are working on a wishlist item:

1. Move the file from `website/content/wishlist/` to
`website/content/in-progress/`.
2. Update the `status` field in the front matter to `in-progress`.
3. Open a pull request with your GitHub handle or email address noted.

## Marking an item as completed

When a feature has been merged into the kernel:

1. Move the file from its current location to `website/content/completed/`.
2. Update the `status` field to `completed`.
3. Add a `commit` field to the front matter with the commit SHA.
4. Open a pull request.

## Attribution

**When implementing ideas on this list or ideas inspired by this list,
please point that out explicitly and clearly in the associated patches
and Cc `Christian Brauner <brauner (at) kernel (dot) org>`.**

## Categories

Use one or more of the following categories in front matter:

- `mounts` — mount namespaces, pivot_root, move_mount, statmount
- `pidfd` — pidfd xattrs, CLONE_PIDFD, SCM_PIDFD
- `namespaces` — user namespaces, PID namespaces, mount namespaces
- `filesystems` — nullfs, blobfs, overlayfs, tmpfs, binfmt_misc
- `sockets` — AF_UNIX, SCM_RIGHTS, SCM_PIDFD
- `cgroups` — device cgroups, coredump limits
- `block-devices` — loop devices, dm-verity, diskseq
- `security` — LSM hooks, user namespace restrictions
- `io-uring` — io_uring extensions
- `processes` — pidfd, clone3, waitid, prctl

## Local development

```sh
git clone --recurse-submodules https://github.com/uapi-group/kernel-features.git
cd kernel-features/website
hugo server
```
Loading