diff --git a/community/core/community/README.md/index.html b/community/core/community/README.md/index.html index 437b3e29dc..96eb8b2d4b 100644 --- a/community/core/community/README.md/index.html +++ b/community/core/community/README.md/index.html @@ -14,7 +14,7 @@ - }

Repository configuration

The github-config.yaml file contains the details of the + }

Repository configuration

The github-config.yaml file contains the details of the GitHub configuration for our organization.

This file is used by Peribolos to apply the configuration to the various repositories. Check the Peribolos diff --git a/community/core/community/SUPPORT_POLICY.md/index.html b/community/core/community/SUPPORT_POLICY.md/index.html index 2b40cc7101..1b12c47163 100644 --- a/community/core/community/SUPPORT_POLICY.md/index.html +++ b/community/core/community/SUPPORT_POLICY.md/index.html @@ -14,7 +14,7 @@ - }

Support Policy

This document outlines the support policy for Project Thoth. For general information how and where to contact us, + }

Support Policy

This document outlines the support policy for Project Thoth. For general information how and where to contact us, please see our help page.

Supported Runtime Environments

When adding new content to Thoth’s Knoweldge Graph, we follow (roughly) the following policy:

  1. what runtime is used by RHODS/Open Data Hub? Right now most data science work is based on ubi8-py38
  2. what runtime is the latest release and maintained by Red Hat? ubi9-py39
  3. based on our research (py311 due to perf incr.), see also https://www.phoronix.com/review/python-311-performance

End of Life

We will disable solvers and the corresponding Python versions when they reach end of life. The data aggregated by Project Thoth will be kept in the Knowledge Graph for as long as possible. We will not delete data from the Ceph storage, but might disable its use for advises.

\ No newline at end of file diff --git a/community/core/community/governance.md/index.html b/community/core/community/governance.md/index.html index 76ce940037..45d6313b64 100644 --- a/community/core/community/governance.md/index.html +++ b/community/core/community/governance.md/index.html @@ -14,7 +14,7 @@ - }

Principles

The Thoth Station community adheres to the following principles:

  • Open: Project Thoth is open source. See repository guidelines, below.
  • Welcoming and respectful: See Code of Conduct, below.
  • Transparent and accessible: Work and collaboration should be done in public. See SIG governance, below.
  • Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, [scope], and [design principles].

Code of Conduct

The Thoth Station community abides by [out code of conduct]:

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

As a member of the project, you represent the project and your fellow contributors. + }

Principles

The Thoth Station community adheres to the following principles:

  • Open: Project Thoth is open source. See repository guidelines, below.
  • Welcoming and respectful: See Code of Conduct, below.
  • Transparent and accessible: Work and collaboration should be done in public. See SIG governance, below.
  • Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, [scope], and [design principles].

Code of Conduct

The Thoth Station community abides by [out code of conduct]:

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

As a member of the project, you represent the project and your fellow contributors. We value our community tremendously and we’d like to keep cultivating a friendly and collaborative environment for our contributors and users. We want everyone in the community to have [positive experiences].

Community groups

The project is comprised of the following types of subgroups:

  • Special Interest Groups, SIGs
    • Subprojects

SIGs

The project is organized primarily into Special Interest diff --git a/community/core/community/help-wanted.md/index.html b/community/core/community/help-wanted.md/index.html index 323b42d6a4..691bfbeb30 100644 --- a/community/core/community/help-wanted.md/index.html +++ b/community/core/community/help-wanted.md/index.html @@ -20,7 +20,7 @@ - }Help Wanted and Good First Issue Labels | Thoth Station Help

Help Wanted and Good First Issue Labels

Overview

We use two labels to identify issues that have been specifically created or selected for new contributors: help wanted and good first + }Help Wanted and Good First Issue Labels | Thoth Station Help

Help Wanted and Good First Issue Labels

Overview

We use two labels to identify issues that have been specifically created or selected for new contributors: help wanted and good first issue. The good first issue label is a subset of the help wanted label, indicating that members have committed to providing extra assistance for new contributors. All good first issue items also have the help wanted diff --git a/community/core/community/liaisons.md/index.html b/community/core/community/liaisons.md/index.html index fb115a7389..557a46e6b2 100644 --- a/community/core/community/liaisons.md/index.html +++ b/community/core/community/liaisons.md/index.html @@ -14,7 +14,7 @@ - }

Liaisons

Each community group or SIG of Project Thoth assigned a Steering Committee + }

Liaisons

Each community group or SIG of Project Thoth assigned a Steering Committee liaison. Liaisons act as a point of contact from steering, engage with their respective community groups to ensure they are healthy and facilitate communication.

Liaisons do not make decisions for the community group or on behalf of diff --git a/community/core/community/sig-devsecops/README.md/index.html b/community/core/community/sig-devsecops/README.md/index.html index 2a730621b9..0086656d34 100644 --- a/community/core/community/sig-devsecops/README.md/index.html +++ b/community/core/community/sig-devsecops/README.md/index.html @@ -14,7 +14,7 @@ - }

DevSecOps Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. + }

DevSecOps Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. This SIG covers all the tools and supporting container images that deliver Thoth-Station applications, as well as the build pipelines and Continuous Integration systems that enable the automated builds. This includes the discussion related to the release process of the Thoth-Station applications, the build pipelines themselves, supporting container images, tooling, and architectural decisions.

The charter defines the scope and governance of the DevSecOps Special Interest Group.

Leadership

Chairs

The Chairs of the SIG run operations and processes governing the SIG.

Technical Leads

The Technical Leads of the SIG establish new subprojects, decommission existing subprojects, and resolve cross-subproject technical issues and decisions.

Contact

Subprojects

The following subprojects are owned by sig-devsecops:

Notebooks

A set of base images that are useful for Data Science work

Pipelines

A set of base images and pipelines to build application container images

Services

Tooling and configuration to manage the releases of various Thoth services and components

\ No newline at end of file diff --git a/community/core/community/sig-devsecops/charter.md/index.html b/community/core/community/sig-devsecops/charter.md/index.html index 09657792a4..7246ad7a16 100644 --- a/community/core/community/sig-devsecops/charter.md/index.html +++ b/community/core/community/sig-devsecops/charter.md/index.html @@ -14,7 +14,7 @@ - }

SIG DevSecOps Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

This SIG covers all the tools and supporting container images that deliver Thoth-Station + }

SIG DevSecOps Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

This SIG covers all the tools and supporting container images that deliver Thoth-Station applications, as well as the build pipelines and Continuous Integration systems that enable the automated builds.

This includes the discussion related to the release process of the Thoth-Station applications, the build pipelines themselves, supporting container images, tooling, diff --git a/community/core/community/sig-observability/README.md/index.html b/community/core/community/sig-observability/README.md/index.html index a7ae7702dd..052f3b7902 100644 --- a/community/core/community/sig-observability/README.md/index.html +++ b/community/core/community/sig-observability/README.md/index.html @@ -14,6 +14,6 @@ - }

Observability Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. + }

Observability Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. Work on all things that concern Observability! This includes the definition of metrics, monitoring, reporting and alerting.

The charter defines the scope and governance of the Observability Special Interest Group.

Leadership

Chairs

The Chairs of the SIG run operations and processes governing the SIG.

Technical Leads

The Technical Leads of the SIG establish new subprojects, decommission existing subprojects, and resolve cross-subproject technical issues and decisions.

Contact

Subprojects

The following subprojects are owned by sig-observability:

Monitoring

\ No newline at end of file diff --git a/community/core/community/sig-observability/charter.md/index.html b/community/core/community/sig-observability/charter.md/index.html index 5c91ee3c93..12c9b0ad2f 100644 --- a/community/core/community/sig-observability/charter.md/index.html +++ b/community/core/community/sig-observability/charter.md/index.html @@ -14,6 +14,6 @@ - }

SIG Observability Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses + }

