diff --git a/.project b/.project new file mode 100644 index 0000000..54e8c15 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + helm-charts + + + + + + + + diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c741881 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-slate \ No newline at end of file diff --git a/charts/busybox-httpd/Chart.yaml b/charts/busybox-httpd/Chart.yaml new file mode 100644 index 0000000..42e55d4 --- /dev/null +++ b/charts/busybox-httpd/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +appVersion: 0.1.0 +description: A helm chart for busybox-httpd +name: busybox-httpd +type: application +version: 0.1.0 diff --git a/charts/busybox-httpd/templates/deployment.yaml b/charts/busybox-httpd/templates/deployment.yaml new file mode 100644 index 0000000..9918e43 --- /dev/null +++ b/charts/busybox-httpd/templates/deployment.yaml @@ -0,0 +1,30 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: '{{ .Release.Name }}-webserver' + labels: + meta.helm.sh/component: webserver + meta.helm.sh/project: '{{ .Chart.Name }}' + meta.helm.sh/release: '{{ .Release.Name }}' + meta.helm.sh/resource: deployment +spec: + replicas: 1 + selector: + matchLabels: + meta.helm.sh/component: webserver + meta.helm.sh/release: '{{ .Release.Name }}' + meta.helm.sh/resource: deployment + template: + metadata: + labels: + meta.helm.sh/component: webserver + meta.helm.sh/release: '{{ .Release.Name }}' + meta.helm.sh/resource: deployment + spec: + containers: + - name: webserver + image: '{{ .Values.repository.image }}{{ if ne .Values.repository.tag "" }}:{{ .Values.repository.tag }}{{ end }}' + ports: + - name: '{{ .Release.Name }}-webserver' + containerPort: 3000 + diff --git a/charts/busybox-httpd/templates/ingress.yaml b/charts/busybox-httpd/templates/ingress.yaml new file mode 100644 index 0000000..4f89e6d --- /dev/null +++ b/charts/busybox-httpd/templates/ingress.yaml @@ -0,0 +1,42 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "busybox-httpd.fullname" . -}} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: +{{ include "busybox-httpd.labels" . | indent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} +{{- if .Values.ingress.ingressClassName }} + ingressClassName: {{ .Values.ingress.ingressClassName | quote }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ . }} + pathType: Prefix + backend: + service: + name: {{ .Release.Name }}-webserver + port: + name: {{ .Release.Name }}-webserver-3000 + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/busybox-httpd/templates/service.yaml b/charts/busybox-httpd/templates/service.yaml new file mode 100644 index 0000000..64a7bc1 --- /dev/null +++ b/charts/busybox-httpd/templates/service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: '{{ .Release.Name }}-webserver' + labels: + meta.helm.sh/component: webserver + meta.helm.sh/project: '{{ .Chart.Name }}' + meta.helm.sh/release: '{{ .Release.Name }}' +spec: + selector: + meta.helm.sh/component: webserver + meta.helm.sh/release: '{{ .Release.Name }}' + ports: + - protocol: TCP + port: 3000 + targetPort: 3000 + name: {{ .Release.Name }}-webserver-3000 diff --git a/charts/busybox-httpd/values.yaml b/charts/busybox-httpd/values.yaml new file mode 100644 index 0000000..dd6cfd9 --- /dev/null +++ b/charts/busybox-httpd/values.yaml @@ -0,0 +1,5 @@ +repository: + image: sysopsro/busybox-httpd + tag: "" + +ingress: \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..45c1505 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +_site +.sass-cache +.jekyll-metadata diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..dc14a1a --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,28 @@ +source "https://rubygems.org" +ruby RUBY_VERSION + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", ">= 3.6.3" +gem "ffi", ">= 1.9.24" +gem "nokogiri", ">= 1.8.2" + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.0" +gem "github-pages", group: :jekyll_plugins + + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" +end diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 0000000..3ba8762 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,256 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.10) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.0.5) + dnsruby (1.61.2) + addressable (~> 2.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.11.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.7.0) + faraday (0.15.3) + multipart-post (>= 1.2, < 3) + ffi (1.9.25) + forwardable-extended (2.6.0) + gemoji (3.0.0) + github-pages (192) + activesupport (= 4.2.10) + github-pages-health-check (= 1.8.1) + jekyll (= 3.7.4) + jekyll-avatar (= 0.6.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.5) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.10.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.9.4) + jekyll-mentions (= 1.4.1) + jekyll-optional-front-matter (= 0.3.0) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.2.0) + jekyll-redirect-from (= 0.14.0) + jekyll-relative-links (= 0.5.3) + jekyll-remote-theme (= 0.3.1) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.5.0) + jekyll-sitemap (= 1.2.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.1) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.3) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.1) + jemoji (= 0.10.1) + kramdown (= 1.17.0) + liquid (= 4.0.0) + listen (= 3.1.5) + mercenary (~> 0.3) + minima (= 2.5.0) + nokogiri (>= 1.8.2, < 2.0) + rouge (= 2.2.1) + terminal-table (~> 1.4) + github-pages-health-check (1.8.1) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (~> 2.0) + typhoeus (~> 1.3) + html-pipeline (2.8.4) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.7.4) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.6.0) + jekyll (~> 3.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.2.0) + commonmarker (~> 0.14) + jekyll (>= 3.0, < 4.0) + jekyll-commonmark-ghpages (0.1.5) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1) + rouge (~> 2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.10.0) + jekyll (~> 3.3) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.9.4) + jekyll (~> 3.1) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.4.1) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.3.0) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.2.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.14.0) + jekyll (~> 3.3) + jekyll-relative-links (0.5.3) + jekyll (~> 3.3) + jekyll-remote-theme (0.3.1) + jekyll (~> 3.5) + rubyzip (>= 1.2.1, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.5.0) + jekyll (~> 3.3) + jekyll-sitemap (1.2.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.3) + jekyll (~> 3.5) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.1) + jekyll (~> 3.3) + jekyll-watch (2.1.2) + listen (~> 3.0) + jemoji (0.10.1) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (~> 3.0) + kramdown (1.17.0) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + mercenary (0.3.6) + mini_portile2 (2.3.0) + minima (2.5.0) + jekyll (~> 3.5) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.11.3) + multipart-post (2.0.0) + nokogiri (1.8.5) + mini_portile2 (~> 2.3.0) + octokit (4.13.0) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.1) + forwardable-extended (~> 2.6) + public_suffix (2.0.5) + rb-fsevent (0.10.3) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rouge (2.2.1) + ruby-enum (0.7.2) + i18n + ruby_dep (1.5.0) + rubyzip (1.2.2) + safe_yaml (1.0.4) + sass (3.6.0) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.3.0) + ethon (>= 0.9.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + unicode-display_width (1.4.0) + +PLATFORMS + ruby + +DEPENDENCIES + ffi (>= 1.9.24) + github-pages + jekyll (>= 3.6.3) + jekyll-feed (~> 0.6) + minima (~> 2.0) + nokogiri (>= 1.8.2) + +RUBY VERSION + ruby 2.5.3p105 + +BUNDLED WITH + 1.16.6 diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..b53ce52 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,36 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: John's Helm Repo +email: john.felten@gmail.com +description: > # this means to ignore newlines until "baseurl:" + This is the helm repository for projects I am working on +baseurl: "" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: jfelten +github_username: jfelten + +# Build settings +markdown: kramdown +theme: minima +gems: + - jekyll-feed +exclude: + - Gemfile + - Gemfile.lock +collections: +- charts + +future: true diff --git a/docs/_data/index.yaml b/docs/_data/index.yaml new file mode 100644 index 0000000..e86c7cd --- /dev/null +++ b/docs/_data/index.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +entries: + busybox-httpd: + - apiVersion: v2 + appVersion: 0.1.0 + created: "2024-04-18T12:50:02.555606+03:00" + description: A helm chart for busybox-httpd + digest: 64431871cf938210736ea73893d31734bf7e9622e65971f01ebb950fe8b31bdc + name: busybox-httpd + type: application + urls: + - https://sysopsro.github.io/helm-charts/charts/busybox-httpd-0.1.0.tgz + version: 0.1.0 +generated: "2024-04-18T12:50:02.555046+03:00" diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html new file mode 100644 index 0000000..b23155b --- /dev/null +++ b/docs/_layouts/home.html @@ -0,0 +1,55 @@ + + + + + + + + + + + {{ site.title | default: site.github.repository_name }} by {{ site.github.owner_name }} + + + +
+
+ +
+

