Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
1105 Внедрение механизмов обеспечения безопасности цепочки поставки программных проектов
Legacy
scanned-projects
helm
Commits
b3d812b3
Commit
b3d812b3
authored
8 years ago
by
Matt Butcher
Committed by
GitHub
8 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1692 from technosophos/fix/allow-global-map-merges
fix(tller): allow deep merge of global maps
parents
08143b6e
6faf4675
main
Release
add-codeql
dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
dependabot/go_modules/github.com/lib/pq-1.10.9
dependabot/go_modules/github.com/rubenv/sql-migrate-1.4.0
dependabot/go_modules/golang.org/x/crypto-0.9.0
dependabot/go_modules/golang.org/x/term-0.8.0
dependabot/go_modules/k8s.io/klog/v2-2.100.1
dev-v2
feat-v3/event-emitter-lua
release-2.10
release-2.11
release-2.12
release-2.13
release-2.14
release-2.15
release-2.16
release-2.17
release-2.2
release-2.3
release-2.4
release-2.5
release-2.6
release-2.7
release-2.8
release-2.9
release-3.0
release-3.1
release-3.10
release-3.11
release-3.12
release-3.2
release-3.3
release-3.4
release-3.5
release-3.6
release-3.6.1
release-3.6.2
release-3.7
release-3.8
release-3.9
release-v3.0.0-beta.4
v3.12.0
v3.12.0-rc.1
v3.12.0-dev.1
v3.11.3
v3.11.2
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v3.4.0-rc.1
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.2.0-rc.1
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-beta.5
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v3.0.0-alpha.2
v3.0.0-alpha.1
v2.17.0
v2.17.0-rc.1
v2.16.12
v2.16.11
v2.16.10
v2.16.9
v2.16.8
v2.16.7
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16.0
v2.16.0-rc.2
v2.16.0-rc.1
v2.15.2
v2.15.1
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v2.14.3
v2.14.2
v2.14.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
v2.9.1
v2.9.0
v2.9.0-rc5
v2.9.0-rc4
v2.9.0-rc3
v2.9.0-rc2
v2.9.0-rc1
v2.8.2
v2.8.2-rc1
v2.8.1
v2.8.0
v2.8.0-rc.1
v2.7.2
v2.7.1
v2.7.0
v2.7.0-rc1
v2.6.2
v2.6.1
v2.6.0
v2.5.1
v2.5.0
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
pkg/chartutil/values.go
+28
-6
pkg/chartutil/values.go
pkg/chartutil/values_test.go
+11
-0
pkg/chartutil/values_test.go
with
39 additions
and
6 deletions
+39
-6
pkg/chartutil/values.go
+
28
−
6
View file @
b3d812b3
...
...
@@ -216,15 +216,30 @@ func coalesceGlobals(dest, src map[string]interface{}) map[string]interface{} {
return
dg
}
// We manually copy (instead of using coalesceTables) because (a) we need
// to prevent loops, and (b) we disallow nesting tables under globals.
// Globals should _just_ be k/v pairs.
// EXPERIMENTAL: In the past, we have disallowed globals to test tables. This
// reverses that decision. It may somehow be possible to introduce a loop
// here, but I haven't found a way. So for the time being, let's allow
// tables in globals.
for
key
,
val
:=
range
sg
{
if
istable
(
val
)
{
log
.
Printf
(
"warning: nested values are illegal in globals (%s)"
,
key
)
continue
vv
:=
copyMap
(
val
.
(
map
[
string
]
interface
{}))
if
destv
,
ok
:=
dg
[
key
];
ok
{
if
destvmap
,
ok
:=
destv
.
(
map
[
string
]
interface
{});
ok
{
// Basically, we reverse order of coalesce here to merge
// top-down.
coalesceTables
(
vv
,
destvmap
)
dg
[
key
]
=
vv
continue
}
else
{
log
.
Printf
(
"Conflict: cannot merge map onto non-map for %q. Skipping."
,
key
)
}
}
else
{
// Here there is no merge. We're just adding.
dg
[
key
]
=
vv
}
}
else
if
dv
,
ok
:=
dg
[
key
];
ok
&&
istable
(
dv
)
{
log
.
Printf
(
"warning: nested values are illegal in globals (%s)"
,
key
)
// It's not clear if this condition can actually ever trigger.
log
.
Printf
(
"key %s is table. Skipping"
,
key
)
continue
}
// TODO: Do we need to do any additional checking on the value?
...
...
@@ -232,7 +247,14 @@ func coalesceGlobals(dest, src map[string]interface{}) map[string]interface{} {
}
dest
[
GlobalKey
]
=
dg
return
dest
}
func
copyMap
(
src
map
[
string
]
interface
{})
map
[
string
]
interface
{}
{
dest
:=
make
(
map
[
string
]
interface
{},
len
(
src
))
for
k
,
v
:=
range
src
{
dest
[
k
]
=
v
}
return
dest
}
// coalesceValues builds up a values map for a particular chart.
...
...
This diff is collapsed.
Click to expand it.
pkg/chartutil/values_test.go
+
11
−
0
View file @
b3d812b3
...
...
@@ -263,11 +263,16 @@ top: yup
global:
name: Ishmael
subject: Queequeg
nested:
boat: true
pequod:
global:
name: Stinky
harpooner: Tashtego
nested:
boat: false
sail: true
ahab:
scope: whale
`
...
...
@@ -307,6 +312,12 @@ func TestCoalesceValues(t *testing.T) {
{
"{{.pequod.global.subject}}"
,
"Queequeg"
},
{
"{{.spouter.global.name}}"
,
"Ishmael"
},
{
"{{.spouter.global.harpooner}}"
,
"<no value>"
},
{
"{{.global.nested.boat}}"
,
"true"
},
{
"{{.pequod.global.nested.boat}}"
,
"true"
},
{
"{{.spouter.global.nested.boat}}"
,
"true"
},
{
"{{.pequod.global.nested.sail}}"
,
"true"
},
{
"{{.spouter.global.nested.sail}}"
,
"<no value>"
},
}
for
_
,
tt
:=
range
tests
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets