diff --git a/community/core/community/README.md/index.html b/community/core/community/README.md/index.html index b02d688dcd..c6338246b5 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 @@ -24,4 +24,4 @@ Kubernetes community.

Updating labels.md

The labels.md file that documents the available labels is generated from the source labels.yaml file that is used by prow to maintain the labels on the repos.

To update the document after a change in the source, use the label_sync application -with the docs action. An containerized version invocation is included in the Makefile:

make generate-dockerized
\ No newline at end of file +with the docs action. An containerized version invocation is included in the Makefile:

make generate-dockerized
\ No newline at end of file diff --git a/community/core/community/SUPPORT_POLICY.md/index.html b/community/core/community/SUPPORT_POLICY.md/index.html index 566c647c62..df2f79e195 100644 --- a/community/core/community/SUPPORT_POLICY.md/index.html +++ b/community/core/community/SUPPORT_POLICY.md/index.html @@ -14,7 +14,7 @@ - }

Support Policy

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

Support Policy

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

Supported Runtime Environments

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

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

End of Life

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

\ No newline at end of file diff --git a/community/core/community/governance.md/index.html b/community/core/community/governance.md/index.html index 02ec2e9b47..8b8c071f04 100644 --- a/community/core/community/governance.md/index.html +++ b/community/core/community/governance.md/index.html @@ -14,7 +14,7 @@ - }

Principles

The Thoth Station community adheres to the following principles:

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

Code of Conduct

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

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

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

Principles

The Thoth Station community adheres to the following principles:

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

Code of Conduct

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

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

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

Community groups

The project is comprised of the following types of subgroups:

  • Special Interest Groups, SIGs
    • Subprojects

SIGs

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

Help Wanted and Good First Issue Labels

Overview

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

Help Wanted and Good First Issue Labels

Overview

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

Liaisons

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

Liaisons

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

Liaisons do not make decisions for the community group or on behalf of diff --git a/community/core/community/sig-devsecops/README.md/index.html b/community/core/community/sig-devsecops/README.md/index.html index 46a68ea2d7..73f173dd9c 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 a99c8de083..86a6df7261 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 196fa0ef84..1a30ee104d 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 a66bb0dc75..cae6c391ca 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 7d64cbe9d5..053c238e24 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 2a1499ad09..43afe6d58e 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 1011f15be5..528a2cba22 100644 --- a/community/core/community/sig-user-experience/README.md/index.html +++ b/community/core/community/sig-user-experience/README.md/index.html @@ -14,6 +14,6 @@ - }

User Experience Special Interest Group

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

User Experience Special Interest Group

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

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

Leadership

Chairs

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

Technical Leads

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

Contact

Subprojects

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

jupyterlab-requirements

kebechet

s2i-thoth

thamos

user-api

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

Contact

Subprojects

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

jupyterlab-requirements

kebechet

s2i-thoth

thamos

user-api

\ No newline at end of file diff --git a/community/core/community/sig-user-experience/charter.md/index.html b/community/core/community/sig-user-experience/charter.md/index.html index a92ca0f469..444a104a18 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 c3fd21d193..994620665c 100644 --- a/community/core/community/wg-cnbi/README.md/index.html +++ b/community/core/community/wg-cnbi/README.md/index.html @@ -14,5 +14,5 @@ - }

CNBi Working Group

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

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

Stakeholder SIGs

  • SIG DevSecOps
  • SIG Stack Guidance
  • SIG User Experience

Organizers

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

Contact

\ No newline at end of file + }

CNBi Working Group

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

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

Stakeholder SIGs

  • SIG DevSecOps
  • SIG Stack Guidance
  • SIG User Experience

Organizers

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

Contact

\ No newline at end of file diff --git a/community/core/community/wg-cnbi/charter.md/index.html b/community/core/community/wg-cnbi/charter.md/index.html index dc6e63b896..13d238be45 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 4fc526732c..b0c3448b8a 100644 --- a/community/core/docs/ROADMAP.md/index.html +++ b/community/core/docs/ROADMAP.md/index.html @@ -14,7 +14,7 @@ - }

