diff --git a/charts/ix-chart/2012.0.0/.helmignore b/charts/ix-chart/2012.0.0/.helmignore deleted file mode 100644 index 0e8a0eb36f4..00000000000 --- a/charts/ix-chart/2012.0.0/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/ix-chart/2012.0.0/Chart.yaml b/charts/ix-chart/2012.0.0/Chart.yaml deleted file mode 100644 index 74f67019b7f..00000000000 --- a/charts/ix-chart/2012.0.0/Chart.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v2 -name: ix-chart -description: A Helm chart for deploying simple workloads Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -type: application - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2012.0.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -appVersion: v1 diff --git a/charts/ix-chart/2012.0.0/README.md b/charts/ix-chart/2012.0.0/README.md deleted file mode 100644 index e9cdf2092e2..00000000000 --- a/charts/ix-chart/2012.0.0/README.md +++ /dev/null @@ -1,118 +0,0 @@ -# iX Chart - -iX-chart is a chart designed to let user deploy a docker image in a TrueNAS SCALE kubernetes cluster. -It provides a mechanism to specify workload type, add external host interfaces in the pods, configure volumes and allocate host resources to the workload. - -This chart will deploy a docker image as a kubernetes workload allowing user to configure the workload deployment / management. - -## Introduction - -iX-chart is designed for simple single docker image deployments. - -## Configuration - -The following table lists the configurable parameters of the iX chart and -their default values. - -| Parameter | Description | Default | -|:-------------------------------|:----------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------| -| `workloadType` | Specify type of workload to deploy | `Deployment` | -| `cronSchedule` | Specify schedule for cronjob if `workloadType` is `CronJob`. | `{"minute": "5", "hour": "*", "dom": "*", "month": "*", "dow": "*"}` | -| `image.repository` | The image repository to pull from | `debian` | -| `image.tag` | The image tag to pull from | `latest` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `updateStrategy` | Upgrade Policy | `RollingUpdate` | -| `restartPolicy` | Restart Policy for containers in workload | `Always` | -| `jobRestartPolicy` | Restart Policy for job type workload ( only applicable if `workloadType` is `Job`/`CronJob` | `OnFailure` | -| `containerCommand` | Commands to execute inside container overriding image CMD default | `null` | -| `containerArgs` | Specify arguments for container command | `null` | -| `containerEnvironmentVariables`| Container Environment Variables | `null` | -| `externalInterfaces` | Add external interfaces in the pod | `null` | -| `dnsPolicy` | Specify DNS Policy for pod | `Default` | -| `dnsConfig` | Specify custom DNS configuration which will be applied to the pod | `{"nameservers": [], "searches": []}` | -| `hostNetwork` | Use host network for workload ( similar to docker host networking ) | `false` | -| `hostPortsList` | Specify ports of host and workload to forward traffic from host port to workload port. | `null` | -| `portForwardingList` | Specify ports of node and workload to forward traffic from node port to workload port | `null` | -| `hostPathVolumes` | Specify host paths to be used as hostpath volumes for the workload | `null` | -| `volumes` | Specify `ix_volumes` | `null` | -| `livenessProbe` | Configure Liveness Probe for workload | `null` | -| `gpuConfiguration` | Allocate GPU to workload ( if available ) | `{}` | - - -## Persistence - -Chart release iX chart offers 2 ways to have persistent storage: - -1) `hostPathVolumes` -2) `volumes` - -For (1), they are kubernetes host path volumes which the user can assign to the workload with RO/RW permissions. - -(2) is a host path volume as well but it operates differently then (1) in terms of where it lives and how it's lifecycle is tied to the chart release. -For (2), users specify where they would like persistent storage in the workload and a dataset name ( it should be unique per each chart release ), based on this input, -system will create a dataset and then use it as a host path volume for the workload. During upgrades, snapshot will be taken for these volumes and on rollback users can subsequently -restore the snapshots hence the data. -When a chart release will be deleted, all (2) volumes data will be deleted unlike (1) ( until of course they are not in the chart release's dataset path ). - -## Recommended Persistence Configuration Examples - -The following is a recommended configuration example for creating ix volumes - -``` -"volumes": [ - { - "datasetName": "ix_volume1", - "mountPath": "/mount_test1" - }, - { - "datasetName": "ix_volume2", - "mountPath": "/mount_test2" - } -] - -``` - -`mountPath` refers to the path inside the pod. - ---- - -The following is a recommended configuration example for `hostPathVolumes` - -``` -"hostPathVolumes": [ - { - "hostPath": "/mnt/pool/test_dir", - "mountPath": "/test_dir", - "readOnly": true - }, - { - "hostPath": "/mnt/pool/test_file", - "mountPath": "/test_file", - "readOnly": true - } -] -``` - -## External Interfaces Configuration Examples - -``` -"externalInterfaces": [ - { - "hostInterface": "ens3", - "ipam": {"type": "dhcp"} - }, - { - "hostInterface": "br0", - "ipam": { - "type": "static", - "staticIPConfigurations": ["192.168.0.120/24"], - "staticRoutes": [ - {"destination": "0.0.0.0/0", "gateway": "192.168.0.1"} - ] - } - } -] -``` - -The first entry in the above configuration example will add an external interface in the pod using macvlan with `ipam` being set to `dhcp`. -Second entry will add an external interface in the pod using `bridge` and using static IP configuration for the external interface. diff --git a/charts/ix-chart/2012.0.0/app-readme.md b/charts/ix-chart/2012.0.0/app-readme.md deleted file mode 100644 index ab8d09d1e61..00000000000 --- a/charts/ix-chart/2012.0.0/app-readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# iX-Chart - -iX-chart is a chart designed to let user deploy a docker image in a TrueNAS SCALE kubernetes cluster. -It provides a mechanism to specify workload type, add external host interfaces in the pods, configure volumes and allocate host resources to the workload. diff --git a/charts/ix-chart/2012.0.0/questions.yaml b/charts/ix-chart/2012.0.0/questions.yaml deleted file mode 100644 index 15a5dc2a56a..00000000000 --- a/charts/ix-chart/2012.0.0/questions.yaml +++ /dev/null @@ -1,463 +0,0 @@ -groups: - - name: "Container Images" - description: "Image to be used for container" - - name: "Container Entrypoint" - description: "Configuration of the executable that will be run when the container is started" - - name: "Container Environment Variables" - description: "Set the environment that will be visible to the container" - - name: "Networking" - description: "Configure networking for container" - - name: "Storage" - description: "Persist and share data that is separate from the lifecycle of the container" - - name: "Health Check" - description: "Define mechanism to periodically probe the container to ensure it's functioning as desired" - - name: "Workload Details" - description: "Configure how workload should be deployed" - - name: "Scaling/Upgrade Policy" - description: "Configure how pods are replaced when configuration is upgraded" - - name: "Restart Policy" - description: "Configure when pod should be restarted in case of failure" - - name: "Resource Reservation" - description: "Specify resources to be allocated to workload" - -questions: - # Workload type - - variable: workloadType - description: "Please specify type of workload to deploy" - label: "Workload Type" - group: "Workload Details" - schema: - type: string - default: "Deployment" - required: true - enum: - - value: "Deployment" - description: "Deploy a Deployment workload" - - value: "Job" - description: "Deploy job workload" - - value: "CronJob" - description: "Deploy cronjob workload" - - # Cronjob schedule - - variable: cronSchedule - label: "Cron Schedule" - group: "Workload Details" - schema: - type: cron - show_if: [["workloadType", "=", "CronJob"]] - default: - minute: "5" - - # Image related - - variable: image - description: "Docker Image Details" - label: "Docker Image" - group: "Container Images" - schema: - type: dict - required: true - attrs: - - variable: repository - description: "Docker image repository" - label: "Image repository" - schema: - type: string - required: true - - variable: tag - description: "Tag to use for specified image" - label: "Image Tag" - schema: - type: string - default: "latest" - - variable: pullPolicy - description: "Docker Image Pull Policy" - label: "Image Pull Policy" - schema: - type: string - default: "IfNotPresent" - enum: - - value: "IfNotPresent" - description: "Only pull image if not present on host" - - value: "Always" - description: "Always pull image even if present on host" - - value: "Never" - description: "Never pull image even if it's not present on host" - - # Update strategy - - variable: updateStrategy - description: "Upgrade Policy" - label: "Update Strategy" - group: "Scaling/Upgrade Policy" - schema: - type: string - show_if: [["workloadType", "=", "Deployment"]] - default: "RollingUpdate" - enum: - - value: "RollingUpdate" - description: "Create new pods and then kill old ones" - - value: "Recreate" - description: "Kill existing pods before creating new ones" - - # Restart Policy - - variable: restartPolicy - description: "Restart Policy for workload" - label: "Restart Policy" - group: "Restart Policy" - schema: - type: string - show_if: [["workloadType", "=", "Deployment"]] - default: "Always" - enum: - - value: "Always" - description: "Always restart containers in a pod if they exit" - - value: "OnFailure" - description: "Only restart containers if they exit with a failure" - - value: "Never" - description: "Never restart containers if they exit" - - variable: jobRestartPolicy - description: "Restart Policy for workload" - label: "Restart Policy" - group: "Restart Policy" - schema: - type: string - default: "OnFailure" - show_if: [["workloadType", "!=", "Deployment"]] - enum: - - value: "OnFailure" - description: "Only restart job if it fails" - - value: "Never" - description: "Never restart job even if it fails" - - # Configurable CMD / Entrypoint / Environment Variables - - variable: containerCommand - description: "Commands to execute inside container overriding image CMD default" - label: "Container CMD" - group: "Container Entrypoint" - schema: - type: list - items: - - variable: command - description: "Container Command" - label: "Command" - schema: - type: string - - variable: containerArgs - description: "Specify arguments for container command" - label: "Container Args" - group: "Container Entrypoint" - schema: - type: list - items: - - variable: arg - description: "Container Arg" - label: "Arg" - schema: - type: string - - variable: containerEnvironmentVariables - description: "Container Environment Variables" - label: "Container Environment Variables" - group: "Container Environment Variables" - schema: - type: list - items: - - variable: environmentVariable - description: "Container Environment Variable" - label: "Container Environment Variable" - schema: - type: dict - attrs: - - variable: name - description: "Environment Variable Name" - label: "Environment Variable Name" - schema: - type: string - required: true - - variable: value - description: "Environment Variable Value" - label: "Environment Variable Value" - schema: - type: string - required: true - - # Networking options - - variable: externalInterfaces - description: "Add External Interfaces" - label: "Add external Interfaces" - group: "Networking" - schema: - type: list - items: - - variable: interfaceConfiguration - description: "Interface Configuration" - label: "Interface Configuration" - schema: - type: dict - $ref: - - "normalize/interfaceConfiguration" - attrs: - - variable: hostInterface - description: "Please specify host interface" - label: "Host Interface" - schema: - type: string - required: true - $ref: - - "definitions/interface" - - variable: ipam - description: "Define how IP Address will be managed" - label: "IP Address Management" - schema: - type: dict - required: true - attrs: - - variable: type - description: "Specify type for IPAM" - label: "IPAM Type" - schema: - type: string - required: true - enum: - - value: "dhcp" - description: "Use DHCP" - - value: "static" - description: "Use static IP" - show_subquestions_if: "static" - subquestions: - - variable: staticIPConfigurations - label: "Static IP Addresses" - schema: - type: list - items: - - variable: staticIP - label: "Static IP" - schema: - type: ipaddr - cidr: true - - variable: staticRoutes - label: "Static Routes" - schema: - type: list - items: - - variable: staticRouteConfiguration - label: "Static Route Configuration" - schema: - type: dict - attrs: - - variable: destination - label: "Destination" - schema: - type: ipaddr - cidr: true - required: true - - variable: gateway - label: "Gateway" - schema: - type: ipaddr - cidr: false - required: true - - - variable: dnsPolicy - label: "DNS Policy" - description: "Default behaviour is where Pod inherits the name resolution configuration from the node that the pods run on, if None is specified, It allows a Pod to ignore DNS settings from the Kubernetes environment." - group: "Networking" - schema: - type: string - default: "Default" - enum: - - value: "Default" - description: "Use Default DNS Policy" - - value: "None" - description: "Ignore DNS settings from the Kuberentes cluster" - - variable: dnsConfig - label: "DNS Configuration" - group: "Networking" - description: "Specify custom DNS configuration which will be applied to the pod" - schema: - type: dict - attrs: - - variable: nameservers - label: "Nameservers" - schema: - default: [] - type: list - items: - - variable: nameserver - label: "Nameserver" - schema: - type: string - - variable: searches - label: "Searches" - schema: - default: [] - type: list - items: - - variable: search - label: "Search Entry" - schema: - type: string - - - variable: hostNetwork - label: "Provide access to node network namespace for the workload" - group: "Networking" - schema: - type: boolean - default: false - - - variable: hostPortsList - label: "Specify host ports for the workload" - description: "Only use host ports if scaling of a workload is not required" - group: "Networking" - schema: - show_if: [["updateStrategy", "=", "Recreate"]] - type: list - items: - - variable: hostPortConfiguration - label: "Host Port Configuration" - schema: - type: dict - attrs: - - variable: containerPort - label: "Container Port" - schema: - type: string - required: true - - variable: hostPort - label: "Host Port" - schema: - type: string - required: true - - - variable: portForwardingList - label: "Specify Node ports to forward to workload" - group: "Networking" - description: "Specify ports of node and workload to forward traffic from node port to workload port" - schema: - type: list - items: - - variable: portForwarding - label: "Port Forwarding Configuration" - schema: - type: dict - attrs: - - variable: containerPort - label: "Container Port" - schema: - type: int - required: true - - variable: nodePort - label: "Node Port" - schema: - type: int - required: true - min: 9000 - max: 65535 - - variable: protocol - label: "Protocol" - schema: - type: string - default: "TCP" - enum: - - value: "TCP" - description: "TCP Protocol" - - value: "UDP" - description: "UDP Protocol" - - # Storage Options - # Host path based volumes - - variable: hostPathVolumes - label: "Host Path Volumes" - group: "Storage" - schema: - type: list - items: - - variable: hostPathConfiguration - label: "Host Path Configuration" - schema: - type: dict - attrs: - - variable: hostPath - label: "Host Path" - schema: - type: hostpath - required: true - - variable: mountPath - label: "Mount Path" - description: "Path where host path will be mounted inside the pod" - schema: - type: path - required: true - - variable: readOnly - label: "Read Only" - schema: - type: boolean - default: false - - # Volumes - - variable: volumes - label: "Volumes" - group: "Storage" - schema: - type: list - items: - - variable: volume - label: "Volume" - schema: - type: dict - $ref: - - "normalize/ixVolume" - attrs: - - variable: mountPath - label: "Mount Path" - description: "Path where the volume will be mounted inside the pod" - schema: - type: path - required: true - - variable: datasetName - label: "Dataset Name" - schema: - type: string - required: true - - # Pod Probes - # Liveness Probe - - variable: livenessProbe - label: "Liveness Probe" - description: "Configure Liveness Probe" - group: "Health Check" - schema: - type: dict - default: null - "null": true - attrs: - - variable: command - label: "Liveness command" - description: "Specify a command to determine liveness of pod" - schema: - type: list - required: true - items: - - variable: commandArg - label: "Command Arg" - schema: - type: string - - variable: initialDelaySeconds - label: "Seconds Delay" - description: "Seconds to delay the first liveness probe" - schema: - type: int - default: 5 - - variable: periodSeconds - label: "Period Seconds" - description: "Specify number of seconds to run liveness probe" - schema: - type: int - default: 10 - - # Specify GPU configuration - - variable: gpuConfiguration - label: "GPU Configuration" - group: "Resource Reservation" - schema: - type: dict - $ref: - - "definitions/gpuConfiguration" diff --git a/charts/ix-chart/2012.0.0/templates/NOTES.txt b/charts/ix-chart/2012.0.0/templates/NOTES.txt deleted file mode 100644 index c3b3453e34b..00000000000 --- a/charts/ix-chart/2012.0.0/templates/NOTES.txt +++ /dev/null @@ -1,2 +0,0 @@ -1. Get the application URL by running these commands: - diff --git a/charts/ix-chart/2012.0.0/templates/_containers.tpl b/charts/ix-chart/2012.0.0/templates/_containers.tpl deleted file mode 100644 index e07bb9160cd..00000000000 --- a/charts/ix-chart/2012.0.0/templates/_containers.tpl +++ /dev/null @@ -1,77 +0,0 @@ -{{/* -Container Command -*/}} -{{- define "containerCommand" }} -{{- if .Values.containerCommand }} -command: - {{- range .Values.containerCommand }} - - {{ . | quote}} - {{- end }} -{{- end }} -{{- end }} - -{{/* -Container Args -*/}} -{{- define "containerArgs" }} -{{- if .Values.containerArgs }} -args: - {{- range .Values.containerArgs }} - - {{ . | quote}} - {{- end }} -{{- end }} -{{- end }} - -{{/* -Container Environment Variables -*/}} -{{- define "containerEnvVariables" }} -{{- if .Values.containerEnvironmentVariables }} -env: - {{- range .Values.containerEnvironmentVariables }} - - name: {{ .name | quote }} - value: {{ .value | quote }} - {{- end }} -{{- end }} -{{- end }} - -{{/* -Container Liveness Probe -*/}} -{{- define "containerLivenssProbe" }} -{{- if .Values.livenessProbe }} -livenessProbe: - exec: - command: - {{ toYaml .Values.livenessProbe.command | indent 16 }} - initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.periodSeconds }} -{{- end }} -{{- end }} - -{{/* -Container Ports -*/}} -{{- define "containerPorts" }} -{{- if or .Values.portForwardingList .Values.hostPortsList }} -ports: - {{- range $index, $config := .Values.portForwardingList }} - - containerPort: {{ $config.containerPort }} - {{- end }} - {{- range $index, $config := .Values.hostPortsList }} - - containerPort: {{ $config.containerPort }} - hostPort: {{ $config.hostPort }} - {{- end }} -{{- end }} -{{- end }} - -{{/* -Container Resource Configuration -*/}} -{{- define "containerResourceConfiguration" }} -{{- if .Values.gpuConfiguration }} -resources: - limits: - {{- toYaml .Values.gpuConfiguration | nindent 4 }} -{{- end }} -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/_helpers.tpl b/charts/ix-chart/2012.0.0/templates/_helpers.tpl deleted file mode 100644 index 3d22e96fac0..00000000000 --- a/charts/ix-chart/2012.0.0/templates/_helpers.tpl +++ /dev/null @@ -1,71 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "ix-chart.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 "ix-chart.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 "ix-chart.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "ix-chart.labels" -}} -helm.sh/chart: {{ include "ix-chart.chart" . }} -{{ include "ix-chart.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "ix-chart.selectorLabels" -}} -app.kubernetes.io/name: {{ include "ix-chart.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "ix-chart.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "ix-chart.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} - - -{{/* -Convert cron schema object to cron format -*/}} -{{- define "cronExpression" }} -{{- printf "%s %s %s %s %s " .minute .hour .dom .month .dow }} -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/_networking.tpl b/charts/ix-chart/2012.0.0/templates/_networking.tpl deleted file mode 100644 index 79a1a325d17..00000000000 --- a/charts/ix-chart/2012.0.0/templates/_networking.tpl +++ /dev/null @@ -1,10 +0,0 @@ -{{/* -DNS Configuration -*/}} -{{- define "dnsConfiguration" }} -dnsPolicy: {{ .Values.dnsPolicy }} -{{- if .Values.dnsConfig }} -dnsConfig: - {{- toYaml .Values.dnsConfig | nindent 2 }} -{{- end }} -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/_volumes.tpl b/charts/ix-chart/2012.0.0/templates/_volumes.tpl deleted file mode 100644 index e16e1c4c8dd..00000000000 --- a/charts/ix-chart/2012.0.0/templates/_volumes.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* -Volumes Configuration -*/}} -{{- define "volumeConfiguration" }} -{{- if or .Values.ixVolumes .Values.hostPathVolumes }} -volumes: -{{- range $index, $hostPathConfiguration := .Values.hostPathVolumes }} - - name: ix-host-path-{{ $.Release.Name }}-{{ $index }} - hostPath: - path: {{ $hostPathConfiguration.hostPath }} -{{- end }} -{{- range $index, $hostPathConfiguration := .Values.ixVolumes }} - - name: ix-host-volume-{{ $.Release.Name }}-{{ $index }} - hostPath: - path: {{ $hostPathConfiguration.hostPath }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Volume Mounts Configuration -*/}} -{{- define "volumeMountsConfiguration" }} -{{- if or .Values.hostPathVolumes .Values.ixVolumes }} -volumeMounts: - {{- range $index, $hostPathConfiguration := .Values.hostPathVolumes }} - - mountPath: {{ $hostPathConfiguration.mountPath }} - name: ix-host-path-{{ $.Release.Name }}-{{ $index }} - readOnly: {{ $hostPathConfiguration.readOnly }} - {{- end }} - {{- range $index, $hostPathConfiguration := .Values.ixVolumes }} - - mountPath: {{ $hostPathConfiguration.mountPath }} - name: ix-host-volume-{{ $.Release.Name }}-{{ $index }} - {{- end }} -{{- end }} -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/_workload.tpl b/charts/ix-chart/2012.0.0/templates/_workload.tpl deleted file mode 100644 index 14daccd9aae..00000000000 --- a/charts/ix-chart/2012.0.0/templates/_workload.tpl +++ /dev/null @@ -1,141 +0,0 @@ -{{/* -Check if workload type is a deployment -*/}} -{{- define "workloadIsDeployment" }} -{{- if eq .Values.workloadType "Deployment" }} -{{- true -}} -{{- else }} -{{- false -}} -{{- end }} -{{- end }} - -{{/* -Check if workload type is a cronjob -*/}} -{{- define "workloadIsCronJob" }} -{{- if eq .Values.workloadType "CronJob" }} -{{- true -}} -{{- else }} -{{- false -}} -{{- end }} -{{- end }} - -{{/* -Get API Version based on workload type -*/}} -{{- define "apiVersion" -}} -{{- if eq (include "workloadIsDeployment" .) "true" }} -{{- printf "apps/v1" }} -{{- else if eq (include "workloadIsCronJob" .) "true" }} -{{- printf "batch/v1beta1" }} -{{- else }} -{{- printf "batch/v1" }} -{{- end }} -{{- end }} - - -{{/* -Get Restart policy based on workload type -*/}} -{{- define "restartPolicy" -}} -{{- if eq (include "workloadIsDeployment" .) "true" }} -{{- printf "%s" .Values.restartPolicy }} -{{- else }} -{{- printf "%s" .Values.jobRestartPolicy }} -{{- end }} -{{- end }} - - -{{/* -Pod specification -*/}} -{{- define "podSepc" }} -restartPolicy: {{ template "restartPolicy" . }} -hostNetwork: {{ .Values.hostNetwork }} -containers: -- name: {{ .Chart.Name }} - {{- include "volumeMountsConfiguration" . | indent 2}} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default "latest" }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - {{- include "containerCommand" . | indent 2 }} - {{- include "containerArgs" . | indent 2 }} - {{- include "containerEnvVariables" . | indent 2 }} - {{- include "containerLivenssProbe" . | indent 2 }} - {{- include "containerPorts" . | indent 2 }} - {{- include "containerResourceConfiguration" . | indent 2 }} -{{- include "volumeConfiguration" . }} -{{- include "dnsConfiguration" . }} -{{- end }} - - -{{/* -Annotations for workload -*/}} -{{- define "workloadAnnotations" }} -rollme: {{ randAlphaNum 5 | quote }} -{{- if .Values.ixExternalInterfacesConfigurationNames }} -k8s.v1.cni.cncf.io/networks: {{ join ", " .Values.ixExternalInterfacesConfigurationNames }} -{{- end }} -{{- end }} - - -{{/* -Metadata for workload -*/}} -{{- define "commonMetadataWorkload" }} -labels: - {{- include "ix-chart.selectorLabels" . | nindent 2 }} -annotations: - {{- include "workloadAnnotations" . | nindent 2 }} -{{- end }} - -{{/* -Deployment Spec -*/}} -{{- define "deploymentSpec" }} -strategy: - {{- if and (eq .Values.updateStrategy "RollingUpdate") .Values.hostPortsList }} - {{- fail "RollingUpdate is not allowed when host ports are specified" }} - {{- end }} - type: {{ .Values.updateStrategy }} -selector: - matchLabels: - {{- include "ix-chart.selectorLabels" . | nindent 4 }} -template: - metadata: - {{ include "commonMetadataWorkload" . | nindent 4 }} - spec: - {{- include "podSepc" . | indent 4 }} -{{- end }} - - -{{/* -Job Spec Common -*/}} -{{- define "jobSpecCommon" }} -metadata: - {{ include "commonMetadataWorkload" . | nindent 4 }} -spec: - {{- include "podSepc" . | indent 2 }} -{{- end }} - - -{{/* -Job Spec -*/}} -{{- define "jobSpec" }} -template: -{{ include "jobSpecCommon" . | nindent 2 }} -{{- end }} - -{{/* -CronJob Spec -*/}} -{{- define "cronJobSpec" }} -schedule: {{ include "cronExpression" .Values.cronSchedule | quote }} -jobTemplate: - spec: - {{ include "jobSpec" . | nindent 4 }} -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/external-interfaces.yaml b/charts/ix-chart/2012.0.0/templates/external-interfaces.yaml deleted file mode 100644 index f68c46f6b17..00000000000 --- a/charts/ix-chart/2012.0.0/templates/external-interfaces.yaml +++ /dev/null @@ -1,9 +0,0 @@ -{{- range $index, $iface := .Values.ixExternalInterfacesConfiguration }} ---- -apiVersion: "k8s.cni.cncf.io/v1" -kind: NetworkAttachmentDefinition -metadata: - name: ix-{{ $.Release.Name }}-{{ $index }} -spec: - config: '{{ $iface }}' -{{- end }} diff --git a/charts/ix-chart/2012.0.0/templates/service.yaml b/charts/ix-chart/2012.0.0/templates/service.yaml deleted file mode 100644 index b2e472f256a..00000000000 --- a/charts/ix-chart/2012.0.0/templates/service.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if .Values.portForwardingList }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "ix-chart.fullname" . }} - labels: - {{- include "ix-chart.labels" . | nindent 4 }} -spec: - type: NodePort - ports: - {{- range $index, $config := .Values.portForwardingList }} - - port: {{ $config.containerPort }} - targetPort: {{ $config.containerPort }} - protocol: {{ $config.protocol }} - nodePort: {{ $config.nodePort }} - name: ix-{{ $.Release.Name }}-{{ $config.nodePort }}-{{ $index }} - {{- end }} - selector: - {{- include "ix-chart.selectorLabels" . | nindent 4 }} -{{- end }} \ No newline at end of file diff --git a/charts/ix-chart/2012.0.0/templates/tests/deployment-check.yaml b/charts/ix-chart/2012.0.0/templates/tests/deployment-check.yaml deleted file mode 100644 index 465a2bd1fdf..00000000000 --- a/charts/ix-chart/2012.0.0/templates/tests/deployment-check.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ .Release.Name }}-deployment-test" - annotations: - "helm.sh/hook": test -spec: - containers: - - name: {{ .Release.Name }}-deployment-test - image: "busybox" - command: - - nc - args: - - "-vz" - - "{{ include "ix-chart.fullname" . }}" - - "80" - restartPolicy: Never diff --git a/charts/ix-chart/2012.0.0/templates/workload.yaml b/charts/ix-chart/2012.0.0/templates/workload.yaml deleted file mode 100644 index 98df32b18a2..00000000000 --- a/charts/ix-chart/2012.0.0/templates/workload.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: {{ template "apiVersion" . }} -kind: {{ .Values.workloadType }} -metadata: - name: {{ include "ix-chart.fullname" . }} - labels: - {{- include "ix-chart.labels" . | nindent 4 }} -spec: - {{- if eq (include "workloadIsDeployment" .) "true" }} - {{ include "deploymentSpec" . | nindent 2 }} - {{- else if eq (include "workloadIsCronJob" .) "true" }} - {{ include "cronJobSpec" . | nindent 2 }} - {{- else }} - {{ include "jobSpec" . | nindent 2 }} - {{- end }} diff --git a/charts/ix-chart/2012.0.0/test_values.yaml b/charts/ix-chart/2012.0.0/test_values.yaml deleted file mode 100644 index 522688359d9..00000000000 --- a/charts/ix-chart/2012.0.0/test_values.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# Default values for ix-chart. - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: latest - -# Restart / Update policy -restartPolicy: Always -updateStrategy: RollingUpdate - -# Container CMD / entrypoint -containerCommand: [] -containerArgs: [] -containerEnvironmentVariables: [] - -# Network related configuration -externalInterfaces: [] -portForwardingList: [{"containerPort": 80, "nodePort": 32000}] -hostPortsList: [] -hostNetwork: false -dnsPolicy: Default -dnsConfig: - nameservers: [] - searches: [] - -# Storage related configuration -hostPathVolumes: [] -volumes: [] - -# Probes -# Liveness Probe -livenessProbe: null - -# Workload type -workloadType: "Deployment" - -gpuConfiguration: {} diff --git a/charts/ix-chart/2012.0.0/values.yaml b/charts/ix-chart/2012.0.0/values.yaml deleted file mode 100644 index 86476391137..00000000000 --- a/charts/ix-chart/2012.0.0/values.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Default values for ix-chart. - -image: - repository: debian - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "latest" - -# Restart / Update policy -restartPolicy: Always -updateStrategy: RollingUpdate - -# Container CMD / entrypoint -containerCommand: [] -containerArgs: [] -containerEnvironmentVariables: [] - -# Network related configuration -externalInterfaces: [] -portForwardingList: [] -hostNetwork: false -dnsPolicy: Default -dnsConfig: - nameservers: [] - searches: [] - -# Storage related configuration -hostPathVolumes: [] -volumes: [] - -# Probes -# Liveness Probe -livenessProbe: null - -# Workload type -workloadType: "Deployment" - -gpuConfiguration: {} diff --git a/charts/ix-chart/item.yaml b/charts/ix-chart/item.yaml deleted file mode 100644 index 2a60e83cc4f..00000000000 --- a/charts/ix-chart/item.yaml +++ /dev/null @@ -1,2 +0,0 @@ -categories: - - generic