Skip to content

Add organization-wide community health files - #19

Merged
openshift-merge-bot[bot] merged 3 commits into
medik8s:mainfrom
mpryc:fix-contributing-md
Aug 9, 2026
Merged

Add organization-wide community health files#19
openshift-merge-bot[bot] merged 3 commits into
medik8s:mainfrom
mpryc:fix-contributing-md

Conversation

@mpryc

@mpryc mpryc commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Why we need this PR

Medik8s currently has no organization-wide community health files. This makes it harder for new community contributors to understand our workflow, conventions, and expectations. GitHub's community profile checklist recommends these as standard community health files.

Changes made

  • Add CONTRIBUTING.md covering: development workflow, PR process (fork-based, two-approval requirement), code style, testing, commit guidelines (DCO and cryptographic signing), review and approval (Prow commands), and security reporting.
  • Add SECURITY.md to enable GitHub's built-in "Report a vulnerability" button across all repos.
  • Add CODE_OF_CONDUCT.md adopting the Contributor Covenant v2.1.
  • Update README.md to reference the new community health files.

Which issue(s) this PR fixes

Fixes RHWA-1171

Test plan

Documentation-only change. No code, no tests required.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive contributor guide covering contribution workflow, local build/test guidance, code style expectations, commit/sign-off requirements, review/CI expectations, testing guidance, and reporting channels.
    • Updated the main README to describe the repository’s purpose and added direct links to key community health documents and templates.
    • Added a code of conduct with reporting instructions for unacceptable behavior.
    • Added a security policy directing confidential vulnerability reporting via maintainers or private security advisories.

@openshift-ci
openshift-ci Bot requested review from razo7 and slintes June 26, 2026 09:59
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 407fd664-1468-408d-bc4c-636f93df6a0e

📥 Commits

Reviewing files that changed from the base of the PR and between 15958c7 and f7662ae.

📒 Files selected for processing (4)
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • README.md
  • SECURITY.md
✅ Files skipped from review due to trivial changes (4)
  • README.md
  • CODE_OF_CONDUCT.md
  • SECURITY.md
  • CONTRIBUTING.md

📝 Walkthrough

Walkthrough

Adds repository contribution, conduct, and security documentation and updates the README to link to the new community health files.

Changes

Contribution guide and repository policy docs

Layer / File(s) Summary
Introduction and setup
CONTRIBUTING.md, README.md, CODE_OF_CONDUCT.md, SECURITY.md
Adds the guide introduction, medik8s scope, prerequisites, repository layout, local setup commands, README links, and the new conduct and security documents.
Workflow and validation
CONTRIBUTING.md
Describes branching, pull request handling, code style rules, and unit and E2E testing guidance.
Commit, review, and support rules
CONTRIBUTING.md
Defines DCO sign-off, commit message conventions, review and approval requirements, security reporting, help channels, and Apache 2.0 contribution terms.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the addition of organization-wide community health files reflected in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

40-40: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Add text language specifier to plain-text fenced code blocks.

markdownlint flags these blocks for missing language identifiers. While purely cosmetic, adding text resolves the warnings and ensures consistent rendering:

-```
+```text

Applies to the repository tree (line 40), the Signed-off-by example (line 167), and the commit message template (line 186).

Also applies to: 167-167, 186-186

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` at line 40, Update the plain-text fenced code blocks in the
CONTRIBUTING.md examples to use the text language specifier instead of an empty
fence. Locate the markdown examples for the repository tree, the Signed-off-by
example, and the commit message template, and change each affected fenced block
to a text-labeled fence so markdownlint no longer reports missing language
identifiers.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@CONTRIBUTING.md`:
- Line 40: Update the plain-text fenced code blocks in the CONTRIBUTING.md
examples to use the text language specifier instead of an empty fence. Locate
the markdown examples for the repository tree, the Signed-off-by example, and
the commit message template, and change each affected fenced block to a
text-labeled fence so markdownlint no longer reports missing language
identifiers.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bd6bf905-2a86-4065-a046-820f1d57bba9

📥 Commits

Reviewing files that changed from the base of the PR and between 9b21474 and 8e1c35e.

📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • README.md

