Many of the cloud native and CNCF projects are based around artifacts that you can use and share. Helm has charts, which is an obvious case. It doesn’t stop there. Open Policy Agent (OPA) has policies. Falco has configurations. Then there are operators. Operators can be deployed using Helm, KUDO, the Operator Frameworks OLM, and even raw Kubernetes manifests. It turns out there are a lot of ways to deploy and share operators.
We’ve started to see the rise of hubs. There is the Helm Hub (for Helm charts), the Operator Hub (for operators managed by OLM), and the Cloud Native Security Hub (for Falco configuration).
While each of these is useful itself they are each a silo. You need to know about each silo to go searching for it. In each silo you aren’t going to learn about things that could relate. For example, if you search the Helm Hub for PostgreSQL you aren’t going to learn that there is Falco configuration for it. Nor are you going to learn about PostgreSQL operators packaged up in different ways.
This hole in discovering is where the Artifact Hub steps in. It provides a platform to share and discover artifacts from varying cloud native projects.
This highlight the first goal of the Artifact Hub. To bring together cloud native artifacts in one place. This will make it easier to find things and find related things.
Artifacts from the various projects can be hosted in a distributed manner. I expect this distributed nature to grow through OCI Artifacts, as more projects embrace it. The distributed nature enables varying organizations to host artifacts (there are business around this, too).
The Artifact Hub is not a host itself. It doesn’t host the artifacts like sites like npm do for JavaScript. Instead, the Artifact Hub is a distributed metadata search. It pulls in information from distributed hosts and makes it available to be searched in one place. It is more like Packagist than npm.
Just The Beginning
If you visit the Artifact Hub today you’ll find Helm charts, some Falco configuration, and an OPA policy. This is due to two things. First, the project started by looking at current CNCF projects with artifacts to share. Second, it started with low hanging fruit. Helm was built with distributed charts in mind and had metadata to support it. There is metadata to get some Falco configurations and an OPA policy.
This is just a start which is why the site is labeled as “alpha”. The goal is to have more artifacts and artifact types. And, to help with smarter search and discovery.
Another goal of the Artifact Hub is to expose useful metadata to help those looking for artifacts to make decisions about them. You won’t see much of that quite yet but it’s in the plan.
Note, please be kind when you discover issues with the Artifact Hub. It’s new, alpha, and just getting off the ground. It really is just the beginning.
Discover and Contribute
You can discover some artifacts today. Head over to the Artifact Hub and search.
The Artifact Hub is an open source project with many ways to contribute including:
- If you have a Helm repository you can list it. The Artifact Hub has users (you can sign up or log in with GitHub or Google) and organizations (with multiple users). You can list a Helm repository and expose it to others.
- Did you find an issue with the site or have an idea? You can file an issue.
- Code. There is plenty of room for code contributions. Features need to be built out, more support for artifact types needs to be built in, and so much more.
Is there another way you’d like to contribute? File and issue and reach out.
A Little History
The Artifact Hub has had a short but busy history. At KubeCon + CloudNativeCon in San Diego, Dan Kohn, the executive director of the CNCF, got people together from Helm, the Operator Framework, and KUDO to talk about hubs. He had an idea for a single hub.
From an end users perspective who wants to consume things, it can be difficult to discover what people are sharing. Do you know about all the hubs? Did you search them all? There’s extra work in there. A single hub could bring the experience to one place.
With that in mind, I drew up a spec as a starting for the CNCF and contractors started work on it. The project was delayed in being widely shared due to extra work added due to COVID-19. When it was widely shared it was called the CNCF Hub as a draft name. After a couple revisions it was settled on as the Artifact Hub.
What About The Existing Hubs?
You might be wondering, what about the existing hubs? Each of the existing hubs is operated in an independent manner. What they do is up to them. I would not expect any of them to consider ceding what they do to the Artifact Hub until it proves itself. Whether they ever do that will come down to their goals and if the Artifact Hub can accomplish them sufficiently.
The Helm Hub is a case I can speak to. We hope the Artifact Hub will take its place. So much so that we have delayed major refactoring work to it. We are waiting to make sure the Artifact Hub proves itself and finds its legs.
Run Your Own
The Artifact Hub is more than a website. Organizations may want to run their own. This is especially true for organizations that have large private stores of artifacts on premise.
The software powering the Artifact Hub can be run by anyone. It is alpha quality so please be nice. The documentation and tools around running it yourself is one of the areas we could use more contributions.
What’s Next For The Artifact Hub?
There are a few next steps for the Artifact Hub.
- Develop the site and software to add features.
- Figure out how to add more artifacts and expose them. Many projects do not have existing methods to distribute and share artifacts.
- Work towards becoming a CNCF sandbox project.