ChartMuseum Installation


ChartMuseum Installation

In this tutorial, we will discuss ChartMuseum installation and make use of it as part of the helm chart repository hosting. ChartMuseum can be downloaded from this specific location for various operating systems, and detailed instruction is also available as part of the documentation.

Within the how to run section, I do have the tab, and within the installation location, I have the location for Chart Museum for various operating systems. Since I do have the Linux operating system, I can download it from this specific location. Let me go ahead and download.

$ curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum

And it’s around 52 MB. So let this get downloaded. Now, I need to add execute permission for this particular file. Let me go ahead and add execute permission.

$ chmod +x ./chartmuseum

And let me move this particular file into the /usr/local/bin. So that I can provide the chartmuseum command from any location.

$ mv ./chartmuseum /usr/local/bin

Once the file is moved, I should be able to provide the chartmuseum command from any location. Let me try to get the version that we do have.

$ chartmuseum --version
ChartMuseum version 0.12.0 (build 101e26a)

The version that is installed over here is 0.12.0. That’s the latest version.

Configuration

Show all CLI options with chartmuseum --help. Common configurations can be seen below.

All command-line options can be specified as environment variables defined by the command-line option, capitalized, with all -’s replaced with _’s.

For example, the env var STORAGE_AMAZON_BUCKET can be used in place of --storage-amazon-bucket.

$ chartmuseum --help
NAME:
   ChartMuseum - Helm Chart Repository with support for Amazon S3, Google Cloud Storage, Oracle Cloud Infrastructure Object Storage and Openstack
USAGE:
   chartmuseum [global options] command [command options] [arguments…]
VERSION:
   0.12.0 (build 101e26a)
COMMANDS:
     help, h  Shows a list of commands or help for one command
GLOBAL OPTIONS:
   --config value, -c value              chartmuseum configuration file [$CONFIG]
   --storage-oracle-compartmentid value  compartment ocid of --storage-oracle-bucket [$STORAGE_ORACLE_COMPARTMENTID]
   --storage-etcd-certfile value         cert provided to etcd [$STORAGE_ETCD_CERTFILE]
   --gen-index                           generate index.yaml, print to stdout and exit [$GEN_INDEX]
   --auth-anonymous-get                  allow anonymous GET operations when auth is used [$AUTH_ANONYMOUS_GET]
......
......
......

They do have lots of options, and most of the options are to define where the storage should be either I wanted to store it in some cloud location like AWS or Google compute cloud or make use of local storage and get that running.

Now I can start the chartmuseum by mentioning what port I wanted to run and what is the storage path as well as the configuration required for that particular storage path. For quick and easy demo I’m going to use the local storage.

So as a part of the configuration, I can mention if I wanted to use Amazon S3, I could provide the details on authentications and the location of the bucket, all such information. Or I can go ahead and use Google cloud storage or Alibaba or Microsoft Storage.

Using With Local Filesystem Storage

To get started quickly, I’m going to use local storage. So what I can do, I can mention the port and the storage as local and in which directory the repository should store the information. Now I can start Chart Museum by executing this specific command.

$ chartmuseum --debug --port=8080 --storage="local" --storage-local-rootdir="./chartstorage"
2021-05-25T06:25:44.656Z    DEBUG   Fetching chart list from storage    {"repo": ""}
2021-05-25T06:25:44.701Z    DEBUG   No change detected between cache and storage    {"repo": ""}
2021-05-25T06:25:44.701Z    INFO    Starting ChartMuseum    {"port": 8080}

So it’s going to create a folder as required. The chart storage will get created, and it is running in port 8080. You can verify whether Chart Museum is installed properly and working properly or not by accessing port 8080. (ipaddress:8080). You will get the following page.

ChartMuseum Installation

If I get this particular message, Chart Museum is installed successfully and ready to manage the charts.

ChartMuseum Installation
Scroll to top