SIG Observability Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

Work on all things that concerns Observability! This includes the definition of metrics, monitoring, reporting and alerting.

Roles and Organization Management

This sig follows adheres to the Roles and Organization Management outlined in sig-governance.

Subproject Creation

SIG Chairs can create subprojects without requiring member votes.

\ No newline at end of file diff --git a/community/core/community/sig-stack-guidance/README.md/index.html b/community/core/community/sig-stack-guidance/README.md/index.html index 43329b11c4..eb6b0ce4c2 100644 --- a/community/core/community/sig-stack-guidance/README.md/index.html +++ b/community/core/community/sig-stack-guidance/README.md/index.html @@ -14,5 +14,5 @@ - }

Stack Guidance Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. + }

Stack Guidance Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. Work on recommending the most effective, performant and secure software stack for user applications and on actively creating prescriptions and security related information

The charter defines the scope and governance of the Stack Guidance Special Interest Group.

Leadership

Contact

Subprojects

The following subprojects are owned by sig-stack-guidance:

adviser

prescriptions

solver

storages

\ No newline at end of file diff --git a/community/core/community/sig-stack-guidance/charter.md/index.html b/community/core/community/sig-stack-guidance/charter.md/index.html index b28db780df..e6fb16f9b3 100644 --- a/community/core/community/sig-stack-guidance/charter.md/index.html +++ b/community/core/community/sig-stack-guidance/charter.md/index.html @@ -14,4 +14,4 @@ - }

SIG Stack Guidance Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

This includes the discussion related to recommending the most effective, performant and secure software stack for user applications and on actively creating prescriptions and security related information.

Roles and Organization Management

This sig follows adheres to the Roles and Organization Management outlined in sig-governance.

Subproject Creation

SIG Chairs can create subprojects without requiring member votes.

\ No newline at end of file + }

SIG Stack Guidance Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

This includes the discussion related to recommending the most effective, performant and secure software stack for user applications and on actively creating prescriptions and security related information.

Roles and Organization Management

This sig follows adheres to the Roles and Organization Management outlined in sig-governance.

Subproject Creation

SIG Chairs can create subprojects without requiring member votes.

\ No newline at end of file diff --git a/community/core/community/sig-user-experience/README.md/index.html b/community/core/community/sig-user-experience/README.md/index.html index 131c492425..c2e0c127e3 100644 --- a/community/core/community/sig-user-experience/README.md/index.html +++ b/community/core/community/sig-user-experience/README.md/index.html @@ -14,6 +14,6 @@ - }

User Experience Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. + }

User Experience Special Interest Group

HIBERNATION NOTICE: This SIG is currently hibernating. If you are interested in reviving this SIG, please reach out to the Thoth team via an issue in the the core or support repository. The User Experience SIG focuses on the interaction points between end users and Thoth components.

The charter defines the scope and governance of the User Experience Special Interest Group.

Leadership

Chairs

The Chairs of the SIG run operations and processes governing the SIG.

Technical Leads

The Technical Leads of the SIG establish new subprojects, decommission existing -subprojects, and resolve cross-subproject technical issues and decisions.

Contact

Subprojects

The following subprojects are owned by sig-user-experience:

jupyterlab-requirements

kebechet

s2i-thoth

thamos

user-api

\ No newline at end of file +subprojects, and resolve cross-subproject technical issues and decisions.

Contact

Subprojects

The following subprojects are owned by sig-user-experience:

jupyterlab-requirements

kebechet

s2i-thoth

thamos

user-api

\ No newline at end of file diff --git a/community/core/community/sig-user-experience/charter.md/index.html b/community/core/community/sig-user-experience/charter.md/index.html index 1cad3ad0e6..7931bdb962 100644 --- a/community/core/community/sig-user-experience/charter.md/index.html +++ b/community/core/community/sig-user-experience/charter.md/index.html @@ -14,9 +14,9 @@ - }

SIG User Experience Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses + }

SIG User Experience Charter

This charter adheres to the conventions described in the Kubernetes Charter README and uses the Roles and Organization Management outlined in Kuberentes’ sig-governance. For all things taken from the Kubernetes community, we use scaled down variants, Kubernetes documents are references.

Scope

The goal of this SIG is to ensure that the entry points to Thoth provide a great user experience.

This includes the interaction with human users (be it though direct component usage, API invocations, or through indirect actions like GitHub issues that -require Thoth bots intervention) as well as machine-oriented interfaces.

Out of scope

  • SIG User Experience is not responsible for the implementation of new features.

Roles and Organization Management

This SIG follows adheres to the Roles and Organization Management outlined in Kuberentes’ sig-governance.

Subproject Creation

SIG Chairs can create subprojects without requiring member votes.

\ No newline at end of file +require Thoth bots intervention) as well as machine-oriented interfaces.

Out of scope

  • SIG User Experience is not responsible for the implementation of new features.

Roles and Organization Management

This SIG follows adheres to the Roles and Organization Management outlined in Kuberentes’ sig-governance.

Subproject Creation

SIG Chairs can create subprojects without requiring member votes.

\ No newline at end of file diff --git a/community/core/community/wg-cnbi/README.md/index.html b/community/core/community/wg-cnbi/README.md/index.html index 0c29e79f3b..d39093b6c5 100644 --- a/community/core/community/wg-cnbi/README.md/index.html +++ b/community/core/community/wg-cnbi/README.md/index.html @@ -14,5 +14,5 @@ - }

CNBi Working Group

HIBERNATION NOTICE: This WG is currently hibernating. If you are interested in reviving this WG, please reach out to the Thoth team via an issue in the the core or support repository. -The goal of this working group is to create a service that implements the backend side of the Custom Notebook Image (CNBi) MVP in the context of Open Data Hub (ODH).

The charter defines the scope and governance of the CNBi Working Group.

Stakeholder SIGs

  • SIG DevSecOps
  • SIG Stack Guidance
  • SIG User Experience

Organizers

  • Christoph Görn (@goern), Red Hat

Contact

\ No newline at end of file + }

CNBi Working Group

HIBERNATION NOTICE: This WG is currently hibernating. If you are interested in reviving this WG, please reach out to the Thoth team via an issue in the the core or support repository. +The goal of this working group is to create a service that implements the backend side of the Custom Notebook Image (CNBi) MVP in the context of Open Data Hub (ODH).

The charter defines the scope and governance of the CNBi Working Group.

Stakeholder SIGs

  • SIG DevSecOps
  • SIG Stack Guidance
  • SIG User Experience

Organizers

  • Christoph Görn (@goern), Red Hat

Contact

\ No newline at end of file diff --git a/community/core/community/wg-cnbi/charter.md/index.html b/community/core/community/wg-cnbi/charter.md/index.html index c6bd813c61..9a44d89785 100644 --- a/community/core/community/wg-cnbi/charter.md/index.html +++ b/community/core/community/wg-cnbi/charter.md/index.html @@ -14,4 +14,4 @@ - }

WG Custom Notebook Image (CNBi) Charter

The goal of this working group (WG) is to design and implement an MVP for the backend side of the Custom Notebook Image (CNBi) functionality of Open Data Hub (ODH).

The WG is a continuation of the work of the BYON WG. The work produced by the working group aims at meeting the requirements specified in the RHODS epics about the functionality, including:

For reference, deliverables for phase 1 (BYON) were tracked in the byon repository and its corresponding project planning board.

Scope

The focus of this WG is on the backend components that handle the creation, validation, and importing of container images for use into ODH, as well as the software stack guidance service provided to the users of these images.

In scope

  • The CNBi operator
  • Tekton Pipeline definitions that implement the CNBi / BYON functionality
  • Thoth APIs that contribute to the requirements of the CNBi functionality on ODH
  • Coordination with ODH in integrating the funtcionality
  • Deployment of the PoC and coordination with Operate First and OS-Climate on its usage

Out of scope

  • ODH User Interface design and implementation

