move envfrom to util

This commit is contained in:
rushtehrani
2020-05-14 00:33:46 -07:00
parent dd9e64ccf6
commit c121116b9d
4 changed files with 27 additions and 27 deletions

View File

@@ -25,8 +25,6 @@ const (
ArtifactRepositoryInsecureKey = "artifactRepositoryS3Insecure"
ArtifactRepositoryAccessKeyValueKey = "artifactRepositoryS3AccessKey"
ArtifactRepositorySecretKeyValueKey = "artifactRepositoryS3SecretKey"
DefaultEnvironmentVariableSecret = "onepanel-default-env"
)
type Config = rest.Config

18
pkg/util/env/env.go vendored
View File

@@ -1,10 +1,15 @@
package env
import (
"github.com/onepanelio/core/pkg/util/ptr"
corev1 "k8s.io/api/core/v1"
"os"
)
const (
DefaultEnvironmentVariableSecret = "onepanel-default-env"
)
func GetEnv(key, fallback string) string {
if value, ok := os.LookupEnv(key); ok {
return value
@@ -12,7 +17,7 @@ func GetEnv(key, fallback string) string {
return fallback
}
func PrependEnvToContainer(container *corev1.Container, name, value string) {
func PrependEnvVarToContainer(container *corev1.Container, name, value string) {
for _, e := range container.Env {
if e.Name == name {
return
@@ -25,3 +30,14 @@ func PrependEnvToContainer(container *corev1.Container, name, value string) {
},
}, container.Env...)
}
func AddDefaultEnvVarsToContainr(container *corev1.Container) {
container.EnvFrom = append(container.EnvFrom, corev1.EnvFromSource{
SecretRef: &corev1.SecretEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: DefaultEnvironmentVariableSecret,
},
Optional: ptr.Bool(true),
},
})
}

View File

@@ -164,23 +164,16 @@ func (c *Client) injectAutomatedFields(namespace string, wf *wfv1.Workflow, opts
//Generate ENV vars from secret, if there is a container present in the workflow
//Get template ENV vars, avoid over-writing them with secret values
template.Container.EnvFrom = append(template.Container.EnvFrom, corev1.EnvFromSource{
SecretRef: &corev1.SecretEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: DefaultEnvironmentVariableSecret,
},
Optional: ptr.Bool(true),
},
})
env.AddDefaultEnvVarsToContainr(template.Container)
config, sysErr := c.GetSystemConfig()
if sysErr != nil {
return sysErr
}
env.PrependEnvToContainer(template.Container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
env.PrependEnvToContainer(template.Container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
env.PrependEnvToContainer(template.Container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
env.PrependEnvToContainer(template.Container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
env.PrependEnvVarToContainer(template.Container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
}

View File

@@ -158,18 +158,11 @@ func createStatefulSetManifest(workspaceSpec *WorkspaceSpec, config map[string]s
volumeClaimsMapped := make(map[string]bool)
for i, c := range workspaceSpec.Containers {
container := &workspaceSpec.Containers[i]
container.EnvFrom = append(container.EnvFrom, corev1.EnvFromSource{
SecretRef: &corev1.SecretEnvSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: DefaultEnvironmentVariableSecret,
},
Optional: ptr.Bool(true),
},
})
env.PrependEnvToContainer(container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
env.PrependEnvToContainer(container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
env.PrependEnvToContainer(container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
env.PrependEnvToContainer(container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
env.AddDefaultEnvVarsToContainr(container)
env.PrependEnvVarToContainer(container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
env.PrependEnvVarToContainer(container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
env.PrependEnvVarToContainer(container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
env.PrependEnvVarToContainer(container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
for _, v := range c.VolumeMounts {
if volumeClaimsMapped[v.Name] {