mirror of https://github.com/containers/podman.git
Generate kube should'd add podman default environment vars
Currently we add the default PATH, TERM and container from Podman to every kubernetes.yaml file. These values should not be recorded in the yaml files. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
parent
9b5522d9ad
commit
185294cb8c
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
"github.com/containers/podman/v3/libpod/define"
|
"github.com/containers/podman/v3/libpod/define"
|
||||||
"github.com/containers/podman/v3/libpod/network/types"
|
"github.com/containers/podman/v3/libpod/network/types"
|
||||||
|
"github.com/containers/podman/v3/pkg/env"
|
||||||
"github.com/containers/podman/v3/pkg/lookup"
|
"github.com/containers/podman/v3/pkg/lookup"
|
||||||
"github.com/containers/podman/v3/pkg/namespaces"
|
"github.com/containers/podman/v3/pkg/namespaces"
|
||||||
"github.com/containers/podman/v3/pkg/specgen"
|
"github.com/containers/podman/v3/pkg/specgen"
|
||||||
|
@ -570,12 +571,16 @@ func ocicniPortMappingToContainerPort(portMappings []types.OCICNIPortMapping) ([
|
||||||
|
|
||||||
// libpodEnvVarsToKubeEnvVars converts a key=value string slice to []v1.EnvVar
|
// libpodEnvVarsToKubeEnvVars converts a key=value string slice to []v1.EnvVar
|
||||||
func libpodEnvVarsToKubeEnvVars(envs []string) ([]v1.EnvVar, error) {
|
func libpodEnvVarsToKubeEnvVars(envs []string) ([]v1.EnvVar, error) {
|
||||||
|
defaultEnv := env.DefaultEnvVariables()
|
||||||
envVars := make([]v1.EnvVar, 0, len(envs))
|
envVars := make([]v1.EnvVar, 0, len(envs))
|
||||||
for _, e := range envs {
|
for _, e := range envs {
|
||||||
split := strings.SplitN(e, "=", 2)
|
split := strings.SplitN(e, "=", 2)
|
||||||
if len(split) != 2 {
|
if len(split) != 2 {
|
||||||
return envVars, errors.Errorf("environment variable %s is malformed; should be key=value", e)
|
return envVars, errors.Errorf("environment variable %s is malformed; should be key=value", e)
|
||||||
}
|
}
|
||||||
|
if defaultEnv[split[0]] == split[1] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
ev := v1.EnvVar{
|
ev := v1.EnvVar{
|
||||||
Name: split[0],
|
Name: split[0],
|
||||||
Value: split[1],
|
Value: split[1],
|
||||||
|
|
|
@ -17,8 +17,9 @@ const whiteSpaces = " \t"
|
||||||
// DefaultEnvVariables returns a default environment, with $PATH and $TERM set.
|
// DefaultEnvVariables returns a default environment, with $PATH and $TERM set.
|
||||||
func DefaultEnvVariables() map[string]string {
|
func DefaultEnvVariables() map[string]string {
|
||||||
return map[string]string{
|
return map[string]string{
|
||||||
"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||||||
"TERM": "xterm",
|
"TERM": "xterm",
|
||||||
|
"container": "podman",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,12 +63,6 @@ spec:
|
||||||
- -d
|
- -d
|
||||||
- "1.5"
|
- "1.5"
|
||||||
env:
|
env:
|
||||||
- name: PATH
|
|
||||||
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
- name: TERM
|
|
||||||
value: xterm
|
|
||||||
- name: container
|
|
||||||
value: podman
|
|
||||||
- name: HOSTNAME
|
- name: HOSTNAME
|
||||||
value: label-pod
|
value: label-pod
|
||||||
image: quay.io/libpod/alpine:latest
|
image: quay.io/libpod/alpine:latest
|
||||||
|
@ -171,12 +165,6 @@ spec:
|
||||||
- -d
|
- -d
|
||||||
- "1.5"
|
- "1.5"
|
||||||
env:
|
env:
|
||||||
- name: PATH
|
|
||||||
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
- name: TERM
|
|
||||||
value: xterm
|
|
||||||
- name: container
|
|
||||||
value: podman
|
|
||||||
- name: HOSTNAME
|
- name: HOSTNAME
|
||||||
value: label-pod
|
value: label-pod
|
||||||
image: quay.io/libpod/alpine:latest
|
image: quay.io/libpod/alpine:latest
|
||||||
|
@ -287,13 +275,7 @@ spec:
|
||||||
- {{.}}
|
- {{.}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
env:
|
env:
|
||||||
- name: PATH
|
|
||||||
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
- name: TERM
|
|
||||||
value: xterm
|
|
||||||
- name: HOSTNAME
|
- name: HOSTNAME
|
||||||
- name: container
|
|
||||||
value: podman
|
|
||||||
{{ range .Env }}
|
{{ range .Env }}
|
||||||
- name: {{ .Name }}
|
- name: {{ .Name }}
|
||||||
{{ if (eq .ValueFrom "configmap") }}
|
{{ if (eq .ValueFrom "configmap") }}
|
||||||
|
@ -453,13 +435,7 @@ spec:
|
||||||
- {{.}}
|
- {{.}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
env:
|
env:
|
||||||
- name: PATH
|
|
||||||
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
- name: TERM
|
|
||||||
value: xterm
|
|
||||||
- name: HOSTNAME
|
- name: HOSTNAME
|
||||||
- name: container
|
|
||||||
value: podman
|
|
||||||
image: {{ .Image }}
|
image: {{ .Image }}
|
||||||
name: {{ .Name }}
|
name: {{ .Name }}
|
||||||
imagePullPolicy: {{ .PullPolicy }}
|
imagePullPolicy: {{ .PullPolicy }}
|
||||||
|
|
Loading…
Reference in New Issue