-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
minor fixes, add readme and installer scripts
- Loading branch information
Showing
14 changed files
with
704 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
before: | ||
hooks: | ||
- go mod download | ||
builds: | ||
- main: main.go | ||
binary: helm-blob | ||
env: | ||
- CGO_ENABLED=0 | ||
goos: | ||
- windows | ||
- linux | ||
- darwin | ||
goarch: | ||
- amd64 | ||
- arm64 | ||
archive: | ||
format: tar.gz | ||
files: | ||
- README.md | ||
- LICENSE | ||
- plugin.yaml | ||
- scripts/install_plugin.sh | ||
- scripts/helm-blob.sh | ||
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}_{{ .Tag }}" | ||
checksum: | ||
name_template: "checksums.txt" | ||
snapshot: | ||
name_template: "{{ .Tag }}-next" | ||
changelog: | ||
sort: asc | ||
filters: | ||
exclude: | ||
- "^docs:" | ||
- "^test:" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
language: go | ||
go: | ||
- "1.13" | ||
|
||
env: | ||
- GO111MODULE=on | ||
|
||
before_install: | ||
- sudo apt-get update | ||
- sudo apt-get install -y libpcap-dev gcc | ||
|
||
install: | ||
- go mod download | ||
|
||
after_success: | ||
# Set up git user name and tag this commit | ||
- git config --global user.email "[email protected]" | ||
- git config --global user.name "Travis CI" | ||
- export TRAVIS_TAG=${TRAVIS_TAG:-$(cat VERSION)} | ||
- git tag -a $TRAVIS_TAG $(git log --format=%h -1) -m "Generated tag from Travis CI based on VERSION file" | ||
- test -n "$TRAVIS_TAG" && curl -s https://raw.githubusercontent.com/goreleaser/get/master/latest | bash | ||
|
||
deploy: | ||
- provider: script | ||
github_token: $GITHUB_TOKEN | ||
skip_cleanup: true | ||
script: curl -sL https://git.io/goreleaser | bash | ||
|
||
notifications: | ||
email: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,98 @@ | ||
# helm-blob | ||
Helm Plugin that allows you to manage private helm repositories on blob storage(Azure Blob, GCS, S3) | ||
# helm-blob [![Build Status](https://travis-ci.org/C123R/helm-blob.svg?branch=master)](https://travis-ci.org/C123R/helm-blob) | ||
|
||
`helm-blob` plugin allows you to manage helm repositories on the blob storage like Azure Blob, GCS, S3, etc. | ||
|
||
This plugin supports operations like uploading or deletion of charts from remote Helm Repository hosted on Blob Storage. It could be used to initialize the new Helm Repository. | ||
|
||
`helm-blob` was inspired by [Alex Khaerov's](https://github.com/hayorov) [helm-gcs](https://github.com/hayorov/helm-gcs) plugin with extending support for Azure Blob storage and S3, which makes helm-blob to support Azure Blob, GCS, S3 storage. | ||
|
||
This plugin uses Go Cloud's [Blob](https://gocloud.dev/howto/blob/) package. | ||
|
||
## Installation | ||
|
||
```sh | ||
helm plugin install https://github.com/C123R/helm-blob | ||
``` | ||
|
||
## Usage | ||
|
||
- ### Initialize a new chart repository | ||
|
||
```sh | ||
helm blob init azblob://helmrepo | ||
``` | ||
|
||
Note: This command will not create new blob storage, moreover | ||
it will just add empty index.yaml file. | ||
|
||
- ### Add your repository to Helm | ||
|
||
```sh | ||
helm repo add azurehelm azblob://helmrepo | ||
``` | ||
|
||
- ### Push a new chart to your repository | ||
|
||
```sh | ||
helm blob push mychart.tar.gz azurehelm | ||
``` | ||
|
||
- ### Updating Helm cache (Required after pushing new chart) | ||
|
||
```sh | ||
helm repo update | ||
``` | ||
|
||
- ### Fetch the chart | ||
|
||
```sh | ||
helm fetch azurehelm/mychart | ||
``` | ||
|
||
- ### Delete a chart | ||
|
||
```sh | ||
helm blob delete mychart azurehelm | ||
``` | ||
|
||
Note: This will delete all chart versions from remote repository. To delete a specific chart: | ||
|
||
```sh | ||
helm blob delete mychart -v 0.3.0 azurehelm | ||
``` | ||
|
||
## Authentication | ||
|
||
Helm blob's plugin authentication varies depending upon the blob provider as mentioned below: | ||
|
||
- ### S3 | ||
|
||
S3 provider support AWS [default credential provider](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials) chain in the following order: | ||
|
||
- Environment variables. | ||
|
||
- Shared credentials file. | ||
|
||
- If your application is running on an Amazon EC2 instance, IAM role for Amazon EC2. | ||
|
||
- ### Azure Blob | ||
|
||
Currently it supports authentication only with [environment variables](https://docs.microsoft.com/en-us/azure/storage/common/storage-azure-cli#set-default-azure-storage-account-environment-variables): | ||
|
||
- AZURE_STORAGE_ACCOUNT | ||
- AZURE_STORAGE_KEY or AZURE_STORAGE_SAS_TOKEN | ||
|
||
- ### [GCS](https://cloud.google.com/docs/authentication/production) | ||
|
||
GCS provider uses [Application Default Credentials](https://cloud.google.com/docs/authentication/production) in the following order: | ||
|
||
- Environment Variable (GOOGLE_APPLICATION_CREDENTIALS) | ||
- Default Service Account from the compute instance(Compute Engine, Kubernetes Engine, Cloud function etc). | ||
|
||
To authenticate against GCS you can: | ||
|
||
- Use the [application default credentials](https://cloud.google.com/sdk/gcloud/reference/auth/application-default/) | ||
|
||
- Use a service account via the global flag `--service-account` | ||
|
||
See [the GCP documentation](https://cloud.google.com/docs/authentication/production#providing_credentials_to_your_application) for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.