Wednesday, July 13, 2022

A New Source of Truth for Bitnami Containers

Over the past few months, the Bitnami content team has been working on unifying the source of truth for the different assets that Bitnami provides to its users.  

Currently, users can find the source code for the Bitnami Helm charts in a single repository on Github (https://github.com/bitnami/charts/) while the source code for the Bitnami containers is spread across different repositories for each solution (for example, https://github.com/bitnami/bitnami-docker-wordpress). 

Now, we have adopted a “monorepo approach” to remove the differences in the user experience between Helm charts and containers on GitHub. Moreover, unifying the repositories where their code lives also allows us to unify all the processes involved in the life cycle of their source code. 

Embracing the Monorepo Approach 

In order to unify both repositories, we have opted to extend the monorepo approach to Bitnami containers as we already did with Helm charts. Thus, container users will be able to navigate through the code of all Bitnami containers by checking only a single repository: https://github.com/bitnami/containers/

In addition to an easier way to find the code, users will benefit from:  

  • Having all issues located under the same repository makes it easier to find common use cases and avoids duplication which ultimately improves the support workflow 
  • Having a single and updated place for general announcements, changes in the contributing guidelines, and so on 
  • The possibility of using VMware Image Builder (VIB), a service that allows developers and contributors to verify their Pull Requests (PRs) and thus provide an early feedback loop 

In the coming weeks, the Bitnami team will transfer all valid open issues to the new repository. Then, all the bitnami/bitnami-docker-* repositories will be analyzed in order to identify the valuable issues and migrate them to their new bitnami/containers repo. 

For existing open PRs, we will engage with contributors to find a better way to move their contributions forward into the new bitnami/containers repository. 

In addition, the internal test and release pipeline will be adapted to pull/push changes from the new repository. This is expected to take some time. 

We expect to have a large portion of the data migrated by July 15th.  From that point onwards, repositories will be migrated on a gradual basis. 

How Will Containers Code Look After this Change? 

The existing bitnami/bitnami-docker-* repositories will not disappear. These repositories will be archived in read-only mode so you can continue checking the whole history of the repository changes and existing issues. 

Currently, we plan to delete these repositories after one year, but we would be open to community feedback here. 

Will the source code or the container images change? 

No, the code will be migrated as it is from the different repositories to the monorepo. For example, the source code for PostgreSQL at bitnami/bitnami-docker-postgresql will be moved under the containers/postgresql directory in the bitnami/containers repository. 

Container images will be displayed as usual in the Bitnami DockerHub organization. There won't be any changes to the image itself or to the registries where the image is available. 

Support and Resources  

Looking to learn more or have more questions? Check out the new Bitnami GitHub repository for containers and if you need to get a resolution on issues or want to send us your feedback, please open an issue. A markdown template is provided by default to open new issues, with certain information requested to help us prioritize and respond as soon as possible. 

Also, if you want to contribute to the project, feel free to send us a pull request and the team will check it and guide you in the process for a successful merge.   

Boost your knowledge about Bitnami containers and Helm charts by checking our latest tutorials