summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-01-13 16:44:52 +0100
committerGitHub <noreply@github.com>2022-01-13 16:44:52 +0100
commitab7228b3c27719e447de4dffe9b3fd7f67d6f346 (patch)
tree281392e18e84d47b859554b0bd612ea5db431e98 /pkg
parente98058a3cf4f5ba4cd2d37dfdb2a0951b9aa9730 (diff)
parentf257d983943d6ec2253d50a245cd4810cab45e4b (diff)
downloadpodman-ab7228b3c27719e447de4dffe9b3fd7f67d6f346.tar.gz
podman-ab7228b3c27719e447de4dffe9b3fd7f67d6f346.tar.bz2
podman-ab7228b3c27719e447de4dffe9b3fd7f67d6f346.zip
Merge pull request #12836 from cdoern/podSysCtl
Podman Pod Create --sysctl support
Diffstat (limited to 'pkg')
-rw-r--r--pkg/domain/entities/pods.go12
-rw-r--r--pkg/specgen/podspecgen.go2
2 files changed, 13 insertions, 1 deletions
diff --git a/pkg/domain/entities/pods.go b/pkg/domain/entities/pods.go
index 1b5a1be51..cc9476d79 100644
--- a/pkg/domain/entities/pods.go
+++ b/pkg/domain/entities/pods.go
@@ -139,6 +139,7 @@ type PodCreateOptions struct {
Volume []string `json:"volume,omitempty"`
VolumesFrom []string `json:"volumes_from,omitempty"`
SecurityOpt []string `json:"security_opt,omitempty"`
+ Sysctl []string `json:"sysctl,omitempty"`
}
// PodLogsOptions describes the options to extract pod logs.
@@ -240,7 +241,7 @@ type ContainerCreateOptions struct {
StorageOpts []string
SubUIDName string
SubGIDName string
- Sysctl []string
+ Sysctl []string `json:"sysctl,omitempty"`
Systemd string
Timeout uint
TLSVerify commonFlag.OptionalBool
@@ -360,6 +361,15 @@ func ToPodSpecGen(s specgen.PodSpecGenerator, p *PodCreateOptions) (*specgen.Pod
}
}
s.Userns = p.Userns
+ sysctl := map[string]string{}
+ if ctl := p.Sysctl; len(ctl) > 0 {
+ sysctl, err = util.ValidateSysctls(ctl)
+ if err != nil {
+ return nil, err
+ }
+ }
+ s.Sysctl = sysctl
+
return &s, nil
}
diff --git a/pkg/specgen/podspecgen.go b/pkg/specgen/podspecgen.go
index fdaa714da..31f96b933 100644
--- a/pkg/specgen/podspecgen.go
+++ b/pkg/specgen/podspecgen.go
@@ -74,6 +74,8 @@ type PodBasicConfig struct {
Userns Namespace `json:"userns,omitempty"`
// Devices contains user specified Devices to be added to the Pod
Devices []string `json:"pod_devices,omitempty"`
+ // Sysctl sets kernel parameters for the pod
+ Sysctl map[string]string `json:"sysctl,omitempty"`
}
// PodNetworkConfig contains networking configuration for a pod.