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
9 changes: 7 additions & 2 deletions .github/workflows/update-landscape.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ on:
push:
branches: [main]
paths:
- 'org.yaml'
- 'project.yaml'
Comment thread
ahmadqasembader marked this conversation as resolved.
Resolved
# Multi-project repositories keep each project in its own directory,
# exactly one level deep.
- '*/project.yaml'
workflow_dispatch:

jobs:
Expand All @@ -19,7 +23,8 @@ jobs:
fetch-depth: 0

- name: Update Landscape
uses: cncf/automation/.github/actions/landscape-update@53810a548b46f33421cd67e57d16e4b7251416d9
uses: cncf/automation/.github/actions/landscape-update@85e0bcd298817a6e26e286d6b22615f8c81b4e4b
with:
project_file: 'project.yaml'
# No project_file input: the action discovers every project and
# opens one landscape pull request per project.
token: ${{ secrets.LANDSCAPE_REPO_TOKEN }}
19 changes: 14 additions & 5 deletions .github/workflows/validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,21 @@ name: Validate Project Metadata
on:
pull_request:
paths:
- 'org.yaml'
- 'project.yaml'
- 'maintainers.yaml'
# Multi-project repositories keep each project in its own directory,
# exactly one level deep.
- '*/project.yaml'
- '*/maintainers.yaml'
push:
branches: [main]
paths:
- 'org.yaml'
- 'project.yaml'
- 'maintainers.yaml'
- '*/project.yaml'
- '*/maintainers.yaml'
workflow_dispatch:

jobs:
Expand All @@ -20,9 +28,9 @@ jobs:
with:
fetch-depth: 0

- uses: cncf/automation/.github/actions/validate-project@53810a548b46f33421cd67e57d16e4b7251416d9
with:
project_file: 'project.yaml'
- uses: cncf/automation/.github/actions/validate-project@85e0bcd298817a6e26e286d6b22615f8c81b4e4b
# No project_file input: the action discovers the repository layout,
# so this step is identical for single- and multi-project repositories.

validate-maintainers:
runs-on: ubuntu-latest
Expand All @@ -31,9 +39,10 @@ jobs:
with:
fetch-depth: 0

- uses: cncf/automation/.github/actions/validate-maintainers@53810a548b46f33421cd67e57d16e4b7251416d9
- uses: cncf/automation/.github/actions/validate-maintainers@85e0bcd298817a6e26e286d6b22615f8c81b4e4b
with:
maintainers_file: 'maintainers.yaml'
# No maintainers_file input: the action discovers every maintainers
# file in the repository.
# Disabled until the LFX LLT issue is resolved. Validation is done manually for now.
verify_maintainers: 'false'
env:
Expand Down
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,35 @@
# Fluentd `.project`
# Fluent `.project`

