From 23b78ba4c8520474483d158fb855bad3636d5524 Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Wed, 22 Mar 2023 09:02:03 +0100 Subject: [PATCH 1/2] chore: improve documentation for better rendering Adding additionally tools to verify build Signed-off-by: Simon Schrottner --- .../ISSUE_TEMPLATE/community-management.md | 1 - .github/ISSUE_TEMPLATE/membership.md | 10 +- .htmltest.yml | 10 +- .markdownlint-cli2.yaml | 15 ++ CODE_OF_CONDUCT.md | 4 +- README.md | 10 +- branding/_index.md | 2 +- community-membership.md | 144 +++++++++--------- community-rockstar.md | 2 +- config.yaml | 1 - .../governance-committee-candidates/_index.md | 39 ++--- .../governance-committee-election/_index.md | 18 +-- governance/advisory-board/_index.md | 2 +- governance/cncf-incubation/_index.md | 6 +- mentorship/_index.md | 3 +- mentorship/gsoc/2022/README.md | 16 -- .../gsoc/2022/{project-ideas.md => _index.md} | 72 +++++---- .../_index.md} | 40 +++-- .../_index.md} | 35 +++-- .../_index.md} | 62 ++++---- .../_index.md} | 12 +- mentorship/gsoc/2023/README.md | 6 - .../gsoc/2023/{project-ideas.md => _index.md} | 36 ++--- mentorship/gsoc/{README.md => _index.md} | 15 +- .../gsod/2022/{project-ideas.md => _index.md} | 17 ++- mentorship/gsod/{README.md => _index.md} | 7 +- .../lfx-mentorship/{README.md => _index.md} | 14 +- project-infrastructure/google-drive.md | 2 +- resources.md | 41 +++-- 29 files changed, 357 insertions(+), 285 deletions(-) create mode 100644 .markdownlint-cli2.yaml delete mode 100644 mentorship/gsoc/2022/README.md rename mentorship/gsoc/2022/{project-ideas.md => _index.md} (84%) rename mentorship/gsoc/2022/{projects/gitops-deployment-tools-integration/README.md => gitops-deployment-tools-integration/_index.md} (71%) rename mentorship/gsoc/2022/{projects/gitops-entity-CRDs/README.md => gitops-entity-crds/_index.md} (65%) rename mentorship/gsoc/2022/{projects/k6-integration-service/README.md => k6-integration-service/_index.md} (74%) rename mentorship/gsoc/2022/{projects/new-docs-site-engine/README.md => new-docs-site-engine/_index.md} (97%) delete mode 100644 mentorship/gsoc/2023/README.md rename mentorship/gsoc/2023/{project-ideas.md => _index.md} (80%) rename mentorship/gsoc/{README.md => _index.md} (91%) rename mentorship/gsod/2022/{project-ideas.md => _index.md} (96%) rename mentorship/gsod/{README.md => _index.md} (94%) rename mentorship/lfx-mentorship/{README.md => _index.md} (88%) diff --git a/.github/ISSUE_TEMPLATE/community-management.md b/.github/ISSUE_TEMPLATE/community-management.md index d9066a3..b0b8fc8 100644 --- a/.github/ISSUE_TEMPLATE/community-management.md +++ b/.github/ISSUE_TEMPLATE/community-management.md @@ -13,7 +13,6 @@ assignees: '' ### References - ### Sponsors diff --git a/.github/ISSUE_TEMPLATE/membership.md b/.github/ISSUE_TEMPLATE/membership.md index 01b11e9..827cd52 100644 --- a/.github/ISSUE_TEMPLATE/membership.md +++ b/.github/ISSUE_TEMPLATE/membership.md @@ -16,19 +16,20 @@ e.g. (at)example_user ### Membership level -Membership level according to https://github.com/keptn/community/blob/master/COMMUNITY_MEMBERSHIP.md +Membership level according to member | approver | maintainer ### Requirements (for member) -- [ ] I have reviewed the community membership guidelines (https://github.com/keptn/community/blob/master/COMMUNITY_MEMBERSHIP.md) -- [ ] I have enabled 2FA on my GitHub account. See https://github.com/settings/security +- [ ] I have reviewed the community membership guidelines () +- [ ] I have enabled 2FA on my GitHub account. See - [ ] I have subscribed to the [Keptn Slack channel](http://slack.keptn.sh/) - [ ] I am actively contributing to 1 or more Keptn subprojects - [ ] I have two sponsors that meet the sponsor requirements listed in the community membership guidelines. Among other requirements, sponsors must be approvers or maintainers of at least one repository in the organization and not both affiliated with the same company - [ ] I have spoken to 2 sponsors (approvers or maintainers) ahead of this application, and they have agreed to sponsor my application - [ ] I have filed a PR to add myself as [project member](https://github.com/keptn/keptn/blob/master/MAINTAINERS) and referenced this issue in the PR + ### Requirements (for approver, if applicable) - [ ] I am a reviewer of the codebase for at least 1 month @@ -49,7 +50,6 @@ member | approver | maintainer - [ ] I have spoken to 2 sponsors (maintainers) ahead of this application, and they have agreed to sponsor my application - [ ] I have filed a PR to add myself as [project maintainer](https://github.com/keptn/keptn/blob/master/MAINTAINERS) and referenced this issue in the PR - ### Sponsors @@ -64,4 +64,4 @@ Please remember, it is an applicant's responsibility to get their sponsors' conf - PRs reviewed / authored - Issues responded to -- SIG projects I am involved with \ No newline at end of file +- SIG projects I am involved with diff --git a/.htmltest.yml b/.htmltest.yml index 258e6f7..85fd469 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -3,9 +3,15 @@ CheckDoctype: false IgnoreDirs: - favicons - readme - - mentorship IgnoreURLs: - "linkedin.com" - "localhost" - "canva.com" -StripQueryString: false + - "https://github.com/open-telemetry/community/blob" + - "https://raw.githubusercontent.com/iamrajiv" + - "https://summerofcode.withgoogle.com" + - "https://www.oaoa.com" + - "engineering.dynatrace.com" + - "media-exp1.licdn.com" + - "https://contrib.rocks" + - "https://github.com/eyskim" diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml new file mode 100644 index 0000000..dd24929 --- /dev/null +++ b/.markdownlint-cli2.yaml @@ -0,0 +1,15 @@ +config: + line-length: false + no-inline-html: + allowed_elements: + - details + - summary + github-admonition: true + max-one-sentence-per-line: true + +ignores: + - "CHANGELOG.md" + - "node_modules" + - "tmp" + - "mentorship/gsoc/2022" + - "elections/2022" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 349d3e6..a1e0f32 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -72,9 +72,9 @@ members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +available at [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq + diff --git a/README.md b/README.md index 0a45876..5ae6df2 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ [![GitHub Discussions](https://img.shields.io/github/discussions/keptn/keptn)](https://github.com/keptn/keptn/discussions) [![Community Roadmap](https://img.shields.io/badge/Community-roadmap-yellow)](https://github.com/orgs/keptn/projects/1?card_filter_query=label%3Acommunity) -đź‘‹ Welcome to the Keptn community! +đź‘‹ Welcome to the Keptn community! This repository is used for community management related issue tracking, -including but not limited to community programs, enhancement ideas, memberships and permissions. +including but not limited to community programs, enhancement ideas, memberships and permissions. See also the community page on [**keptn.sh/community**](https://keptn.sh/community/). ## References @@ -35,9 +35,9 @@ There are also some resources stored in this repository or elsewhere: * [Community Roadmap](https://github.com/orgs/keptn/projects/1?card_filter_query=label%3Acommunity) - Major community initiatives as a part of the Keptn roadmap. * [Mentorship and Outreach programs](./mentorship/) - - programs we participate in. + programs we participate in. * [Artwork](./branding/) - Keptn logos and artwork. -* [Keptn Project Infrastructure](./project-infrastructure/) - +* [Keptn Project Infrastructure](./project-infrastructure/) - Documentation and notes regarding the project infrastructure being used by the project: website, delivery infrastructure, repositories and services, etc. * [Keptn incubation in the CNCF](./governance/cncf-incubation/) - Materials related to Keptn application for the incubation in the Cloud Native Computing Foundation. @@ -49,8 +49,10 @@ See the [Keptn Contributing Guidelines](https://keptn.sh/community/contributing/ ## Contributors + Contributors + Made with [contrib.rocks](https://contrib.rocks). diff --git a/branding/_index.md b/branding/_index.md index 7d21ddb..9b32147 100644 --- a/branding/_index.md +++ b/branding/_index.md @@ -35,7 +35,7 @@ Against dark backgrounds, use the white versions of the logo and the wordmark. > Some of Keptn Open Graph Images are managed as Google Slides [here](https://docs.google.com/presentation/d/1VZu_PkqQldmlAJuGhZQOdFmBPvhG5AaZ9RV1GL6w3Vw/edit?usp=sharing). > Feel free to reuse this content or suggest changes. - +> > For some other Open Graph Images, [Canva](https://www.canva.com/en_gb/) is used. > If you would like to get access or get an image created, > contact [Giulia Di Pietro](https://github.com/Giulia-dipietro) or [Oleg Nenashev](https://github.com/oleg-nenashev/). diff --git a/community-membership.md b/community-membership.md index 21dd73c..90c8331 100644 --- a/community-membership.md +++ b/community-membership.md @@ -3,30 +3,32 @@ title: Keptn Community membership linktitle: Membership description: Roles and Responsibilities of Community Members --- - + **Last updated:** 2021-08-26 **Disclaimer:** This document borrows heavily from the [Community Membership of OpenTelemetry](https://github.com/open-telemetry/community/blob/3f44aedd70334999b8a63586cf44f747776bddd3/community-membership). -This document outlines the various responsibilities of contributor roles in Keptn. +This document outlines the various responsibilities of contributor roles in Keptn. The Keptn project consists of: - * one **main project** with the [core services of Keptn](https://github.com/keptn/keptn) - * **Keptn-contrib** that contains [integrations and contributions](https://github.com/keptn-contrib) for Keptn - * **Keptn-sandbox** that new [contributions to Keptn by the community](https://github.com/keptn-sandbox) and not maintained by Keptn core maintainers + +* one **main project** with the [core services of Keptn](https://github.com/keptn/keptn) +* **Keptn-contrib** that contains [integrations and contributions](https://github.com/keptn-contrib) for Keptn +* **Keptn-sandbox** that new [contributions to Keptn by the community](https://github.com/keptn-sandbox) and not maintained by Keptn core maintainers Responsibilities for the roles in this document are scoped to the *main project* and *Keptn contrib*. The Keptn maintainers own this document and process until delegated. They can be reached via e-mail at keptn@dynatrace.com. + | **Role** | **Responsibilities** | **Requirements** | **Defined by** | | ---------- | ----------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | Member | Active contributor in the community and reviewer of PRs | Sponsored by 2 approvers or maintainers. Multiple (infrequent) contributions to the project. | [Members of the Keptn GitHub organization](https://github.com/orgs/keptn/teams/members) and [listed here](https://github.com/keptn/keptn/blob/master/MAINTAINERS) | | Approver | Approve contributions | Sponsored by 2 maintainers. Highly experienced and active member with frequent contributions. | - [Approvers of the Keptn GitHub organization](https://github.com/orgs/keptn/teams/approvers) and [listed here](https://github.com/keptn/keptn/blob/master/MAINTAINERS)
- [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) in [Keptn](https://github.com/keptn/keptn) | | Maintainer | Set direction and priorities for a subproject | Sponsored by 2 maintainers. Demonstrates responsibility and excellent technical judgment for the whole project. | - [Maintainers of the Keptn GitHub organization](https://github.com/orgs/keptn/teams/maintainers) and [listed here](https://github.com/keptn/keptn/blob/master/MAINTAINERS)
- [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) in [Keptn](https://github.com/keptn/keptn)
- Ownership of the GitHub repository | + **Note**: Links to *Members-, Approvers-, and Maintainers of the Keptn GitHub organization* are not publicly accessible. - ## New contributors New contributors are welcomed to the community by existing members, helped with PR workflow, and directed to relevant documentation and communication channels. @@ -43,40 +45,40 @@ Members are continuously active contributors in the community. They can have iss ### Requirements -- Enabled [two-factor authentication](https://help.github.com/articles/about-two-factor-authentication) on their GitHub account -- Have made multiple contributions to the project or community. Contributions may include, but is not limited to: - - Authoring or reviewing PRs on GitHub - - Filing or commenting on issues on GitHub - - Contributing to the main project, subprojects, or community discussions (e.g., meetings, chat, email, and discussion forums) -- Joined the [Keptn Slack channel](https://slack.keptn.sh) -- Have read the [contributors guide](https://github.com/keptn/keptn/blob/master/CONTRIBUTING.md) -- Sponsored by 2 approvers. Consider the following requirements for sponsors: - - Sponsors must have close interactions with the prospective member, e.g., +* Enabled [two-factor authentication](https://help.github.com/articles/about-two-factor-authentication) on their GitHub account +* Have made multiple contributions to the project or community. Contributions may include, but is not limited to: + * Authoring or reviewing PRs on GitHub + * Filing or commenting on issues on GitHub + * Contributing to the main project, subprojects, or community discussions (e.g., meetings, chat, email, and discussion forums) +* Joined the [Keptn Slack channel](https://slack.keptn.sh) +* Have read the [contributors guide](https://github.com/keptn/keptn/blob/master/CONTRIBUTING.md) +* Sponsored by 2 approvers. Consider the following requirements for sponsors: + * Sponsors must have close interactions with the prospective member, e.g., code/design/proposal review, coordinating on issues, etc. - - Sponsors must be approvers or maintainers in at least 1 CODEOWNERS file + * Sponsors must be approvers or maintainers in at least 1 CODEOWNERS file in any repository in the Keptn organization -- [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20New%20membership%20for%20%3Cyour-GH-handle%3E) +* [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20New%20membership%20for%20%3Cyour-GH-handle%3E) against the [keptn/community](https://github.com/keptn/community) repo: - - Ensure your sponsors are `@mentioned` on the issue - - Complete every item on the checklist ([preview the current version of the + * Ensure your sponsors are `@mentioned` on the issue + * Complete every item on the checklist ([preview the current version of the template](https://github.com/keptn/community/blob/master/.github/ISSUE_TEMPLATE/membership.md)) - - Make sure that the list of contributions included is representative of your + * Make sure that the list of contributions included is representative of your work on the project. -- Have your sponsoring reviewers reply confirmation of sponsorship -- Once your sponsors have responded, your request will be reviewed by the project maintainers. Any maintainer can review the requirements and add members to the GitHub organization. -- Add yourself to the list of [project members](https://github.com/keptn/keptn/blob/master/MAINTAINERS) +* Have your sponsoring reviewers reply confirmation of sponsorship +* Once your sponsors have responded, your request will be reviewed by the project maintainers. Any maintainer can review the requirements and add members to the GitHub organization. +* Add yourself to the list of [project members](https://github.com/keptn/keptn/blob/master/MAINTAINERS) ### Responsibilities and privileges -- Is responsive to assigned issues and PRs -- Is an active owner of contributed code (unless ownership is explicitly transferred) - - Code is well tested - - Tests consistently pass - - Addresses bugs or issues discovered after code is accepted -- Can review and approve via the GitHub workflow. This review work is +* Is responsive to assigned issues and PRs +* Is an active owner of contributed code (unless ownership is explicitly transferred) + * Code is well tested + * Tests consistently pass + * Addresses bugs or issues discovered after code is accepted +* Can review and approve via the GitHub workflow. This review work is not sufficient to merge a PR. There will still need to be a review by an *approver*. -- Can be assigned to issues and PRs, and people can ask members for +* Can be assigned to issues and PRs, and people can ask members for reviews with a `/cc @username`. **Note:** Members who frequently contribute code are expected to proactively perform code reviews and work towards becoming an *approver* for the main repository or subproject that they are active in. Acceptance of code contributions requires at least one approver in addition to the reviews by *members*. @@ -93,40 +95,41 @@ Approver status can be scoped to a part of the codebase. For example, critical c *The following applies to the part of the codebase for which one would be an approver in the `CODEOWNERS` file:* -- Reviewer of the codebase for at least 1 month -- Reviewer for or author of at least 10 substantial PRs to the codebase, +* Reviewer of the codebase for at least 1 month +* Reviewer for or author of at least 10 substantial PRs to the codebase, with the definition of substantial subject to the maintainer's discretion (e.g., refactors/adds new functionality rather than one-line pulls). -- Sponsored by 2 maintainers. Consider the following requirements for sponsors: - - No objections from other maintainers - - Done through a PR that updates the corresponding `CODEOWNERS` file -- [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20Approver%20membership%20for%20%3Cyour-GH-handle%3E) +* Sponsored by 2 maintainers. Consider the following requirements for sponsors: + * No objections from other maintainers + * Done through a PR that updates the corresponding `CODEOWNERS` file +* [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20Approver%20membership%20for%20%3Cyour-GH-handle%3E) against the [keptn/community](https://github.com/keptn/community) repo: - - Ensure your sponsors are `@mentioned` on the issue - - Complete every item on the checklist ([preview the current version of the + * Ensure your sponsors are `@mentioned` on the issue + * Complete every item on the checklist ([preview the current version of the template](https://github.com/keptn/community/blob/master/.github/ISSUE_TEMPLATE/membership.md)) - - Make sure that the list of contributions included is representative of your + * Make sure that the list of contributions included is representative of your work on the project. -- Add yourself to the list of [project approvers](https://github.com/keptn/keptn/blob/master/MAINTAINERS) +* Add yourself to the list of [project approvers](https://github.com/keptn/keptn/blob/master/MAINTAINERS) ### Responsibilities and privileges *The following applies to the part of the codebase for which one would be an approver in the `CODEOWNERS` file:* -- Approver status may be a precondition to accepting large code contributions -- Demonstrates sound technical judgment -- Approves code contributions for acceptance -- Is responsible for project quality control via code reviews: - - Focus on holistic acceptance of contribution such as dependencies with other +* Approver status may be a precondition to accepting large code contributions +* Demonstrates sound technical judgment +* Approves code contributions for acceptance +* Is responsible for project quality control via code reviews: + * Focus on holistic acceptance of contribution such as dependencies with other features, backwards / forwards compatibility, API and flag definitions, etc. -- Is expected to be responsive to review requests - inactivity for more than 1 month may result in suspension until active again -- Is mentor of new members +* Is expected to be responsive to review requests - inactivity for more than 1 month may result in suspension until active again +* Is mentor of new members ## Maintainer Maintainers are the technical authority for the main repository and subproject in the Keptn project. They *MUST* have demonstrated both good judgment and responsibility towards the health of the Keptn project. Maintainers *MUST* set technical direction and make or approve design decisions for their subproject; either directly or through delegation of these responsibilities. *Defined by:* + * [Maintainers of the Keptn GitHub organization](https://github.com/orgs/keptn/teams/maintainers) * Ownership of the GitHub repository * Permissions and entry in `CODEOWNERS` files @@ -137,34 +140,35 @@ The process for becoming a maintainer should be defined in the project or subpro *The following applies to the subproject for which one would be an owner:* -- Deep understanding of the technical goals and direction of the subproject -- Deep understanding of the technical domain (specifically the language) of the subproject -- Sustained contributions to design and direction by doing all of: - - Authoring and reviewing proposals - - Initiating, contributing, and resolving discussions (e-mails, GitHub issues, +* Deep understanding of the technical goals and direction of the subproject +* Deep understanding of the technical domain (specifically the language) of the subproject +* Sustained contributions to design and direction by doing all of: + * Authoring and reviewing proposals + * Initiating, contributing, and resolving discussions (e-mails, GitHub issues, meetings) - - Identifying subtle or complex issues in designs and implementation PRs -- Directly contributed to the subproject through implementation and / or review -- Aligning with the overall project goals, specifications, and design principles. Bringing general questions and requests to the discussions as part of the specifications project. -- [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20Maintainer%20membership%20for%20%3Cyour-GH-handle%3E) + * Identifying subtle or complex issues in designs and implementation PRs +* Directly contributed to the subproject through implementation and / or review +* Aligning with the overall project goals, specifications, and design principles. Bringing general questions and requests to the discussions as part of the specifications project. +* [Open an issue](https://github.com/keptn/community/issues/new?template=membership.md&title=REQUEST%3A%20Maintainer%20membership%20for%20%3Cyour-GH-handle%3E) against the [keptn/community](https://github.com/keptn/community) repo: - - Ensure your sponsors are `@mentioned` on the issue - - Complete every item on the checklist ([preview the current version of the + * Ensure your sponsors are `@mentioned` on the issue + * Complete every item on the checklist ([preview the current version of the template](https://github.com/keptn/community/blob/master/.github/ISSUE_TEMPLATE/membership.md)) - - Make sure that the list of contributions included is representative of your + * Make sure that the list of contributions included is representative of your work on the project. -- Add yourself to the list of [project members](https://github.com/keptn/keptn/blob/master/MAINTAINERS) +* Add yourself to the list of [project members](https://github.com/keptn/keptn/blob/master/MAINTAINERS) + ### Responsibilities and privileges *The following applies to the subproject for which one would be an owner:* -- Makes and approves technical design decisions for the subproject -- Sets technical direction and priorities for the subproject -- Defines milestones and releases -- Is mentor and guides approvers, and maintainers to the subproject -- Escalates *reviewer* and *maintainer* workflow concerns (i.e., responsiveness, availability, and general contributor community health) to the TC. -- Ensures continued health of subproject: - - Adequate test coverage to confidently release - - Tests are passing reliably (i.e., not flaky) and are fixed when they fail -- Ensures a healthy process for discussion and decision making is in place -- Works with other maintainers to maintain the overall project health and success +* Makes and approves technical design decisions for the subproject +* Sets technical direction and priorities for the subproject +* Defines milestones and releases +* Is mentor and guides approvers, and maintainers to the subproject +* Escalates *reviewer* and *maintainer* workflow concerns (i.e., responsiveness, availability, and general contributor community health) to the TC. +* Ensures continued health of subproject: + * Adequate test coverage to confidently release + * Tests are passing reliably (i.e., not flaky) and are fixed when they fail +* Ensures a healthy process for discussion and decision making is in place +* Works with other maintainers to maintain the overall project health and success diff --git a/community-rockstar.md b/community-rockstar.md index e523e27..bbf9f20 100644 --- a/community-rockstar.md +++ b/community-rockstar.md @@ -7,4 +7,4 @@ hide: true The Keptn community is growing and we are awarding individuals that help us in this mission! -## :warning: Please note that we have migrated our community rockstars to [keptn.sh/community/rockstars](https://keptn.sh/community/rockstars) :warning: +## :warning: Please note that we have migrated our community rockstars to [keptn.sh/community/rockstars](https://keptn.sh/community/rockstars) :warning diff --git a/config.yaml b/config.yaml index c191174..8f330ba 100644 --- a/config.yaml +++ b/config.yaml @@ -25,6 +25,5 @@ languages: contentDir: "./" ignoreFiles: - - "mentorship/gsoc" - "public" - "tmp" diff --git a/elections/2022/governance-committee-candidates/_index.md b/elections/2022/governance-committee-candidates/_index.md index 3e74769..37bfbd3 100644 --- a/elections/2022/governance-committee-candidates/_index.md +++ b/elections/2022/governance-committee-candidates/_index.md @@ -7,6 +7,7 @@ linktitle: Governance Committee Candidates ## List of candidates In alphabetical order: + - [Alex Jones](#alex-jones) - [Alois Reitbauer](#alois-reitbauer) - [Ana Margarita Medina](#ana-margarita-medina) @@ -26,16 +27,16 @@ Description of candidate ### Alex Jones - +Alex Jones - Company: Canonical -- GitHub: https://github.com/AlexsJones -- Twitter: https://twitter.com/AlexJonesax -- Personal Website: https://www.cloudnativeskunkworks.io/ +- GitHub: +- Twitter: +- Personal Website: #### Description of candidate #### -Alex works as both a contributor and end-user of cloud-native technology. +Alex works as both a contributor and end-user of cloud-native technology. When not working as Kubernetes Engineering Director at Canonical; he contributes to CNCF TAG App Delivery as Tech Lead and to the Open Feature project on the governing board. He also maintains several other popular community projects. --- @@ -45,12 +46,12 @@ When not working as Kubernetes Engineering Director at Canonical; he contributes Alois Reitbauer - Company: Dynatrace -- GitHub: https://github.com/aloisreitbauer -- Twitter: https://twitter.com/aloisreitbauer +- GitHub: +- Twitter: #### Description of candidate #### -Alois works as Chief Technology Strategist at Dynatrace, where he leads all open source and research efforts. He is also co-chair of TAG App Delivery in the CNCF and contributor and maintainer to several other open source projects like OpenFeature and OpenTelemetry. Alois is the initial creator of the Keptn project and was driving most of the conceptual over the last couple of years. He is also a co-creator of the application lifecycle toolkit for Keptn. +Alois works as Chief Technology Strategist at Dynatrace, where he leads all open source and research efforts. He is also co-chair of TAG App Delivery in the CNCF and contributor and maintainer to several other open source projects like OpenFeature and OpenTelemetry. Alois is the initial creator of the Keptn project and was driving most of the conceptual over the last couple of years. He is also a co-creator of the application lifecycle toolkit for Keptn. --- @@ -64,18 +65,18 @@ Alois works as Chief Technology Strategist at Dynatrace, where he leads all open - LinkedIn [Ana Margarita Medina](https://www.linkedin.com/in/anammedina/) #### Description of candidate #### + Ana Margarita is a Staff Developer Advocate at Lightstep and focuses on helping companies be more reliable by leveraging Observability and Incident Response practices. She is also on the Kubernetes Release Team (v1.25 - v1.26) and has been advising CNCF's Keptn project since 2019. Before Lightstep, she was a Senior Chaos Engineer at Gremlin and helped companies avoid outages by running proactive chaos engineering experiments. She has also worked at various-sized companies including Google, Uber, SFEFCU, and Miami-based startups. Ana is an internationally recognized speaker and has presented at: AWS re:Invent, KubeCon, DockerCon, DevOpDays, AllDayDevOps, Write/Speak/Code, and many others. Catch her tweeting at @Ana_M_Medina about traveling, diversity in tech, and mental health. --- - ### Andreas Grabner Andreas Grabner - Company: Dynatrace -- GitHub: https://github.com/grabnerandi -- Twitter: https://twitter.com/grabnerandi +- GitHub: +- Twitter: #### Description of candidate #### @@ -86,9 +87,9 @@ Andreas is a DevOps activist at Dynatrace. He has over 20 years of experience as Brad McCoy - Company: Basiq -- GitHub: https://github.com/bradmccoydev -- Twitter: https://twitter.com/bradmccoydev -- Personal Website: https://blog.bradmccoy.io +- GitHub: +- Twitter: +- Personal Website: #### Description of candidate #### @@ -101,9 +102,9 @@ Brad is a CNCF Ambassador and contributes to projects and programs in the CNCF a Diego Braga - Company: Krateo PlatformOps -- GitHub: https://github.com/braghettos -- Twitter: https://twitter.com/braghettos -- Personal Website: https://www.linkedin.com/in/diegobraga86/ +- GitHub: +- Twitter: +- Personal Website: #### Description of candidate #### @@ -115,15 +116,15 @@ Diego Braga is Product Manager at Krateo PlatformOps. Diego has spent last 10 ye Suraj Banakar - - Company: Acquia - GitHub: [vadasambar](https://github.com/vadasambar) - Twitter: [@_vadasambar](https://twitter.com/_vadasambar) -- Personal Website: https://vadasambar.com +- Personal Website: #### Description of candidate #### When not working on maintaining Acquia's internal Kubernetes as a Service platform, I contribute to Keptn and other open source projects. I believe in open communication, transparency, fact-based decision making and try-fail-learn loop. As someone who has made contributions to both Keptn code and community, here are some of the things I can offer: + 1. Strive for what is best for Keptn i.e., do whatever it takes to help get the project to that next level 2. Ask (often difficult) questions 3. Act as a neutral party (my company has no vested interests in Keptn) diff --git a/elections/2022/governance-committee-election/_index.md b/elections/2022/governance-committee-election/_index.md index 72fd45b..3b2b895 100644 --- a/elections/2022/governance-committee-election/_index.md +++ b/elections/2022/governance-committee-election/_index.md @@ -17,17 +17,17 @@ Election schedule: We highly encourage participation in this election cycle to ensure that the community is well-represented by the Governance Committee. -# TL;DR +## TL;DR * If you've been nominated or are willing to nominate yourself: express your interest in [this issue](https://github.com/keptn/community/issues/184) * Vote between 18 November 2022 00:00 UTC and 27 November 2022 23:59 UTC via the [voting link](https://vote.heliosvoting.org/helios/e/keptn-gb-2022) * Stay a Keptn and keep contributing to the project! -# Vacancies -Three people from three different organizations must be elected in this election, the term is also part of the voting (one or two years). +## Vacancies +Three people from three different organizations must be elected in this election, the term is also part of the voting (one or two years). -# Voting process +## Voting process Anyone can track the 2022 election process via [this GitHub issue](https://github.com/keptn/community/issues/185). We will ensure that all documents and assets related to the 2022 election process are public. @@ -35,7 +35,7 @@ For the 2022 elections, [Helios Voting](https://vote.heliosvoting.org/) was chos Helios voting also allows us to add GitHub handles to the list of voters in addition to email addresses. We need this, as we count contributions based on GitHub contributions and do not always have the contributor's actual email address. The disadvantage of Helios is that it does not support ranked voting -# Nominations +## Nominations Anybody is eligible to run for the Governance Committee. During the "call for nomination" period, people can be nominated or nominate themselves by expressing their interest in [this issue](https://github.com/keptn/community/issues/184) a Pull Request adding said candidate to the [governance-committee-candidates.md](../governance-committee-candidates/) file in the Keptn community repository. The template in that file includes the following columns: @@ -47,11 +47,11 @@ Anybody is eligible to run for the Governance Committee. During the "call for no The Pull Request will not be merged until the candidate has confirmed their desire to be nominated (if not self-nominating) and ratified via PR comments. -# Voter Eligibility +## Voter Eligibility All [members of the Keptn Organization (Members, Approvers, Maintainers)](https://github.com/keptn/keptn/blob/master/MAINTAINERS) will automatically be eligible to vote. -# Vote +## Vote Everyone with voting rights may log into [Helios Voting](https://vote.heliosvoting.org/helios/e/keptn-gb-2022) using their GitHub account. Voting will be approval voting, where each voter may select up to three candidates. The three candidates with the most votes win the election. The three winners must be from different organizations, therefore only the highest ranked nominee from each organization will be elected. Nevertheless, it is possible to vote three nominees from the same organization. @@ -59,6 +59,6 @@ If there is a draw between the third and the lower ranked candidates, there will Per Helios, voting is entirely private: nobody will know any individual's vote. -# Results +## Results -Voting will close on 27th November 2022 at 23:59 UTC. Nominees will be stack ranked. If a nominee becomes ineligible (for instance, if more than three topmost nominees work for the same company), the election committee will skip those nominees and pick the nominee with the next-highest score. The exact scores for each candidate will be public. \ No newline at end of file +Voting will close on 27th November 2022 at 23:59 UTC. Nominees will be stack ranked. If a nominee becomes ineligible (for instance, if more than three topmost nominees work for the same company), the election committee will skip those nominees and pick the nominee with the next-highest score. The exact scores for each candidate will be public. diff --git a/governance/advisory-board/_index.md b/governance/advisory-board/_index.md index f286e7e..a53ce23 100644 --- a/governance/advisory-board/_index.md +++ b/governance/advisory-board/_index.md @@ -68,4 +68,4 @@ for example severe [Code of Conduct](../../code_of_conduct/) violations, members can be removed from the Advisory Board after a decision made by the community. -- +- diff --git a/governance/cncf-incubation/_index.md b/governance/cncf-incubation/_index.md index 8769d97..8d5b4a6 100644 --- a/governance/cncf-incubation/_index.md +++ b/governance/cncf-incubation/_index.md @@ -10,9 +10,9 @@ This directory contains related documents for the application. ## References -- Pull request with the proposal: https://github.com/cncf/toc/pull/670 -- Due Diligence document: https://docs.google.com/document/d/14qFAc6kxhWX_JLMUKddgELcymaRw6jmhsq0OYxrHtc0/edit# -- Keptn Security audit: https://github.com/cncf/tag-security/issues/784 +- Pull request with the proposal: +- Due Diligence document: +- Keptn Security audit: - TOC sponsor: [Cornelia Davis](https://github.com/cdavisafc) ## Archive diff --git a/mentorship/_index.md b/mentorship/_index.md index f137030..560894f 100644 --- a/mentorship/_index.md +++ b/mentorship/_index.md @@ -12,9 +12,8 @@ to participate in one of these programs. Examples of programs we've participated in: -- [LFX Mentorship / CommunityBridge](./lfx-mentorship) +- [LFX Mentorship / CommunityBridge](./lfx-mentorship/) - [Google Summer of Code](./gsoc/) - [Google Season of Docs](./gsod) - [Hacktoberfest](https://hacktoberfest.digitalocean.com/) - Bug Bash at Kubecon conferences - diff --git a/mentorship/gsoc/2022/README.md b/mentorship/gsoc/2022/README.md deleted file mode 100644 index 6368fc3..0000000 --- a/mentorship/gsoc/2022/README.md +++ /dev/null @@ -1,16 +0,0 @@ -## GSoC 2022 - -### GSoC 2022 projects - -- Eric Y. Kim - [Entity Custom Resource Definitions for Keptn GitOps](./2022/projects/gitops-entity-CRDs/README.md) -- Jainam Shah - [Integration Service for K6](./2022/projects/k6-integration-service/README.md) -- Meha Bhalodiya - [Integration(s) for GitOps-based deployment tools (e.g. ArgoCD/Flux)](./2022/projects/gitops-deployment-tools-integration/README.md) -- Rajiv Ranjan Singh - [New Documentation Site Engine](./2022/projects/new-docs-site-engine/README.md) - -### References - -- [2022 Project ideas](./project-ideas.md) -- [Google Summer of Code website](https://summerofcode.withgoogle.com/) -- [GSoC Timeline](https://summerofcode.withgoogle.com/how-it-works#timeline) -- [Keptn Organization Profile](https://summerofcode.withgoogle.com/programs/2022/organizations/keptn) -- [Keptn 2022 application](https://docs.google.com/document/d/1MV7Y-_7vwgWfKwjDUemk_OOhQSt7qrp9RG9LSAQGGSE/edit?usp=sharing) \ No newline at end of file diff --git a/mentorship/gsoc/2022/project-ideas.md b/mentorship/gsoc/2022/_index.md similarity index 84% rename from mentorship/gsoc/2022/project-ideas.md rename to mentorship/gsoc/2022/_index.md index 7664652..39b2e7e 100644 --- a/mentorship/gsoc/2022/project-ideas.md +++ b/mentorship/gsoc/2022/_index.md @@ -1,13 +1,19 @@ -# GSoC Project Ideas - Keptn +--- +linktitle: 2022 +--- + +# GSoC 2022 -This document presents Google Summer of Code project ideas -which Keptn contributors have proposed for this year. -Application guidelines and more information about Keptn -in GSoC are available on [this page](../README.md) +## GSoC 2022 projects + +- Eric Y. Kim - [Entity Custom Resource Definitions for Keptn GitOps](./gitops-entity-crds/) +- Jainam Shah - [Integration Service for K6](./k6-integration-service/) +- Meha Bhalodiya - [Integration(s) for GitOps-based deployment tools (e.g. ArgoCD/Flux)](./gitops-deployment-tools-integration/) +- Rajiv Ranjan Singh - [New Documentation Site Engine](./new-docs-site-engine/) ## 2022 Project Ideas -- [GitOps for Keptn](#keptn-gitops) +- [GitOps for Keptn](#keptn-gitops) - [Keptn Plugin for Backstage](#keptn-backstage-plugin) - [Improve GitHub Integration in Keptn](#keptn-github-integration) - [Integration for GitOps-based Deployment Tools](#keptn-gitops-integration) @@ -17,11 +23,11 @@ in GSoC are available on [this page](../README.md) - [Interactive Katacoda Playground for `keptn`](#keptn-katacoda-playground) + ### GitOps for Keptn The configuration of a Keptn project requires a lot of imperative commands, executed in the right order. - The idea is to extend the current Keptn and Keptn GitOps operators for more management use-cases based on the prototypes created as a part of the Enhancement Proposal. Particular details are to be discussed in the project chat with potential mentors. @@ -34,9 +40,10 @@ Particular details are to be discussed in the project chat with potential mentor - Potential mentor(s): Thomas Schuetz, Oleg Nenashev, Suraj Banakar + ### Keptn Plugin for Backstage -[Backstage](https://backstage.io/) is an open platform for building developer portals. +[Backstage](https://backstage.io/) is an open platform for building developer portals. As the website states, "powered by a centralized software catalog, Backstage restores order to your infrastructure and enables your product teams to ship high-quality code quickly — without compromising autonomy". @@ -44,16 +51,17 @@ It would be nice to provide Keptn integration for this portal so that Keptn can connect as many as other tools. See all [Backstage Plugins](https://backstage.io/plugins). A Possible solution could be a specialized plugin for Keptn using Keptn REST API and/or CLI. -It might be also possible to create a unified plugin for Keptn and other CI/CD tools, -e.g. implemented on the top of the Cloud Events / CDEvents standard. +It might be also possible to create a unified plugin for Keptn and other CI/CD tools, +e.g. implemented on the top of the Cloud Events / CDEvents standard. -- More info: https://github.com/keptn/keptn/issues/6407 +- More info: - Slack channel for technical discussion: `#wg-backstage-integrations` - Areas to study/improve: Golang, JavaScript, React, Backstage - Project size: 175 hours - Potential mentor(s): Oleg Nenashev, Dmitry Meytin, Afzal Ansari + ### Improve GitHub Integration in Keptn GitHub is widely used in proprietary and open source projects. @@ -65,16 +73,16 @@ especially to provide better user experience for users. Potential use-cases that could be addressed in the project: -- **GitHub App Authentication Service** with support for executing GitHub REST API calls with GitHub App authentication. - It is required for accessing GitHub's [Checks API](https://docs.github.com/en/rest/reference/checks) and +- **GitHub App Authentication Service** with support for executing GitHub REST API calls with GitHub App authentication. + It is required for accessing GitHub's [Checks API](https://docs.github.com/en/rest/reference/checks) and [Deployments API](https://docs.github.com/en/rest/reference/deployments) -- **Support for triggering GitHub Actions** from Keptn so that it can invoke GitHub actions from its sequences and auto-remediation steps. +- **Support for triggering GitHub Actions** from Keptn so that it can invoke GitHub actions from its sequences and auto-remediation steps. See [Keptn Issue #2670](https://github.com/keptn/keptn/issues/2670) for more details. -- **Reporting application statuses to Deployments API**. +- **Reporting application statuses to Deployments API**. It would be nice if Keptn could report deployment status to GitHub when performing Deployment and auto-remediation sequences. -- **Reporting Service Level Objectives(SLOs) and quality gate evaluation results to Checks API**. +- **Reporting Service Level Objectives(SLOs) and quality gate evaluation results to Checks API**. If Keptn quality gate evaluation is triggered from a GitHub branch/pull request (e.g. staging or preview environment deployment in GitHub Actions based CI/CD), - it would be nice if Keptn coud report evaluation summaries to the [Checks API](https://docs.github.com/en/rest/reference/checks) + it would be nice if Keptn coud report evaluation summaries to the [Checks API](https://docs.github.com/en/rest/reference/checks) Summary: @@ -85,7 +93,9 @@ Summary: - Potential mentor(s): Oleg Nenashev, Brad McCoy + ### Integration for GitOps-based Deployment Tools (e.g. ArgoCD/Flux) + [Flux](https://fluxcd.io/) and [ArgoCD](https://argoproj.github.io/cd) are tools which are widely used to deploy cloud native applications in a GitOps way. As such, it would bring a very huge benefit to the ecosystem to find a way how such GitOps tools could be integrated into keptn and return deployment states after the state has been synced. This project would be done in collaboration with flux and keptn maintainers. - Areas to study/improve: Golang, argocd, flux, deployment, gitops @@ -95,22 +105,23 @@ Summary: - Potential mentor(s): Thomas Schuetz, Scott Rigby (Weave/Flux) + ### Integration service for k6 -[k6](https://k6.io/) is a modern cloud native tool for performance testing. It would be nice to support it as a part of Keptn Quality Gates, similar to the existing JMeter or Lithmus Chaos integration services. +[k6](https://k6.io/) is a modern cloud native tool for performance testing. It would be nice to support it as a part of Keptn Quality Gates, similar to the existing JMeter or Lithmus Chaos integration services. The scope could be to create a Keptn Sequence step for invoking k6 for doing performance testing against a developer/staging environment and evaluate the results of [k6 Thresholds](https://k6.io/docs/using-k6/thresholds/) to make a decision on further promotion. -Additionally improvement could be that k6 send testing metrics to Prometheus in real-time to evaluate Service Level Indicators on Prometheus and decide the further promotion. - +Additionally improvement could be that k6 send testing metrics to Prometheus in real-time to evaluate Service Level Indicators on Prometheus and decide the further promotion. - Areas to study/improve: Golang, k6, performance testing, Prometheus - Slack channel for technical discussion: `#wg-k6-integrations` - Project size: 175 hours - Difficulty: Easy/Medium - Potential mentor(s): Pepe Cano (k6) - + + ### Jenkins Pipeline Executor Service Jenkins is widely used as a CI/CD automation tool. @@ -121,9 +132,9 @@ At the same time it would be great to have deeper integrations with Jenkins as a Potential deliverables: -* New service that would support executing Jenkins Pipelines on a remote Jenkins instance. +- New service that would support executing Jenkins Pipelines on a remote Jenkins instance. This service could also wait for completion and extract the executor results from there. -* Executing Jenkins Pipelines right within Keptn's execution plane so that there is no remote Jenkins instance. +- Executing Jenkins Pipelines right within Keptn's execution plane so that there is no remote Jenkins instance. This feature would be based on [Jenkinsfile Runner](https://github.com/jenkinsci/jenkinsfile-runner). Summary: @@ -135,6 +146,7 @@ Summary: - Potential mentor(s): Oleg Nenashev, Afzal Ansari + ### New Documentation site engine Currently the Keptn documentation site is based on Markdown and [Hugo](https://gohugo.io/). @@ -169,7 +181,7 @@ Potential scope/deliverables: - Nice2have: Implement previews for the website and support for staging changes (e.g. pre-release documentation). - Developer/Contributor documentation for the new engine, in collaboration with the documentation contributors. -Summary: +Summary: - More info: [keptn.github.io issues#994](https://github.com/keptn/keptn.github.io/issues/994) - Discussion channel: `#keptn-docs` @@ -179,6 +191,7 @@ Summary: - Potential mentor(s): Meg McRoberts, Oleg Nenashev, Suraj Banakar, Indermohan Singh + ### Interactive Katacoda Playground for `keptn` Katacoda is an Interactive Learning and Training Platform for Software Engineers to help learn new technologies using real environments right in the browser. @@ -190,9 +203,9 @@ But it lacks the real time scenarios, we can extend this tutorial to provide use Potential use-cases that could be addressed in the project: -- With the support of Katacoda platform, each tutorial of `keptn` can be created and visualised smoothly. +- With the support of Katacoda platform, each tutorial of `keptn` can be created and visualised smoothly. It would be nice if various kubernetes clusters can be integrated in the playground e.g. k3s, k3d, etc. -- Developer/Contributor playground for the keptn tutorial, in collaboration with the documentation/tutorial contributors. +- Developer/Contributor playground for the keptn tutorial, in collaboration with the documentation/tutorial contributors. Summary: @@ -201,3 +214,10 @@ Summary: - Project size: 175 hours - Difficulty: Medium - Potential mentor(s): Oleg Nenashev, Afzal Ansari + +## References + +- [Google Summer of Code website](https://summerofcode.withgoogle.com/) +- [GSoC Timeline](https://summerofcode.withgoogle.com/how-it-works#timeline) +- [Keptn Organization Profile](https://summerofcode.withgoogle.com/programs/2022/organizations/keptn) +- [Keptn 2022 application](https://docs.google.com/document/d/1MV7Y-_7vwgWfKwjDUemk_OOhQSt7qrp9RG9LSAQGGSE/edit?usp=sharing) diff --git a/mentorship/gsoc/2022/projects/gitops-deployment-tools-integration/README.md b/mentorship/gsoc/2022/gitops-deployment-tools-integration/_index.md similarity index 71% rename from mentorship/gsoc/2022/projects/gitops-deployment-tools-integration/README.md rename to mentorship/gsoc/2022/gitops-deployment-tools-integration/_index.md index 10ad868..3847c09 100644 --- a/mentorship/gsoc/2022/projects/gitops-deployment-tools-integration/README.md +++ b/mentorship/gsoc/2022/gitops-deployment-tools-integration/_index.md @@ -1,7 +1,12 @@ +--- +title: Integration for GitOps-based Deployment Tools (ArgoCD/Flux) +linktitle: GitOps Deployment Tools Integration +--- +
- +
- +

Keptn

@@ -34,8 +39,8 @@ This project would be done in collaboration with Flux and Keptn maintainers. - Contributor: Meha Bhalodiya - [GitHub](https://github.com/mehabhalodiya) | [LinkedIn](https://www.linkedin.com/in/meha-bhalodiya) | [Twitter](https://twitter.com/mehabhalodiya) - Mentors: - - Brad McCoy - [GitHub](https://github.com/bradmccoydev) | [LinkedIn](https://www.linkedin.com/in/bradmccoy3/) | [Twitter](https://twitter.com/bradmccoydev) - - Thomas Schuetz - [GitHub](https://github.com/thschue) | [LinkedIn](https://www.linkedin.com/in/thschue/) | [Twitter](https://twitter.com/ThSchue) + - Brad McCoy - [GitHub](https://github.com/bradmccoydev) | [LinkedIn](https://www.linkedin.com/in/bradmccoy3/) | [Twitter](https://twitter.com/bradmccoydev) + - Thomas Schuetz - [GitHub](https://github.com/thschue) | [LinkedIn](https://www.linkedin.com/in/thschue/) | [Twitter](https://twitter.com/ThSchue) ## Contacts @@ -53,21 +58,24 @@ testing strategy. Furthermore, it would allow users to use keptn without touchin ## Work Summary A few major milestones of this project were as follows: + - Finding a way to integrate GitOps Tools in keptn - Provide an integration service for such tools - Provide documentation on how to use this integration - Creating a testing pipeline for new versions and compatibility ## Challenges + Various challenges were faced during the project. Some are - Make the alert and provider in the working state - Matching the provider labels as in the project -- Getting `Release reconciliation succeeded` status of the demo +- Getting `Release reconciliation succeeded` status of the demo Scheduling meetings like mentors and mentees were at different time zones so it was a little bit hard to sync up but we did it and we had a great meeting. ## Learnings + I am very glad that I had the opportunity to take part in the Google Summer of Code program. Participating in this program has helped me to: - Proper PoC and understanding are very important before starting the project or any feature and also we should have other alternatives before choosing the best one. This thing I got to learn when the `Upgrading version of the demo and triggering the event` feature was not implemented fully because I did not understand the feature properly. @@ -78,22 +86,24 @@ I am very glad that I had the opportunity to take part in the Google Summer of C Apart from the above, I have learned a lot of things from my mentors and other community members. I am very thankful to my mentors and other community members for helping me throughout the program. ## Acknowledgments -I am deeply grateful to my mentors [Brad McCoy](https://github.com/bradmccoydev) and [Thomas ](https://github.com/thschue) for guiding me through the project and were always ready to help, review work in progress, gave feedback regarding the overall shape of the project and the feasibility of certain solutions and maintained a very friendly, supportive, and stimulating atmosphere on the team. They devoted a lot of time to this project. + +I am deeply grateful to my mentors [Brad McCoy](https://github.com/bradmccoydev) and [Thomas](https://github.com/thschue) for guiding me through the project and were always ready to help, review work in progress, gave feedback regarding the overall shape of the project and the feasibility of certain solutions and maintained a very friendly, supportive, and stimulating atmosphere on the team. They devoted a lot of time to this project. I'd also like to thank [Oleg Nenashev](https://github.com/oleg-nenashev) and [Keptn](https://github.com/keptn/keptn) community members for their support and feedback. Last but not least, I would like to thank Google and Google Summer of Code organizers for this initiative. ## References -* [Enhancement Proposal](https://github.com/keptn/enhancement-proposals/pull/67) -* [Contributor Proposal link](https://docs.google.com/document/d/194yMNDTolmMSxBkXD_1HcfmtOaB0N7AlMfVPSI0yc60/edit?usp=sharing) -* [Project page at GSoC 2022 website](https://summerofcode.withgoogle.com/programs/2022/projects/yHHRfVz2) -* [GitHub Project Board (timeline & issues)](https://github.com/keptn-sandbox/keptn-flux-integration/projects/1) -* [Meeting Notes & Updates](https://docs.google.com/document/d/1AWTQdsJPJpZUgmY3qJ-QHewHvEukt7aHQTOJtnYsxVQ/edit?usp=sharing) -* [Keptn GitOps support for Flux: issue link](https://github.com/keptn/integrations/issues/28) -* [Project repository](https://github.com/keptn-sandbox/keptn-flux-integration) -* [Contributor repository](https://github.com/mehabhalodiya/GSoC-22) + +- [Enhancement Proposal](https://github.com/keptn/enhancement-proposals/pull/67) +- [Contributor Proposal link](https://docs.google.com/document/d/194yMNDTolmMSxBkXD_1HcfmtOaB0N7AlMfVPSI0yc60/edit?usp=sharing) +- [Project page at GSoC 2022 website](https://summerofcode.withgoogle.com/programs/2022/projects/yHHRfVz2) +- [GitHub Project Board (timeline & issues)](https://github.com/keptn-sandbox/keptn-flux-integration/projects/1) +- [Meeting Notes & Updates](https://docs.google.com/document/d/1AWTQdsJPJpZUgmY3qJ-QHewHvEukt7aHQTOJtnYsxVQ/edit?usp=sharing) +- [Keptn GitOps support for Flux: issue link](https://github.com/keptn/integrations/issues/28) +- [Project repository](https://github.com/keptn-sandbox/keptn-flux-integration) +- [Contributor repository](https://github.com/mehabhalodiya/GSoC-22)
- +
diff --git a/mentorship/gsoc/2022/projects/gitops-entity-CRDs/README.md b/mentorship/gsoc/2022/gitops-entity-crds/_index.md similarity index 65% rename from mentorship/gsoc/2022/projects/gitops-entity-CRDs/README.md rename to mentorship/gsoc/2022/gitops-entity-crds/_index.md index 5d3c8d1..f09776d 100644 --- a/mentorship/gsoc/2022/projects/gitops-entity-CRDs/README.md +++ b/mentorship/gsoc/2022/gitops-entity-crds/_index.md @@ -1,9 +1,21 @@ -GSoC 2022 - Entity Custom Resource Definitions for Keptn GitOps -========== +--- +title: Entity Custom Resource Definitions for Keptn GitOps +linktitle: Entity Custom Resource Definitions for Keptn GitOps +--- +
+ +
+ +
+

Keptn

+

+Entity Custom Resource Definitions for Keptn GitOps +

+
This project implements the remaining Keptn entities as Kubernetes Custom Resource Definitions to shift more of Keptn's components towards a GitOps workflow. -As a result, users will be able to configure these entities +As a result, users will be able to configure these entities via PRs to a configuration repository or manage them directly using the Kubernetes APIs. ## Project team @@ -22,6 +34,7 @@ Afzal Ansari ## Details There has been significant progress towards a fully GitOps approach for Keptn through the implementation of the [Keptn Gitops Operator Prototype](https://github.com/keptn-sandbox/keptn-gitops-operator). In fact, it is already possible to configure Keptn by merging pull requests to a configuration repository and by application of the following [Kubernetes Custom Resources (CRs)](https://github.com/keptn-sandbox/keptn-gitops-operator#custom-resources): + - KeptnInstance - KeptnProject - KeptnService @@ -30,21 +43,23 @@ There has been significant progress towards a fully GitOps approach for Keptn th - KeptnServiceDeployment Along with this progress, there are additional possible enhancements discussed in [discussions/5296](https://github.com/keptn/keptn/discussions/5296) to achieve a Keptn workflow that includes configuration via the Kubernetes API and less frequent communication with the Keptn upstream repository. Specifically, this project will implement the outstanding Keptn entity CRs not currently included in the prototype: + - SLI configs - SLO configs - Remediation configs - Webhook configs As a result, in addition to bringing Keptn closer to achieving a GitOps workflow, users will benefit as a result of: + - Improved performance due to less frequent communication with the Keptn Git repository (as already mentioned) - Added ability to manage Keptn entities directly using kubectl ## References -* [Project repository](https://github.com/keptn-sandbox/keptn-gitops-operator) -* [Project page on the GSoC website](https://summerofcode.withgoogle.com/programs/2022/projects/yd9z3DBo) -* [Project daily asynchronous standups](https://github.com/keptn-sandbox/keptn-gitops-operator/wiki/GSoC-22:-Entity-CRDs-Asynchronous-Daily-Standups) -* [Keptn community calendar](https://calendar.google.com/calendar/u/0/embed?src=dynatrace.com_abjrh1ukf18ih477tb1ekag2ag@group.calendar.google.com) - * [Project weekly meeting minutes](https://docs.google.com/document/d/11bA3hswCThFNZKFGFN5XMyPDvAjpVW3nBvzAw-CXSS4) - * [Project weekly meeting recordings](https://www.youtube.com/playlist?list=PL6i801Rjt9DaX77b9w_Sn9aIaisRZdbNi) -* [Project timeline & issues](https://github.com/keptn-sandbox/keptn-gitops-operator/projects/1) +- [Project repository](https://github.com/keptn-sandbox/keptn-gitops-operator) +- [Project page on the GSoC website](https://summerofcode.withgoogle.com/programs/2022/projects/yd9z3DBo) +- [Project daily asynchronous standups](https://github.com/keptn-sandbox/keptn-gitops-operator/wiki/GSoC-22:-Entity-CRDs-Asynchronous-Daily-Standups) +- [Keptn community calendar](https://calendar.google.com/calendar/u/0/embed?src=dynatrace.com_abjrh1ukf18ih477tb1ekag2ag@group.calendar.google.com) + - [Project weekly meeting minutes](https://docs.google.com/document/d/11bA3hswCThFNZKFGFN5XMyPDvAjpVW3nBvzAw-CXSS4) + - [Project weekly meeting recordings](https://www.youtube.com/playlist?list=PL6i801Rjt9DaX77b9w_Sn9aIaisRZdbNi) +- [Project timeline & issues](https://github.com/keptn-sandbox/keptn-gitops-operator/projects/1) diff --git a/mentorship/gsoc/2022/projects/k6-integration-service/README.md b/mentorship/gsoc/2022/k6-integration-service/_index.md similarity index 74% rename from mentorship/gsoc/2022/projects/k6-integration-service/README.md rename to mentorship/gsoc/2022/k6-integration-service/_index.md index e286f46..1562571 100644 --- a/mentorship/gsoc/2022/projects/k6-integration-service/README.md +++ b/mentorship/gsoc/2022/k6-integration-service/_index.md @@ -1,7 +1,12 @@ +--- +title: K6 Integration Service +linktitle: K6 Integration Service +--- +
- +
- +

Keptn

@@ -17,12 +22,13 @@ K6 Integration Service - [Work Summary](#work-summary) - [Run Standard K6](#run-standard-k6) - [Support for K6 extensions](#support-for-k6-extensions) - - [Quality Gates Evaluation](#quality-gates-Evaluation) + - [Quality Gates Evaluation](#quality-gates-evaluation) - [Tutorials](#tutorials) - [Challenges](#challenges) - [Acknowledgments](#acknowledgments) - [Project Resources](#project-resources) - [References](#references) + ## Introduction K6 is an open-source tool widely used for load testing. @@ -46,13 +52,14 @@ Further goals include adding SLI and SLO compliance using Prometheus which K6 su ## Project Details -Support for K6 will help extend Keptn community users to switch/use it as performance testing tool. -K6 is considered to be a modern tool for DevOps like Keptn, so the community might be inclined towards using it. +Support for K6 will help extend Keptn community users to switch/use it as performance testing tool. +K6 is considered to be a modern tool for DevOps like Keptn, so the community might be inclined towards using it. + +Some of the features of K6 include: -Some of the features of K6 include: -* It has good resource utilization and one load generator can simulate tens of thousands of virtual users -* It is code-driven, with JavaScript as scripting language -* K6 has native support for Prometheus +- It has good resource utilization and one load generator can simulate tens of thousands of virtual users +- It is code-driven, with JavaScript as scripting language +- K6 has native support for Prometheus Thresholds in K6 are used for some specific pass/fail criteria. This feature is very commonly used. Based on passed/failed of Thresholds results, we'll return the state to the Keptn control plane. @@ -60,12 +67,13 @@ The K6 service will suscribe to the `sh.keptn.event.test.triggered` CloudEvent a ## Work Summary -The three major milestones of this project were as follows: +The three major milestones of this project were as follows: + 1. Run standard K6 2. Support K6 extensions 3. Use the metrics exported by K6 Extension for Keptn's Quality Gate evaluations -All the three milestones were achieved. +All the three milestones were achieved. ### Run Standard K6 @@ -86,21 +94,21 @@ The tutorials have been kept in 3 parts in the main project repository: [keptn-s ## Challenges Various challenges were faced during the project. Some are -* Job Executor Service and Keptn setup -* Communication from K6 extension running in JES and Prometheus -* Docker images for K6 extension not published officially -* Unique identifier for the K6 metrics in Prometheus based on project, stage and service -## Acknowledgments +- Job Executor Service and Keptn setup +- Communication from K6 extension running in JES and Prometheus +- Docker images for K6 extension not published officially +- Unique identifier for the K6 metrics in Prometheus based on project, stage and service -I would like to thank [Adam Gardner](https://github.com/agardnerit/) and [Pepe Cano](https://github.com/ppcano/) for mentoring me through the GSOC period and helping me learn lot of cool things. I'd also like to thank [Oleg Nenashev](https://github.com/oleg-nenashev) and [Keptn](https://github.com/keptn/keptn) Community for providing me this opportunity. +## Acknowledgments +I would like to thank [Adam Gardner](https://github.com/agardnerit/) and [Pepe Cano](https://github.com/ppcano/) for mentoring me through the GSOC period and helping me learn lot of cool things. I'd also like to thank [Oleg Nenashev](https://github.com/oleg-nenashev) and [Keptn](https://github.com/keptn/keptn) Community for providing me this opportunity. ## Project Resources -* [Repository](https://github.com/keptn-sandbox/k6-service) -* [SCRUM Board](https://github.com/keptn-sandbox/k6-service/projects/1) -* [Meeting Minutes](https://docs.google.com/document/d/1A3gbtQ6-YOTpO3v_ltBgHWTODFt93zByHXWVJ6r0jcg/edit?usp=sharing) +- [Repository](https://github.com/keptn-sandbox/k6-service) +- [SCRUM Board](https://github.com/keptn-sandbox/k6-service/projects/1) +- [Meeting Minutes](https://docs.google.com/document/d/1A3gbtQ6-YOTpO3v_ltBgHWTODFt93zByHXWVJ6r0jcg/edit?usp=sharing)