Stakeholders

  • Thoth SIGs:
    • DevSecOps
    • Stack Guidance
    • User Experience
  • ODH SIGs:
    • ML-DevExp
    • Platform

Deliverables

  • Documentation of the design of the backend, the components involved, the interactions between them, and the interface between ODH and the backend.
  • An evolution of the meteor operator that acts as the main controller for the CNBi functionality.
  • A set of Tekton / OpenShift pipelines definitions that implement the functionality.
  • A working PoC of the operator and pipelines, with ODH integration when available, ready to use by a target group: the OS-Climate project.

Disband criteria

If stakeholder SIGs and the WG decide all features described in the In Scope section are complete and no more discussions and investigations are needed in this WG, they may decide to disband this WG.

\ No newline at end of file + }

WG Custom Notebook Image (CNBi) Charter

The goal of this working group (WG) is to design and implement an MVP for the backend side of the Custom Notebook Image (CNBi) functionality of Open Data Hub (ODH).

The WG is a continuation of the work of the BYON WG. The work produced by the working group aims at meeting the requirements specified in the RHODS epics about the functionality, including:

For reference, deliverables for phase 1 (BYON) were tracked in the byon repository and its corresponding project planning board.

Scope

The focus of this WG is on the backend components that handle the creation, validation, and importing of container images for use into ODH, as well as the software stack guidance service provided to the users of these images.

In scope

  • The CNBi operator
  • Tekton Pipeline definitions that implement the CNBi / BYON functionality
  • Thoth APIs that contribute to the requirements of the CNBi functionality on ODH
  • Coordination with ODH in integrating the funtcionality
  • Deployment of the PoC and coordination with Operate First and OS-Climate on its usage

Out of scope

  • ODH User Interface design and implementation

Stakeholders

  • Thoth SIGs:
    • DevSecOps
    • Stack Guidance
    • User Experience
  • ODH SIGs:
    • ML-DevExp
    • Platform

Deliverables

  • Documentation of the design of the backend, the components involved, the interactions between them, and the interface between ODH and the backend.
  • An evolution of the meteor operator that acts as the main controller for the CNBi functionality.
  • A set of Tekton / OpenShift pipelines definitions that implement the functionality.
  • A working PoC of the operator and pipelines, with ODH integration when available, ready to use by a target group: the OS-Climate project.

Disband criteria

If stakeholder SIGs and the WG decide all features described in the In Scope section are complete and no more discussions and investigations are needed in this WG, they may decide to disband this WG.

\ No newline at end of file diff --git a/community/core/docs/ROADMAP.md/index.html b/community/core/docs/ROADMAP.md/index.html index c232b1cb02..77d5408e31 100644 --- a/community/core/docs/ROADMAP.md/index.html +++ b/community/core/docs/ROADMAP.md/index.html @@ -14,7 +14,7 @@ - }

Thoth Roadmap

After the current and coordinated release of Thoth’s components, we started this document to outline our + }

Thoth Roadmap

After the current and coordinated release of Thoth’s components, we started this document to outline our current focus areas and the major items we are working on.

For a more detailed overview of our current activities, have a look at our GitHub projects. We use them to plan our sprints.

Informative Advice

Based on a command line tool and our GitHub App we will extend the advice we give to human developers. This diff --git a/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html b/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html index f23cb6acb6..9d94d58df6 100644 --- a/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html +++ b/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html @@ -14,4 +14,4 @@ - }

Use Markdown Architectural Decision Records

Context and Problem Statement

We want to record architectural decisions made in Project Thoth. Which format and structure should these records follow?

Considered Options

Decision Outcome

Chosen option: “MADR 2.1.2”, because

  • Implicit assumptions should be made explicit.

    Design documentation is important to enable people understanding the decisions later on.

    See also A rational design process: How and why to fake it.

  • The MADR format is lean and fits our development style.

  • The MADR structure is comprehensible and facilitates usage & maintenance.

  • The MADR project is vivid.

  • Version 2.1.2 is the latest one available when starting to document ADRs.

\ No newline at end of file + }

Use Markdown Architectural Decision Records

Context and Problem Statement

We want to record architectural decisions made in Project Thoth. Which format and structure should these records follow?

Considered Options

Decision Outcome

Chosen option: “MADR 2.1.2”, because

  • Implicit assumptions should be made explicit.

    Design documentation is important to enable people understanding the decisions later on.

    See also A rational design process: How and why to fake it.

  • The MADR format is lean and fits our development style.

  • The MADR structure is comprehensible and facilitates usage & maintenance.

  • The MADR project is vivid.

  • Version 2.1.2 is the latest one available when starting to document ADRs.

\ No newline at end of file diff --git a/community/core/docs/adr/0001-use-gpl3-as-license.md/index.html b/community/core/docs/adr/0001-use-gpl3-as-license.md/index.html index f0f582378c..dc0342d141 100644 --- a/community/core/docs/adr/0001-use-gpl3-as-license.md/index.html +++ b/community/core/docs/adr/0001-use-gpl3-as-license.md/index.html @@ -14,7 +14,7 @@ - }

Use GNU GPL as license

Everything needs to be licensed, otherwise the default copyright laws apply. + }

Use GNU GPL as license

Everything needs to be licensed, otherwise the default copyright laws apply. For instance, in Germany that means users may not alter anything without explicitly asking for permission. For more information see https://help.github.com/articles/licensing-a-repository/.

We want to have all source code related to Project Thoth to be used without any hassle and as free as possible, so that users can just execute and enjoy the four freedoms.

Considered Options

Decision Outcome

Chosen option: “GNU GPL”, because this license supports a strong copyleft model.

\ No newline at end of file diff --git a/community/core/docs/adr/0002-release-policy.md/index.html b/community/core/docs/adr/0002-release-policy.md/index.html index 05d37cf552..df0caf0830 100644 --- a/community/core/docs/adr/0002-release-policy.md/index.html +++ b/community/core/docs/adr/0002-release-policy.md/index.html @@ -14,7 +14,7 @@ - }

Project Thoth Release Policy

  • Status: proposed
  • Date: 2020-Nov-04

Technical Story: As an Open Source project, we want to document the policies and guideline on how we create a new + }

Project Thoth Release Policy

  • Status: proposed
  • Date: 2020-Nov-04

Technical Story: As an Open Source project, we want to document the policies and guideline on how we create a new release.

Context and Problem Statement

Project Thoth itself consists of many components all having their own release cycles and delivery artifacts such as container image or Python libraries.

Considered Options

  • a monolithic, coordinated release of all components by creating a tag within the thoth-application repository
  • have a rolling release, and no tags on any repository

Decision Outcome

Chosen option: we do a monolithic, coordinated release, because it will enable us to have a release at the project/product level while maintianing freedom of others to update.

Positive Consequences

Option 2: Create Kebechet deployment receives web-hooks and only runs specific manager(s) depending on contents

  • Good, because it allows for thorough processing of events prior to pod being spun up
  • Good, it can still run multiple bots in the same pod (depends on implementation)
  • ?, Preserves Kebechet name recognition (may obfuscate functionality)
  • Bad, does not help with reducing GitHub API quota consumption

Option 3: Create individual repositories and GitHub applications for each manager

  • Good, because it creates more apps which effectively increases the total API limit
  • Good, segregating functionality helps users understand what they are installing
  • Good, workloads can be very selectively run through thorough web-hook processing
  • Bad, many small deployments

Option 2&4: Create Keb deployment and Individual apps

  • Good, because it creates more apps which effectively increases the total API limit
  • Good?, single deployment
  • Good, workloads can be very selectively run through thorough web-hook processing
  • Bad, installation story becomes unclear
