mirror of
https://github.com/kubevela/kubevela.git
synced 2026-02-14 10:00:06 +00:00
Some checks failed
Webhook Upgrade Validation / webhook-upgrade-check (push) Failing after 24s
* chore: updates culenag version and syntax across all files Signed-off-by: Amit Singh <singhamitch@outlook.com> Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * debuggin: reverts tf provider changes Signed-off-by: Amit Singh <singhamitch@outlook.com> Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * Refactor: Simplify provider configuration by removing 'providerBasic' and directly defining access keys and region for providers Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * Refactor: Consolidate provider configuration by introducing 'providerBasic' for access keys and region Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: reorganize import statements in deepcopy files for consistency Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: reorder import statements for consistency across deepcopy files Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * Refactor: Safely handle pattern parameter selectors to avoid panics in GetParameters and getStatusMap Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: add comment to clarify test context in definition_revision_test.go Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: remove redundant comment from test context initialization in definition_revision_test.go Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * Refactor: Introduce GetSelectorLabel function to safely extract labels from CUE selectors Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: add newline at end of file in utils.go Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> * chore: increase timeout for multi-cluster e2e Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> --------- Signed-off-by: Amit Singh <singhamitch@outlook.com> Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com> Co-authored-by: Amit Singh <singhamitch@outlook.com> Co-authored-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
111 lines
3.8 KiB
YAML
111 lines
3.8 KiB
YAML
# Code generated by KubeVela templates. DO NOT EDIT. Please edit the original cue file.
|
|
# Definition source cue file: vela-templates/definitions/internal/env.cue
|
|
apiVersion: core.oam.dev/v1beta1
|
|
kind: TraitDefinition
|
|
metadata:
|
|
annotations:
|
|
definition.oam.dev/description: Add env on K8s pod for your workload which follows the pod spec in path 'spec.template'
|
|
name: env
|
|
namespace: {{ include "systemDefinitionNamespace" . }}
|
|
spec:
|
|
appliesToWorkloads:
|
|
- deployments.apps
|
|
- statefulsets.apps
|
|
- daemonsets.apps
|
|
- jobs.batch
|
|
schematic:
|
|
cue:
|
|
template: |
|
|
import "list"
|
|
|
|
#PatchParams: {
|
|
// +usage=Specify the name of the target container, if not set, use the component name
|
|
containerName: *"" | string
|
|
// +usage=Specify if replacing the whole environment settings for the container
|
|
replace: *false | bool
|
|
// +usage=Specify the environment variables to merge, if key already existing, override its value
|
|
env: [string]: string
|
|
// +usage=Specify which existing environment variables to unset
|
|
unset: *[] | [...string]
|
|
}
|
|
PatchContainer: {
|
|
_params: #PatchParams
|
|
name: _params.containerName
|
|
_delKeys: {for k in _params.unset {(k): ""}}
|
|
_baseContainers: context.output.spec.template.spec.containers
|
|
_matchContainers_: [for _container_ in _baseContainers if _container_.name == name {_container_}]
|
|
_baseContainer: *_|_ | {...}
|
|
if len(_matchContainers_) == 0 {
|
|
err: "container \(name) not found"
|
|
}
|
|
if len(_matchContainers_) > 0 {
|
|
_baseContainer: _matchContainers_[0]
|
|
_baseEnv: _baseContainer.env
|
|
if _baseEnv == _|_ {
|
|
// +patchStrategy=replace
|
|
env: [for k, v in _params.env if _delKeys[k] == _|_ {
|
|
name: k
|
|
value: v
|
|
}]
|
|
}
|
|
if _baseEnv != _|_ {
|
|
_baseEnvMap: {for envVar in _baseEnv {(envVar.name): envVar}}
|
|
// +patchStrategy=replace
|
|
env: list.Concat([[for envVar in _baseEnv if _delKeys[envVar.name] == _|_ && !_params.replace {
|
|
name: envVar.name
|
|
if _params.env[envVar.name] != _|_ {
|
|
value: _params.env[envVar.name]
|
|
}
|
|
if _params.env[envVar.name] == _|_ {
|
|
if envVar.value != _|_ {
|
|
value: envVar.value
|
|
}
|
|
if envVar.valueFrom != _|_ {
|
|
valueFrom: envVar.valueFrom
|
|
}
|
|
}
|
|
}], [for k, v in _params.env if _delKeys[k] == _|_ && (_params.replace || _baseEnvMap[k] == _|_) {
|
|
name: k
|
|
value: v
|
|
}]])
|
|
}
|
|
}
|
|
}
|
|
patch: spec: template: spec: {
|
|
if parameter.containers == _|_ {
|
|
// +patchKey=name
|
|
containers: [{
|
|
PatchContainer & {_params: {
|
|
if parameter.containerName == "" {
|
|
containerName: context.name
|
|
}
|
|
if parameter.containerName != "" {
|
|
containerName: parameter.containerName
|
|
}
|
|
replace: parameter.replace
|
|
env: parameter.env
|
|
unset: parameter.unset
|
|
}}
|
|
}]
|
|
}
|
|
if parameter.containers != _|_ {
|
|
// +patchKey=name
|
|
containers: [for c in parameter.containers {
|
|
if c.containerName == "" {
|
|
err: "containerName must be set for containers"
|
|
}
|
|
if c.containerName != "" {
|
|
PatchContainer & {_params: c}
|
|
}
|
|
}]
|
|
}
|
|
}
|
|
|
|
parameter: *#PatchParams | close({
|
|
// +usage=Specify the environment variables for multiple containers
|
|
containers: [...#PatchParams]
|
|
})
|
|
|
|
errs: [for c in patch.spec.template.spec.containers if c.err != _|_ {c.err}]
|
|
|