diff --git a/community/core/community/README.md/index.html b/community/core/community/README.md/index.html index 4f747e166d..2e4fb73d8e 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 817fd032ac..2c1f17cd13 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 +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 493753b317..76a2821a20 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 @@ -44,4 +44,4 @@ some subproject. Some SIGs may have a single subproject, but many SIGs have multiple significant subprojects with distinct (though sometimes overlapping) sets of contributors and [owners], who act as -subproject’s technical leaders.

Subprojects for each SIG are documented in [sigs.yaml].

\ No newline at end of file +subproject’s technical leaders.

Subprojects for each SIG are documented in [sigs.yaml].

\ No newline at end of file diff --git a/community/core/community/help-wanted.md/index.html b/community/core/community/help-wanted.md/index.html index 8d15950889..c9a417d0e2 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 @@ -75,4 +75,4 @@ They want to know the acceptable way to ask for people to review a PR, and how to nudge things along when a PR is stalled. Show them how we operate by helping move their first PR along.

  • If you have time, let the contributor know that they can DM you with questions -that they aren’t yet comfortable asking the wider group.
  • \ No newline at end of file +that they aren’t yet comfortable asking the wider group.
    \ No newline at end of file diff --git a/community/core/community/liaisons.md/index.html b/community/core/community/liaisons.md/index.html index 3a6fc4c6a8..88150c263a 100644 --- a/community/core/community/liaisons.md/index.html +++ b/community/core/community/liaisons.md/index.html @@ -14,10 +14,10 @@ - }

    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 the Steering Committee.

    Liaisons are assigned community groups at random (adjustments can be made, if needed) with each member having an (almost) equal distribution -of SIGs, WGs and UGs.

    Community GroupSteering Committee Liaison
    SIG DevSecOpsChristoph Görn (@goern)
    SIG ObservabilityChristoph Görn (@goern)
    SIG Stack GuidanceChristoph Görn (@goern)
    SIG User ExperienceChristoph Görn (@goern)
    \ No newline at end of file +of SIGs, WGs and UGs.

    Community GroupSteering Committee Liaison
    SIG DevSecOpsChristoph Görn (@goern)
    SIG ObservabilityChristoph Görn (@goern)
    SIG Stack GuidanceChristoph Görn (@goern)
    SIG User ExperienceChristoph Görn (@goern)
    \ No newline at end of file diff --git a/community/core/community/sig-devsecops/README.md/index.html b/community/core/community/sig-devsecops/README.md/index.html index 4d0a41099a..6191290aaf 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 750e906519..845d85b56d 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 4efa1cfb45..0d0e3a83fc 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 +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 47291a1eab..ca43646e42 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 +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 567aaf9cda..04b3c0fe66 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. -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 + }

    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 8fa4936f42..d0c71058e3 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 b3ef36eb62..aeb2f138ad 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 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 d8758cd211..a043cceee9 100644 --- a/community/core/community/sig-user-experience/charter.md/index.html +++ b/community/core/community/sig-user-experience/charter.md/index.html @@ -14,7 +14,7 @@ - }

    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 diff --git a/community/core/community/wg-cnbi/README.md/index.html b/community/core/community/wg-cnbi/README.md/index.html index 842d4c9f7c..a6a7ed4459 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. + }

    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 1f91085854..d0723cfa43 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 36c802b3f7..7c2c3a8590 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 @@ -34,4 +34,4 @@ Tekton catalog, and enables Python application developers to integrate Thoth Service consuming tasks (for example a Python module provenance check, or Security report) into their OpenShift and Tekton Pipelines.

    Jupyter Requirements Management

    Jupyter tools focused on the Data Scientist workflow have been created to help them with dependencies management:

    They feature similar functionality as thamos, but embedding the dependencies and the locked dependencies within the meta information -of the Jupyter Notebook file itself together with creating dependencies files in the requested requirement formats.

    \ No newline at end of file +of the Jupyter Notebook file itself together with creating dependencies files in the requested requirement formats.

    \ No newline at end of file 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 96175dbedf..b6aa3ca362 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 b76ea2cade..432c96c675 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 +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 25e6586d2a..c30a8423f5 100644 --- a/community/core/docs/adr/0002-release-policy.md/index.html +++ b/community/core/docs/adr/0002-release-policy.md/index.html @@ -14,9 +14,9 @@ - }

    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

    • users have a clear base line of versions, these versions have been tested with each other and have undergone integration testing.
    • a release can be referenced from documents, so that operational procedures have a clear relationship with component -versions being used
    • we can maintain sets of different versions for different deployment environments
    • we can provide a version string with each API provided by the project

    Negative Consequences

    • A release might not contain the latest versions of components
    \ No newline at end of file +versions being used
  • we can maintain sets of different versions for different deployment environments
  • we can provide a version string with each API provided by the project
  • Negative Consequences

    • A release might not contain the latest versions of components
    \ No newline at end of file diff --git a/community/core/docs/adr/0003-decommision-qeb-hwt.md/index.html b/community/core/docs/adr/0003-decommision-qeb-hwt.md/index.html index f9b184fc1d..7d4258ff4a 100644 --- a/community/core/docs/adr/0003-decommision-qeb-hwt.md/index.html +++ b/community/core/docs/adr/0003-decommision-qeb-hwt.md/index.html @@ -14,7 +14,7 @@ - }

    Decommission Qeb-Hwt GitHub App

    Technical Story: Decommision Qeb-Hwt GitHub App

    Context and Problem Statement

    Qeb-Hwt is a GitHub Application which adds thamos advise based output to + }

    Decommission Qeb-Hwt GitHub App

    Technical Story: Decommision Qeb-Hwt GitHub App

    Context and Problem Statement

    Qeb-Hwt is a GitHub Application which adds thamos advise based output to Pull Requests as a check. This functionality could be integrated into https://github.com/marketplace/khebhut and complexity and maintain costs.

    Decision Drivers

    • cost of maintaining Qeb-Hwt code and app
    • redundancy of infrastructure

    Considered Options

    • keep and maintain Qeb-Hwt
    • merge function into Khebhut

    Decision Outcome

    Chosen option: “merge function into Khebhut”, because we can reduce the cost of maintaining our software infrastructure by reducing redundancy.

    \ No newline at end of file diff --git a/community/core/docs/adr/0004-naming-convention-images.md/index.html b/community/core/docs/adr/0004-naming-convention-images.md/index.html index a95ba0a2e6..01b2dce5cf 100644 --- a/community/core/docs/adr/0004-naming-convention-images.md/index.html +++ b/community/core/docs/adr/0004-naming-convention-images.md/index.html @@ -14,7 +14,7 @@ - }

    Project Thoth Naming Convention Schema for Images

    • Status: proposed
    • Date: 2021-Jun-17

    Technical Story: As Thoth goal to provide curated stack and images, it would be nice to have a convention for naming of the images.

    Context and Problem Statement

    Image names are important for branding and let others identify easily a specific image they need. For example “I want to work on computer vision project with Tensorflow, what stack and image should I use?” Having a trusted well maintained source of images with clean naming convention can help on that.

    Considered Options

    • s2i-{application} standard name currently, but not everyone knows what S2I is.
    • odh-{application} for branding/marketing having ODH in front seems to be the best solution, in this way the name will be shorter as well.
    • ps-{application} as it shows what our intention is: we want to provide a curated/predictable software stack, it might be used by ODH or RHODS or others, it might use S2I or other technology. Moreover helps from pipeline creation point of view, because the length of repo name on quay can crate issues.

    These names are for the core repository name, then overlays will allow for combinations of libraries based on other criteria, for example ml_framework and/or hardware:

    `ps-nlp`
    +      }

    Project Thoth Naming Convention Schema for Images

    • Status: proposed
    • Date: 2021-Jun-17

    Technical Story: As Thoth goal to provide curated stack and images, it would be nice to have a convention for naming of the images.

    Context and Problem Statement

    Image names are important for branding and let others identify easily a specific image they need. For example “I want to work on computer vision project with Tensorflow, what stack and image should I use?” Having a trusted well maintained source of images with clean naming convention can help on that.

    Considered Options

    • s2i-{application} standard name currently, but not everyone knows what S2I is.
    • odh-{application} for branding/marketing having ODH in front seems to be the best solution, in this way the name will be shorter as well.
    • ps-{application} as it shows what our intention is: we want to provide a curated/predictable software stack, it might be used by ODH or RHODS or others, it might use S2I or other technology. Moreover helps from pipeline creation point of view, because the length of repo name on quay can crate issues.

    These names are for the core repository name, then overlays will allow for combinations of libraries based on other criteria, for example ml_framework and/or hardware:

    `ps-nlp`
     ├── overlays                    # Overlays structure for builds
     │   ├── ps-nlp-tensorflow          # NLP image with TensorFlow ML framework
     │   ├── ps-nlp-tensorflow-gpu      # NLP image with TensorFlow ML framework for GPU
    diff --git a/community/core/docs/adr/0005-automatically-bump-container-image-versions.md/index.html b/community/core/docs/adr/0005-automatically-bump-container-image-versions.md/index.html
    index 8414a9dcf2..de315476bc 100644
    --- a/community/core/docs/adr/0005-automatically-bump-container-image-versions.md/index.html
    +++ b/community/core/docs/adr/0005-automatically-bump-container-image-versions.md/index.html
    @@ -14,4 +14,4 @@
           
           
           
    -      }

    Automatically bump the version of base images used to generate container images

    • Status: proposed
    • Date: 2022-02-15

    Technical Story: As a maintainer of Thoth, I would like to automatically update the version of the base images used to generate new container images of some components (see: https://github.com/thoth-station/kebechet/issues/991)

    Context and Problem Statement

    When new base image versions used to genereate container images for Thoth components are released on Quay, it would be practical to update them automatically instead of manually opening Bump <component name> to vx.y.z in <environment> pull requests in the concerned repositories (Example: https://github.com/thoth-station/thoth-application/pull/2314).

    Considered Options

    • Implement a simple Python script to bump the base image versions used to deliver container images in .aicoe-ci.yaml, .thoth.yaml or similar files for eventual uses outside of the project.
      • 1) Integrate this script in the AICoE-CI pipeline logic
      • 2) Integrate this script in Kebechet

    Decision Outcome

    Chosen option: 1). For the moment, this script has been integrated in the AICoE-CI pipeline logic, but it could eventually be reused in Kebechet if needed.

    Positive Consequences

    • Keeping the base image versions we use up-to-date for active repositories.
    • Base image version updates are made automatically, which is less error-prone and time-consuming for developers compared to making the update manually.

    Links

    \ No newline at end of file + }

    Automatically bump the version of base images used to generate container images

    • Status: proposed
    • Date: 2022-02-15

    Technical Story: As a maintainer of Thoth, I would like to automatically update the version of the base images used to generate new container images of some components (see: https://github.com/thoth-station/kebechet/issues/991)

    Context and Problem Statement

    When new base image versions used to genereate container images for Thoth components are released on Quay, it would be practical to update them automatically instead of manually opening Bump <component name> to vx.y.z in <environment> pull requests in the concerned repositories (Example: https://github.com/thoth-station/thoth-application/pull/2314).

    Considered Options

    • Implement a simple Python script to bump the base image versions used to deliver container images in .aicoe-ci.yaml, .thoth.yaml or similar files for eventual uses outside of the project.
      • 1) Integrate this script in the AICoE-CI pipeline logic
      • 2) Integrate this script in Kebechet

    Decision Outcome

    Chosen option: 1). For the moment, this script has been integrated in the AICoE-CI pipeline logic, but it could eventually be reused in Kebechet if needed.

    Positive Consequences

    • Keeping the base image versions we use up-to-date for active repositories.
    • Base image version updates are made automatically, which is less error-prone and time-consuming for developers compared to making the update manually.

    Links

    \ No newline at end of file diff --git a/community/core/docs/adr/0005-obtimizing-keb-runs.md/index.html b/community/core/docs/adr/0005-obtimizing-keb-runs.md/index.html index ae9f6e955e..fb02f14755 100644 --- a/community/core/docs/adr/0005-obtimizing-keb-runs.md/index.html +++ b/community/core/docs/adr/0005-obtimizing-keb-runs.md/index.html @@ -14,8 +14,8 @@ - }

    {short title of solved problem and solution}

    • Status: proposed
    • Deciders: @KPostOffice @fridex @cgoern
    • Date: 2022-3-15 when the decision was last updated}

    Technical Story: Kebechet#873

    Context and Problem Statement

    Kebechet is being run too often and is eagerly eating resources in cluster. We need to pare down how often we spin up + }

    {short title of solved problem and solution}

    • Status: proposed
    • Deciders: @KPostOffice @fridex @cgoern
    • Date: 2022-3-15 when the decision was last updated}

    Technical Story: Kebechet#873

    Context and Problem Statement

    Kebechet is being run too often and is eagerly eating resources in cluster. We need to pare down how often we spin up pods to do repository management.

    Decision Drivers

    • Less pods being spun up.
    • Reduce frequency of reaching GitHub API quota limit

    Considered Options

    • Option 1: Filter web-hooks in thoth-user-api
    • Option 2: Create Kebechet deployment receives web-hooks and only runs specific manager(s) depending on contents
    • Option 3: Create individual repositories and GitHub applications for each manager
    • Option 4: create GitHub app for each repo and choose auth at run time

    Decision Outcome

    Chosen option: “option 3”, because we can use existing bot frameworks and github event handlers such as gidgethub(Python) and probot(JavaScript). This should help reduce cluster load as pods will be shorter lived and less frequent, however, it does require multiple small deployments for handling web-hooks.

    Implementing option 2 and option 4 might be another good solution.

    Positive Consequences

    • Reduced resource consumption
    • More apps means more quota
    • Each app’s behavior is well defined. It’s at times unclear what “Kebechet” is

    Negative Consequences

    • Follow up decisions required: “What technologies do we use?”, “How do we manage configuration?”
    • Transition from maintaining list of managers to installing individual managers

    Pros and Cons of the Options

    Option 1: Filter web-hooks in thoth-user-api

    • Good, because it requires minimal upfront work
    • Bad, because it introduces tight coupling between Kebechet and user-api
    • Bad, because GitHub already only sends a subset of events and it is likely that we would not see a major decrease in -resource consumption.

    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 +resource consumption.

    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 09954ce4da..af70308bdd 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 9e71e980a0..748eca32fd 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 31a3dc1250..09a11912c2 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 cb74f5426e..32a16aa591 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 8c1f978f7b..895789eb77 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 b6a89b02f1..4f59d19ce1 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 d6d288419d..09efe670e2 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 8909a108cc..06cc09ba8d 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 cfd9aecc29..a5e3c5aee6 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 cc2e7c8105..351e68a33f 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 79f1946e4f..af891be1f0 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 4c163afff9..a0b4b57288 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 a363fca64e..89c395e3e1 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 966208ffba..7f75405965 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 @@ -51,4 +51,4 @@ will have done at the end of the scrum? What can we communicate to the outside of the team at the end of the scrum?

    Sprint Demo

    Scrum demos will be recorded and have meeting minutes. Every team member is encouraged to demo the work of the past sprint. Demos are published to our YouTube channel.

    Sprint Retrospective

    This activity is for reviewing what went well/not well regarding the past sprint. A discussion like what was the better aspect we would like to continue? What should be aspects that need more discussion as a team? What could have been a -better way to proceed?

    The outcome of the sprint retrospective is a set of action items that will help the team improve in future sprints.

    \ No newline at end of file +better way to proceed?

    The outcome of the sprint retrospective is a set of action items that will help the team improve in future sprints.

    \ No newline at end of file diff --git a/metrics/index.html b/metrics/index.html index 3d7e631033..4d94b93a92 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 4060632da1..713b730683 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 9b04eac434..d31f5be635 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 1ad424cf06..722a6ac577 100644 --- a/page-data/sq/d/1276261476.json +++ b/page-data/sq/d/1276261476.json @@ -1 +1 @@ -{"data":{"navData":{"navItems":[{"id":"nKRBe25ZKy9Jl5-FB3w9f","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"KFAKztAZzgdBVMZOTs13z","label":"Blueprints","href":null,"index":null,"links":[{"id":"z1xjNB5AgXg9wccfmw32g","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"bZcKfmZVRNtSZ-mJ-185-","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"oDLe13q1xD2bVjXLIAFmR","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"bm4-eWCqW1308csK-1OWm","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"vtOxQhEu7mO2OHnDOmVQj","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"gl3kjCOnnKzHetJgBsZGB","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"wEEHsa063P0dSOyCIYnRH","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"wtRGO1QktKWyM7QmnraDX","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"s-eAcYJRWgzjHQfXA30rC","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"SoVkqxdW6Zo-N5jQOWy8h","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"aaX5xwl_vHHWCcbyn3Yf3","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"Ds65Z2DM5c1eqlQyZazNB","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"ZHlddmENQx3_mNaPENw-3","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"jy5Xbx6gJG0Mal5SkGLL9","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"gValCu3r5y2D6LeaoVGNi","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"4xLEoLR4gnPmR4rNbEimC","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"sf5hcVmLF7jM0oHy4fF70","label":"FAQ","href":null,"index":null,"links":[{"id":"sKI3qhDnlk_SYUkyMP7SD","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"KypODxxZDgwrkLeFoMEFi","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"ZgyYprIkH3TpDxv1Nmlz-","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"AOF3LU3NkNwsCIgt6vpKw","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"baAqxNTNzxqR6buDLrpje","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"yr1aGPlgIlIkYE4neg0Se","label":"Website Usage","href":"/metrics/site_metrics.md","index":null,"links":null}]}}} \ No newline at end of file +{"data":{"navData":{"navItems":[{"id":"-gWgSQBN_uuTCS-hyFK_G","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"1AQiyJ72mSTBCeDoLzU1u","label":"Blueprints","href":null,"index":null,"links":[{"id":"gLLe7LDYk7-eTDv6wf6Pn","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"7s2z6VCxkjYClnQ13WBTd","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"nwkYp6im_dPsGptP0FVA5","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"vOaw1uevEpECum0cWAfqC","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"tY146SlxtAE_gzkB-ni7x","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"-R_05VwIUnAbp3zAQONxI","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"xpSDVkBXf8uXbmE-i3ozT","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"adAnj3fUdf1sYcwX1d8EE","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"hhp_NzjHG249oeZiiY3KQ","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"WiiBL63SWq8X0w_Y67uQg","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"RprZAfu7VRmLUNnn5hGWi","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"PgyKUnEs5Migs_rU-tx-h","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"lXKMWOg0dOIhPMaM-rM7g","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"ynaycaA5UiUVYVA_DpnTl","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"mamkLG5MWxxwMKZzQBCZF","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"8cBSjVR3uafJ3jNNLkQ61","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"8SEvHmMq9RJcaK7QTIxZl","label":"FAQ","href":null,"index":null,"links":[{"id":"PcPH9ot5CUrGNpjzY6KE2","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"ymS3acnvIBBb5JnhTjiCx","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"B8Dt1b9StMy4PkTgV1xsV","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"wmxv1QKGHtBIQUlDfTXsU","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"1R3SpybJyOOrKL47q8bPv","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"h6cKjLX3Yif9BGWHGafJJ","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 f43fd7b964..62c807c43d 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 a412f28061..883e7464be 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 05bc88d74d..3890ad3265 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 8bc325fbbb..81b31ea274 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