Thoth Roadmap

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

Thoth Roadmap

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

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

Informative Advice

Based on a command line tool and our GitHub App we will extend the advice we give to human developers. This diff --git a/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html b/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md/index.html index 9527e634a1..3c25efe5ab 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 f5e0499cc5..6fd6f9f82e 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 b13ae1f543..f802bcc346 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 56152d559b..dae34d9a25 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 9521c112f4..ee49edf5f3 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,11 +14,11 @@ - }

    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
     │   ├── ps-nlp-pytorch             # NLP image with Pytorch ML framework
     │   ├── ps-nlp-pytorch-gpu         # NLP image with Pytorch ML framework for GPU
     │   └── ps-nlp-scikit-learn        # NLP image with Scikit-learn ML framework
    -└── ...

    Decision Outcome

    Selected option: 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.

    Positive Consequences

    • users can immediately select an image based on the application they want.
    • using overlays we can have a variety of combination, not just for ml_framework

    Negative Consequences

    • N/A
    \ No newline at end of file +└── ...

    Decision Outcome

    Selected option: 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.

    Positive Consequences

    • users can immediately select an image based on the application they want.
    • using overlays we can have a variety of combination, not just for ml_framework

    Negative Consequences

    • N/A
    \ No newline at end of file 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 7b8a646561..f079d2e619 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 5ad0925fe9..8ca5256f3e 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,7 +14,7 @@ - }

    {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

    \ No newline at end of file +information to users

    Stretch goals

    • Detect and infer license information from dual licensed projects

    References

    1. https://github.com/thoth-station/solver/
    2. https://www.kaggle.com/thothstation/thoth-solver-dataset-v10
    3. https://github.com/thoth-station/datasets
    4. https://github.com/thoth-station/prescriptions-gh-release-notes-job
    5. https://github.com/thoth-station/solver-project-url-job/
    6. https://thoth-station.ninja/docs/developers/adviser/wraps.html
    7. https://packaging.python.org/guides/distributing-packages-using-setuptools/#license
    8. https://packaging.python.org/guides/distributing-packages-using-setuptools/#classifiers
    9. https://pypi.org/classifiers/
    \ No newline at end of file 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 6506cb717a..4498df1aa5 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: ?? -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 + }

    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 0a4a42b665..917ad717cd 100644 --- a/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html +++ b/community/core/docs/intern-projects/prescriptions-bootstrap.md/index.html @@ -14,9 +14,9 @@ - }

    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 repository that help the recommender system to advise better software stacks to -users.

    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
      • You should receive an invite to a Google calendar Event
    • Access to GitHub using your GitHub your account
      • Thoth Station

    Project outline

    1. Welcome to the Thoth Station!
      1. get familiar with team members
    2. Get familiar with thoth-station/prescriptions repository
    3. Get familiar with prescriptions concept, follow the online documentation for more info
    4. Identify popular Python packages that can be valuable to data scientists and Python developers
      1. Take a look at already existing hundredsDatasciencePackages list
      2. Take a look at Python packages based on their popularity (number of downloads from PyPI)
    5. For the identified set of Python packages create prescriptions that add knowledge to the recommender system so that users do not encounter known issues
      1. Follow project issues and/or project release notes
      2. Collaborate with communities to understand issues and required fixes, present prescriptions concept to communities
    6. Get familiar with Amun service and Dependency Monkey
    7. Identify possible cases that are suitable for running Dependency Monkey to spot issues in packages or runtime environments
    8. Run Dependency Monkey jobs and/or Amun inspections to conduct experiments that can result in new prescriptions
      1. Discuss possible issues with upstream communities
    9. Discuss extensibility and possible improvements that would help you to get results more effectively

    References

    1. https://github.com/thoth-station/prescriptions
    2. https://thoth-station.ninja/docs/developers/adviser/prescription.html
    3. https://thoth-station.ninja/docs/developers/adviser/dependency_monkey.html
    4. https://github.com/thoth-station/amun-api
    \ No newline at end of file +users.

    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
      • You should receive an invite to a Google calendar Event
    • Access to GitHub using your GitHub your account
      • Thoth Station

    Project outline

    1. Welcome to the Thoth Station!
      1. get familiar with team members
    2. Get familiar with thoth-station/prescriptions repository
    3. Get familiar with prescriptions concept, follow the online documentation for more info
    4. Identify popular Python packages that can be valuable to data scientists and Python developers
      1. Take a look at already existing hundredsDatasciencePackages list
      2. Take a look at Python packages based on their popularity (number of downloads from PyPI)
    5. For the identified set of Python packages create prescriptions that add knowledge to the recommender system so that users do not encounter known issues
      1. Follow project issues and/or project release notes
      2. Collaborate with communities to understand issues and required fixes, present prescriptions concept to communities
    6. Get familiar with Amun service and Dependency Monkey
    7. Identify possible cases that are suitable for running Dependency Monkey to spot issues in packages or runtime environments
    8. Run Dependency Monkey jobs and/or Amun inspections to conduct experiments that can result in new prescriptions
      1. Discuss possible issues with upstream communities
    9. Discuss extensibility and possible improvements that would help you to get results more effectively

    References

    1. https://github.com/thoth-station/prescriptions
    2. https://thoth-station.ninja/docs/developers/adviser/prescription.html
    3. https://thoth-station.ninja/docs/developers/adviser/dependency_monkey.html
    4. https://github.com/thoth-station/amun-api
    \ No newline at end of file diff --git a/community/core/docs/sprint-demos/35.md/index.html b/community/core/docs/sprint-demos/35.md/index.html index 5be7352fde..dc41bb6d9e 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 d19cbb29bd..f11f16eb0e 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 43989c151c..898c03912b 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 728bd09f06..2c7ba0e8ab 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 1517caf2c5..5656d536c1 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 +Sprint 37 - 2020-May-08

    \ No newline at end of file diff --git a/community/index.html b/community/index.html index 8f62501c12..0afb4fb63a 100644 --- a/community/index.html +++ b/community/index.html @@ -14,7 +14,7 @@ - }

    Terms and Conditions for the Thoth Station Scrum

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

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

    Terms and Conditions for the Thoth Station Scrum

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

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

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

    Issues are assigned to persons (they become an assignee of the issue) when a person picks up the card and starts working on it (pulls it into the ‘in diff --git a/metrics/site_metrics.md/index.html b/metrics/site_metrics.md/index.html index 9b04eac434..82326a8742 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 56648a0bcc..cd48c0db93 100644 --- a/page-data/sq/d/1276261476.json +++ b/page-data/sq/d/1276261476.json @@ -1 +1 @@ -{"data":{"navData":{"navItems":[{"id":"2OK7Yp_dQv6JN-Jh4e2B8","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"7nWt0ewHXf4hBwPAnjh2R","label":"Blueprints","href":null,"index":null,"links":[{"id":"516kwu2yjWxo0nIzLDwKA","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"oc06CH6Xj6HVlNqX-rmUS","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"ahjOod6ebKAC2VBTbNjIs","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"6td1vPqNrMGnm7GjB-CJX","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"BO8gAZRlUBmZtz0CR87IQ","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"aaCfspiZzzryF27usO7yz","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"-FcblWNbCTpRV_yE7SR_q","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"R4Kd6pxM9tPhGMXL51pCV","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"rws7JV-dVWgdB7Q2NbzPq","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"yF5aGMWOAuYX1MAKEHlSg","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"Ffv0GZ8wLwKV3EmcjR4qw","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"ssudWfPMatpOPFX9Yy8Xs","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"MdF2qJpvSn1R3QemG7Pxt","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"ZlDaMmWXGDU1EceYCHckA","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"L5HU-PvXJhNzonkf0mFcP","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"5Etj-_u22HDLod7EQIaYN","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"oNX5-V6fV7YMldvR48Ac2","label":"FAQ","href":null,"index":null,"links":[{"id":"biWnTHB4ct78grDhHHG-U","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"ktvMvENqCO0bwXRt7HerC","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"FImY3sXBZLK5yPQHbgMkT","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"5d3F2lqd0hM-B2DS-Oaa3","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"E8QsqWRkWrdOeUsmHoOGG","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"ENJy7D1QcpBER8sVD9ae5","label":"Website Usage","href":"/metrics/site_metrics.md","index":null,"links":null}]}}} \ No newline at end of file +{"data":{"navData":{"navItems":[{"id":"MgTXGrrRqta7L8mnJqMAZ","label":"Terms and Conditions","href":"/community/core/docs/TermsAndConditionsForTheScrum.md","index":"/community","links":null},{"id":"ILo_Qjsgx9AvKB9l3lj_s","label":"Blueprints","href":null,"index":null,"links":[{"id":"1ZncazOrEhUQGvwXKD-Ne","label":"Thoth Roadmap","remote":null,"href":"/community/core/docs/ROADMAP.md"},{"id":"3nqOJL2k2tlzXEDXCPrk6","label":"Help Wanted Labels","remote":null,"href":"/community/core/community/help-wanted.md"}]},{"id":"W6VOzeWlS0WKWFGocd34m","label":"Special Interest Groups","href":null,"index":null,"links":[{"id":"5-NU2MEy0ZmCTVlzXUBXW","label":"Governance","remote":null,"href":"/community/core/community/governance.md"},{"id":"0RTxPcCjbmZJZ51jdelv1","label":"SIG DevSecOps","remote":null,"href":"/community/core/community/sig-devsecops/README.md"},{"id":"lFfOnjOOEKDAnb8YFep4t","label":"SIG Observability","remote":null,"href":"/community/core/community/sig-observability/README.md"},{"id":"9mKtxle7qhpIcRholxj7r","label":"SIG Stack Guidance","remote":null,"href":"/community/core/community/sig-stack-guidance/README.md"},{"id":"bcPYgCMKpgt8g5EpDEnPV","label":"SIG User Experience","remote":null,"href":"/community/core/community/sig-user-experience/README.md"}]},{"id":"9FYah2BkOXz_vdpIOupSF","label":"Architecture Decision Records","href":null,"index":null,"links":[{"id":"ye5qdX2AftJMB1SL6LXK5","label":"0000 Architectural Decision","remote":null,"href":"/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md"},{"id":"NwbY7IKdLRPEMZgxLjH_x","label":"0001 License","remote":null,"href":"/community/core/docs/adr/0001-use-gpl3-as-license.md"},{"id":"yqa-oY0BxU4D4WYgYabYX","label":"0002 Release Policy","remote":null,"href":"/community/core/docs/adr/0002-release-policy.md"},{"id":"NOhlAaDIXYj9Apa-aFwsk","label":"0003 Decommission qeb-hwt","remote":null,"href":"/community/core/docs/adr/0003-decommision-qeb-hwt.md"},{"id":"L4yEgUsfaeRkBdChsxtLp","label":"0004 Image Naming Convention","remote":null,"href":"/community/core/docs/adr/0004-naming-convention-images.md"},{"id":"xNeqMfChw-m67OwRqjgix","label":"0005 Bump Versions","remote":null,"href":"/community/core/docs/adr/0005-automatically-bump-container-image-versions.md"}]},{"id":"ndzAZ7Xwj8m9DSZ42pZVw","label":"Getting Support","href":"/support","index":null,"links":null},{"id":"tzymLsODj7W2uPFnqsO45","label":"FAQ","href":null,"index":null,"links":[{"id":"T7VeOAcYnhlehDXUu1eO0","label":"Overview","remote":null,"href":"/support/faq/overview.mdx"},{"id":"Ew8XXvSSOfzktAZimiilu","label":"Default .thoth.yaml","remote":null,"href":"/support/faq/thoth_yaml.mdx"}]},{"id":"FUbkRx8ELIth_3dWnYqdt","label":"Track your issue","href":"/support/issue_tracker.mdx","index":null,"links":null},{"id":"eGibrU0sptUB2TjvSQJdz","label":"Thoth Service Status","href":"/metrics","index":null,"links":null},{"id":"Sarb1Kq_qcvg-nVJ7JQut","label":"GitHub Support","href":"/metrics/issue_metrics.md","index":null,"links":null},{"id":"nOMcEl197p0_y-6xTw7dP","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 ffd2f4663a..bc8782024e 100644 --- a/support/faq/overview.mdx/index.html +++ b/support/faq/overview.mdx/index.html @@ -14,11 +14,11 @@ - }

    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 to your .thoth.yaml file in your repository. More information on what bots are available can be found here.


    How do I configure my .thoth.yaml file?

    Thoth’s configuration file gets placed in the root of your repository (named as .thoth.yaml). This gets used by Thamos CLI and Thoth’s bots. The full set of options to configure your .thoth.yaml file are outlined and commented here.


    How do I configure the Thoth Advise Manager?

    Detailed information on how to configure this manager can be found in the thoth-station/thamos repository.

    Configuring the runtime_environment

    Setting the runtime_environment tells Thoth Advisor which operating system and Python version should be used when -resolving your dependencies.

    To list available environments for which the resolver can resolve dependencies, run the Thamos CLI command:

    thamos environments

    or use the Available Environments Tool:

    Available Environments Tool

    \ No newline at end of file +resolving your dependencies.

    To list available environments for which the resolver can resolve dependencies, run the Thamos CLI command:

    thamos environments

    or use the Available Environments Tool:

    Available Environments Tool

    \ No newline at end of file diff --git a/support/faq/thoth_yaml.mdx/index.html b/support/faq/thoth_yaml.mdx/index.html index 7ee443bd3c..dc0e825c4a 100644 --- a/support/faq/thoth_yaml.mdx/index.html +++ b/support/faq/thoth_yaml.mdx/index.html @@ -14,10 +14,10 @@ - }

    # 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
    runtime_environments:
    - name: '{runtime_environment_name}'
    # Operating system for which the recommendations should be created:
    operating_system:
    name: {os_name}
    version: '{os_version}'
    # Labels to be used during the resolution (key-value pairs).
    labels:
    # Hardware information for the recommendation engine:
    hardware:
    # {cpu_model_name}
    cpu_family: {cpu_family}
    cpu_model: {cpu_model}
    gpu_model: null
    # Software configuration of runtime environment:
    python_version: '{python_version}'
    cuda_version: {cuda_version}
    # Recommendation type - one of:
    # * testing
    # * stable
    # * latest
    # * performance
    # * security
    # See https://thoth-station.ninja/recommendation-types/
    recommendation_type: latest
    # Platform used for running the application - corresponds to sysconfig.get_platform() call (e.g. 'linux-x86_64')
    platform: {platform}
    # Additional options:
    openblas_version: null
    openmpi_version: null
    cudnn_version: null
    mkl_version: null
    # Base container image used to run the application.
    base_image: {base_image}
    #
    # Configuration of bots:
    #
    managers:
    - name: pipfile-requirements
    - name: info
    - name: version
    configuration:
    # A list of maintainers (GitHub or GitLab accounts) of this repository:
    maintainers: []
    # A list of assignees to which the opened pull requests and issues should
    # be assigned to:
    assignees: []
    # Labels for issues and pull requests:
    labels:
    - bot
    # Automatically maintain a changelog file stating features of new
    # releases:
    changelog_file: true
    # Use AI/ML to group messages in a smart way.
    changelog_smart: true
    - name: update
    configuration:
    labels: [bot]
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/support/index.html b/support/index.html index b57ef0ec34..17769a56fb 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 ceadd8e596..4f16a0b7e2 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