stable.go 964 Bytes
Newer Older
songlinfeng's avatar
songlinfeng committed
1
2
3
4
5
6
7
/**
# Copyright (c) 2024, HCUOpt CORPORATION.  All rights reserved.
**/

package modifier

import (
8
9
10
11
	"dcu-container-toolkit/internal/config"
	"dcu-container-toolkit/internal/config/image"
	"dcu-container-toolkit/internal/logger"
	"dcu-container-toolkit/internal/oci"
songlinfeng's avatar
songlinfeng committed
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
)

// NewStableModifier creates the modifiers for general features.
// These includes:
//
// removes inserted nvidia-container-runtime hooks for --gpus
func NewStableModifier(logger logger.Interface, cfg *config.Config, image image.DTK) (oci.SpecModifier, error) {
	var modifiers List

	modifiers = append(modifiers, NewNvidiaContainerRuntimeHookRemover(logger))
	modifiers = append(modifiers, NewSeccompRemover(logger))

	var addCaps []string

	// For xprof
	addCaps = append(addCaps, "CAP_SYS_RAWIO")
	if image.Getenv("DTK_MOFED") == "enabled" {
		addCaps = append(addCaps, "CAP_IPC_LOCK")
	}
	modifiers = append(modifiers, NewCapModifier(logger, addCaps, []string{}))

	return modifiers, nil
}