`.project` (dot-project) is a CNCF initiative to centralize and automate metadata management for all CNCF projects.
This repository holds the canonical metadata for [Fluentd](https://www.fluentd.org/) and is maintained by the CNCF automation tooling.
This repository holds the canonical metadata for the CNCF projects maintained in the `fluent` organization, and is maintained by the CNCF automation tooling.

## What's in this repo

| File | Purpose |
|------|---------|
| `project.yaml` | Canonical project metadata (name, maturity, repositories, governance links, …) |
| `maintainers.yaml` | Maintainer and reviewer roster used for drift detection and mailing-list sync |
| `org.yaml` | Index of the CNCF projects maintained in this organization |
| `<project>/project.yaml` | Canonical metadata for one project (name, maturity, repositories, governance links, …) |
| `<project>/maintainers.yaml` | Maintainer and reviewer roster for one project |
| `CODEOWNERS` | Ensures PRs to this repo require maintainer approval |
| `.github/workflows/validate.yaml` | CI — validates `project.yaml` and `maintainers.yaml` on every PR |
| `.github/workflows/update-landscape.yml` | Automatically proposes landscape updates when `project.yaml` changes |

## Projects in this repository

This GitHub organization maintains more than one CNCF project. Each is a
separate project from CNCF's point of view — its own maturity, its own
landscape entry — so each owns a directory with its own metadata, and
`org.yaml` indexes them:

| Project | Directory |
|---------|-----------|
| Fluentd | [`fluentd/`](./fluentd/) |
| Fluent Bit | [`fluent-bit/`](./fluent-bit) |

Add or remove a project by editing `org.yaml` and its directory together;
validation fails if the two disagree. See the
[repository layouts reference](https://github.com/cncf/automation/tree/main/utilities/dot-project#repository-layouts).

## Keeping metadata up to date

Open a pull request against this repository to update any metadata field.
Expand Down
37 changes: 37 additions & 0 deletions fluent-bit/maintainers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Maintainer roster for Fluent Bit
# Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project


# Maintainers: Please connect your GitHub handle to your LFID on openprofile.dev to enable automatic access to CNCF resources. The system will use your primary email address for setup.
maintainers:
- project_id: "fluent-bit"
org: "fluent"
teams:
# Source of truth: https://github.com/fluent/fluent-bit/blob/master/MAINTAINERS.md
# TODO: Fluent Bit maintainers — please verify this roster
- name: "fluent-bit-maintainers"
members:
Comment thread
ahmadqasembader marked this conversation as resolved.
Resolved
- edsiper
- leonardo-albertovich
- koleini
- cosmo0920
- fujimotos
- PettitWesley
- clamoriniere
- sxd
- niedbalski
- patrick-stephens
# Unmanaged teams: teams with "managed: false" are tracked in this
# file for documentation but are excluded from CNCF resource
# provisioning (mailing lists, service desk, Copilot seats, etc).
#
# Active contributors who do not need full CNCF resource access:
# - name: "reviewers"
# managed: false
# members:
# - reviewer-handle
#
# Former maintainers (remove this section if not applicable):
# - name: "emeritus"
# managed: false
# members: []
64 changes: 64 additions & 0 deletions fluent-bit/project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# .project metadata for Fluent Bit
# Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project

# TODO: Set the TOC issue for the maturity_log entry
# TODO: Verify the repository list and package_managers

schema_version: "1.0.0"
slug: "fluent-bit"
name: "Fluent Bit"
description: "Fast and Lightweight Logs, Metrics and Traces processor for Linux, BSD, OSX and Windows"
type: "project"
project_lead: "edsiper"
slack_channels:
- name: "#fluent-bit"
primary: true

maturity_log:
# Fluent Bit graduated with Fluentd, as a sub-project under its umbrella
# (see https://github.com/fluent/fluent-bit/blob/master/GOVERNANCE.md).
- phase: "graduated"
date: "2019-04-11T00:00:00Z"
issue: "https://github.com/cncf/toc/issues/XXX" # TODO: Set TOC issue URL

repositories:
- url: "https://github.com/fluent/fluent-bit"
primary: true
- url: "https://github.com/fluent/fluent-bit-docs"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we include maintainers for this as well, e.g. @eschabell?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@patrick-stephens @edsiper I thought all the work I do was maintainers work...


website: "https://fluentbit.io"

artwork: "https://raw.githubusercontent.com/cncf/artwork/main/projects/fluentd/fluentbit/icon/fluentbit-icon-color.svg"

adopters:
path: "https://github.com/fluent/fluent-bit/#-production-usage"

# Images are built once for ghcr.io and promoted to the other registries.
package_managers:
docker: "fluent/fluent-bit"
ghcr: "ghcr.io/fluent/fluent-bit"

security:
policy:
path: "https://github.com/fluent/fluent-bit/blob/master/SECURITY.md"
contact:
advisory_url: "https://github.com/fluent/fluent-bit/security/advisories/new"

governance:
contributing:
path: "https://github.com/fluent/fluent-bit/blob/master/CONTRIBUTING.md"
code_of_conduct:
path: "https://github.com/fluent/fluent-bit/blob/master/CODE_OF_CONDUCT.md"

legal:
license:
path: "https://github.com/fluent/fluent-bit/blob/master/LICENSE"
identity_type:
has_dco: true # AUTO-DETECTED — please verify
has_cla: false # AUTO-DETECTED — please verify
dco_url:
path: "https://developercertificate.org/"

documentation:
readme:
path: "https://github.com/fluent/fluent-bit/blob/master/README.md"
File renamed without changes.
10 changes: 4 additions & 6 deletions project.yaml → fluentd/project.yaml

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

slack_channels - name field is set to "#fluent-bit", it should be "#fluentd".

@ahmadqasembader ahmadqasembader Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for catching it. Done.

Can you take a look at the other TODOs in the file please. They need the project maintainers attention. Thanks

Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# .project metadata for Fluentd
# Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project

# TODO: Add package_managers if distributed via registries

schema_version: "1.0.0"
slug: "fluentd"
name: "Fluentd"
description: "Fluentd is an open source data collector for unified logging layer"
type: "project"
project_lead: "sonots" # TODO: AUTO-DETECTED — please verify
slack_channels: # TODO: AUTO-DETECTED — please verify the channel(s) below
- name: "#fluent-bit"
- name: "#fluentd"
primary: true

maturity_log:
Expand All @@ -31,9 +29,9 @@ adopters:
path: "https://github.com/fluent/fluentd/blob/master/ADOPTERS.md"


# TODO: Add package manager identifiers if your project is distributed via registries
# package_managers:
# docker: "fluent/fluentd"
package_managers:
docker: "fluent/fluentd"
ghcr: "ghcr.io/fluent/fluentd"

social:
twitter: "https://twitter.com/fluentd"
Expand Down
14 changes: 14 additions & 0 deletions org.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Index of the CNCF projects maintained in this GitHub organization.
# Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project
#
# Each project owns a directory containing its own project.yaml and
# maintainers.yaml. Remove an entry here only when CNCF archives the project.

schema_version: "1.0.0"
org: "fluent"

projects:
# Fluentd (graduated)
- id: "fluentd"
# Fluent Bit (graduated)
- id: "fluent-bit"
Loading