mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-07 22:50:53 +08:00
move envfrom to util
This commit is contained in:
@@ -25,8 +25,6 @@ const (
|
|||||||
ArtifactRepositoryInsecureKey = "artifactRepositoryS3Insecure"
|
ArtifactRepositoryInsecureKey = "artifactRepositoryS3Insecure"
|
||||||
ArtifactRepositoryAccessKeyValueKey = "artifactRepositoryS3AccessKey"
|
ArtifactRepositoryAccessKeyValueKey = "artifactRepositoryS3AccessKey"
|
||||||
ArtifactRepositorySecretKeyValueKey = "artifactRepositoryS3SecretKey"
|
ArtifactRepositorySecretKeyValueKey = "artifactRepositoryS3SecretKey"
|
||||||
|
|
||||||
DefaultEnvironmentVariableSecret = "onepanel-default-env"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config = rest.Config
|
type Config = rest.Config
|
||||||
|
18
pkg/util/env/env.go
vendored
18
pkg/util/env/env.go
vendored
@@ -1,10 +1,15 @@
|
|||||||
package env
|
package env
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/onepanelio/core/pkg/util/ptr"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
DefaultEnvironmentVariableSecret = "onepanel-default-env"
|
||||||
|
)
|
||||||
|
|
||||||
func GetEnv(key, fallback string) string {
|
func GetEnv(key, fallback string) string {
|
||||||
if value, ok := os.LookupEnv(key); ok {
|
if value, ok := os.LookupEnv(key); ok {
|
||||||
return value
|
return value
|
||||||
@@ -12,7 +17,7 @@ func GetEnv(key, fallback string) string {
|
|||||||
return fallback
|
return fallback
|
||||||
}
|
}
|
||||||
|
|
||||||
func PrependEnvToContainer(container *corev1.Container, name, value string) {
|
func PrependEnvVarToContainer(container *corev1.Container, name, value string) {
|
||||||
for _, e := range container.Env {
|
for _, e := range container.Env {
|
||||||
if e.Name == name {
|
if e.Name == name {
|
||||||
return
|
return
|
||||||
@@ -25,3 +30,14 @@ func PrependEnvToContainer(container *corev1.Container, name, value string) {
|
|||||||
},
|
},
|
||||||
}, container.Env...)
|
}, 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
|
//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
|
//Get template ENV vars, avoid over-writing them with secret values
|
||||||
template.Container.EnvFrom = append(template.Container.EnvFrom, corev1.EnvFromSource{
|
env.AddDefaultEnvVarsToContainr(template.Container)
|
||||||
SecretRef: &corev1.SecretEnvSource{
|
|
||||||
LocalObjectReference: corev1.LocalObjectReference{
|
|
||||||
Name: DefaultEnvironmentVariableSecret,
|
|
||||||
},
|
|
||||||
Optional: ptr.Bool(true),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
config, sysErr := c.GetSystemConfig()
|
config, sysErr := c.GetSystemConfig()
|
||||||
if sysErr != nil {
|
if sysErr != nil {
|
||||||
return sysErr
|
return sysErr
|
||||||
}
|
}
|
||||||
env.PrependEnvToContainer(template.Container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
|
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
|
||||||
env.PrependEnvToContainer(template.Container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
|
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
|
||||||
env.PrependEnvToContainer(template.Container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
|
env.PrependEnvVarToContainer(template.Container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
|
||||||
env.PrependEnvToContainer(template.Container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
|
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)
|
volumeClaimsMapped := make(map[string]bool)
|
||||||
for i, c := range workspaceSpec.Containers {
|
for i, c := range workspaceSpec.Containers {
|
||||||
container := &workspaceSpec.Containers[i]
|
container := &workspaceSpec.Containers[i]
|
||||||
container.EnvFrom = append(container.EnvFrom, corev1.EnvFromSource{
|
env.AddDefaultEnvVarsToContainr(container)
|
||||||
SecretRef: &corev1.SecretEnvSource{
|
env.PrependEnvVarToContainer(container, "ONEPANEL_API_URL", config["ONEPANEL_API_URL"])
|
||||||
LocalObjectReference: corev1.LocalObjectReference{
|
env.PrependEnvVarToContainer(container, "ONEPANEL_FQDN", config["ONEPANEL_FQDN"])
|
||||||
Name: DefaultEnvironmentVariableSecret,
|
env.PrependEnvVarToContainer(container, "ONEPANEL_DOMAIN", config["ONEPANEL_DOMAIN"])
|
||||||
},
|
env.PrependEnvVarToContainer(container, "PROVIDER_TYPE", config["PROVIDER_TYPE"])
|
||||||
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"])
|
|
||||||
|
|
||||||
for _, v := range c.VolumeMounts {
|
for _, v := range c.VolumeMounts {
|
||||||
if volumeClaimsMapped[v.Name] {
|
if volumeClaimsMapped[v.Name] {
|
||||||
|
Reference in New Issue
Block a user