diff --git a/assets/fpga-operator/fpga-operator-2.5.201.tgz b/assets/fpga-operator/fpga-operator-2.5.201.tgz new file mode 100644 index 000000000..dd69f0180 Binary files /dev/null and b/assets/fpga-operator/fpga-operator-2.5.201.tgz differ diff --git a/charts/fpga-operator/fpga-operator/2.5.201/Chart.yaml b/charts/fpga-operator/fpga-operator/2.5.201/Chart.yaml new file mode 100644 index 000000000..6cb371d0f --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Documentation + url: https://docs.inaccel.com + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: InAccel FPGA Operator + catalog.cattle.io/namespace: kube-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: inaccel + catalog.cattle.io/scope: downstream + category: Infrastructure +apiVersion: v2 +appVersion: "2.1" +description: Simplifying FPGA management in Kubernetes +home: https://inaccel.com +icon: https://en.gravatar.com/userimage/147236320/2a11cd2992b4521ec287587f03fae35c.png?size=1250 +keywords: +- fpga +- infrastructure +kubeVersion: '>= 1.18.0-0' +maintainers: +- email: info@inaccel.com + name: InAccel +name: fpga-operator +sources: +- https://docs.inaccel.com +- https://github.com/inaccel/helm +type: application +version: 2.5.201 diff --git a/charts/fpga-operator/fpga-operator/2.5.201/README.md b/charts/fpga-operator/fpga-operator/2.5.201/README.md new file mode 100644 index 000000000..5e0ad63db --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/README.md @@ -0,0 +1,82 @@ +# InAccel FPGA Operator + +Simplifying FPGA management in Kubernetes + +## Installing the Chart + +To install the chart with the release name `my-fpga-operator`: + +```console +$ helm repo add inaccel https://setup.inaccel.com/helm +$ helm install my-fpga-operator inaccel/fpga-operator +``` + +These commands deploy InAccel FPGA Operator on the Kubernetes cluster in the +default configuration. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall/delete the `my-fpga-operator` deployment: + +```console +$ helm uninstall my-fpga-operator +``` + +The command removes all the Kubernetes components associated with the chart and +deletes the release. + +## Parameters + +The following table lists the configurable parameters of the InAccel FPGA +Operator chart and their default values. + +| Parameter | Default | +| -------------------- | ------------------ | +| `coral.httpsProxy` | | +| `coral.image` | `inaccel/coral` | +| `coral.logLevel` | `info` | +| `coral.port` | | +| `coral.pullPolicy` | `Always` | +| `coral.resources` | | +| `coral.tag` | *APP VERSION* | +| `daemon.debug` | `false` | +| `daemon.image` | `inaccel/daemon` | +| `daemon.pullPolicy` | | +| `daemon.resources` | | +| `daemon.tag` | `latest` | +| `driver.enabled` | `true` | +| `driver.image` | `inaccel/driver` | +| `driver.pullPolicy` | | +| `driver.tag` | `latest` | +| `kubelet` | `/var/lib/kubelet` | +| `license` | | +| `mkrt.image` | `inaccel/mkrt` | +| `mkrt.pullPolicy` | | +| `mkrt.tag` | `latest` | +| `monitor.image` | `inaccel/monitor` | +| `monitor.port` | | +| `monitor.pullPolicy` | `Always` | +| `monitor.resources` | | +| `monitor.tag` | *APP VERSION* | +| `nodeSelector` | | +| `reef.debug` | `false` | +| `reef.image` | `inaccel/reef` | +| `reef.pullPolicy` | | +| `reef.resources` | | +| `reef.tag` | `latest` | +| `root.config` | `/etc/inaccel` | +| `root.state` | `/var/lib/inaccel` | + +Specify each parameter using the `--set key=value[,key=value]` argument to +`helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be +provided while installing the chart. For example, + +```console +$ helm install my-fpga-operator -f values.yaml inaccel/fpga-operator +``` + +> **Tip**: You can use the default `values.yaml` diff --git a/charts/fpga-operator/fpga-operator/2.5.201/app-readme.md b/charts/fpga-operator/fpga-operator/2.5.201/app-readme.md new file mode 100644 index 000000000..a8e24b3f9 --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/app-readme.md @@ -0,0 +1,7 @@ +### Documentation + +For detailed usage instructions visit: [docs.inaccel.com](https://docs.inaccel.com) + +### Support + +For more product information contact: info@inaccel.com diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/NOTES.txt b/charts/fpga-operator/fpga-operator/2.5.201/templates/NOTES.txt new file mode 100644 index 000000000..0a3015462 --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/NOTES.txt @@ -0,0 +1,10 @@ +{{- if .Release.IsInstall }} +Install +{{- end -}} +{{- if .Release.IsUpgrade }} +Upgrad +{{- end -}} +ing {{ ( index .Chart.Maintainers 0 ).Name }} [{{ .Chart.Name }}] {{ .Release.Service }} chart. +For detailed usage instructions visit: {{ index .Chart.Sources 0 }} +For more product information contact: {{ ( index .Chart.Maintainers 0 ).Email }} +KUBERNETES: {{ .Capabilities.KubeVersion }} diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/_helpers.tpl b/charts/fpga-operator/fpga-operator/2.5.201/templates/_helpers.tpl new file mode 100644 index 000000000..387d5cdec --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/_helpers.tpl @@ -0,0 +1,26 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "labels" -}} +{{ include "selectorLabels" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +app.kubernetes.io/name: {{ .Chart.Name }} +app.kubernetes.io/version: {{ .Chart.Version }} +helm.sh/chart: {{ include "chart" . }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "selectorLabels" -}} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role-binding.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role-binding.yaml new file mode 100644 index 000000000..c254a17a9 --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role-binding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Chart.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Chart.Name }} +subjects: +- kind: ServiceAccount + name: default + namespace: kube-system diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role.yaml new file mode 100644 index 000000000..49a33979d --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Chart.Name }} +rules: +- apiGroups: [""] + resources: ["nodes"] + verbs: ["patch"] +- apiGroups: ["admissionregistration.k8s.io"] + resources: ["mutatingwebhookconfigurations"] + verbs: ["get", "update"] diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/csi-driver.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/csi-driver.yaml new file mode 100644 index 000000000..b25828eb2 --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/csi-driver.yaml @@ -0,0 +1,8 @@ +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: inaccel +spec: + attachRequired: false + volumeLifecycleModes: + - Ephemeral diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/daemon-set.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/daemon-set.yaml new file mode 100644 index 000000000..ac6a9192d --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/daemon-set.yaml @@ -0,0 +1,186 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + labels: + {{- include "labels" . | nindent 4 }} + name: {{ .Chart.Name }} + namespace: kube-system +spec: + selector: + matchLabels: + kind: DaemonSet + {{- include "selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: coral + labels: + kind: DaemonSet + {{- include "labels" . | nindent 8 }} + spec: + containers: + - env: + {{- if .Values.coral.httpsProxy }} + - name: HTTPS_PROXY + value: {{ .Values.coral.httpsProxy }} + {{- end }} + {{- if .Values.license }} + - name: LICENSE + valueFrom: + secretKeyRef: + key: license + name: {{ .Chart.Name }} + {{- end }} + {{- if .Values.coral.logLevel }} + - name: LOG_LEVEL + value: {{ .Values.coral.logLevel }} + {{- end }} + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + image: {{ .Values.coral.image }}:{{ default .Chart.AppVersion .Values.coral.tag }} + {{- if .Values.coral.pullPolicy }} + imagePullPolicy: {{ .Values.coral.pullPolicy }} + {{- end }} + name: coral + ports: + - containerPort: 55677 + {{- if .Values.coral.port }} + hostPort: {{ .Values.coral.port }} + {{- end }} + readinessProbe: + exec: + command: + - get + - coral + {{- if .Values.coral.resources }} + resources: + {{- .Values.coral.resources | toYaml | nindent 10 }} + {{- end }} + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /sys + name: sys + - mountPath: /var/lib/inaccel + mountPropagation: HostToContainer + name: state-root + - mountPath: /var/lib/kubelet/plugins_registry + name: kubelet + subPath: plugins_registry + - mountPath: /var/opt/inaccel/runtimes + name: data-root + readOnly: true + subPath: runtimes + - args: + - --debug={{ .Values.daemon.debug }} + env: + - name: DOCKER + value: disabled + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + image: {{ .Values.daemon.image }}:{{ .Values.daemon.tag }} + {{- if .Values.daemon.pullPolicy }} + imagePullPolicy: {{ .Values.daemon.pullPolicy }} + {{- end }} + name: daemon + {{- if .Values.daemon.resources }} + resources: + {{- .Values.daemon.resources | toYaml | nindent 10 }} + {{- end }} + securityContext: + privileged: true + volumeMounts: + - mountPath: /var/lib/inaccel + mountPropagation: Bidirectional + name: state-root + - mountPath: /var/lib/kubelet/plugins_registry + name: kubelet + subPath: plugins_registry + - mountPath: {{ .Values.kubelet }} + mountPropagation: Bidirectional + name: kubelet + - image: {{ .Values.monitor.image }}:{{ default .Chart.AppVersion .Values.monitor.tag }} + {{- if .Values.monitor.pullPolicy }} + imagePullPolicy: {{ .Values.monitor.pullPolicy }} + {{- end }} + name: monitor + ports: + - containerPort: 19999 + {{- if .Values.monitor.port }} + hostPort: {{ .Values.monitor.port }} + {{- end }} + {{- if .Values.monitor.resources }} + resources: + {{- .Values.monitor.resources | toYaml | nindent 10 }} + {{- end }} + hostAliases: + - hostnames: + - coral + - daemon + - monitor + ip: 127.0.0.1 + hostPID: {{ .Values.driver.enabled }} + initContainers: + {{- if .Values.driver.enabled }} + - env: + - name: DRIVER_SYSROOT_DIR + value: /host + image: {{ .Values.driver.image }}:{{ .Values.driver.tag }} + {{- if .Values.driver.pullPolicy }} + imagePullPolicy: {{ .Values.driver.pullPolicy }} + {{- end }} + name: driver + securityContext: + privileged: true + volumeMounts: + - mountPath: /host + name: host + {{- end }} + - env: + - name: MKRT_CONFIG_PATH + value: {{ .Values.root.config }}/runtimes + - name: MKRT_SYSROOT_DIR + value: /host + image: {{ .Values.mkrt.image }}:{{ .Values.mkrt.tag }} + {{- if .Values.mkrt.pullPolicy }} + imagePullPolicy: {{ .Values.mkrt.pullPolicy }} + {{- end }} + name: mkrt + volumeMounts: + - mountPath: /host + name: host + readOnly: true + - mountPath: /var/opt/inaccel/runtimes + name: data-root + subPath: runtimes + {{- if .Values.nodeSelector }} + nodeSelector: + {{- .Values.nodeSelector | toYaml | nindent 8 }} + {{- end }} + priorityClassName: system-node-critical + volumes: + - emptyDir: {} + name: data-root + - hostPath: + path: / + name: host + - hostPath: + path: {{ .Values.kubelet }} + name: kubelet + - hostPath: + path: /etc/localtime + name: localtime + - hostPath: + path: {{ .Values.root.state }} + type: DirectoryOrCreate + name: state-root + - hostPath: + path: /sys + name: sys diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/deployment.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/deployment.yaml new file mode 100644 index 000000000..e5b747c1b --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/deployment.yaml @@ -0,0 +1,58 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + {{- include "labels" . | nindent 4 }} + name: {{ .Chart.Name }} + namespace: kube-system +spec: + replicas: 1 + selector: + matchLabels: + kind: Deployment + {{- include "selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: reef + labels: + kind: Deployment + {{- include "labels" . | nindent 8 }} + spec: + containers: + - args: + - --debug={{ .Values.reef.debug }} + image: {{ .Values.reef.image }}:{{ .Values.reef.tag }} + {{- if .Values.reef.pullPolicy }} + imagePullPolicy: {{ .Values.reef.pullPolicy }} + {{- end }} + name: reef + {{- if .Values.reef.resources }} + resources: + {{- .Values.reef.resources | toYaml | nindent 10 }} + {{- end }} + volumeMounts: + - mountPath: /etc/inaccel + name: config-root + readOnly: true + hostAliases: + - hostnames: + - reef + ip: 127.0.0.1 + initContainers: + - args: + - init + env: + - name: MUTATING_WEBHOOK_CONFIGURATION_NAME + value: {{ .Chart.Name }} + image: {{ .Values.reef.image }}:{{ .Values.reef.tag }} + {{- if .Values.reef.pullPolicy }} + imagePullPolicy: {{ .Values.reef.pullPolicy }} + {{- end }} + name: reef-init + volumeMounts: + - mountPath: /etc/inaccel + name: config-root + volumes: + - emptyDir: {} + name: config-root diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/mutating-webhook-configuration.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/mutating-webhook-configuration.yaml new file mode 100644 index 000000000..c75a868cc --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/mutating-webhook-configuration.yaml @@ -0,0 +1,17 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + labels: + {{- include "labels" . | nindent 4 }} + name: {{ .Chart.Name }} +webhooks: +- admissionReviewVersions: ["v1"] + clientConfig: + service: + name: {{ .Chart.Name }} + namespace: kube-system + name: reef.inaccel.com + objectSelector: + matchLabels: + inaccel/fpga: enabled + sideEffects: None diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/secret.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/secret.yaml new file mode 100644 index 000000000..386e9e0ed --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/secret.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Chart.Name }} + namespace: kube-system +stringData: + {{- if .Values.license }} + license: {{ .Values.license }} + {{- end }} +type: Opaque diff --git a/charts/fpga-operator/fpga-operator/2.5.201/templates/service.yaml b/charts/fpga-operator/fpga-operator/2.5.201/templates/service.yaml new file mode 100644 index 000000000..1d14bbb1e --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/templates/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + {{- include "labels" . | nindent 4 }} + name: {{ .Chart.Name }} + namespace: kube-system +spec: + ports: + - port: 443 + publishNotReadyAddresses: true + selector: + kind: Deployment + {{- include "selectorLabels" . | nindent 4 }} diff --git a/charts/fpga-operator/fpga-operator/2.5.201/values.yaml b/charts/fpga-operator/fpga-operator/2.5.201/values.yaml new file mode 100644 index 000000000..2dad69268 --- /dev/null +++ b/charts/fpga-operator/fpga-operator/2.5.201/values.yaml @@ -0,0 +1,50 @@ +coral: + # httpsProxy: ... + image: inaccel/coral + logLevel: info + # port: ... + pullPolicy: Always + # resources: ... + # tag: ... + +daemon: + debug: false + image: inaccel/daemon + # pullPolicy: ... + # resources: ... + tag: latest + +driver: + enabled: true + image: inaccel/driver + # pullPolicy: ... + tag: latest + +kubelet: /var/lib/kubelet + +# license: ... + +mkrt: + image: inaccel/mkrt + # pullPolicy: ... + tag: latest + +monitor: + image: inaccel/monitor + # port: ... + pullPolicy: Always + # resources: ... + # tag: ... + +# nodeSelector: ... + +reef: + debug: false + image: inaccel/reef + # pullPolicy: ... + # resources: ... + tag: latest + +root: + config: /etc/inaccel + state: /var/lib/inaccel diff --git a/index.yaml b/index.yaml index 59b6e379e..4a5d97954 100755 --- a/index.yaml +++ b/index.yaml @@ -874,6 +874,41 @@ entries: urls: - assets/federatorai/federatorai-4.5.100.tgz version: 4.5.100 + fpga-operator: + - annotations: + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Documentation + url: https://docs.inaccel.com + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: InAccel FPGA Operator + catalog.cattle.io/namespace: kube-system + catalog.cattle.io/os: linux + catalog.cattle.io/release-name: inaccel + catalog.cattle.io/scope: downstream + category: Infrastructure + apiVersion: v2 + appVersion: "2.1" + created: "2021-10-12T22:35:43.135139329+03:00" + description: Simplifying FPGA management in Kubernetes + digest: 40df8ab46ea3bac4ccf43eac89f99ceee7ac5e3c0f7571154b07af46a57aa588 + home: https://inaccel.com + icon: https://en.gravatar.com/userimage/147236320/2a11cd2992b4521ec287587f03fae35c.png?size=1250 + keywords: + - fpga + - infrastructure + kubeVersion: '>= 1.18.0-0' + maintainers: + - email: info@inaccel.com + name: InAccel + name: fpga-operator + sources: + - https://docs.inaccel.com + - https://github.com/inaccel/helm + type: application + urls: + - assets/fpga-operator/fpga-operator-2.5.201.tgz + version: 2.5.201 haproxy: - annotations: catalog.cattle.io/certified: partner diff --git a/packages/fpga-operator/generated-changes/overlay/app-readme.md b/packages/fpga-operator/generated-changes/overlay/app-readme.md new file mode 100644 index 000000000..a8e24b3f9 --- /dev/null +++ b/packages/fpga-operator/generated-changes/overlay/app-readme.md @@ -0,0 +1,7 @@ +### Documentation + +For detailed usage instructions visit: [docs.inaccel.com](https://docs.inaccel.com) + +### Support + +For more product information contact: info@inaccel.com diff --git a/packages/fpga-operator/generated-changes/patch/Chart.yaml.patch b/packages/fpga-operator/generated-changes/patch/Chart.yaml.patch new file mode 100644 index 000000000..808cdbb56 --- /dev/null +++ b/packages/fpga-operator/generated-changes/patch/Chart.yaml.patch @@ -0,0 +1,15 @@ +--- charts-original/Chart.yaml ++++ charts/Chart.yaml +@@ -3,6 +3,12 @@ + artifacthub.io/links: | + - name: Documentation + url: https://docs.inaccel.com ++ catalog.cattle.io/certified: partner ++ catalog.cattle.io/display-name: InAccel FPGA Operator ++ catalog.cattle.io/namespace: kube-system ++ catalog.cattle.io/os: linux ++ catalog.cattle.io/release-name: inaccel ++ catalog.cattle.io/scope: downstream + category: Infrastructure + apiVersion: v2 + appVersion: "2.1" diff --git a/packages/fpga-operator/package.yaml b/packages/fpga-operator/package.yaml new file mode 100644 index 000000000..a4e005c8f --- /dev/null +++ b/packages/fpga-operator/package.yaml @@ -0,0 +1,2 @@ +url: https://github.com/inaccel/helm/releases/download/fpga-operator-2.5.2/fpga-operator-2.5.2.tgz +packageVersion: 01