From 61f7087efb2fec6155f69d9d969ded2c61dc7fd8 Mon Sep 17 00:00:00 2001 From: ahmadqasembader Date: Wed, 7 Oct 2026 13:25:25 +0300 Subject: [PATCH 1/5] refactor: split FluentD and FluentBit into 2 projects Signed-off-by: ahmadqasembader --- .github/workflows/update-landscape.yml | 9 ++- .github/workflows/validate.yaml | 19 ++++-- README.md | 24 +++++-- fluent-bit/maintainers.yaml | 36 +++++++++++ fluent-bit/project.yaml | 66 ++++++++++++++++++++ maintainers.yaml => fluentd/maintainers.yaml | 0 project.yaml => fluentd/project.yaml | 0 org.yaml | 14 +++++ 8 files changed, 157 insertions(+), 11 deletions(-) create mode 100644 fluent-bit/maintainers.yaml create mode 100644 fluent-bit/project.yaml rename maintainers.yaml => fluentd/maintainers.yaml (100%) rename project.yaml => fluentd/project.yaml (100%) create mode 100644 org.yaml diff --git a/.github/workflows/update-landscape.yml b/.github/workflows/update-landscape.yml index f6baa5f..8ae48e5 100644 --- a/.github/workflows/update-landscape.yml +++ b/.github/workflows/update-landscape.yml @@ -3,7 +3,11 @@ on: push: branches: [main] paths: + - 'org.yaml' - 'project.yaml' + # Multi-project repositories keep each project in its own directory, + # exactly one level deep. + - '*/project.yaml' workflow_dispatch: jobs: @@ -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 }} diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml index 5f64ee9..07d0ab5 100644 --- a/.github/workflows/validate.yaml +++ b/.github/workflows/validate.yaml @@ -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: @@ -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 @@ -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: diff --git a/README.md b/README.md index e493112..1d08a5d 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,34 @@ -# 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.yaml` | Canonical metadata for one project (name, maturity, repositories, governance links, …) | +| `/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/` | + +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. diff --git a/fluent-bit/maintainers.yaml b/fluent-bit/maintainers.yaml new file mode 100644 index 0000000..5ed26a5 --- /dev/null +++ b/fluent-bit/maintainers.yaml @@ -0,0 +1,36 @@ +# 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: + - edsiper + - leonardo-albertovich + - koleini + - cosmo0920 + - fujimotos + - PettitWesley + - clamoriniere + - sxd + - niedbalski + # 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: [] \ No newline at end of file diff --git a/fluent-bit/project.yaml b/fluent-bit/project.yaml new file mode 100644 index 0000000..91b6ac9 --- /dev/null +++ b/fluent-bit/project.yaml @@ -0,0 +1,66 @@ +# .project metadata for Fluent Bit +# Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project + +# TODO: Set project_lead GitHub handle +# 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" +# TODO: Set project lead GitHub handle +# project_lead: "github-handle" +slack_channels: # TODO: AUTO-DETECTED — please verify the channel(s) below + - 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" + +website: "https://fluentbit.io" + +artwork: "https://raw.githubusercontent.com/cncf/artwork/main/projects/fluentd/fluentbit/icon/fluentbit-icon-color.svg" + +# TODO: Add ADOPTERS.md if your project tracks adopters +# adopters: +# path: "https://github.com/fluent/fluent-bit/blob/master/ADOPTERS.md" + +# TODO: Add package manager identifiers if your project is distributed via registries +# package_managers: +# docker: "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" \ No newline at end of file diff --git a/maintainers.yaml b/fluentd/maintainers.yaml similarity index 100% rename from maintainers.yaml rename to fluentd/maintainers.yaml diff --git a/project.yaml b/fluentd/project.yaml similarity index 100% rename from project.yaml rename to fluentd/project.yaml diff --git a/org.yaml b/org.yaml new file mode 100644 index 0000000..69f5d5f --- /dev/null +++ b/org.yaml @@ -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" \ No newline at end of file From 24ed2a21c55f6de510dcf790f31e6740bcd54884 Mon Sep 17 00:00:00 2001 From: Ahmad Bader <67756902+ahmadqasembader@users.noreply.github.com> Date: Thu, 8 Oct 2026 10:15:40 +0300 Subject: [PATCH 2/5] change Slack channel name in project.yaml Updated Slack channel name from '#fluent-bit' to '#fluentd'. --- fluent-bit/project.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fluent-bit/project.yaml b/fluent-bit/project.yaml index 91b6ac9..f9a87d0 100644 --- a/fluent-bit/project.yaml +++ b/fluent-bit/project.yaml @@ -12,8 +12,8 @@ description: "Fast and Lightweight Logs, Metrics and Traces processor for Linux, type: "project" # TODO: Set project lead GitHub handle # project_lead: "github-handle" -slack_channels: # TODO: AUTO-DETECTED — please verify the channel(s) below - - name: "#fluent-bit" +slack_channels: + - name: "#fluentd" primary: true maturity_log: @@ -63,4 +63,4 @@ legal: documentation: readme: - path: "https://github.com/fluent/fluent-bit/blob/master/README.md" \ No newline at end of file + path: "https://github.com/fluent/fluent-bit/blob/master/README.md" From 99c92dc06182b29a83df615493e283e7786e06bf Mon Sep 17 00:00:00 2001 From: ahmadqasembader Date: Fri, 9 Oct 2026 16:15:07 +0300 Subject: [PATCH 3/5] fix: address PR review feedback Signed-off-by: ahmadqasembader --- fluent-bit/maintainers.yaml | 1 + fluent-bit/project.yaml | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/fluent-bit/maintainers.yaml b/fluent-bit/maintainers.yaml index 5ed26a5..3b2b3f8 100644 --- a/fluent-bit/maintainers.yaml +++ b/fluent-bit/maintainers.yaml @@ -20,6 +20,7 @@ maintainers: - 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). diff --git a/fluent-bit/project.yaml b/fluent-bit/project.yaml index f9a87d0..8db127c 100644 --- a/fluent-bit/project.yaml +++ b/fluent-bit/project.yaml @@ -1,7 +1,6 @@ # .project metadata for Fluent Bit # Documentation: https://github.com/cncf/automation/tree/main/utilities/dot-project -# TODO: Set project_lead GitHub handle # TODO: Set the TOC issue for the maturity_log entry # TODO: Verify the repository list and package_managers @@ -10,10 +9,9 @@ slug: "fluent-bit" name: "Fluent Bit" description: "Fast and Lightweight Logs, Metrics and Traces processor for Linux, BSD, OSX and Windows" type: "project" -# TODO: Set project lead GitHub handle -# project_lead: "github-handle" +project_lead: "edsiper" slack_channels: - - name: "#fluentd" + - name: "#fluent-bit" primary: true maturity_log: @@ -32,13 +30,13 @@ website: "https://fluentbit.io" artwork: "https://raw.githubusercontent.com/cncf/artwork/main/projects/fluentd/fluentbit/icon/fluentbit-icon-color.svg" -# TODO: Add ADOPTERS.md if your project tracks adopters -# adopters: -# path: "https://github.com/fluent/fluent-bit/blob/master/ADOPTERS.md" +adopters: + path: "https://github.com/fluent/fluent-bit/#-production-usage" -# TODO: Add package manager identifiers if your project is distributed via registries -# package_managers: -# docker: "fluent/fluent-bit" +# 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: From 98504386dd54279bc17965d441e92e83f3a72a3d Mon Sep 17 00:00:00 2001 From: ahmadqasembader Date: Fri, 9 Oct 2026 16:22:26 +0300 Subject: [PATCH 4/5] fix slack channel and add package_manager Signed-off-by: ahmadqasembader --- fluentd/project.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/fluentd/project.yaml b/fluentd/project.yaml index 416ba73..558501f 100644 --- a/fluentd/project.yaml +++ b/fluentd/project.yaml @@ -1,8 +1,6 @@ # .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" @@ -10,7 +8,7 @@ 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: @@ -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" From cab79ac1212fc0e3d3ce227ae69c1217d67b7114 Mon Sep 17 00:00:00 2001 From: Ahmad Bader <67756902+ahmadqasembader@users.noreply.github.com> Date: Fri, 9 Oct 2026 19:13:40 +0300 Subject: [PATCH 5/5] update README.md Co-authored-by: Pat --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d08a5d..76966ce 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,8 @@ landscape entry — so each owns a directory with its own metadata, and | Project | Directory | |---------|-----------| -| Fluentd | `fluentd/` | +| 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