toc icon indicating copy to clipboard operation
toc copied to clipboard

[Incubation] KubeArmor Incubation Application

Open daemon1024 opened this issue 1 year ago • 1 comments

KubeArmor Incubation Application

v1.5 This template provides the project with a framework to inform the TOC of their conformance to the Incubation Level Criteria.

Project Repo(s): https://github.com/kubearmor/KubeArmor Project Site: https://kubearmor.io/ Sub-Projects: NA Communication: https://join.slack.com/t/kubearmor/shared_invite/zt-2bhlgoxw1-WTLMm_ica8PIhhNBNr2GfA

Project points of contacts: Barun Acharya (@daemon1024, [email protected]) Rudraksh Pareek (@DelusionalOptimist, [email protected]) Rahul Jadhav (@nyrahul, [email protected]

Incubation Criteria Summary for KubeArmor

Adoption Assertion

The project has been adopted by the following organizations in a testing and integration or production capacity: *

Adoption of KubeArmor is tracked in our ADOPTERS.md file.

Owing to the nature of security software, only a small subset are willing to be listed.

Beyond this, we have received interests from other organizations such as:

Application Process Principles

Required

  • [x] Give a presentation and engage with the domain specific TAG(s) to increase awareness

KubeArmor was presented to WG Policy in TAG Secuirty on 2021-06-09, and can be discovered at YT Link.

  • [ ] TAG provides insight/recommendation of the project in the context of the landscape

To be completed by TAG Security.

  • [x] All project metadata and resources are vendor-neutral. Yes

  • [x] Review and acknowledgement of expectations for Sandbox projects and requirements for moving forward through the CNCF Maturity levels.

Handled as part of https://github.com/cncf/sandbox/issues/226

  • [ ] Due Diligence Review.

Completion of this due diligence document, resolution of concerns raised, and presented for public comment satisifies the Due Diligence Review criteria.

TBD by TOC Sponsor

  • [x] Additional documentation as appropriate for project type, e.g.: installation documentation, end user documentation, reference implementation and/or code samples.

  • End User Documentation - https://docs.kubearmor.io/kubearmor/

  • Architecture - https://github.com/kubearmor/KubeArmor/blob/main/contribution/KubeArmor%20Design.pdf

Governance and Maintainers

Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.

Suggested

  • [x] Clear and discoverable project governance documentation.

Project Governance

  • [x] Governance has continuously been iterated upon by the project as a result of their experience applying it, with the governance history demonstrating evolution of maturity alongside the project's maturity evolution.

Initial maintainers were from AccuKnox primarily. We have independent maintainers and few other contributors who are shaping up to take the ownership of the modules. KubeArmor now has 8 Maintainers from 4 organizations and 6 Committers from 4 organizations.

Required

  • [x] Document complete list of current maintainers, including names, contact information, domain of responsibility, and affiliation.

Complete list of current maintainers can be found at MAINTAINERS.md

  • [x] A number of active maintainers which is appropriate to the size and scope of the project. KubeArmor now has 8 Maintainers from 4 organizations

  • [x] Code and Doc ownership in Github and elsewhere matches documented governance roles.

Github Teams reflect the documented roles

  • [x] Document agreement that project will adopt CNCF Code of Conduct. KubeArmor adopts CNCF Code of Conduct
  • [x] CNCF Code of Conduct is cross-linked from other governance documents. Code of Conduct referenced in GOVERNANCE.md

  • [x] All subprojects, if any, are listed.

NA

Contributors and Community

Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.

Suggested

NA

Required

  • [x] Clearly defined and discoverable process to submit issues or changes.

CONTRIBUTING.md

  • [x] Project must have, and document, at least one public communications channel for users and/or contributors.

Slack Link documented in README

  • [x] List and document all project communication channels, including subprojects (mail list/slack/etc.). List any non-public communications channels and what their special purpose is.

All KubeArmor communications are public

  • [x] Up-to-date public meeting schedulers and/or integration with CNCF calendar.

Community Meetings are documented in README We held biweekly community meetings consistently (total 52 since Sep 2021). The community did not skip a single meeting since its inception. The meeting records can be found in here.

  • [x] Documentation of how to contribute, with increasing detail as the project matures.

CONTRIBUTING.md

  • [x] Demonstrate contributor activity and recruitment.

The KubeArmor devstats page and dashboards can be found here.

  • The community has significantly grown since the project entered the CNCF sandbox.
    • Number of contributors: 30+ -> 150+
    • Github stars: 100+ -> 1070+
    • Github forks: 30+ -> 265
    • Contributing organizations: 5+ -> 30+
  • New PRs in last year
  • KubeArmor maintainer team has mentored more than 10 candidates as part of LFX and GSoC mentorships.

According to devstats, KubeArmor currently has 252 contributors from 40 companies belonging to 15 countries.

The project averages at ~100 contributions from around ~16 contributors per month according to kubearmor.devstats.cncf.io contained within 30 merged PRs on average per month for the last year.

Engineering Principles

Suggested

  • [x] History of regular, quality releases.

KubeArmor uses the semantic versioning scheme.

KubeArmor follows roughly once every two months release cadence with version numbers using format of MAJOR.MINOR.PATCH. The latest release is v1.3.5

We have releases documented at: https://github.com/KubeArmor/KubeArmor/releases.

KubeArmor has a release cadence of once in two month release cycle.

Required

  • [x] Document project goals and objectives that illustrate the project’s differentiation in the Cloud Native landscape as well as outlines how this project fulfills an outstanding need and/or solves a problem differently.

KubeArmor supports inline mitigation for preventing attacks. Differentiation Document

  • [x] Document what the project does, and why it does it - including viable cloud native use cases.

All of KubeArmor usecase are documented and updated at https://github.com/kubearmor/KubeArmor/blob/main/getting-started/use-cases/hardening.md

  • [x] Document and maintain a public roadmap or other forward looking planning document or tracking mechanism.

The backlog/roadmap for KubeArmor can be found here.

  • [x] Document overview of project architecture and software design that demonstrates viable cloud native use cases, as part of the project's documentation.

KubeArmor Design and Architecture is documented at - Architecture - https://github.com/kubearmor/KubeArmor/blob/main/contribution/KubeArmor%20Design.pdf

  • [x] Document the project's release process.

KubeArmor Release Process is documented as part of Release Wiki

Security

Note: this section may be augemented by a joint-assessment performed by TAG Security.

Required

  • [x] Clearly defined and discoverable process to report security issues.

See SECURITY.md

  • [x] Enforcing Access Control Rules to secure the code base against attacks (Example: two factor authentication enforcement, and/or use of ACL tools.)

We follow Security Practices based on OpenSSF Security Score Card https://securityscorecards.dev/viewer/?uri=github.com/kubearmor/KubeArmor It includes

  • Branch Protection

  • Token Permissions

  • SAST

  • CI Best Practices

  • [x] Document assignment of security response roles and how reports are handled.

See SECURITY.md. All Maintainers are responsible for reacting to incident reports.

  • [ ] Document Security Self-Assessment.

In Progress as part of https://github.com/kubearmor/KubeArmor/issues/1186

  • [x] Achieve the Open Source Security Foundation (OpenSSF) Best Practices passing badge.

https://www.bestpractices.dev/en/projects/5401

Ecosystem

Required

  • [x] Publicly documented list of adopters, which may indicate their adoption level (dev/trialing, prod, etc.) Adoption of KubeArmor is tracked in our ADOPTERS.md file.

Owing to the nature of security software, only a small subset are willing to be listed.

  • [x] Used in appropriate capacity by at least 3 independent + indirect/direct adopters, (these are not required to be in the publicly documented list of adopters)

Yes

The project provided the TOC with a list of adopters for verification of use of the project at the level expected, i.e. production use for graduation, dev/test for incubation.

  • [ ] TOC verification of adopters.

Refer to the Adoption portion of this document.

  • [x] Clearly documented integrations and/or compatibility with other CNCF projects as well as non-CNCF projects.
  • KubeArmor provides a way to enforce security in k8s native way by leveraging k8s resource model.
  • KubeArmor has integrations with lots of CNCF and LF Projects including:
    • Helm (Installation)
    • OpenTelemetry
    • OpenHorizon
    • Kubernetes PolicyReported CRD
    • Nephio

Additional Information

daemon1024 avatar May 14 '24 05:05 daemon1024

Ref cncf/toc#1235

daemon1024 avatar May 14 '24 05:05 daemon1024

@daemon1024 @delusionalOptimist @nyrahul In preparation for KubeArmor to be picked up by a TOC member after the KubeCon freeze period -- and prior to TOC member assignment -- please:

angellk avatar Nov 22 '24 14:11 angellk

@angellk ack. On it.

daemon1024 avatar Nov 25 '24 14:11 daemon1024

Hey @angellk, We are about to submit adopters details in the submission form

What needs to be added in "Link to application tracking issue"?

Thanks!

ssyedhadi14 avatar Dec 16 '24 12:12 ssyedhadi14

@ssyedhadi14 please link to this issue - https://github.com/cncf/toc/issues/1326

angellk avatar Dec 16 '24 16:12 angellk

Hey @angellk, We had submitted details of 9 interviewee's details on 17 DEC. Wanted to check the status of the application and next steps.

Wishing you HNY'2025!

ssyedhadi14 avatar Dec 31 '24 05:12 ssyedhadi14

Thanks @ssyedhadi14 - have you completed the TAG Security self assessment and linked it to the application?

As everyone is returning back from the holidays a TOC member will also complete another triage and either move the application forward to being ready for DD - or outline any remediations the project needs to take to move forward.

angellk avatar Jan 05 '25 20:01 angellk

Ack @angellk. TAG Security self assessment is complete and submitted - please check - https://github.com/cncf/tag-security/pull/1430

ssyedhadi14 avatar Jan 06 '25 11:01 ssyedhadi14

👋🏻 KubeArmor Team, I've reached out in the KubeArmor slack to the individuals listed on this application issue so we can get the kick off meeting scheduled - please complete the doodle poll linked in the Slack DM.

Status update:

  • Joined KubeArmor slack
  • pulled the adopter listing for interviews
  • set up the kick off and notes doc in a dedicated TOC folder for moving levels with a TOC scratchpad for annotations.
  • Emailed the 5 of 9 adopters to begin scheduling interviews. Will hold off on contacting others unless poor response rate.

TheFoxAtWork avatar Jan 15 '25 17:01 TheFoxAtWork

Status update:

  • shift to CNCF slack after clarification with the project
  • Adopter Interview 1 & 2 scheduled
  • Kickoff meeting scheduled for 29 JAN 2025

TheFoxAtWork avatar Jan 16 '25 15:01 TheFoxAtWork

Status update:

  • conducted 3 adopter interviews, one more is scheduled. Reached out to another adopter to schedule.
  • requested the project provide an additional two adopters that meet the definition of a direct adopter, instead of a transitive adopter.
  • still reviewing the project's assertions on criteria conformance.

TheFoxAtWork avatar Feb 12 '25 20:02 TheFoxAtWork