From 63a4a03db95471987ba8650635dbba22aa31fe21 Mon Sep 17 00:00:00 2001 From: Elias Koromilas Date: Tue, 12 Oct 2021 22:35:35 +0300 Subject: [PATCH 1/2] Add fpga-operator package Signed-off-by: Elias Koromilas --- .../generated-changes/overlay/app-readme.md | 7 +++++++ .../generated-changes/patch/Chart.yaml.patch | 15 +++++++++++++++ packages/fpga-operator/package.yaml | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 packages/fpga-operator/generated-changes/overlay/app-readme.md create mode 100644 packages/fpga-operator/generated-changes/patch/Chart.yaml.patch create mode 100644 packages/fpga-operator/package.yaml 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 From 5852b0273414040b98a5000ea360559eae1879ca Mon Sep 17 00:00:00 2001 From: Elias Koromilas Date: Tue, 12 Oct 2021 22:35:51 +0300 Subject: [PATCH 2/2] Add fpga-operator chart Signed-off-by: Elias Koromilas --- .../fpga-operator/fpga-operator-2.5.201.tgz | Bin 0 -> 4063 bytes .../fpga-operator/2.5.201/Chart.yaml | 30 +++ .../fpga-operator/2.5.201/README.md | 82 ++++++++ .../fpga-operator/2.5.201/app-readme.md | 7 + .../fpga-operator/2.5.201/templates/NOTES.txt | 10 + .../2.5.201/templates/_helpers.tpl | 26 +++ .../templates/cluster-role-binding.yaml | 12 ++ .../2.5.201/templates/cluster-role.yaml | 11 ++ .../2.5.201/templates/csi-driver.yaml | 8 + .../2.5.201/templates/daemon-set.yaml | 186 ++++++++++++++++++ .../2.5.201/templates/deployment.yaml | 58 ++++++ .../mutating-webhook-configuration.yaml | 17 ++ .../2.5.201/templates/secret.yaml | 10 + .../2.5.201/templates/service.yaml | 14 ++ .../fpga-operator/2.5.201/values.yaml | 50 +++++ index.yaml | 35 ++++ 16 files changed, 556 insertions(+) create mode 100644 assets/fpga-operator/fpga-operator-2.5.201.tgz create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/Chart.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/README.md create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/app-readme.md create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/NOTES.txt create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/_helpers.tpl create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role-binding.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/cluster-role.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/csi-driver.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/daemon-set.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/deployment.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/mutating-webhook-configuration.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/secret.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/templates/service.yaml create mode 100644 charts/fpga-operator/fpga-operator/2.5.201/values.yaml 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 0000000000000000000000000000000000000000..dd69f0180f4967053a8751ad9083562bfe339564 GIT binary patch literal 4063 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 R{{sL3|No= 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 5774a4574..2eed76b6d 100755 --- a/index.yaml +++ b/index.yaml @@ -843,6 +843,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