diff --git a/.github/ct.yaml b/.github/ct.yaml new file mode 100644 index 0000000..f09bf47 --- /dev/null +++ b/.github/ct.yaml @@ -0,0 +1,10 @@ +remote: origin +target-branch: master +chart-dirs: +- charts +excluded-charts: +chart-repos: +- bitnami=https://charts.bitnami.com/bitnami +- k8s-at-home-libraries=https://library-charts.k8s-at-home.com +- k8s-at-home=https://k8s-at-home.com/charts +- jetstack=https://charts.jetstack.io diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 2c617c0..70c5e14 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -11,10 +11,10 @@ jobs: with: fetch-depth: 0 - - name: Set up Helm + - name: Install Helm uses: azure/setup-helm@v1 with: - version: v3.4.0 + version: v3.6.3 - uses: actions/setup-python@v2 with: @@ -32,11 +32,18 @@ jobs: fi - name: Run chart-testing (lint) - run: ct lint + run: ct lint --config .github/ct.yaml - - name: Create kind cluster - uses: helm/kind-action@v1.2.0 + - name: Create k3d cluster + uses: nolar/setup-k3d-k3s@v1 + with: + version: v1.19 if: steps.list-changed.outputs.changed == 'true' + - name: Remove node taints + run: | + kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true + - name: Run chart-testing (install) - run: ct install + run: ct install --config .github/ct.yaml + if: steps.list-changed.outputs.changed == 'true' diff --git a/charts/idrac6/Chart.yaml b/charts/idrac6/Chart.yaml index 5c095d3..00c74c4 100644 --- a/charts/idrac6/Chart.yaml +++ b/charts/idrac6/Chart.yaml @@ -1,14 +1,18 @@ -apiVersion: v1 -appVersion: '0.5' +apiVersion: v2 +appVersion: "0.5.0" description: iDRAC 6 web interface and VNC proxy name: idrac6 -version: 0.0.2 +version: 1.0.0 +kubeVersion: ">=1.16.0-0" keywords: - - dell - - idrac -home: https://github.com/DomiStyle/docker-idrac6 + - idrac6 +home: https://github.com/nikdoof/helm-charts/tree/master/charts/idrac6/ sources: - - https://hub.docker.com/r/linuxserver/calibre-web/ + - https://github.com/DomiStyle/docker-idrac6 maintainers: - name: nikdoof email: andy@tensixtyone.com +dependencies: + - name: common + repository: https://library-charts.k8s-at-home.com + version: 4.2.0 diff --git a/charts/idrac6/OWNERS b/charts/idrac6/OWNERS deleted file mode 100644 index 3c780cd..0000000 --- a/charts/idrac6/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- nikdoof -reviewers: -- nikdoof \ No newline at end of file diff --git a/charts/idrac6/README.md b/charts/idrac6/README.md index 2004ca9..ed9953c 100644 --- a/charts/idrac6/README.md +++ b/charts/idrac6/README.md @@ -1,32 +1,121 @@ # idrac6 -This is a helm chart for iDRAC6 Proxy docker image. This Chart is heavily based on the format used by [billimek](https://github.com/billimek/) for his collection of media related [charts](https://github.com/billimek/billimek-charts/). +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 0.5.0](https://img.shields.io/badge/AppVersion-0.5.0-informational?style=flat-square) -## TL;DR; +iDRAC 6 web interface and VNC proxy -```shell -$ helm repo add nikdoof https://nikdoof.github.io/helm-charts/ -$ helm install --set idrac.host=192.168.1.2 --set idrac.user=root --set idrac.password=calvin idrac6 +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.k8s-at-home.com | common | 4.2.0 | + +## TL;DR + +```console +helm repo add nikdoof-helm-charts https://nikdoof.github.io/helm-charts/ +helm repo update +helm install idrac6 nikdoof-helm-charts/idrac6 ``` ## Installing the Chart -To install the chart with the release name `my-release`: +To install the chart with the release name `idrac6` ```console -helm install --name my-release idrac6 +helm install idrac6 nikdoof-helm-charts/idrac6 ``` ## Uninstalling the Chart -To uninstall/delete the `my-release` deployment: +To uninstall the `idrac6` deployment ```console -helm delete my-release --purge +helm uninstall idrac6 ``` -The command removes all the Kubernetes components associated with the chart and deletes the release. +The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. ## Configuration -Read through the [values.yaml](https://github.com/nikdoof/helm-charts/tree/master/charts/idrac6/values.yaml) file. It has several commented out suggested values. +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install idrac6 \ + --set env.IDRAC_HOST="idrac"\ + nikdoof-helm-charts/idrac6 +``` + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install idrac6 nikdoof-helm-charts/idrac6 -f values.yaml +``` + +## Custom configuration + +N/A + +## Values + +**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common) + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [idrac6 documentation](https://github.com/DomiStyle/docker-idrac6). | +| env.IDRAC_HOST | string | `nil` | iDRAC hostname to connect to | +| env.IDRAC_KEYCODE_HACK | string | `"false"` | Enable keycode hack | +| env.IDRAC_PASSWORD | string | `"calvin"` | iDRAC password to use | +| env.IDRAC_PORT | int | `443` | iDRAC HTTP port | +| env.IDRAC_USER | string | `"root"` | iDRAC Username to use | +| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | +| image.repository | string | `"domistyle/idrac6"` | image repository | +| image.tag | string | `"v0.5"` | image tag | +| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| persistence.app | object | See values.yaml | allows caching of the required JARs in persistent storage, and allows for quicker connections. | +| persistence.screenshots | object | See values.yaml | Screenshots took from the iDRAC client. | +| persistence.vmedia | object | See values.yaml | Virtual media that can be connected to the iDRAC. | +| service | object | See values.yaml | Configures service settings for the chart. | + +## Changelog + +All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog). + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +### [1.0.0] + +#### Added + +- N/A + +#### Changed + +- Switched to the [k8s-at-home](https://docs.k8s-at-home.com/) common chart as a base. + +#### Removed + +- N/A + +[1.0.0]: #100 + +## Support + +- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/idrac6/README.md.gotmpl b/charts/idrac6/README.md.gotmpl new file mode 100644 index 0000000..c9bafcd --- /dev/null +++ b/charts/idrac6/README.md.gotmpl @@ -0,0 +1,143 @@ +{{- define "custom.repository.organization" -}} +nikdoof-helm-charts +{{- end -}} + +{{- define "custom.repository.url" -}} +https://github.com/nikdoof/helm-charts +{{- end -}} + +{{- define "custom.helm.url" -}} +https://nikdoof.github.io/helm-charts/ +{{- end -}} + +{{- define "custom.helm.path" -}} +{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }} +{{- end -}} + +{{- define "custom.notes" -}} +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** +{{- end -}} + +{{- define "custom.requirements" -}} +## Requirements + +{{ template "chart.kubeVersionLine" . }} +{{- end -}} + +{{- define "custom.dependencies" -}} +## Dependencies + +{{ template "chart.requirementsTable" . }} +{{- end -}} + +{{- define "custom.install.tldr" -}} +## TL;DR + +```console +helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }} +helm repo update +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.install" -}} +## Installing the Chart + +To install the chart with the release name `{{ template "chart.name" . }}` + +```console +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.uninstall" -}} +## Uninstalling the Chart + +To uninstall the `{{ template "chart.name" . }}` deployment + +```console +helm uninstall {{ template "chart.name" . }} +``` + +The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. +{{- end -}} + +{{- define "custom.configuration.header" -}} +## Configuration +{{- end -}} + +{{- define "custom.configuration.readValues" -}} +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). +{{- end -}} + +{{- define "custom.configuration.example.set" -}} +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install {{ template "chart.name" . }} \ + --set env.IDRAC_HOST="idrac"\ + {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.configuration.example.file" -}} +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml +``` +{{- end -}} + +{{- define "custom.valuesSection" -}} +## Values + +**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common) + +{{ template "chart.valuesTable" . }} +{{- end -}} + +{{- define "custom.support" -}} +## Support + +- Open an [issue](https://github.com/nikdoof/helm-charts/issues/new/choose) +{{- end -}} + +{{ template "chart.header" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +{{ template "chart.description" . }} + +{{ template "custom.notes" . }} + +{{ template "chart.sourcesSection" . }} + +{{ template "custom.requirements" . }} + +{{ template "custom.dependencies" . }} + +{{ template "custom.install.tldr" . }} + +{{ template "custom.install" . }} + +{{ template "custom.uninstall" . }} + +{{ template "custom.configuration.header" . }} + +{{ template "custom.configuration.readValues" . }} + +{{ template "custom.configuration.example.set" . }} + +{{ template "custom.configuration.example.file" . }} + +{{ template "custom.custom.configuration" . }} + +{{ template "custom.valuesSection" . }} + +{{ template "custom.changelog" . }} + +{{ template "custom.support" . }} + +{{ template "helm-docs.versionFooter" . }} +{{ "" }} diff --git a/charts/idrac6/README_CHANGELOG.md.gotmpl b/charts/idrac6/README_CHANGELOG.md.gotmpl new file mode 100644 index 0000000..3561681 --- /dev/null +++ b/charts/idrac6/README_CHANGELOG.md.gotmpl @@ -0,0 +1,27 @@ +{{- define "custom.changelog.header" -}} +## Changelog +{{- end -}} + +{{- define "custom.changelog" -}} +{{ template "custom.changelog.header" . }} + +All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog). + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +### [1.0.0] + +#### Added + +- N/A + +#### Changed + +- Switched to the [k8s-at-home](https://docs.k8s-at-home.com/) common chart as a base. + +#### Removed + +- N/A + +[1.0.0]: #100 +{{- end -}} diff --git a/charts/idrac6/README_CONFIG.md.gotmpl b/charts/idrac6/README_CONFIG.md.gotmpl new file mode 100644 index 0000000..e93d80b --- /dev/null +++ b/charts/idrac6/README_CONFIG.md.gotmpl @@ -0,0 +1,9 @@ +{{- define "custom.custom.configuration.header" -}} +## Custom configuration +{{- end -}} + +{{- define "custom.custom.configuration" -}} +{{ template "custom.custom.configuration.header" . }} + +N/A +{{- end -}} diff --git a/charts/idrac6/ci/test-values.yaml b/charts/idrac6/ci/test-values.yaml index f66d532..aece816 100644 --- a/charts/idrac6/ci/test-values.yaml +++ b/charts/idrac6/ci/test-values.yaml @@ -1,5 +1,3 @@ --- -idrac: - host: test - username: root - password: calvin +env: + IDRAC_HOST: test diff --git a/charts/idrac6/templates/NOTES.txt b/charts/idrac6/templates/NOTES.txt new file mode 100644 index 0000000..90f7b65 --- /dev/null +++ b/charts/idrac6/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/idrac6/templates/_helpers.tpl b/charts/idrac6/templates/_helpers.tpl deleted file mode 100644 index 5deb4e8..0000000 --- a/charts/idrac6/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "idrac6.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "idrac6.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "idrac6.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/idrac6/templates/app-pvc.yaml b/charts/idrac6/templates/app-pvc.yaml deleted file mode 100644 index 19235f2..0000000 --- a/charts/idrac6/templates/app-pvc.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if and .Values.persistence.app.enabled (not .Values.persistence.app.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "idrac6.fullname" . }}-app - {{- if .Values.persistence.app.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.app.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.app.size | quote }} -{{- if .Values.persistence.app.storageClass }} -{{- if (eq "-" .Values.persistence.app.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.app.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} diff --git a/charts/idrac6/templates/common.yaml b/charts/idrac6/templates/common.yaml new file mode 100644 index 0000000..a6613c2 --- /dev/null +++ b/charts/idrac6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/idrac6/templates/deployment.yaml b/charts/idrac6/templates/deployment.yaml deleted file mode 100644 index 903eda3..0000000 --- a/charts/idrac6/templates/deployment.yaml +++ /dev/null @@ -1,144 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "idrac6.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - replicas: 1 - revisionHistoryLimit: 3 - strategy: - type: {{ .Values.strategyType }} - selector: - matchLabels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - {{- if .Values.podAnnotations }} - annotations: - {{- range $key, $value := .Values.podAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - spec: - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: 5800 - protocol: TCP - livenessProbe: - tcpSocket: - port: http - initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }} - failureThreshold: {{ .Values.probes.liveness.failureThreshold }} - timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }} - readinessProbe: - tcpSocket: - port: http - initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }} - failureThreshold: {{ .Values.probes.readiness.failureThreshold }} - timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }} - env: - - name: TZ - value: "{{ .Values.timezone }}" - - name: USER_ID - value: "{{ .Values.puid }}" - - name: GROUP_ID - value: "{{ .Values.pgid }}" - - name: IDRAC_HOST - valueFrom: - secretKeyRef: - name: {{ .Values.existingSecretName | default (printf "%s-secret" (include "idrac6.fullname" .)) }} - key: idrac.host - - name: IDRAC_USER - valueFrom: - secretKeyRef: - name: {{ .Values.existingSecretName | default (printf "%s-secret" (include "idrac6.fullname" .)) }} - key: idrac.username - - name: IDRAC_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.existingSecretName | default (printf "%s-secret" (include "idrac6.fullname" .)) }} - key: idrac.password - - name: IDRAC_PORT - value: "{{ .Values.idrac.port }}" - - name: IDRAC_KEYCODE_HACK - value: "{{ .Values.idrac.keycode_hack }}" - volumeMounts: - - mountPath: /app - name: app - {{- if .Values.persistence.app.subPath }} - subPath: "{{ .Values.persistence.config.subPath }}" - {{- end }} - - mountPath: /vmedia - name: vmedia - {{- if .Values.persistence.vmedia.subPath }} - subPath: {{ .Values.persistence.vmedia.subPath }} - {{- end }} - - mountPath: /screenshots - name: screenshots - {{- if .Values.persistence.screenshots.subPath }} - subPath: {{ .Values.persistence.screenshots.subPath }} - {{- end }} - {{- range .Values.persistence.extraExistingClaimMounts }} - - name: {{ .name }} - mountPath: {{ .mountPath }} - readOnly: {{ .readOnly }} - {{- end }} - resources: -{{ toYaml .Values.resources | indent 12 }} - volumes: - - name: app - {{- if .Values.persistence.app.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.app.existingClaim }}{{ .Values.persistence.app.existingClaim }}{{- else }}{{ template "idrac6.fullname" . }}-app{{- end }} - {{- else }} - emptyDir: {} - {{ end }} - - name: vmedia - {{- if .Values.persistence.vmedia.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.vmedia.existingClaim }}{{ .Values.persistence.vmedia.existingClaim }}{{- else }}{{ template "idrac6.fullname" . }}-vmedia{{- end }} - {{- else }} - emptyDir: {} - {{- end }} - - name: screenshots - {{- if .Values.persistence.screenshots.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.screenshots.existingClaim }}{{ .Values.persistence.screenshots.existingClaim }}{{- else }}{{ template "idrac6.fullname" . }}-screenshots{{- end }} - {{- else }} - emptyDir: {} - {{- end }} - {{- range .Values.persistence.extraExistingClaimMounts }} - - name: {{ .name }} - persistentVolumeClaim: - claimName: {{ .existingClaim }} - {{- end }} - {{- with .Values.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} diff --git a/charts/idrac6/templates/ingress.yaml b/charts/idrac6/templates/ingress.yaml deleted file mode 100644 index 28cf5a1..0000000 --- a/charts/idrac6/templates/ingress.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "idrac6.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} -{{- end }} -spec: -{{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} -{{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ . | quote }} - http: - paths: - - path: {{ $ingressPath }} - backend: - serviceName: {{ $fullName }} - servicePort: http - {{- end }} -{{- end }} diff --git a/charts/idrac6/templates/screenshots-pvc.yaml b/charts/idrac6/templates/screenshots-pvc.yaml deleted file mode 100644 index dae5037..0000000 --- a/charts/idrac6/templates/screenshots-pvc.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if and .Values.persistence.screenshots.enabled (not .Values.persistence.screenshots.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "idrac6.fullname" . }}-app - {{- if .Values.persistence.screenshots.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.screenshots.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.screenshots.size | quote }} -{{- if .Values.persistence.screenshots.storageClass }} -{{- if (eq "-" .Values.persistence.screenshots.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.screenshots.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} diff --git a/charts/idrac6/templates/secrets.yaml b/charts/idrac6/templates/secrets.yaml deleted file mode 100644 index 28d16d4..0000000 --- a/charts/idrac6/templates/secrets.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -{{- if not (.Values.existingSecretName) }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "idrac6.fullname" . }}-secret - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ include "idrac6.name" . }} -type: Opaque -data: - idrac.host: {{ .Values.idrac.host | b64enc }} - idrac.username: {{ .Values.idrac.username | b64enc }} - idrac.password: {{ .Values.idrac.password | b64enc }} -{{- end }} diff --git a/charts/idrac6/templates/service.yaml b/charts/idrac6/templates/service.yaml deleted file mode 100644 index c38c7e0..0000000 --- a/charts/idrac6/templates/service.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "idrac6.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- if .Values.service.labels }} -{{ toYaml .Values.service.labels | indent 4 }} -{{- end }} -{{- with .Values.service.annotations }} - annotations: -{{ toYaml . | indent 4 }} -{{- end }} -spec: -{{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }} - type: ClusterIP - {{- if .Values.service.clusterIP }} - clusterIP: {{ .Values.service.clusterIP }} - {{end}} -{{- else if eq .Values.service.type "LoadBalancer" }} - type: {{ .Values.service.type }} - {{- if .Values.service.loadBalancerIP }} - loadBalancerIP: {{ .Values.service.loadBalancerIP }} - {{- end }} - {{- if .Values.service.loadBalancerSourceRanges }} - loadBalancerSourceRanges: -{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }} - {{- end -}} -{{- else }} - type: {{ .Values.service.type }} -{{- end }} -{{- if .Values.service.externalIPs }} - externalIPs: -{{ toYaml .Values.service.externalIPs | indent 4 }} -{{- end }} - {{- if .Values.service.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} - {{- end }} - ports: - - name: http - port: {{ .Values.service.port }} - protocol: TCP - targetPort: http -{{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} - nodePort: {{.Values.service.nodePort}} -{{ end }} - selector: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/charts/idrac6/templates/vmedia-pvc.yaml b/charts/idrac6/templates/vmedia-pvc.yaml deleted file mode 100644 index b81224b..0000000 --- a/charts/idrac6/templates/vmedia-pvc.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if and .Values.persistence.vmedia.enabled (not .Values.persistence.vmedia.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "idrac6.fullname" . }}-app - {{- if .Values.persistence.vmedia.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "idrac6.name" . }} - helm.sh/chart: {{ include "idrac6.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.vmedia.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.vmedia.size | quote }} -{{- if .Values.persistence.vmedia.storageClass }} -{{- if (eq "-" .Values.persistence.vmedia.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.vmedia.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} diff --git a/charts/idrac6/values.yaml b/charts/idrac6/values.yaml index 8ce2ca1..ab2335a 100644 --- a/charts/idrac6/values.yaml +++ b/charts/idrac6/values.yaml @@ -1,171 +1,63 @@ -# Default values for calibre-web. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# image: + # -- image repository repository: domistyle/idrac6 + # -- image tag tag: v0.5 + # -- image pull policy pullPolicy: IfNotPresent -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1000 -pgid: 1000 - -# Existing secret, overrides idrac values -# existingSecret: test - -# iDRAC connection details -idrac: - host: - username: root - password: calvin - port: 443 - keycode_hack: false +# -- environment variables. See more environment variables in the [idrac6 documentation](https://github.com/DomiStyle/docker-idrac6). +# @default -- See below +env: + # -- iDRAC hostname to connect to + IDRAC_HOST: + # -- iDRAC Username to use + IDRAC_USER: root + # -- iDRAC password to use + IDRAC_PASSWORD: calvin + # -- iDRAC HTTP port + IDRAC_PORT: 443 + # -- Enable keycode hack + IDRAC_KEYCODE_HACK: 'false' +# -- Configures service settings for the chart. +# @default -- See values.yaml service: - type: ClusterIP - port: 5800 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster + main: + ports: + http: + port: 5800 + vnc: + port: 5900 ingress: - enabled: false - annotations: - {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml persistence: + # -- allows caching of the required JARs in persistent storage, and allows for quicker connections. + # @default -- See values.yaml app: enabled: false - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - ## If subPath is set mount a sub folder of a volume instead of the root of the volume. - ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). - ## - subPath: "" - ## Do not delete the pvc upon helm uninstall - skipuninstall: false + mountPath: /app + # -- Virtual media that can be connected to the iDRAC. + # @default -- See values.yaml vmedia: enabled: false - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - ## If subPath is set mount a sub folder of a volume instead of the root of the volume. - ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). - ## - subPath: "" - ## Do not delete the pvc upon helm uninstall - skipuninstall: false + mountPath: /vmedia + # -- Screenshots took from the iDRAC client. + # @default -- See values.yaml screenshots: enabled: false - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - ## If subPath is set mount a sub folder of a volume instead of the root of the volume. - ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). - ## - subPath: "" - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - extraExistingClaimMounts: - [] - # - name: external-mount - # mountPath: /srv/external-mount - ## A manually managed Persistent Volume and Claim - ## If defined, PVC must be created manually before volume will be bound - # existingClaim: - # readOnly: true - -resources: - {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} + mountPath: /screenshots diff --git a/ct.yaml b/ct.yaml deleted file mode 100644 index 68e4572..0000000 --- a/ct.yaml +++ /dev/null @@ -1,2 +0,0 @@ -chart-dirs: - - charts