Comment thread CONTRIBUTING.md
Comment thread CONTRIBUTING.md
git commit --amend -s
```

### Cryptographic Signing (Optional but Encouraged)

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.

Addresses conversations and PR from #14 (comment)

Comment thread CONTRIBUTING.md

Each repository has an `OWNERS` file listing approvers and reviewers. PRs require both `/lgtm` and `/approve` from two different OWNERS members before they can be merged.

We use [Prow](https://docs.prow.k8s.io/) to manage CI and merging. You might see maintainers leave comments like:

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.

@mpryc Note: Review if this is configured in prow across all repos, so we don't write inaccurate information.

@mpryc
mpryc force-pushed the fix-contributing-md branch 2 times, most recently from 247324a to a760936 Compare June 26, 2026 10:12
Add CONTRIBUTING.md, SECURITY.md, and CODE_OF_CONDUCT.md as
organization-wide community health files for all medik8s repositories.

CONTRIBUTING.md covers development workflow, PR process, code style,
testing, commit guidelines (DCO and cryptographic signing), review
and approval (Prow commands, two-approval requirement), and security
reporting.

SECURITY.md enables GitHub's built-in "Report a vulnerability" button.

CODE_OF_CONDUCT.md adopts the Contributor Covenant v2.1.

Also update README.md to reference the new contributing guide.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>
@mpryc
mpryc force-pushed the fix-contributing-md branch from a760936 to 139fb6f Compare June 26, 2026 10:13
@mpryc mpryc changed the title Add organization-wide CONTRIBUTING.md Add organization-wide community health files Jun 26, 2026

@slintes slintes left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nice, left some comments

Comment thread CONTRIBUTING.md Outdated

```
├── api/ # CRD types, webhooks, deepcopy (v1alpha1 or v1beta1)
├── controllers/ or pkg/ # Reconciler logic (location varies by repo)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we recently updated to the current kubebuilder structure, which uses cmd/ for main.go and internal/ for all "private" code

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.

Thank you ! Pulled latest and confirmed. Updated to cmd/ + internal/. I didn't sync with the latest upstream while reviewing it.

Comment thread CONTRIBUTING.md Outdated

2. **Make your changes** — keep commits focused and logical.

3. **Run the full pre-submit check locally** before pushing:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

might be worth double checking if this is true for all operators, but make test should be sufficient because it runs all needed checks

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.

Yeah, I remember some operators have make go-tidy, and some others make tidy and so on

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.

You are right. In most repos (FAR, NMO, MDR, SBR), make test already runs all needed checks, so you are right to simplify those. I've added instead make help so it's clear what can be used to help identify the targets.

Comment thread CONTRIBUTING.md Outdated

1. **Always submit PRs from your personal fork**, not from branches on the main repository.
2. **One concern per PR** — don't mix unrelated changes.
3. **Fill in the PR description** — explain *what* changed and *why*.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we have a template, might be worth mentioning?

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.

Yes. Added.

Comment thread CONTRIBUTING.md Outdated
1. **Always submit PRs from your personal fork**, not from branches on the main repository.
2. **One concern per PR** — don't mix unrelated changes.
3. **Fill in the PR description** — explain *what* changed and *why*.
4. **All CI checks must pass** before merge. The pre-submit pipeline (GitHub Actions) runs:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same here, should be make test only

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

86-98: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Fix broken step numbering.

The workflow steps jump from 3 to 5 — step 4 is missing.

 3. **Run tests locally** before pushing. In most repos, `make test` handles formatting, linting, code generation, and unit tests in one step:
    ```bash
    make test
    ```
 
