-
Notifications
You must be signed in to change notification settings - Fork 5
/
onload_v1alpha1_onload.yaml
131 lines (110 loc) · 4.08 KB
/
onload_v1alpha1_onload.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) Copyright 2023 Advanced Micro Devices, Inc.
apiVersion: v1
kind: ServiceAccount
metadata:
name: onload-operator-sa
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: onload-operator-role
rules:
- apiGroups:
- security.openshift.io
resources:
- securitycontextconstraints
verbs:
- use
resourceNames:
- privileged
- apiGroups:
- ""
resources:
- pods
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: onload-operator-rb
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: onload-operator-role
subjects:
- kind: ServiceAccount
name: onload-operator-sa
---
# Property descriptions for the Onload CRD version running in your cluster
# is available via the command `kubectl explain onload.spec`.
apiVersion: onload.amd.com/v1alpha1
kind: Onload
# Standard object's metadata.
metadata:
name: onload
# Spec is the top-level specification for Onload and related products that
# are controlled by the Onload Operator. Required.
spec:
# ServiceAccountName is the name of the service account that the objects
# created by the Onload Operator will use. Required.
serviceAccountName: onload-operator-sa
# Selector defines the set of nodes that this Onload CR will run on. Required.
selector:
# Example node label
node-role.kubernetes.io/worker: ""
# Onload is the specification of the version of Onload to be used by this CR.
# Required.
onload:
# KernelMappings is a list of pairs of kernel versions and container images.
# This allows for flexibility when there are heterogenous kernel versions on
# the nodes in the cluster. Required. For descriptions of contents,
# see ../overlays/in-cluster-build-ocp/patch-onload.yaml
kernelMappings: []
# UserImage is the image that contains the built userland objects, used
# within the Onload Device Plugin DaemonSet. Required.
userImage: onload/onload-user
# Version string to associate with this Onload CR. Required.
version: # eg. 8.0.0.0
# ImagePullPolicy is the policy used when pulling images. Optional.
imagePullPolicy: IfNotPresent
# ControlPlane allows fine-tuning of the Onload control plane server.
# Optional.
#controlPlane:
# Parameters is an optional list of parameters passed to the Onload
# control plane server when launched by the Onload kernel module.
#parameters:
#- -K
# DevicePlugin is further specification for the Onload Device Plugin which
# uses the device plugin framework to provide an `amd.com/onload` resource.
# Image location is not configured here; see Onload Operator deployment.
# Required.
devicePlugin:
# ImagePullPolicy is the policy used when pulling images. Optional.
imagePullPolicy: IfNotPresent
# MaxPodsPerNode is the number of Kubernetes devices that the Onload Device
# Plugin should register with the kubelet. Notionally this is equivalent to
# the number of pods that can request an Onload resource on each node.
# Optional.
#maxPodsPerNode: 100
# Preload determines whether the Onload Device Plugin will set LD_PRELOAD
# for pods using Onload. Mutually exclusive with MountOnload. Optional.
#preload: true
# MountOnload is used by the Onload Device Plugin to decide whether to mount
# the `onload` script as a file in the container's filesystem. `onload` is
# mounted at `<baseMountPath>/<binMountpath>` Mutually exclusive with
# Preload. Optional.
#mountOnload: false
# HostOnloadPath is the base location of Onload files on the host
# filesystem. Optional.
#hostOnloadPath: /opt/onload
# BaseMountPath is a prefix to be applied to all Onload file mounts in the
# container's filesystem. Optional.
#baseMountPath: /opt/onload
# BinMountPath is the location to mount Onload binaries in the container's
# filesystem. Optional.
#binMountPath: /usr/bin
# LibMountPath is the location to mount Onload libraries in the container's
# filesystem. Optional.
#libMountPath: /usr/lib64