All Projects → int128 → helm-github-pages

int128 / helm-github-pages

Licence: Apache-2.0 license
Publish your Kubernetes Helm Charts on GitHub Pages. DEPRECATED: please use https://github.com/helm/chart-releaser

Programming Languages

shell
77523 projects
Smarty
1635 projects

Projects that are alternatives of or similar to helm-github-pages

vault-charts
Charts to deploy Hashicorp Vault in Kubernetes
Stars: ✭ 15 (-31.82%)
Mutual labels:  helm, helm-charts
redis-developer.github.io
The Home of Redis Developers
Stars: ✭ 28 (+27.27%)
Mutual labels:  helm, helm-charts
metahelm
Install dependency graphs of Kubernetes Helm Charts
Stars: ✭ 70 (+218.18%)
Mutual labels:  helm, helm-charts
Helm-Cheat-Sheet
A cheat sheet for Helm commands.
Stars: ✭ 72 (+227.27%)
Mutual labels:  helm, helm-charts
multitenant-microservices-demo
Full Isolation in Multi-Tenant SaaS with Kubernetes + Istio
Stars: ✭ 57 (+159.09%)
Mutual labels:  helm, helm-charts
charts
Fairwinds helm chart repository
Stars: ✭ 99 (+350%)
Mutual labels:  helm, helm-charts
helm-charts
My collection of Helm charts.
Stars: ✭ 62 (+181.82%)
Mutual labels:  helm, helm-charts
helm-charts
Community maintained Helm charts for Flux
Stars: ✭ 66 (+200%)
Mutual labels:  helm, helm-charts
billimek-charts
DEPRECATED - new home is https://github.com/k8s-at-home/charts
Stars: ✭ 90 (+309.09%)
Mutual labels:  helm, helm-charts
kubernetes-logging-helm
Scalable Kubernetes logging stack with Opensearch
Stars: ✭ 42 (+90.91%)
Mutual labels:  helm, helm-charts
kube-tools-aws
A lightweight Docker image with various CLI tooling for working with Kubernetes.
Stars: ✭ 26 (+18.18%)
Mutual labels:  helm, helm-charts
hull
The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
Stars: ✭ 66 (+200%)
Mutual labels:  helm, helm-charts
matrix-chart
Helm chart for deploying a Matrix homeserver stack
Stars: ✭ 83 (+277.27%)
Mutual labels:  helm, helm-charts
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (+45.45%)
Mutual labels:  helm, helm-charts
helm-charts
OpenSourced Helm charts
Stars: ✭ 38 (+72.73%)
Mutual labels:  helm, helm-charts
helm-controller
A simple way to manage helm charts with a Custom Resource Definitions in k8s.
Stars: ✭ 49 (+122.73%)
Mutual labels:  helm, helm-charts
clearml-server-helm
ClearML Server for Kubernetes Clusters Using Helm
Stars: ✭ 18 (-18.18%)
Mutual labels:  helm, helm-charts
camunda-helm
Camunda public Kubernetes Helm repo and charts
Stars: ✭ 33 (+50%)
Mutual labels:  helm, helm-charts
helm-charts
Helm charts for sigstore project
Stars: ✭ 33 (+50%)
Mutual labels:  helm, helm-charts
kubernetes-helm-chart-cassandra
Kubernetes Helm Chart for Cassandra
Stars: ✭ 29 (+31.82%)
Mutual labels:  helm, helm-charts

Helm GitHub Pages CircleCI

You can publish your Kubernetes Helm charts on GitHub Pages.

Example

Here is my workflow to publish the chart:

> git commit
> git push origin master
  ↓ Push
+--------------+
| GitHub       | https://github.com/int128/kubernetes-dashboard-proxy
+--------------+
  ↓ Webhook
+--------------+
| CircleCI     |
+--------------+
  ↓ Push
+--------------+
| GitHub       | https://github.com/int128/helm-charts
+--------------+
  ↓ Publish
+--------------+
| GitHub Pages | https://int128.github.io/helm-charts
+--------------+

You can install the chart by the following:

helm repo add int128 https://int128.github.io/helm-charts
helm repo update
helm install int128/kubernetes-dashboard-proxy

Getting Started

1. Create a repository for publishing your charts

Create a new repository with README.md on GitHub. Then create gh-pages branch as follows:

git clone https://github.com/USERNAME/helm-charts
cd helm-charts
git checkout -b gh-pages
git push origin gh-pages

Make sure that gh-pages branch of the repository is published on GitHub Pages.

2. Create a chart

Create a new repository with README.md on GitHub. Then create a chart as follows:

git clone https://github.com/USERNAME/hello-world
cd hello-world

# Create a chart
mkdir charts
cd charts
helm create example

# Push the change
git add charts
git commit -m 'Add charts'
git push origin master

Now your repository looks like:

/README.md
/charts
/charts/example
/charts/example/.helmignore
/charts/example/Chart.yaml
/charts/example/templates
/charts/example/templates/NOTES.txt
/charts/example/templates/_helpers.tpl
/charts/example/templates/deployment.yaml
/charts/example/templates/ingress.yaml
/charts/example/templates/service.yaml
/charts/example/values.yaml

3. Fork this repository

Fork this repository. You can access to the script by https://raw.githubusercontent.com/USERNAME/helm-github-pages/master/publish.sh.

4. Setup CircleCI

Create .circleci/config.yml in the repository.

version: 2
jobs:
  build:
    docker:
      - image: alpine
    steps:
      - checkout
      - run:
          name: helm-github-pages
          environment:
            - GITHUB_PAGES_REPO: USERNAME/helm-charts
          command: wget -O - https://raw.githubusercontent.com/USERNAME/helm-github-pages/master/publish.sh | sh

Push the change.

git add .circleci/
git commit -m 'Add .circleci'
git push origin master

Then open CircleCI and add the repository.

You must configure a checkout key as follows:

  1. Open settings of your repository on CircleCI.
  2. Open the Checkout SSH keys in the Permissions section.
  3. Click the Create and add user key button.

Make sure that the build is successfully finished.

5. Test the chart

Add the Helm Charts repository.

helm repo add USERNAME https://USERNAME.github.io/helm-charts
helm repo update

Make sure that your chart is available.

# Show values for the chart
helm inspect USERNAME/example

# Install the chart
helm install USERNAME/example

Configuration

You can set the following environment variables:

Name Value Default
GITHUB_PAGES_REPO URL of the repository for publishing Mandatory
GITHUB_PAGES_BRANCH Branch name for publishing gh-pages
HELM_CHARTS_SOURCE Helm Charts source directory ./charts
HELM_VERSION Helm version 2.8.1

See also .circleci/config.yml in this repository.

Contribution

This is an open source software licensed under Apache License 2.0. Feel free to open issues or pull requests.

How it works

The script assumes that it is running on the Alpine image and CircleCI docker environment.

It does the following steps:

  1. Check out the gh-pages branch of the repository for publishing.
  2. helm lint for each chart.
  3. helm package for each chart.
  4. helm repo index for all charts.
  5. If the master branch is pushed, publish the charts.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].