\ No newline at end of file diff --git a/community/core/docs/adr/0006-thoth-github-action.md/index.html b/community/core/docs/adr/0006-thoth-github-action.md/index.html index 968388c333..881b3b5581 100644 --- a/community/core/docs/adr/0006-thoth-github-action.md/index.html +++ b/community/core/docs/adr/0006-thoth-github-action.md/index.html @@ -14,7 +14,7 @@ - }

Thoth GitHub Action ADR

  • Status: proposed
  • Date: 2022-May-16

Technical Story: we would like to create a new Thoth integration via a GitHub Acttion to advise users on the dependencies used in their repositories.

Context and Problem Statement

The Thoth GitHub Action was originally supposed to be implemented to advise on the dependencies present in the Packit repository, but should be extendable to other repositories as well with different requirement formats (pip, pipenv…).

The primary goal of this Action would be to advise on the security aspects of dependencies of a project by providing a mean to:

  • Identify CVE present in the versions of the packages used in the project, so that users can eventually block Pull Requests introducing vulnerable dependencies
    • Comment on the Pull Requests with a list of CVE found for the current package versions
    • Log all stack info in the action workflow
    • Provide a link to Thoth Search UI to browse the advise results
    • Fail the workflow to eventually block the Pull Request
  • Get security insights on the dependency stack introduced by a Pull Request by returning the content of the stack info (Security Scorecards data, warnings, info, etc)
    • Log stack info in the action workflow
    • Provide a link to Thoth Search UI to browse the advise results
  • Score the current dependency stack and allow repository maintainers to display this score as a badge in the landing page of their repository as an indicator of application dependencies health
    • Get the software stack score provided in the advise result and normalize it if needed
    • Create a status badge for the workflow running the Thoth GitHub Action indicating the score of the software stack on the merge of a Pull Request modifying the requirements file.

Considered Options

Setting up the Action on a repository

name: User CI workflow
+      }

Thoth GitHub Action ADR

  • Status: proposed
  • Date: 2022-May-16

Technical Story: we would like to create a new Thoth integration via a GitHub Acttion to advise users on the dependencies used in their repositories.

Context and Problem Statement

The Thoth GitHub Action was originally supposed to be implemented to advise on the dependencies present in the Packit repository, but should be extendable to other repositories as well with different requirement formats (pip, pipenv…).

The primary goal of this Action would be to advise on the security aspects of dependencies of a project by providing a mean to:

  • Identify CVE present in the versions of the packages used in the project, so that users can eventually block Pull Requests introducing vulnerable dependencies
    • Comment on the Pull Requests with a list of CVE found for the current package versions
    • Log all stack info in the action workflow
    • Provide a link to Thoth Search UI to browse the advise results
    • Fail the workflow to eventually block the Pull Request
  • Get security insights on the dependency stack introduced by a Pull Request by returning the content of the stack info (Security Scorecards data, warnings, info, etc)
    • Log stack info in the action workflow
    • Provide a link to Thoth Search UI to browse the advise results
  • Score the current dependency stack and allow repository maintainers to display this score as a badge in the landing page of their repository as an indicator of application dependencies health
    • Get the software stack score provided in the advise result and normalize it if needed
    • Create a status badge for the workflow running the Thoth GitHub Action indicating the score of the software stack on the merge of a Pull Request modifying the requirements file.

Considered Options

Setting up the Action on a repository

name: User CI workflow
 on:
   push:
     paths:
diff --git a/community/core/docs/adr/0007-scorecard-metrics.md/index.html b/community/core/docs/adr/0007-scorecard-metrics.md/index.html
index 3c51f292a8..187ab66777 100644
--- a/community/core/docs/adr/0007-scorecard-metrics.md/index.html
+++ b/community/core/docs/adr/0007-scorecard-metrics.md/index.html
@@ -14,4 +14,4 @@
       
       
       
-      }

Aggregating OpenSSF Scorecard metrics to compute software stack quality scores

  • Status: proposed
  • Date: 2022-August-1

Technical Story: Aggregate OpenSSF Scorecard metrics on a package release update to compute software stack quality scores.

Context and Problem Statement

As part of advise output improvements mentioned in , we would like to aggregate Security Scorecards data on a new package release to provide software stack quality metrics with regards to the global quality of packages that can be found in Thoth’s Database. These metrics would inform the user about the health of a project dependencies and provide a software stack score (on a 0-100 scale or A,B,C…) based on Scorecard data.

Note: The architecture diagram below supposes that the OSSF Scorecards dataset available on BigQuery will expose metrics by package release instead of repository head commit SHA as it is currently the case. However if this feature is not going to be implemented on the Scorecards project side, we will need to handle the head commit SHA to release association logic by ourselves and thus revisit the diagram to include appropriate calls to the GitHub API and additional computations.

The data aggregation and score computation logic would be implemented as follows:

  • With each package-releases-job run, aggregate data about the latest package release and corresponding Scorecards data retrieved from BigQuery
  • Update a new database table package_scorecard_metrics with columns for the package name and version and Scorecards Check (1 if the check passed, 0 otherwise). Eventually add a column for a global confidence computed from all Scorecards confidence for a project
  • Schedule a job to compute a global package quality score from the previously aggregated data and store this score in the database
  • Make this data available in prescriptions: update existing Scorecard prescriptions with the package version and create new prescriptions for other packages via prescriptions-refresh-job
  • Implement the scoring logic available for relevant Thoth endpoints
  • When a request is made to the relevant endpoint or a parameter is passed to ask for software stack scoring when computing an advise, output the computed metrics about the user’s software stack quality

Architectural diagram

Scorecard metrics aggregation logic diagram

\ No newline at end of file + }

Aggregating OpenSSF Scorecard metrics to compute software stack quality scores

  • Status: proposed
  • Date: 2022-August-1

Technical Story: Aggregate OpenSSF Scorecard metrics on a package release update to compute software stack quality scores.

Context and Problem Statement

As part of advise output improvements mentioned in , we would like to aggregate Security Scorecards data on a new package release to provide software stack quality metrics with regards to the global quality of packages that can be found in Thoth’s Database. These metrics would inform the user about the health of a project dependencies and provide a software stack score (on a 0-100 scale or A,B,C…) based on Scorecard data.

Note: The architecture diagram below supposes that the OSSF Scorecards dataset available on BigQuery will expose metrics by package release instead of repository head commit SHA as it is currently the case. However if this feature is not going to be implemented on the Scorecards project side, we will need to handle the head commit SHA to release association logic by ourselves and thus revisit the diagram to include appropriate calls to the GitHub API and additional computations.

The data aggregation and score computation logic would be implemented as follows:

  • With each package-releases-job run, aggregate data about the latest package release and corresponding Scorecards data retrieved from BigQuery
  • Update a new database table package_scorecard_metrics with columns for the package name and version and Scorecards Check (1 if the check passed, 0 otherwise). Eventually add a column for a global confidence computed from all Scorecards confidence for a project
  • Schedule a job to compute a global package quality score from the previously aggregated data and store this score in the database
  • Make this data available in prescriptions: update existing Scorecard prescriptions with the package version and create new prescriptions for other packages via prescriptions-refresh-job
  • Implement the scoring logic available for relevant Thoth endpoints
  • When a request is made to the relevant endpoint or a parameter is passed to ask for software stack scoring when computing an advise, output the computed metrics about the user’s software stack quality

Architectural diagram

Scorecard metrics aggregation logic diagram

\ No newline at end of file diff --git a/community/core/docs/adr/template.md/index.html b/community/core/docs/adr/template.md/index.html index ac62840a59..cd699fb7ce 100644 --- a/community/core/docs/adr/template.md/index.html +++ b/community/core/docs/adr/template.md/index.html @@ -14,4 +14,4 @@ - }

[short title of solved problem and solution]

  • Status: [proposed | rejected | accepted | deprecated | … | superseded by ADR-0005]
  • Deciders: [list everyone involved in the decision]
  • Date: [YYYY-MM-DD when the decision was last updated]

Technical Story: [description | ticket/issue URL]

