commit
51808cd63e
Binary file not shown.
|
@ -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
|
|
@ -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`
|
|
@ -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
|
|
@ -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 }}
|
|
@ -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 }}
|
|
@ -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
|
|
@ -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"]
|
|
@ -0,0 +1,8 @@
|
|||
apiVersion: storage.k8s.io/v1
|
||||
kind: CSIDriver
|
||||
metadata:
|
||||
name: inaccel
|
||||
spec:
|
||||
attachRequired: false
|
||||
volumeLifecycleModes:
|
||||
- Ephemeral
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 }}
|
|
@ -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
|
35
index.yaml
35
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
|
||||
|
|
|
@ -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
|
|
@ -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"
|
|
@ -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
|
Loading…
Reference in New Issue