mirror of
https://gitlab.com/arm-research/smarter/smarter-device-manager.git
synced 2025-09-14 04:20:29 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2dfd0f1461 | ||
|
841471d149 | ||
|
e4f9d53a16 | ||
|
7eb7526956 | ||
|
304807e48e | ||
|
879085aaed |
16
CONTRIBUTING.md
Normal file
16
CONTRIBUTING.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Contributing to SMARTER
|
||||||
|
|
||||||
|
SMARTER is an open-source, software platform for the Edge. Contributions are an important part of the platform, and our goal is to make it as simple as possible to become a contributor.
|
||||||
|
|
||||||
|
# Project license, and developer certificate of origin
|
||||||
|
|
||||||
|
The SMARTER codebase is licensed under the Apache 2.0 open source license, individual components may have their own licenses.
|
||||||
|
Please see the LICENSE file in the SMARTER documentation repository for the full text of this license, or the LICENSE file
|
||||||
|
in respective repositories. New contributions are expected to be lisensed under the Apache 2.0 license or something compatible
|
||||||
|
with that license.
|
||||||
|
|
||||||
|
Please note that we expect contributors to the project to self-certify that they are authorized to contribute code
|
||||||
|
using the Linux Foundation's Developer Certificate of Origin. See http://developercertificate.org for more details.
|
||||||
|
|
||||||
|
Contributors sign-off that they adhere to these requirements by adding a Signed-off-by line to commit messages.
|
||||||
|
Pull requests for contributions without a signed-off-by line will not be accepted.
|
@@ -1,4 +0,0 @@
|
|||||||
We sincerely appreciate your interest of contributing to this project but for now
|
|
||||||
we are not able to accept contributions. We expect to change this policy soon and
|
|
||||||
provide a contribution procedure. We suggest that the project be maintained on a
|
|
||||||
different branch until the contribution policy is changed.
|
|
@@ -5,11 +5,12 @@ RUN apk update && apk upgrade && apk add tar ca-certificates build-base
|
|||||||
ENV GOPATH /go
|
ENV GOPATH /go
|
||||||
RUN go version
|
RUN go version
|
||||||
|
|
||||||
WORKDIR /go/src/smarter-device-management
|
WORKDIR /arm.com/smarter-device-management
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN echo $PATH;export CGO_LDFLAGS_ALLOW='-Wl,--unresolved-symbols=ignore-in-object-files' && \
|
RUN echo $PATH;export CGO_LDFLAGS_ALLOW='-Wl,--unresolved-symbols=ignore-in-object-files' && \
|
||||||
go install -ldflags="-s -w" -v smarter-device-management
|
go mod init arm.com/smarter-device-management && go mod tidy && go mod vendor && \
|
||||||
|
go build -ldflags="-s -w" .
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|
||||||
@@ -18,6 +19,6 @@ RUN apk update && apk upgrade
|
|||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
|
||||||
COPY conf.yaml /root/config/conf.yaml
|
COPY conf.yaml /root/config/conf.yaml
|
||||||
COPY --from=build /go/bin/smarter-device-management /usr/bin/smarter-device-management
|
COPY --from=build /arm.com/smarter-device-management/smarter-device-management /usr/bin/smarter-device-management
|
||||||
|
|
||||||
CMD ["smarter-device-management","-logtostderr=true","-v=0"]
|
CMD ["smarter-device-management","-logtostderr=true","-v=0"]
|
2
argus.go
2
argus.go
@@ -4,7 +4,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
pluginapi "k8s.io/kubernetes/pkg/kubelet/apis/deviceplugin/v1beta1"
|
pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func check(err error) {
|
func check(err error) {
|
||||||
|
22
compile.sh
22
compile.sh
@@ -5,6 +5,12 @@
|
|||||||
function printHelp() {
|
function printHelp() {
|
||||||
echo $(basename $0)" options:";
|
echo $(basename $0)" options:";
|
||||||
echo " -A <Architectures to use> # Compiling to ${ARCHS} now, examples: linux/amd64,linux/arm/v7,linux/arm/v6,linux/arm64"
|
echo " -A <Architectures to use> # Compiling to ${ARCHS} now, examples: linux/amd64,linux/arm/v7,linux/arm/v6,linux/arm64"
|
||||||
|
if [ ${FLAG_NOCACHE} -gt 0 ]
|
||||||
|
then
|
||||||
|
echo " -C # Do not use cache"
|
||||||
|
else
|
||||||
|
echo " -C # Use cache"
|
||||||
|
fi
|
||||||
if [ ${FLAG_UPLOADIMAGES} -gt 0 ]
|
if [ ${FLAG_UPLOADIMAGES} -gt 0 ]
|
||||||
then
|
then
|
||||||
echo " -U # Do not upload images - the default is upload the images to the registry"
|
echo " -U # Do not upload images - the default is upload the images to the registry"
|
||||||
@@ -43,8 +49,9 @@ FLAG_UPLOADMANIFEST=1
|
|||||||
ADDITIONAL_TAG=""
|
ADDITIONAL_TAG=""
|
||||||
ADDITIONAL_IMAGE_NAME=""
|
ADDITIONAL_IMAGE_NAME=""
|
||||||
PUSH_OPTION=""
|
PUSH_OPTION=""
|
||||||
|
FLAG_NOCACHE=0
|
||||||
|
|
||||||
while getopts hA:B:MST:U name
|
while getopts hA:B:MST:UC name
|
||||||
do
|
do
|
||||||
case $name in
|
case $name in
|
||||||
h)
|
h)
|
||||||
@@ -52,6 +59,10 @@ do
|
|||||||
exit 0;;
|
exit 0;;
|
||||||
A)
|
A)
|
||||||
ARCHS="$OPTARG";;
|
ARCHS="$OPTARG";;
|
||||||
|
C)
|
||||||
|
[ ${FLAG_NOCACHE} -gt 0 ] && FLAG_NOCACHE=0;
|
||||||
|
[ ${FLAG_NOCACHE} -eq 0 ] && FLAG_NOCACHE=1;
|
||||||
|
;;
|
||||||
U)
|
U)
|
||||||
[ ${FLAG_UPLOADIMAGES} -gt 0 ] && FLAG_UPLOADIMAGES=0;
|
[ ${FLAG_UPLOADIMAGES} -gt 0 ] && FLAG_UPLOADIMAGES=0;
|
||||||
[ ${FLAG_UPLOADIMAGES} -eq 0 ] && FLAG_UPLOADIMAGES=1;
|
[ ${FLAG_UPLOADIMAGES} -eq 0 ] && FLAG_UPLOADIMAGES=1;
|
||||||
@@ -93,6 +104,13 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $FLAG_NOCACHE -gt 0 ]
|
||||||
|
then
|
||||||
|
CACHE_OPTION="--no-cache"
|
||||||
|
else
|
||||||
|
CACHE_OPTION=""
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $FLAG_UPLOADIMAGES -gt 0 ]
|
if [ $FLAG_UPLOADIMAGES -gt 0 ]
|
||||||
then
|
then
|
||||||
PUSH_OPTION="--push"
|
PUSH_OPTION="--push"
|
||||||
@@ -100,6 +118,6 @@ else
|
|||||||
PUSH_OPTION="--load"
|
PUSH_OPTION="--load"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker buildx build -t "${REPOSITORY_NAME}${IMAGE_NAME}${ADDITIONAL_IMAGE_NAME}:${BUILD_TAG}" --platform=${ARCHS} ${PUSH_OPTION} .
|
docker buildx build ${CACHE_OPTION} -t "${REPOSITORY_NAME}${IMAGE_NAME}${ADDITIONAL_IMAGE_NAME}:${BUILD_TAG}" --platform=${ARCHS} ${PUSH_OPTION} .
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
19
main.go
19
main.go
@@ -14,7 +14,7 @@ import (
|
|||||||
"github.com/fsnotify/fsnotify"
|
"github.com/fsnotify/fsnotify"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
pluginapi "k8s.io/kubernetes/pkg/kubelet/apis/deviceplugin/v1beta1"
|
pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var confFileName string
|
var confFileName string
|
||||||
@@ -193,17 +193,17 @@ L:
|
|||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
for _, devicesInUse := range listDevicesAvailable {
|
for id, _ := range listDevicesAvailable {
|
||||||
switch devicesInUse.deviceType {
|
switch listDevicesAvailable[id].deviceType {
|
||||||
case deviceFileType :
|
case deviceFileType :
|
||||||
devicesInUse.devicePluginSmarter = NewSmarterDevicePlugin(devicesInUse.numDevices, devicesInUse.deviceFile, devicesInUse.deviceName, devicesInUse.socketName)
|
listDevicesAvailable[id].devicePluginSmarter = NewSmarterDevicePlugin(listDevicesAvailable[id].numDevices, listDevicesAvailable[id].deviceFile, listDevicesAvailable[id].deviceName, listDevicesAvailable[id].socketName)
|
||||||
if err = devicesInUse.devicePluginSmarter.Serve(); err != nil {
|
if err = listDevicesAvailable[id].devicePluginSmarter.Serve(); err != nil {
|
||||||
glog.V(0).Info("Could not contact Kubelet, retrying. Did you enable the device plugin feature gate?")
|
glog.V(0).Info("Could not contact Kubelet, retrying. Did you enable the device plugin feature gate?")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case nvidiaSysType :
|
case nvidiaSysType :
|
||||||
devicesInUse.devicePluginNvidia = NewNvidiaDevicePlugin(devicesInUse.numDevices, devicesInUse.deviceName,"NVIDIA_VISIBLE_DEVICES", devicesInUse.socketName, devicesInUse.deviceId)
|
listDevicesAvailable[id].devicePluginNvidia = NewNvidiaDevicePlugin(listDevicesAvailable[id].numDevices, listDevicesAvailable[id].deviceName,"NVIDIA_VISIBLE_DEVICES", listDevicesAvailable[id].socketName, listDevicesAvailable[id].deviceId)
|
||||||
if err = devicesInUse.devicePluginNvidia.Serve(); err != nil {
|
if err = listDevicesAvailable[id].devicePluginNvidia.Serve(); err != nil {
|
||||||
glog.V(0).Info("Could not contact Kubelet, retrying. Did you enable the device plugin feature gate?")
|
glog.V(0).Info("Could not contact Kubelet, retrying. Did you enable the device plugin feature gate?")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -234,13 +234,18 @@ L:
|
|||||||
default:
|
default:
|
||||||
glog.V(0).Infof("Received signal \"%v\", shutting down.", s)
|
glog.V(0).Infof("Received signal \"%v\", shutting down.", s)
|
||||||
for _, devicesInUse := range listDevicesAvailable {
|
for _, devicesInUse := range listDevicesAvailable {
|
||||||
|
glog.V(0).Info("Stopping device ", devicesInUse.deviceName)
|
||||||
switch devicesInUse.deviceType {
|
switch devicesInUse.deviceType {
|
||||||
case deviceFileType :
|
case deviceFileType :
|
||||||
|
glog.V(0).Info("Smarter device type")
|
||||||
if devicesInUse.devicePluginSmarter != nil {
|
if devicesInUse.devicePluginSmarter != nil {
|
||||||
|
glog.V(0).Info("Stopping device")
|
||||||
devicesInUse.devicePluginSmarter.Stop()
|
devicesInUse.devicePluginSmarter.Stop()
|
||||||
}
|
}
|
||||||
case nvidiaSysType :
|
case nvidiaSysType :
|
||||||
|
glog.V(0).Info("Nvidia device type")
|
||||||
if devicesInUse.devicePluginNvidia != nil {
|
if devicesInUse.devicePluginNvidia != nil {
|
||||||
|
glog.V(0).Info("Stopping device")
|
||||||
devicesInUse.devicePluginNvidia.Stop()
|
devicesInUse.devicePluginNvidia.Stop()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@ import (
|
|||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
pluginapi "k8s.io/kubernetes/pkg/kubelet/apis/deviceplugin/v1beta1"
|
pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var passDeviceSpecs = flag.Bool("pass-device-specs", false, "pass the list of DeviceSpecs to the kubelet on Allocate()")
|
var passDeviceSpecs = flag.Bool("pass-device-specs", false, "pass the list of DeviceSpecs to the kubelet on Allocate()")
|
||||||
@@ -182,6 +182,10 @@ func (m *NvidiaDevicePlugin) PreStartContainer(context.Context, *pluginapi.PreSt
|
|||||||
return &pluginapi.PreStartContainerResponse{}, nil
|
return &pluginapi.PreStartContainerResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *NvidiaDevicePlugin) GetPreferredAllocation(context.Context, *pluginapi.PreferredAllocationRequest) (*pluginapi.PreferredAllocationResponse, error) {
|
||||||
|
return &pluginapi.PreferredAllocationResponse{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *NvidiaDevicePlugin) cleanup() error {
|
func (m *NvidiaDevicePlugin) cleanup() error {
|
||||||
if err := os.Remove(m.socket); err != nil && !os.IsNotExist(err) {
|
if err := os.Remove(m.socket); err != nil && !os.IsNotExist(err) {
|
||||||
return err
|
return err
|
||||||
|
@@ -13,7 +13,7 @@ import (
|
|||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
pluginapi "k8s.io/kubernetes/pkg/kubelet/apis/deviceplugin/v1beta1"
|
pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -94,6 +94,7 @@ func (m *SmarterDevicePlugin) Start() error {
|
|||||||
|
|
||||||
// Stop the gRPC server
|
// Stop the gRPC server
|
||||||
func (m *SmarterDevicePlugin) Stop() error {
|
func (m *SmarterDevicePlugin) Stop() error {
|
||||||
|
glog.V(0).Infof("Stopping server with socket ",m.socket)
|
||||||
if m.server == nil {
|
if m.server == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -101,6 +102,7 @@ func (m *SmarterDevicePlugin) Stop() error {
|
|||||||
m.server.Stop()
|
m.server.Stop()
|
||||||
m.server = nil
|
m.server = nil
|
||||||
close(m.stop)
|
close(m.stop)
|
||||||
|
glog.V(0).Info("Server stopped with socket ",m.socket)
|
||||||
|
|
||||||
return m.cleanup()
|
return m.cleanup()
|
||||||
}
|
}
|
||||||
@@ -178,7 +180,12 @@ func (m *SmarterDevicePlugin) PreStartContainer(context.Context, *pluginapi.PreS
|
|||||||
return &pluginapi.PreStartContainerResponse{}, nil
|
return &pluginapi.PreStartContainerResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *SmarterDevicePlugin) GetPreferredAllocation(context.Context, *pluginapi.PreferredAllocationRequest) (*pluginapi.PreferredAllocationResponse, error) {
|
||||||
|
return &pluginapi.PreferredAllocationResponse{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *SmarterDevicePlugin) cleanup() error {
|
func (m *SmarterDevicePlugin) cleanup() error {
|
||||||
|
glog.V(0).Info("Removing file ",m.socket)
|
||||||
if err := os.Remove(m.socket); err != nil && !os.IsNotExist(err) {
|
if err := os.Remove(m.socket); err != nil && !os.IsNotExist(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -15,7 +15,7 @@ spec:
|
|||||||
nodeName: smarter-jetson-xavier-4bcc2584
|
nodeName: smarter-jetson-xavier-4bcc2584
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -15,7 +15,7 @@ spec:
|
|||||||
nodeName: <replace with node to run>
|
nodeName: <replace with node to run>
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -15,7 +15,7 @@ spec:
|
|||||||
nodeName: <replace with node to run>
|
nodeName: <replace with node to run>
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -33,6 +33,8 @@ spec:
|
|||||||
mountPath: /var/lib/kubelet/device-plugins
|
mountPath: /var/lib/kubelet/device-plugins
|
||||||
- name: dev-dir
|
- name: dev-dir
|
||||||
mountPath: /dev
|
mountPath: /dev
|
||||||
|
- name: sys-dir
|
||||||
|
mountPath: /sys
|
||||||
volumes:
|
volumes:
|
||||||
- name: device-plugin
|
- name: device-plugin
|
||||||
hostPath:
|
hostPath:
|
||||||
@@ -40,4 +42,7 @@ spec:
|
|||||||
- name: dev-dir
|
- name: dev-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /dev
|
path: /dev
|
||||||
|
- name: sys-dir
|
||||||
|
hostPath:
|
||||||
|
path: /sys
|
||||||
terminationGracePeriodSeconds: 30
|
terminationGracePeriodSeconds: 30
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
@@ -34,7 +34,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: smarter-device-manager
|
- name: smarter-device-manager
|
||||||
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.1
|
image: registry.gitlab.com/arm-research/smarter/smarter-device-manager:v1.1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
Reference in New Issue
Block a user