Context and Problem Statement

[Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in form of a question.]

Decision Drivers

  • [driver 1, e.g., a force, facing concern, …]
  • [driver 2, e.g., a force, facing concern, …]

Considered Options

  • [option 1]
  • [option 2]
  • [option 3]

Decision Outcome

Chosen option: ”[option 1]”, because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)].

Positive Consequences

  • [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]

Negative Consequences

  • [e.g., compromising quality attribute, follow-up decisions required, …]

Pros and Cons of the Options

[option 1]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 2]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 3]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

Links

  • [Link type][Link to ADR]
\ No newline at end of file + }

[short title of solved problem and solution]

  • Status: [proposed | rejected | accepted | deprecated | … | superseded by ADR-0005]
  • Deciders: [list everyone involved in the decision]
  • Date: [YYYY-MM-DD when the decision was last updated]

Technical Story: [description | ticket/issue URL]

Context and Problem Statement

[Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in form of a question.]

Decision Drivers

  • [driver 1, e.g., a force, facing concern, …]
  • [driver 2, e.g., a force, facing concern, …]

Considered Options

  • [option 1]
  • [option 2]
  • [option 3]

Decision Outcome

Chosen option: ”[option 1]”, because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)].

Positive Consequences

  • [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]

Negative Consequences

  • [e.g., compromising quality attribute, follow-up decisions required, …]

Pros and Cons of the Options

[option 1]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 2]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 3]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

Links

  • [Link type][Link to ADR]
\ No newline at end of file diff --git a/community/core/docs/intern-projects/Inferring-package-names-out-of-Python-imports.md/index.html b/community/core/docs/intern-projects/Inferring-package-names-out-of-Python-imports.md/index.html index 8770eea8b3..8def997b4f 100644 --- a/community/core/docs/intern-projects/Inferring-package-names-out-of-Python-imports.md/index.html +++ b/community/core/docs/intern-projects/Inferring-package-names-out-of-Python-imports.md/index.html @@ -14,5 +14,5 @@ - }

Inferring package names out of Python imports

Assigned intern: Tlegen + }

Inferring package names out of Python imports

Assigned intern: Tlegen Assigned mentor: Francesco Murdaca

Project Goal

The goal of this project is to create an automated mechanism for inferring package names out of their imports.

Deliverables

An endpoint on User API that can suggest package names based on an import supplied.

Prerequisites for Team Members

Please check you have all the following:

  • Be part of Thoth-Station Google Chat Room
  • Be part of Thoth scrum meetings
  • Access to GitHub using your GitHub your account: Thoth Station

Project outline

  1. Welcome to the Thoth Station!
  2. Get familiar with how we work
    1. Get familiar with team members
  3. Get familiar with thoth-solver, study its output
  4. Get familiar with invectio, study its output
  5. Check available results of thoth-solver runs that are present on Ceph, use Jupyter Notebooks to explore the dataset
    1. Make sure you have access to Ceph and data are readable
  6. Check packages in the ecosystem that provide modules under a different name than the package name itself
    1. See import sklearn vs pip install scikit-learn
  7. Design and propose a solution that can automatically derive module names
    1. No need to strictly use thoth-solver data if a better solution is found
    2. Mind “namespaced” modules
  8. Write a program that can automatically derive package names out of imports
    1. Design a database that can hold such information, if needed
    2. Design an approach to sync required data into the database
  9. Get familiar with Thoth deployment, design and propose integration of your application into the system
    1. Study Argo workflows, check how the proposed solution can be integrated into the system (e.g. run it after solver finishes)
  10. Integrate your solution into Thoth
    1. Adjust templates in thoth-station/thoth-application repository
    2. Provide an endpoint on user-api that can give information to users about imports Input: import Output: Package name (package required to be installed so that import works)
  11. Create an integration test verifying the endpoint implemented

Stretch goals

\ No newline at end of file diff --git a/community/core/docs/intern-projects/classify-errors-produced-during-installation-of-python-modules.md/index.html b/community/core/docs/intern-projects/classify-errors-produced-during-installation-of-python-modules.md/index.html index 69486e767d..f8111685ef 100644 --- a/community/core/docs/intern-projects/classify-errors-produced-during-installation-of-python-modules.md/index.html +++ b/community/core/docs/intern-projects/classify-errors-produced-during-installation-of-python-modules.md/index.html @@ -14,5 +14,5 @@ - }

Classify errors produced during installation of Python modules

Assigned intern: Bjoern Hasemann + }

Classify errors produced during installation of Python modules

Assigned intern: Bjoern Hasemann Assigned mentor: Frido Pokorny

Project Goal

The goal of this project is to create a classifier that can classify errors reported during Python package installation. This classifier will be used in thoth-solver errors classification as well as in build analysis.

Deliverables

A Jupyter Notebook, later an CLI application, that can automatically classify error logs.

Prerequisites for Team Members

Please check you have all the following:

  • Access to Red Hat network
  • Access to GMail and Google Chat
    • Be part of Thoth-Station Google Chat Room
  • Be part of Thoth scrum meetings
    • You should receive an invite to a Google calendar Event
  • Access to GitHub using your GitHub your account
    • Thoth Station
  • Get access to JupyterHub

Project outline

  1. Welcome to the Thoth Station!
    1. get familiar with team members
  2. Get familiar with thoth-solver [1], study its output
  3. Get familiar with micropipenv [2], study its output
  4. Get familiar with Amun service and inspections that are run there [4]
  5. Get access to solver dataset that is present on Ceph, explore the dataset using Jupyter Notebooks, create a batch of solver documents that capture failed solver runs with the error log reported
    1. You can also check available datasets on Kaggle [3] and GitHub [4]
  6. Similarly to the previous point, get access to inspection dataset
  7. Design and propose a solution that will automatically or semi-automatically classify errors, discuss the proposed solution with the team
    1. Discuss algorithm used
    2. Discuss how the solution can be applied to solver errors and errors in inspection build logs
  8. Create a generic Jupyter Notebook that accepts a list of solver documents and classifies them automatically
    1. Check already implemented classifier, propose improvements or reuse parts
  9. Create a generic Jupyter Notebook that accepts a list of inspections and automatically classifies them
    1. Discuss how the error is extracted
    2. Study buildlog-parser, think of its reusability [6]
  10. Discuss correctness and applicability of the proposed solution

Stretch goals:

  • Study solver workflow and how it works in Thoth deployment, try to come up with a design on how to integrate your solution into solver workflow
  • Integrate your solution into solver workflow
  • Extend error classification to classify also errors specific to Amun inspections (e.g. failed push of images)
  • Study buildlog analysis endpoint and build analysis workflow
  • Integrate your solution into buildlog analysis workflow

References

  1. https://github.com/thoth-station/solver/
  2. https://github.com/thoth-station/micropipenv
  3. https://www.kaggle.com/thothstation/thoth-solver-dataset-v10
  4. https://github.com/thoth-station/datasets
  5. https://github.com/thoth-station/amun-api/
  6. https://github.com/thoth-station/buildlog-parser
  7. https://github.com/thoth-station/report-processing

Previous attempts to learn from

\ No newline at end of file diff --git a/community/core/docs/intern-projects/detecting-lincenses-of-python-modules.md/index.html b/community/core/docs/intern-projects/detecting-lincenses-of-python-modules.md/index.html index a50153a989..1950e3d255 100644 --- a/community/core/docs/intern-projects/detecting-lincenses-of-python-modules.md/index.html +++ b/community/core/docs/intern-projects/detecting-lincenses-of-python-modules.md/index.html @@ -14,7 +14,7 @@ - }

Detect license of Python modules

Assigned intern: Viliam Podhajecký + }

Detect license of Python modules

Assigned intern: Viliam Podhajecký Assigned mentor: Frido Pokorny

Project Goal

The goal of this project is to detect license of Python modules.

