Giter VIP home page Giter VIP logo

community's Introduction

About Kata Containers

Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.

The Kata Containers project is designed to be architecture agnostic, run on multiple hypervisors and be compatible with the OCI specification and Kubernetes.

Kata Containers combines technology from Intel® Clear Containers and Hyper runV. The code is hosted on GitHub under the Apache 2 license and the project is managed by the Open Infrastructure Foundation. To learn more about the project and organizations backing the launch, visit https://www.katacontainers.io.

Community

Kata Containers is working to build a global, diverse and collaborative community. Anyone who is interested in supporting the technology is welcome to participate. Learn how to contribute on the Community pages. We are seeking different expertise and skills, ranging from development, operations, documentation, marketing, community organization and product management.

Join Us

You can join our community on any of the following places:

Users

See Kata Containers installation user guides for details on how to install Kata Containers for your preferred distribution.

Contributors

See the contributing guide for details on how to contribute to the project.

Review Team

See the rota documentation.

Resource Owners

Details of which Kata Containers project resources are owned, managed or controlled by whom are detailed on the Areas of Interest wiki page, under the Resource Owners section.

Governance

The Kata Containers project is governed according to the "four opens", which are open source, open design, open development, and open community. Technical decisions are made by technical contributors and a representative Architecture Committee. The community is committed to diversity, openness, and encouraging new contributors and leaders to rise up.

Developers

For code contributors, there are currently two roles relevant to project governance:

Contributor

A Contributor to the Kata Containers project is someone who has had code merged within the last 12 months. Contributors are eligible to vote in the Architecture Committee elections. Contributors have read only access to the Kata Containers repos on GitHub.

Maintainer

A Maintainer has the ability to merge code into the Kata Containers project. Maintainers are active Contributors and participants in the projects. In order to become a Maintainer, you must be nominated and approved by the established Maintainers. Maintainers have write access to the Kata Containers repos on GitHub.

Architecture Committee

The Architecture Committee is responsible for architectural decisions, including standardization, and making final decisions if Maintainers disagree. It is comprised of 7 members, who are elected by contributors.

The current Architecture Committee members are:

Architecture Committee elections take place in the Autumn (3 seats available) and in the Spring (4 seats available). Anyone who has made contributions to the project will be eligible to run, and anyone who has had code merged into the Kata Containers project in the 12 months (a Contributor) before the election will be eligible to vote. There are no term limits, but in order to encourage diversity, no more than 2 of the 7 seats can be filled by any one organization.

The exact size and model for the Architecture Committee may evolve over time based on the needs and growth of the project, but the governing body will always be committed to openness, diversity and the principle that technical decisions are made by technical contributors.

See the elections documentation for further details.

Architecture Committee Meetings

The Architecture Committee meets every Thursday at 1300 UTC. Agenda & call info can be found here.

In order to efficiently organize the Architecture Committee (AC) meetings, maximize the benefits for the community, and be as inclusive as possible, the AC recommends following a set of guidelines for raising topics during the weekly meetings.

Vendoring code

See the vendoring documentation.

Vulnerability Handling

Vulnerabilities in Kata are handled by the Vulnerability Management Team (VMT). There are generally two phases:

  • The reporting of a vulnerability to the VMT
  • Handling and disclosure of the vulnerability by the VMT

Reporting Vulnerabilities

Vulnerabilities in Kata should be reported using the responsible disclosure model.

There are two methods available to report vulnerabilities to the Kata community:

  1. Report via a private issue on the Kata Containers launchpad
  2. Email any member of the Kata Containers architecture committee directly

When reporting a vulnerability via the launchpad:

  • You will need to create a launchpad login account.
  • Preferably, but at your discretion, create the report as "Private Security", so the VMT can assess and respond in a responsible manner. Only the VMT members will be able to view a "Private Security" tagged issue initially, until it is deemed OK to make it publicly visible.

Vulnerability Disclosure Process

Vulnerabilities in the Kata Container project are managed by the Kata Containers Vulnerability Management Team (VMT). Vulnerabilities are managed using a responsible disclosure model.

Details of how to report a vulnerability, the process and procedures used for vulnerability management, and responsibilities of the VMT members can be found in the VMT documentation.

Previous Kata Containers Security Advisories are listed on their own page.

Week in Review template

See the week in review report template.

community's People

Contributors

amshinde avatar annegentle avatar bergwolf avatar c3d avatar ccollicutt avatar chavafg avatar cmaf avatar egernst avatar fidencio avatar gabyct avatar gkurz avatar gnawux avatar grahamwhaley avatar ildikov avatar jbryce avatar jepio avatar jiangliu avatar jodh-intel avatar justin-he avatar lifupan avatar liubin avatar mvincerx avatar nitkon avatar raravena80 avatar sameo avatar stevenhorsman avatar tbreeds avatar wainersm avatar weizhang555 avatar zvonkok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

community's Issues

Document simplified document review process

Doc reviews require a lot of effort and can consume a lot of time for both the review team and the PR creator.

As such, we need to find ways to make the current process a little more streamlined for certain scenarios.

