4 Dec · 4 min read
Challenge: To improve the services provided to the open-source operator community by improving, redesigning, and rebuilding their OperatorHub.io product
Solution: Migrated Continuous Integration pipelines from TravisCI to Github actions
User Group: Open-source Community
Red Hat, Inc., is an American software company that provides open-source software products to the enterprise community. The company was acquired by IBM in July 2019. Red Hat initially had success in distributing Linux itself, which was then known as "Red Hat Linux". Red Hat is the second largest contributor to the Kubernetes upstream project and the originator of many of its key functions, components, and related container technologies.
Red Hat has been involved in open source communities for decades and provides them with support, enabling them to contribute useful technology, improve it and prepare it for the business. One of Red Hat's contributions to the open source community is OperatorHub.io, which contains many useful operators available to the open source community.
In 2018, Red Hat decided to improve the services provided to the open-source operator community by improving, redesigning, and rebuilding their OperatorHub.io product. Red Hat outsourced some of these tasks, but soon after the beginning of 2019, inconsistent deliveries from an external supplier suffered.
In this phase of the project, Hotovo was committed to expanding Red Hat's team capacity and ensuring stable delivery, which in turn resulted in improved development processes and the final product.
OperatorHub.io is a community space containing multi-purpose operators that are created and uploaded by open-source community members. Our first responsibility and also challenge was to improve the appearance of the web interface and its front-end part. As the interface is used mainly by contributors of operators, it was highly important to keep it user-friendly, fast, and simple.
Another important part of Hotovo’s team involvement was rebuilding the main pipelines responsible for the transition between the processes that operators have to proceed with, i.e. uploading, testing, verification, bug reporting, recommendations, and finally publishing. The active development of this part is over. Our current task is to monitor, maintain and support pipelines.
The Additional task is to be helpful and available to connector creators. We review and test uploaded connectors, advise creators on what they could improve, or report connector deficiencies. After approval of the functionality of the connector, these are published free of charge on the OperatorHub.io community space for all visitors.
We have improved the product page operatorhub.io, which serves as a catalog. It provides one-click product installation on the Kubernetes cluster for a variety of applications from databases, through comprehensive monitoring systems and cloud provider integration to big data solutions.
We have also worked in the field of DevOps in the migration of backbone pipelines supplying products to end systems. Our pipelines consume the commits from contributors and deliver new or updated products directly to install systems that are capable of automatic updating. Processed and packaged products must pass through the quality gate. There, we have improved over time, enhanced this process, and integrated new tools to provide automated testing of commits. These pipelines have been written several times from scratch, when basic tools have changed, such as the changes from TravisCI to GitHub Actions.
Another set of pipelines was migrated from Red Hat's internal systems to another system. These are the pipelines that consume commits from contributors and provide a catalog for operatorhub.io.
We are currently responsible for open-source and external Operator products. Because of the increased demand for CI pipelines delivering Operator products to systems and end users, we were invited to join Red Hat's internal team.