mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-05 13:46:51 +08:00
move envfrom to util
This commit is contained in:
@@ -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
18
pkg/util/env/env.go
vendored
@@ -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),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
@@ -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"])
|
||||
|
||||
}
|
||||
|
||||
|
@@ -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] {
|
||||
|
Reference in New Issue
Block a user