Deliverables

A Jupyter Notebook, later an CLI application, that can automatically detect license information of Python modules. This CLI application is then integrated into the system and automatically detects license information of Python modules diff --git a/community/core/docs/intern-projects/generate-prescription-from-text.md/index.html b/community/core/docs/intern-projects/generate-prescription-from-text.md/index.html index 61f3f0389a..eec17d9f92 100644 --- a/community/core/docs/intern-projects/generate-prescription-from-text.md/index.html +++ b/community/core/docs/intern-projects/generate-prescription-from-text.md/index.html @@ -14,5 +14,5 @@ - }

Generate prescriptions from text (text2prescription)

Assigned intern: ?? + }

Generate prescriptions from text (text2prescription)

Assigned intern: ?? Assigned mentor: ??

Project Goal

The goal of this research project is to create text2prescription model that can be used in a bot for generating prescriptions to heal Python Projects from text inputs.

Deliverables

A Jupyter Notebook, later an CLI application, that can automatically generate prescriptions from text input.

Prerequisites for Team Members

Please check you have all the following:

  • Access to Operate First
  • Access to GMail and Google Chat
    • Be part of Thoth-Station Google Chat Room
  • Be part of Thoth scrum meetings
    • You should receive an invite to a Google calendar Event
  • Access to GitHub using your GitHub your account
    • Thoth Station
  • Get access to JupyterHub

Project outline

  1. Welcome to the Thoth Station! [1]
    1. get familiar with team members
  2. Get familiar with adviser [2], study how it works [3].
  3. Get familiar with prescriptions [4][5], study how they are created [6].
  4. Research methods for mapping text to templates (e.g. prescription).
  5. Create NLP pipeline to analyze Text inputs (using Elyra [7] and Kubeflow Pipelines[8] available on Operate First).
  6. Create NLP model for entity recognition from text specific to prescriptions. (e.g. Python package, runtime environment, hardware).
  7. Create a Jupyter Notebook that accepts text and produce prescription (.yaml format).
    1. Discuss NLP pipeline steps.
    2. Discuss NLP model for entity recognition specific to prescriptions.
  8. Discuss applicability and use of this new approach (e.g. bot supporting users that want to create a prescription for Python application)

Stretch goals:

  • Create a bot that can receive text from an issue as input and create a pull request with prescriptions

References

  1. https://thoth-station.ninja/
  2. https://github.com/thoth-station/adviser
  3. https://developers.redhat.com/articles/2021/09/22/thoth-prescriptions-resolving-python-dependencies#
  4. https://github.com/thoth-station/prescriptions
  5. https://thoth-station.ninja/docs/developers/adviser/index.html#pipeline-units
  6. https://www.youtube.com/watch?v=OCX8JQDXP9s
  7. https://github.com/elyra-ai/elyra
  8. https://www.kubeflow.org/docs/components/pipelines/overview/pipelines-overview/
\ No newline at end of file diff --git a/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html b/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html index a7f7144596..ce1d117405 100644 --- a/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html +++ b/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html @@ -14,7 +14,7 @@ - }

Bootstrap database of Thoth prescriptions

Assigned intern: + }

Bootstrap database of Thoth prescriptions

Assigned intern: Assigned mentor:

Project Goal

The goal of this project is to extend the current database of prescriptions with known or not yet known issues in the Python ecosystem.

Deliverables

Set of YAML files committed to thoth-station/prescriptions diff --git a/community/core/docs/sprint-demos/35.md/index.html b/community/core/docs/sprint-demos/35.md/index.html index bae79d6a40..d2633f4ce4 100644 --- a/community/core/docs/sprint-demos/35.md/index.html +++ b/community/core/docs/sprint-demos/35.md/index.html @@ -14,4 +14,4 @@ - }

Sprint 35 - 2020-Apr-14

Topic: ArgoCD (goern)

Cards:

Started working on ArgoCD and created a few Applications to play around with: https://github.com/thoth-station/thoth-application is the core application, branches in this repo reflect deployment environments (right now all are on Quicklab). Separate Applications for example for solver, as they need to go to more than one namespace. ArgoCD uses kustomize to create manifests from the git repositories and keeps an OpenShift project in sync.

Topic: Tekton based Thoth-CI (hnalla)

Cards:

The work on the Thoth-CI is present in: https://github.com/thoth-station/thoth-ci.git

Thoth-CI focuses on test checks and image creation on PR to test them. Pull Request is the main focus right now, on each PR as the pipeline is triggered to serve it. The instance of the Thoth-CI is running on Quicklab cluster. Use Thoth-CI: Attach the Webhook to Github repo: http://thoth-ci.aicoe.ultrahook.com/

Topic: Handling unsolved python packages (fmurdaca)

Cards:

Acting on unresolved package_version by analysing advisor results using a new component https://github.com/thoth-station/advise-reporter. And modifying the architecture of the Qeb-Hwt App (https://github.com/thoth-station/Qeb-Hwt).

Topic: Optimizing Thoth’s adviser (fpokorny)

Cards:

Optimizations of the adviser’s internal structure to derive recommendations faster or bring better recommendations. We switched from the standard heap queue implementation that is provided by the standard Python library to a custom library called “fext” that is implementat as an C/C++ extension to CPython. This library is optimized for Thoth’s adviser use case when handling internal resolver states.

Topic: Repository Health Report (Proof of concept) (dominik)

Visualized Repository Health Report in form of a dashboard (using Dash). Any user that wants to see the current status of (his/her) repository, could run SrcOpsMetrics analysis locally and launch a dashboard for a quick status preview of the project.

Cards:

\ No newline at end of file + }

Sprint 35 - 2020-Apr-14

Topic: ArgoCD (goern)

Cards:

Started working on ArgoCD and created a few Applications to play around with: https://github.com/thoth-station/thoth-application is the core application, branches in this repo reflect deployment environments (right now all are on Quicklab). Separate Applications for example for solver, as they need to go to more than one namespace. ArgoCD uses kustomize to create manifests from the git repositories and keeps an OpenShift project in sync.

Topic: Tekton based Thoth-CI (hnalla)

Cards:

The work on the Thoth-CI is present in: https://github.com/thoth-station/thoth-ci.git

Thoth-CI focuses on test checks and image creation on PR to test them. Pull Request is the main focus right now, on each PR as the pipeline is triggered to serve it. The instance of the Thoth-CI is running on Quicklab cluster. Use Thoth-CI: Attach the Webhook to Github repo: http://thoth-ci.aicoe.ultrahook.com/

Topic: Handling unsolved python packages (fmurdaca)

Cards:

Acting on unresolved package_version by analysing advisor results using a new component https://github.com/thoth-station/advise-reporter. And modifying the architecture of the Qeb-Hwt App (https://github.com/thoth-station/Qeb-Hwt).

Topic: Optimizing Thoth’s adviser (fpokorny)

Cards:

Optimizations of the adviser’s internal structure to derive recommendations faster or bring better recommendations. We switched from the standard heap queue implementation that is provided by the standard Python library to a custom library called “fext” that is implementat as an C/C++ extension to CPython. This library is optimized for Thoth’s adviser use case when handling internal resolver states.

Topic: Repository Health Report (Proof of concept) (dominik)

Visualized Repository Health Report in form of a dashboard (using Dash). Any user that wants to see the current status of (his/her) repository, could run SrcOpsMetrics analysis locally and launch a dashboard for a quick status preview of the project.

Cards:

\ No newline at end of file diff --git a/community/core/docs/sprint-demos/37.md/index.html b/community/core/docs/sprint-demos/37.md/index.html index 9aa0b7bf8a..9fdc5642a0 100644 --- a/community/core/docs/sprint-demos/37.md/index.html +++ b/community/core/docs/sprint-demos/37.md/index.html @@ -14,5 +14,5 @@ - }

Sprint 37 - 2020-May-08