-5. **Push to your fork** and open a PR against the upstream `main` branch.
+4. **Push to your fork** and open a PR against the upstream `main` branch.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` around lines 86 - 98, The workflow list in CONTRIBUTING.md
has broken numbering because the step after the `make test` section skips from 3
to 5. Update the ordered list so the “Push to your fork...” item is numbered as
step 4, keeping the sequence consistent in this section.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 86-98: The workflow list in CONTRIBUTING.md has broken numbering
because the step after the `make test` section skips from 3 to 5. Update the
ordered list so the “Push to your fork...” item is numbered as step 4, keeping
the sequence consistent in this section.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a2724497-cddb-4ae1-a9e4-9fc794c95438

📥 Commits

Reviewing files that changed from the base of the PR and between 8e1c35e and 15958c7.

📒 Files selected for processing (4)
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • README.md
  • SECURITY.md
✅ Files skipped from review due to trivial changes (2)
  • SECURITY.md
  • CODE_OF_CONDUCT.md

- Update repo structure to current kubebuilder layout (cmd/ + internal/)
- Simplify pre-submit workflow: make test covers all checks
- Simplify CI steps in PR process to match actual pipelines
- Reference PR template in PR description guidance
- Add make help to build commands
- Expand Prow section: /hold, /cherry-pick, self-approval disabled,
  GitHub Approve review acts as /lgtm

Suggested-by: @slintes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>
@mpryc
mpryc force-pushed the fix-contributing-md branch from 15958c7 to f197915 Compare June 26, 2026 12:20

@razo7 razo7 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for taking a lead on that @mpryc !

Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CODE_OF_CONDUCT.md Outdated
Comment thread README.md
Comment thread SECURITY.md Outdated
Comment thread CONTRIBUTING.md
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated

> **Note**: Self-approval is disabled — you cannot `/lgtm` or `/approve` your own PR.

Reviews can sometimes take a few days. If your PR hasn't received feedback, please don't hesitate to ping the reviewers in the comments!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Or ask in the mailing group?

Suggested change
Reviews can sometimes take a few days. If your PR hasn't received feedback, please don't hesitate to ping the reviewers in the comments!
Reviews can sometimes take a few days. If your PR hasn't received feedback, please don't hesitate to ping the reviewers in the comments or through our Google Group (see at #getting-help)!

Or a K8s Slack channel that we will create?

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.

Added Google Group link

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.

@razo7 having slack on the k8s is a valid point, the guidelines for creating one is:

External projects (ones not owned by a Kubernetes SIG) may have a maximum of two channels, usually #project or #project-users, and #project-dev.

I can request a #medik8s and #medik8s-dev ? Let's discuss this with @weshayutin

Comment thread CONTRIBUTING.md Outdated
- Move "Fixes #123" guidance to PR description
  (avoids cherry-pick issues)
- Change commit body wrap to 72 chars (K8s convention)
- Make CoC reporting confidential via OWNERS or
  private report
- Remove Red Hat mention from Security and SECURITY.md
- Add /unhold as alternative to /hold cancel
- Reword self-approval note to state policy clearly
- Add Google Group link to review ping guidance
- List PR template and release scripts in README

Suggested-by: @razo7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Michal Pryc <mpryc@redhat.com>

@weshayutin weshayutin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@mpryc this is a VERY nice start. Perfection is not required here folks, this work is evolving :)

@abrugaro abrugaro left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

acked

@abrugaro abrugaro removed their assignment Jul 1, 2026

@razo7 razo7 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this is a VERY nice start. Perfection is not required here folks, this work is evolving :)

I added some small remarks (that we can tackle in a follow-up) but I agree with @weshayutin and TY @mpryc.

Comment thread SECURITY.md

If you discover a security vulnerability in any medik8s project, **do not** open a public issue.

Please report vulnerabilities confidentially by contacting any of the maintainers listed in the repository's OWNERS file, or use the "Security and quality" tab on the repository to submit a private GitHub Security Advisory.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

OWNERS file contact path has no private mechanism, as OWNERS files list GitHub usernames only, so no email addresses and GitHub DMs are disabled by default.
There's no viable private contact path through a GitHub username alone, and the medik8s org has no security_email configured. Therefore, as mentioned in the code of conduct, suggest reaching out to a dedicated channel (e.g., medik8s@googlegroups.com with subject "Vulnerability Report").

Consider adding:

  1. Supported versions — reporters need to know which releases receive security fixes
  2. Response time — even a rough SLA like "we will acknowledge within 5 business days" sets expectations

Comment thread CODE_OF_CONDUCT.md

## Reporting

If you experience or witness unacceptable behavior, please report it confidentially by contacting any of the maintainers listed in the repository's OWNERS file, or use the "Security and quality" tab on the repository to submit a private report.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Conduct violations shouldn't use the security advisory system - maybe the RH team email group or a dedicated channel (e.g., medik8s@googlegroups.com with subject "Code of Conduct Report").

Also: if the person being reported IS an OWNERS member, the reporter has no independent path.

Comment thread CONTRIBUTING.md
├── Makefile # Build targets
├── Dockerfile # Multi-stage container build
├── OWNERS # Reviewers and approvers
└── .github/workflows/ # CI pipelines

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

NIT: .github/workflows/ is labeled as "CI pipelines" but medik8s repos primarily use Prow (OpenShift CI) for CI, not GitHub Actions. This could mislead contributors into thinking GitHub Actions is the main CI system.

Suggestion: .github/workflows/ # GitHub Actions (Prow handles primary CI)

Comment thread CONTRIBUTING.md

### Developer Certificate of Origin (DCO)

We require all commits to be signed off, certifying you have the right to submit the code under the project's Apache 2.0 license. Add a `Signed-off-by` line to your commits:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

"We require all commits to be signed off" but Medik8s Prow config does not include the dco plugin, and branch protection does not require signed commits. PRs without Signed-off-by will pass CI.

Either:

  • Reword to "We encourage all commits to include a Signed-off-by line" (aspirational), or
  • Enable the dco Prow plugin first, then document the requirement

I would suggest the second option

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.

@razo7 it's ok to have follow PR with those addjustments.

@openshift-ci

openshift-ci Bot commented Aug 9, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abrugaro, eemcmullan, mpryc, razo7, weshayutin

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [abrugaro,eemcmullan,mpryc,razo7,weshayutin]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved label Aug 9, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 218113c into medik8s:main Aug 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants