在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:chartmuseum开源软件地址:https://gitee.com/AliyunContainerService/chartmuseum开源软件介绍:ChartMuseum"Preserve your precious artifacts... in the cloud!" ChartMuseum is an open-source Helm Chart Repository written in Go (Golang), with support for cloud storage backends, including Google Cloud Storage, Amazon S3, and Microsoft Azure Blob Storage. Works as a valid Helm Chart Repository, and also provides an API for uploading new chart packages to storage etc. Powered by some great Go technology:
Things that have been said in Helm land
APIHelm Chart Repository
Chart Manipulation
Server Info
Uploading a Chart PackageFollow "How to Run" section below to get ChartMuseum up and running at http://localhost:8080 First create cd mychart/helm package . Upload curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts If you've signed your package and generated a provenance file, upload it with: curl --data-binary "@mychart-0.1.0.tgz.prov" http://localhost:8080/api/prov Both files can also be uploaded at once (or one at a time) on the curl -F "[email protected]" -F "[email protected]" http://localhost:8080/api/charts Installing Charts into KubernetesAdd the URL to your ChartMuseum installation to the local repository list: helm repo add chartmuseum http://localhost:8080 Search for charts: helm search chartmuseum/ Install chart: helm install chartmuseum/mychart How to RunCLIInstallationInstall the binary: # on Linuxcurl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum# on macOScurl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/darwin/amd64/chartmuseum# on Windowscurl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/windows/amd64/chartmuseumchmod +x ./chartmuseummv ./chartmuseum /usr/local/bin Using Replace Determine your version with ConfigurationShow all CLI options with All command-line options can be specified as environment variables, which are defined by the command-line option, capitalized, with all For example, the env var Using with Amazon S3Make sure your environment is properly setup to access chartmuseum --debug --port=8080 \ --storage="amazon" \ --storage-amazon-bucket="my-s3-bucket" \ --storage-amazon-prefix="" \ --storage-amazon-region="us-east-1" You need at least the following permissions inside your IAM Policy { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListObjects", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::my-s3-bucket" }, { "Sid": "AllowObjectsCRUD", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-s3-bucket/*" } ]} Using with Google Cloud StorageMake sure your environment is properly setup to access chartmuseum --debug --port=8080 \ --storage="google" \ --storage-google-bucket="my-gcs-bucket" \ --storage-google-prefix="" Using with Microsoft Azure Blob StorageMake sure your environment is properly setup to access To do so, you must set the following env vars:
chartmuseum --debug --port=8080 \ --storage="azure" \ --storage-microsoft-container="mycontainer" \ --storage-microsoft-prefix="" Using with local filesystem storageMake sure you have read-write access to chartmuseum --debug --port=8080 \ --storage="local" \ --storage-local-rootdir="./chartstorage" Basic AuthIf both of the following options are provided, basic http authentication will protect all routes:
You may want basic auth to only be applied to operations that can change Charts, i.e. PUT, POST and DELETE. So to avoid basic auth on GET operations use
HTTPSIf both of the following options are provided, the server will listen and serve HTTPS:
Just generating index.yamlYou can specify the The contents of index.yaml will be printed to stdout and the program will exit. This is useful if you are satisfied with your current Helm CI/CD process and/or don't want to monitor another webservice. Other CLI options
Docker ImageAvailable via Docker Hub. Example usage (S3): docker run --rm -it \ -p 8080:8080 \ -e PORT=8080 \ -e DEBUG=1 \ -e STORAGE="amazon" \ -e STORAGE_AMAZON_BUCKET="my-s3-bucket" \ -e STORAGE_AMAZON_PREFIX="" \ -e STORAGE_AMAZON_REGION="us-east-1" \ -v ~/.aws:/root/.aws:ro \ chartmuseum/chartmuseum:latest Helm ChartThere is a Helm chart for ChartMuseum itself which can be found in the official Kubernetes Charts repository. You can also view it on Kubeapps Hub. To install: helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.comhelm install incubator/chartmuseum If interested in making changes, please submit a PR to kubernetes/charts. Before doing any work, please check for any currently open pull requests. Thanks! Notes on index.yamlThe repository index (index.yaml) is dynamically generated based on packages found in storage. If you store your own version of index.yaml, it will be completely ignored.
If you manually add/remove a .tgz package from storage, it will be immediately reflected in You are no longer required to maintain your own version of index.yaml using The Mirroring the official Kubernetes repositoriesPlease see You can then use ChartMuseum to serve up an internal mirror: scripts/mirror_k8s_repos.shchartmuseum --debug --port=8080 --storage="local" --storage-local-rootdir="./mirror" CommunityYou can reach the ChartMuseum community and developers in the Kubernetes Slack #chartmuseum channel. |
请发表评论