Topic: ArgoCD: Thoth-application (goern)

See https://argocd-server-aicoe-argocd.apps.ocp.prod.psi.redhat.com/applications for all the thoth application components deployed to thoth01 (quicklab==test) cluster. Using sops/ksops to encrypt and decrypt secrets.

Topic: Publish s2i migration tool (frido)

Cards:

Topic: Updates on Thoth-CI (hnalla)

New Feature

Tag based release of image of the application slash-command to interact with the thoth-ci. + }

Sprint 37 - 2020-May-08

Topic: ArgoCD: Thoth-application (goern)

See https://argocd-server-aicoe-argocd.apps.ocp.prod.psi.redhat.com/applications for all the thoth application components deployed to thoth01 (quicklab==test) cluster. Using sops/ksops to encrypt and decrypt secrets.

Topic: Publish s2i migration tool (frido)

Cards:

Topic: Updates on Thoth-CI (hnalla)

New Feature

Tag based release of image of the application slash-command to interact with the thoth-ci. /approve : To merge a pr on merge.

CI focuses on test checks and image creation on PR to test them. Pull Request is the main focus right now, on each PR as the pipeline is triggered to serve it. The instance of the Thoth-CI is running on Quicklab cluster. Developers can interact with the CI for ease of operations.

Use Thoth-CI: Attach the Webhook to Github repo: http://thoth-ci.aicoe.ultrahook.com

Topic: Bandit Security Benchmark (kpostlet)

\ No newline at end of file diff --git a/community/core/docs/sprint-demos/38.md/index.html b/community/core/docs/sprint-demos/38.md/index.html index cd2b7e4cc1..6cc6c7eb07 100644 --- a/community/core/docs/sprint-demos/38.md/index.html +++ b/community/core/docs/sprint-demos/38.md/index.html @@ -14,4 +14,4 @@ - }

Sprint 38 - 2020-May-22

Topic: Bandit Security Benchmark (kpostlet)

Find us on YouTube: https://bit.ly/thoth-sprint-38

Topic: SLO reporter (fmurdaca)

Service Level Objective (SLO) reporter and the mails it’s sending out. Data is read form thanos (hosted by internal Data Hub), mail is send out each Friday night.

Cards:

Topic: End-to-end demo of Thoth’s Jupyter Notebook build pipeline for custom and internal repositories (hnalla)

OpenShift-pipelines/TektonCD-pipeline based a build pipeline which on tag release of a github/gitlab repository containing the jupyter notebook, builds an image based on requirements of the jupyter notebook, for them to be comfortable import into jupyterhub. S2i build process is used for build procedure.

Cards:

\ No newline at end of file + }

Sprint 38 - 2020-May-22

Topic: Bandit Security Benchmark (kpostlet)

Find us on YouTube: https://bit.ly/thoth-sprint-38

Topic: SLO reporter (fmurdaca)

Service Level Objective (SLO) reporter and the mails it’s sending out. Data is read form thanos (hosted by internal Data Hub), mail is send out each Friday night.

Cards:

Topic: End-to-end demo of Thoth’s Jupyter Notebook build pipeline for custom and internal repositories (hnalla)

OpenShift-pipelines/TektonCD-pipeline based a build pipeline which on tag release of a github/gitlab repository containing the jupyter notebook, builds an image based on requirements of the jupyter notebook, for them to be comfortable import into jupyterhub. S2i build process is used for build procedure.

Cards:

\ No newline at end of file diff --git a/community/core/docs/sprint-demos/39.md/index.html b/community/core/docs/sprint-demos/39.md/index.html index 940510016b..4e99a25f17 100644 --- a/community/core/docs/sprint-demos/39.md/index.html +++ b/community/core/docs/sprint-demos/39.md/index.html @@ -14,4 +14,4 @@ - }

Sprint 39 - 2020-Jun-05

Find us on YouTube: http://bit.ly/thoth-on-youtube

Topic: How does the SrcOpsMetrics gather data? (dtuchyna)

The SrcOpsMetrics is currently able to gather the fundamental information about GitHub repository in order to calculate or visualize its Health Report. But how do we approach the data aggregation for multiple repositories present in organization that is inspected?

Cards or Issues:

Topic: Thoth Datasets (fmurdaca)

Thoth datasets are related to observations regarding software stacks (e.g. dependency tree, installability, performance, security, health) as part of Project Thoth. All these datasets can be found also here where they are described and explored to facilitate their use. All these observations are created with different components which are part of Project Thoth and stored in Thoth Knowledge Graph. All this knowledge is used by Thoth Adviser to provide advices on software stacks depending on User requirements.

Cards or Issues:

References:

\ No newline at end of file + }

Sprint 39 - 2020-Jun-05

Find us on YouTube: http://bit.ly/thoth-on-youtube

Topic: How does the SrcOpsMetrics gather data? (dtuchyna)

The SrcOpsMetrics is currently able to gather the fundamental information about GitHub repository in order to calculate or visualize its Health Report. But how do we approach the data aggregation for multiple repositories present in organization that is inspected?

Cards or Issues:

Topic: Thoth Datasets (fmurdaca)

Thoth datasets are related to observations regarding software stacks (e.g. dependency tree, installability, performance, security, health) as part of Project Thoth. All these datasets can be found also here where they are described and explored to facilitate their use. All these observations are created with different components which are part of Project Thoth and stored in Thoth Knowledge Graph. All this knowledge is used by Thoth Adviser to provide advices on software stacks depending on User requirements.

Cards or Issues:

References:

\ No newline at end of file diff --git a/community/core/docs/sprint-demos/README.md/index.html b/community/core/docs/sprint-demos/README.md/index.html index cde0b2acdf..8dee03d6c0 100644 --- a/community/core/docs/sprint-demos/README.md/index.html +++ b/community/core/docs/sprint-demos/README.md/index.html @@ -14,7 +14,7 @@ - }

Thoth-Station Sprint Demos

This directory contains show notes for the Thoth-Station sprint demo session. Right now, our sprints are two weeks + }

\ No newline at end of file diff --git a/community/index.html b/community/index.html index 1edb054bc0..772cf93039 100644 --- a/community/index.html +++ b/community/index.html @@ -14,7 +14,7 @@ - }

Terms and Conditions for the Thoth Station Scrum

Thoth Station Inhabitants, v0.4.0, 2022-05-04

A scrum sprint (or iteration) is 3 weeks of calendar time, and a task should/can not span more than one sprint. + }

Terms and Conditions for the Thoth Station Scrum

Thoth Station Inhabitants, v0.4.0, 2022-05-04

A scrum sprint (or iteration) is 3 weeks of calendar time, and a task should/can not span more than one sprint. If a task can not be accomplished in one sprint it must be broken up.

Tasks are tracked as GitHub issues. Issues are created by anyone in the community, including the team and the users of the Thoth service.

Issues are assigned to persons (they become an assignee of the issue) when a person picks up the card and starts working on it (pulls it into the ‘in diff --git a/metrics/index.html b/metrics/index.html index 4d94b93a92..3d7e631033 100644 --- a/metrics/index.html +++ b/metrics/index.html @@ -14,4 +14,4 @@ - }