{{ site.title | default: site.github.repository_name }}

+
+ +
+ View on GitHub +
+ +
+ +
+ {{ content }} +
+ + + +
+
+ + {% if site.google_analytics %} + + {% endif %} + + \ No newline at end of file diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 0000000..b1c9fc8 --- /dev/null +++ b/docs/about.md @@ -0,0 +1,15 @@ +--- +layout: home +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) + +You can find the source code for the Jekyll new theme at: + +[minima](https://github.com/jekyll/minima) + +You can find the source code for Jekyll at + +[jekyll](https://github.com/jekyll/jekyll) diff --git a/docs/assets/icon.png b/docs/assets/icon.png new file mode 100644 index 0000000..2e62beb Binary files /dev/null and b/docs/assets/icon.png differ diff --git a/docs/charts/busybox-httpd-0.1.0.tgz b/docs/charts/busybox-httpd-0.1.0.tgz new file mode 100644 index 0000000..f28d2cd Binary files /dev/null and b/docs/charts/busybox-httpd-0.1.0.tgz differ diff --git a/docs/charts/index.yaml b/docs/charts/index.yaml new file mode 100644 index 0000000..e86c7cd --- /dev/null +++ b/docs/charts/index.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +entries: + busybox-httpd: + - apiVersion: v2 + appVersion: 0.1.0 + created: "2024-04-18T12:50:02.555606+03:00" + description: A helm chart for busybox-httpd + digest: 64431871cf938210736ea73893d31734bf7e9622e65971f01ebb950fe8b31bdc + name: busybox-httpd + type: application + urls: + - https://sysopsro.github.io/helm-charts/charts/busybox-httpd-0.1.0.tgz + version: 0.1.0 +generated: "2024-04-18T12:50:02.555046+03:00" diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..c6f0c2f --- /dev/null +++ b/docs/index.md @@ -0,0 +1,27 @@ +--- +# You don't need to edit this file, it's empty on purpose. +# Edit theme's home layout instead if you wanna make some changes +# See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: home +--- + +# [](#header-1)Quick Start + +```bash +helm repo add jfelten https://jfelten.github.io/helm-charts/charts +helm install jfelten/ +``` +## [](#header-2)Available Charts + +> +{% for chart in site.data.index.entries %} +

{{ chart[0] }}( + {% for properties in chart %} + {{ properties[0].version }} + {% endfor %} + )

+{% endfor %} + + +--- diff --git a/scripts/rebuild_repo.sh b/scripts/rebuild_repo.sh new file mode 100755 index 0000000..ae4af05 --- /dev/null +++ b/scripts/rebuild_repo.sh @@ -0,0 +1,20 @@ +#!/bin/zsh + +CHARTS_DIR=../docs/charts + +mkdir -p ${CHARTS_DIR} +cd ${CHARTS_DIR} +rm -rf index.yaml +rm -rf *.tgz + +for chart in ../../charts/*/ ; do + echo "Packaging $chart" + helm package $chart +done + +helm repo index ./ --url https://sysopsro.github.io/helm-charts/charts/ + +DATA_DIR=../_data +mkdir -p ${DATA_DIR} +cp index.yaml ${DATA_DIR} +