Moving Architecture Committee vote to September

In our current governance policies, we are due to vote on three Architecture Committee seats (@jessfraz @tallclair and @WeiZhang555) in June. However this was written when we were anticipating a Q1 launch. I'd like to propose we push the vote to early September, and consequently push the vote for @sameo and @gnawux's seats to February. We would then stay on the Sept/Feb voting cycle.

Looking to the Architecture Committee to vote on this issue, but open to suggestions and discussion from all.

Slack generates "@jessfraz" when "kata" typed in IRC

In both #kata-dev and #kata-general channels on IRC, when a user types "kata", Slack generates "@/jessfraz". When jessfraz sends a message in Slack, the IRC user shows up as "kata".

Two weeks ago I made the user "@/kat" on Slack to see if it would jump to pinging that instead, but no dice--stills pings jessfraz.

cc @jbryce

Process: backports/stable: should backports contain explicit refs to originals?

When backport/cherry picking commits or PRs to stable branches, should we require that the commits and/or PR message are updated to include a reference back to the original commits (SHAs), and PR (github #nnn's).

This will:

  • make it easier and clearer for reviewers the provenance of the backport
  • make the providence trail clearer in the git logs
  • but shift the onus onto the submitters to do the work of adding these in (ammending the commit messages for instance)

Yes, you can get the info at present by following the Fixes: #nnn link in the PR that is being posted, but it is more work for the reviewers and requires you to hop through github.

Fundamentally this is about providence/crumb-trail and shifting some of the work from the reviewers over to the submitters.

I've added this as an architecture committee topic for 2018-09-17

Remove mention of owner files in contributing guide

For Kata Containers we have dispensed with the OWNERS files we used to use in Clear Containers. The reason being it is pointless having to maintain these files along with the .pullapprove.yml files which encode the same information (and more).

Remove mention of the OWNERS files which was an oversight when migrating the doc.

GitHub access for non-org members?

We should probably discuss and define a policy for how we let community members (who are not, at least at present, members of the github kata-containers org access the project. Currently they are limited I believe to some moderately restrictive read-only mode, which carries a couple of potential downsides:

  • they cannot assign themselves issues
  • they cannot see who the kata members are, or what teams they are in

Now, that may or may not be an issue - we should discuss.

Also, maybe we'd like to discuss and define how somebody can or does become or request to become a member of the kata-containers org. afaik, the members were fixed when the org was formed, and I don't believe we have a method to request, review or add new members.

I do wonder if the github outside collaborators feature could be useful in some form?

/me notes that @annabellebertooch is not a member of the kata org afaict btw ;-)

Add pullapprove config

Add a .pullapprove.yml for parity with the other repos and to require 2 acks to sign-off all PRs.

Update PR/review docs to reflect github approval workflows etc.

With the move from pullapprove to a mixture of github and zuul CI checks, our CONTRIBUTING and review docs need some rework, for example:

  • noting that you need to use the github review dialog to register an ack (rather than just lgtm comments)
  • better documentaiton around the whole WIP/DNM label/keyword usage

Should Kata get a NIST/NVD CPE allocation?

CVE databases etc. use 'Common Platform Enumeration' to detail which products and versions are susceptible to which vulnerabilities.

Now we are starting to process KCSA and KCSN's in the VMT, Should Kata apply for a CPE identifier?
I don't know if the OSF have any precedence or background in this, and maybe already have some appropriate designations? I'd go grab some refs, but the nist website seems to be down!

I was thinking we'd maybe have a CPE of 'osf:kata' or 'kata:kata' for instance.

/cc @ttx @ClaireMassey @fungi @kata-containers/architecture-committee

Document the Kata vulnerability reporting and processing procedures

Kata should have a formal method, and team to back that method, for reporting vulnerabilities via a responsible disclosure process.
Document in this repository:

  • how to submit a report
  • the privacy of such reports
  • who receives and handles the reports
  • how are the reports handled
  • what are the expected timelines
  • how are vulnerabilities fixed
    • along with any mitigation details or backports
  • how are vulnerabilities disclosed and published
    • to downstream stakeholders
    • publicly

Where possible, diagram the flows and timelines and provide example templates for reporting and disclosing.

Create an architecture document

We need to create an ARCHITECTURE.md that covers the overall system.

This document could, if necessary, reference architecture documents found in each components repository. These would essentially document just themselves. The intent is to define once and reference as many times as needed.

For example, the ARCHITECTURE.md created in this repository may say something like:

For further details on the Kata shim implementation, refer to the shim architecture document

Component repositories

The individual README.md files in each code repository must contain a reference to this central architecture document.

If a component repository has a separate ARCHITECTURE.md this:

  • Must be referenced in the components README.md.
  • Must itself reference the central ARCHITECTURE.md document.

For an example of what we should be aiming for, see the Clear Containers architecture document:

Diagrams

All diagrams must:

  • Be stored along with their corresponding "source" files (for example, if a .png file is referenced, the .svg file that was used to generate the .png must also be stored to allow the diagrams to be updated by all.
  • Use freely available open formats for their sources.

Prevent from pushing to master branch accidentally

Minutes ago, @lifupan pushed some of his local testing commits to the master branch of kata-containers/runtime repo with vs.code accidentally when he was configuring his new developing laptop. @bergwolf found this and had to reset the commits by turning off the branch protecting temporarily.

@lifupan has disabled the git plugin of his vs.code and reconfigured his git remote config locally.

I did some research but didn't find a way to disable push without pull request in github. Is this possible to protect master from accidentally pushing? Or does 2FA help?

@grahamwhaley @jodh-intel @sboeuf do you have any ideas?

Kata Containers Mission Statement

It's a good time for us to create a mission statement for the Kata Containers project! This statement should be fairly brief and tell people what this project aims to do and how we do it.

This issue is for open discussion of what should be included in the mission statement and if anyone wants to suggest drafts.

Examples can be found from OpenStack and Zuul

Docs: Who manages which resources that Kata uses

(this is WIP - I'll start adding details - but if you know of anything missing or have details to add either (if you can) add them yourselves, or leave a comment and I will fold them in. If you are mentioned below, please check you are in the right slot etc. :-)
Eventually this will become a markdown doc or wiki page - probably the former)

Kata uses a number of resources, particularly to drive its CI system for instance. Most of those resources require some sort of access control (keys, logins, rights etc.) to configure, deploy or manage. We don't have a definitive list of what those resources are, or who can access them to maintain them. This can be a fairly critical component to the project, given many of those resource are key blocking parts of the CI system.

Let's collect up a list of all the resources we know of and who currently has the ability to manage them - then we can decide if we need to have a central place to lodge 'credentials', and also if we need to diversify access to avoid any bus factor effects.

What Primary Others Notes
Jenkins Master @chavafg @GabyCT @grahamwhaley VM hosted on Vexxhost
Jenkins vexxhost slaves @chavafg @GabyCT
Jenkins Azure slaves @chavafg @egernst
Zuul CI configuration @grahamwhaley @ttx OpenDev infra core
Packet.net metrics CI slaves @grahamwhaley kata-containers/ci#6
IBM Power8 CI slaves @nitkon @grahamwhaley kata-containers/tests#1043
IBM S390 CI slaves @alicefr, @jschintag, @tuan-hoang1 @chavafg **Add other IBM folks to the list ** kata-containers/kata-containers#33
Github management @kata-containers/architecture-committee @chavafg @grahamwhaley @jodh-intel Quite a few members of the Kata org have github 'power' if necessary
Travis CI @jodh-intel kata-containers/kata-containers#22
Pullapprove @sameo @jodh-intel
CodeCov @sboeuf @jodh-intel
Zoom meetings @ClaireMassey
Slack channels @sameo ?? add Claire here
freenode IRC channels @jbryce + OpenDev IRC ops
Etherpad docs OpenDev infra core
Website ??? * add Claire here? *
Twitter handle ? * Claire ? *
Facebook page ? * Claire ? *
OBS @marcov @jcvenegas http://download.opensuse.org/repositories/home:/katacontainers:/
github katabot @chavafg @grahamwhaley
Kata docker hub @egernst @mcastelino @chavafg https://hub.docker.com/u/katadocker
Community activity dashboard @ttx @ClaireMassey Run by Bitergia
packagecloud @jcvenegas @marcov @ttx

Document how the kata logo may be used

I saw a comment somewhere (slack?) where someone was asking whether they could use the kata logo.

We need to document acceptable usage of it and provide an official set of versions of the logo (different background colours, svg + different png-formatted versions, etc).

/cc @annabellebertooch, @gnawux, @egernst, @grahamwhaley.`

Process: how to qualify to join the kata github org?

We are gaining contributors (yay!). Sometimes they are handling Issues and PRs, or reviewing - and to do that effectively they really need to be part of the kata github organisation so they can action Issues and PRs etc.
I don't believe we have any process, rulings or guidelines on what or how somebody 'qualifies' to become a member of the kata github organisation. We should discuss, and probably define.

@kata-containers/architecture-committee @annabellebertooch @WeiZhang555 @jodh-intel @egernst

N.B. Nominally we could use the github 'collaborators' to give others rights without having to join them to the whole org, but that seems to work on a per-repo basis not a whole org. Maybe that will work for us - I'll leave it here as an option.

Add missing doc links

Some of the docs in this repo are not referenced by any others, so link them for visibility.

Update "Users" part of README.md

Since Kata Containers does not yet provide an installation option, the current advice for users is to install either Clear Containers or runV since both projects will provide a migration path to Kata Containers at a later date.

If you do not already have an installation of either project, Clear Containers may be the simplest option as packages for common Linux* distributions are provided. However, your choice may depend on the particular project features that interest you.
Installing Clear Containers

See https://github.com/clearcontainers/runtime/wiki/Installation.
Installing runV

See https://github.com/hyperhq/runv.

This section needs to be updated with the latest development.

Fix markdown

Fix various issues with the markdown files in this repo.

Document assisted PR workflow

We need to document what happens if we get a drive-by submission which requires lots of changes to reach our quality standards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.