\ No newline at end of file + } \ No newline at end of file diff --git a/metrics/issue_metrics.md/index.html b/metrics/issue_metrics.md/index.html index 713b730683..4060632da1 100644 --- a/metrics/issue_metrics.md/index.html +++ b/metrics/issue_metrics.md/index.html @@ -14,4 +14,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/metrics/site_metrics.md/index.html b/metrics/site_metrics.md/index.html index ce3a2479d2..9b04eac434 100644 --- a/metrics/site_metrics.md/index.html +++ b/metrics/site_metrics.md/index.html @@ -14,4 +14,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/page-data/sq/d/1276261476.json b/page-data/sq/d/1276261476.json index dad68d6b5b..15a43b0577 100644 --- a/page-data/sq/d/1276261476.json +++ b/page-data/sq/d/1276261476.json @@ -1 +1 @@ -{"data":{"navData":{"navItems":[{"id":"TaLV3VMtac11f1SqHc9aV","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"75a1q3r7fhzeMkQuQX6eu","label":"Blueprints","href":null,"index":null,"links":[{"id":"oi3eJcNfHA-ERAyc0jseh","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"XeVOIfDug45c9AmGmcmA9","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"PXV5k_da1oht3tGJfCHrW","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"fNpUzJHWn6DY-nJTuuKuQ","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"SIGGdUlIbffbyeM9I230x","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"kte7IEfIYXfCsj3-YTXE4","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"CZqnrKTJOq4cke0SE4jNz","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"OXgbNFdrM5eoPAOnl8nbM","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"l4lTmiiu191zOy-T_QiF7","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"0F2lIgVUG9fdyIJrb3GNL","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"FfjU2UePDH_XzXkUi8Xxs","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"b2XcHIIKCMWEne7tdXh1p","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"TL4_HoThbE-rFtiIAcCRc","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"W6f2FapRrpZ5IxQutNn4V","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"7E2gj8p_wQc6qR3nahTes","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"e5KGGEjLmaZ8G57PDWXx6","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"b1b73mzLX--zUxmHPFO2O","label":"FAQ","href":null,"index":null,"links":[{"id":"Blmv9rMeJl7e3mOozK9u3","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"f91xt_x0MGPbEys3GXmkW","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"dMXvc05rKa9q8C_Shc5RA","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"QExtEPxLHVehZP7GCTwzh","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"eJeualSQCMKL1Vu5ixmnH","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"wfIP5JDscm_HkIndSqQ0W","label":"Website Usage","href":"/metrics/site_metrics.md","index":null,"links":null}]}}} \ No newline at end of file +{"data":{"navData":{"navItems":[{"id":"422DNIDby20nOxnP-oHJt","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"tQBE8LqrFYCUa6P-EPFyb","label":"Blueprints","href":null,"index":null,"links":[{"id":"35OcYprErmUiMicad_eNV","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"FEd6saDd0MNwz9voBlvxA","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"_sc7vf6PjRKCWlRoNUiH0","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"fVVhhheud3TM1WCuouAMy","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"79lrloxFiPNH712WsZAJx","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"6UIXIGULUViR-UOIU_1le","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"3y2oQyNZ_sMElFys6u_tW","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"x1BJMvAyJ1w2yAbznj70T","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"B_iBilzhiEYRJaLHf3K8H","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"ixyYSe2sBPxRfPHLRznhE","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"9cOyXH8xpB3OaR3N39jv-","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"TtqtVdhWXEjKlkS1G1Mkd","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"SPyo-VfA1sp_JWL0w7SUz","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"BhlVsrsQRuhRst3hLNnZp","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"RHg8XdDFcTAJ0I54sCtj-","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"yhEc6__MBzt0sks1a-3Lc","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"Dy0FuKFZ72CgcY7FcEFAM","label":"FAQ","href":null,"index":null,"links":[{"id":"LG4WPWuFNenpFMS9KGFNq","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"ZWU7KbRI4NWREGYABFL_L","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"ymRFOlzUiGLgIfWvv0jtO","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"gPWS593b38WpDhUSI1718","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"fqurNmUKAGMC23KjPAMOW","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"e6P6MynQ3oHblcoSvjeM-","label":"Website Usage","href":"/metrics/site_metrics.md","index":null,"links":null}]}}} \ No newline at end of file diff --git a/support/faq/overview.mdx/index.html b/support/faq/overview.mdx/index.html index 665b860fb5..40399f4a26 100644 --- a/support/faq/overview.mdx/index.html +++ b/support/faq/overview.mdx/index.html @@ -14,7 +14,7 @@ - }

How do I use Thoth?

Depending on your use case, you can interact with Thoth through a variety of integration points.

Thamos CLI

Thamos is a command line tool and library for communicating with the Thoth backend. More information on how to + }

How do I use Thoth?

Depending on your use case, you can interact with Thoth through a variety of integration points.

Thamos CLI

Thamos is a command line tool and library for communicating with the Thoth backend. More information on how to install and get started with it can be found in our tutorial space.

Kebechet

Kebechet is an extensible system of repository managers for GitHub, GitLab, and Pagure. You can use this bot integrate the functionality of Thoth into your repositories. More information on Kebechet can be found here.

Jupyterlab Extension

If you use Jupyterlab for development, this extension allows you to integrate Thoth’s adviser into your notebook’s environment.

Thoth User API

You can directly interact with the Thoth User API too.


What are Kebechet managers and how do I configure them?

Managers can be seen as separate bots all part of Kebechet. You can enable and configure each available bot by adding it diff --git a/support/faq/thoth_yaml.mdx/index.html b/support/faq/thoth_yaml.mdx/index.html index 2f865b751e..be34f24954 100644 --- a/support/faq/thoth_yaml.mdx/index.html +++ b/support/faq/thoth_yaml.mdx/index.html @@ -14,7 +14,7 @@ - }

# This is Thoth's configuration file placed in a root of a repo
# (named as .thoth.yaml) used by Thamos CLI as well as by Thoth bots. Please
# adjust values listed below as desired.
+ }

# This is Thoth's configuration file placed in a root of a repo
# (named as .thoth.yaml) used by Thamos CLI as well as by Thoth bots. Please
# adjust values listed below as desired.
# A remote Thoth service to talk to:
host: khemenu.thoth-station.ninja
# Configure TLS verification for communication with remote Thoth instance:
tls_verify: true
# Format of requirements file, supported are "pip" and "pipenv":
requirements_format: {requirements_format}
# A path to overlays directory relative to this configuration file. If null provided, no overlays are used.
# Read more about overlays in the README: https://github.com/thoth-station/thamos#overlays-directory
overlays_dir: null
# Allow or disable managing virtual environment for each overlay.
virtualenv: false
diff --git a/support/index.html b/support/index.html index 4e99689917..90d01a8896 100644 --- a/support/index.html +++ b/support/index.html @@ -14,10 +14,10 @@ - }

Getting Support

Channels of support

GitHub Issues

The primary channel for getting support is by creating a GitHub issue through our support repository. + }

Getting Support

Channels of support

GitHub Issues

The primary channel for getting support is by creating a GitHub issue through our support repository. Choose between any of the issue templates or create a blank issue if no template fits your situation. Once created, your issue will be delegated out to one of Thoth’s Special Interest Groups (SIG) or a specific person on the Thoth team. They will help you get the issue ready to be worked on by refining the issue to meet our standards for a good quality issue. Then your issue will be planned and worked on depending on its urgency.

Templates

  • Bug report - Create a report to help us improve
  • Feature request - Suggest an idea for this project
  • Request monitoring a Python package index - Ask for monitoring a package index in Thoth
  • Report package issues - File an issue specific for a package
  • Request package in recommendations - Ask for including a package in recommendations
  • Resolver issue - File an issue specific for resolver

Thoth Developer Google Chat Room

You can also reach out to us through our Google Chat room. If you are an external contributor, feel free to -request access in our support repository by opening an issue.

Frequently Asked Questions (FAQ)

Be sure to take a look at the FAQ to see if your issue has already been resolved.

\ No newline at end of file +request access in our support repository by opening an issue.

Frequently Asked Questions (FAQ)

Be sure to take a look at the FAQ to see if your issue has already been resolved.

\ No newline at end of file diff --git a/support/issue_tracker.mdx/index.html b/support/issue_tracker.mdx/index.html index 9f27d52036..1decae8a45 100644 --- a/support/issue_tracker.mdx/index.html +++ b/support/issue_tracker.mdx/index.html @@ -14,4 +14,4 @@ - } \ No newline at end of file + } \ No newline at end of file