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
4a5721fb
Commit
4a5721fb
authored
8 years ago
by
Justin Scott
Browse files
Options
Download
Patches
Plain Diff
Fixup style and errors
parent
007bb9db
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.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
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
pkg/chartutil/requirements.go
+32
-32
pkg/chartutil/requirements.go
with
32 additions
and
32 deletions
+32
-32
pkg/chartutil/requirements.go
+
32
−
32
View file @
4a5721fb
...
@@ -269,15 +269,20 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
...
@@ -269,15 +269,20 @@ func ProcessRequirementsEnabled(c *chart.Chart, v *chart.Config) error {
return
nil
return
nil
}
}
// pathToMap creates a nested map given a YAML path in dot notation
// pathToMap creates a nested map given a YAML path in dot notation
.
func
pathToMap
(
path
string
,
data
map
[
string
]
interface
{})
map
[
string
]
interface
{}
{
func
pathToMap
(
path
string
,
data
map
[
string
]
interface
{})
map
[
string
]
interface
{}
{
ap
:=
strings
.
Split
(
path
,
"."
)
ap
:=
strings
.
Split
(
path
,
"."
)
if
len
(
ap
)
==
0
{
return
nil
}
n
:=
[]
map
[
string
]
interface
{}{}
n
:=
[]
map
[
string
]
interface
{}{}
// created nested map for each key, adding to slice
for
_
,
v
:=
range
ap
{
for
_
,
v
:=
range
ap
{
nm
:=
make
(
map
[
string
]
interface
{})
nm
:=
make
(
map
[
string
]
interface
{})
nm
[
v
]
=
make
(
map
[
string
]
interface
{})
nm
[
v
]
=
make
(
map
[
string
]
interface
{})
n
=
append
(
n
,
nm
)
n
=
append
(
n
,
nm
)
}
}
// find the last key (map) and set our data
for
i
,
d
:=
range
n
{
for
i
,
d
:=
range
n
{
for
k
:=
range
d
{
for
k
:=
range
d
{
z
:=
i
+
1
z
:=
i
+
1
...
@@ -292,11 +297,10 @@ func pathToMap(path string, data map[string]interface{}) map[string]interface{}
...
@@ -292,11 +297,10 @@ func pathToMap(path string, data map[string]interface{}) map[string]interface{}
return
n
[
0
]
return
n
[
0
]
}
}
// getParents returns a slice of parent charts in reverse order
// getParents returns a slice of parent charts in reverse order
.
func
getParents
(
c
*
chart
.
Chart
,
out
[]
*
chart
.
Chart
)
[]
*
chart
.
Chart
{
func
getParents
(
c
*
chart
.
Chart
,
out
[]
*
chart
.
Chart
)
[]
*
chart
.
Chart
{
if
len
(
out
)
==
0
{
if
len
(
out
)
==
0
{
out
=
[]
*
chart
.
Chart
{}
out
=
[]
*
chart
.
Chart
{
c
}
out
=
append
(
out
,
c
)
}
}
for
_
,
ch
:=
range
c
.
Dependencies
{
for
_
,
ch
:=
range
c
.
Dependencies
{
if
len
(
ch
.
Dependencies
)
>
0
{
if
len
(
ch
.
Dependencies
)
>
0
{
...
@@ -308,16 +312,15 @@ func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart {
...
@@ -308,16 +312,15 @@ func getParents(c *chart.Chart, out []*chart.Chart) []*chart.Chart {
return
out
return
out
}
}
// processImportValues merges values from child to parent based on ImportValues field
// processImportValues merges values from child to parent based on ImportValues field
.
func
processImportValues
(
c
*
chart
.
Chart
,
v
*
chart
.
Config
)
error
{
func
processImportValues
(
c
*
chart
.
Chart
,
v
*
chart
.
Config
)
error
{
reqs
,
err
:=
LoadRequirements
(
c
)
reqs
,
err
:=
LoadRequirements
(
c
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Printf
(
"Warning: ImportValues cannot load requirements for %s"
,
c
.
Metadata
.
Name
)
return
err
return
nil
}
}
cvals
,
err
:=
CoalesceValues
(
c
,
v
)
cvals
,
err
:=
CoalesceValues
(
c
,
v
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"Error coalescing values for ImportValues %s"
,
err
)
return
err
}
}
nv
:=
v
.
GetValues
()
nv
:=
v
.
GetValues
()
b
:=
make
(
map
[
string
]
interface
{})
b
:=
make
(
map
[
string
]
interface
{})
...
@@ -328,30 +331,29 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
...
@@ -328,30 +331,29 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
if
len
(
r
.
ImportValues
)
>
0
{
if
len
(
r
.
ImportValues
)
>
0
{
var
outiv
[]
interface
{}
var
outiv
[]
interface
{}
for
_
,
riv
:=
range
r
.
ImportValues
{
for
_
,
riv
:=
range
r
.
ImportValues
{
switch
riv
.
(
type
)
{
switch
iv
:=
riv
.
(
type
)
{
case
map
[
string
]
interface
{}
:
case
map
[
string
]
interface
{}
:
if
m
,
ok
:=
riv
.
(
map
[
string
]
interface
{});
ok
{
nm
:=
map
[
string
]
string
{
nm
:=
make
(
map
[
string
]
string
)
"child"
:
iv
[
"child"
]
.
(
string
)
,
nm
[
"child"
]
=
m
[
"child
"
]
.
(
string
)
"parent"
:
iv
[
"parent
"
]
.
(
string
)
,
nm
[
"parent"
]
=
m
[
"parent"
]
.
(
string
)
}
outiv
=
append
(
outiv
,
nm
)
outiv
=
append
(
outiv
,
nm
)
s
:=
r
.
Name
+
"."
+
nm
[
"child"
]
s
:=
r
.
Name
+
"."
+
nm
[
"child"
]
vv
,
err
:=
cvals
.
Table
(
s
)
vv
,
err
:=
cvals
.
Table
(
s
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Printf
(
"Warning: ImportValues missing table %v"
,
err
)
log
.
Printf
(
"Warning: ImportValues missing table %v"
,
err
)
continue
continue
}
}
if
nm
[
"parent"
]
==
"."
{
if
nm
[
"parent"
]
==
"."
{
coalesceTables
(
b
,
vv
.
AsMap
())
coalesceTables
(
b
,
vv
.
AsMap
())
}
else
{
}
else
{
vm
:=
pathToMap
(
nm
[
"parent"
],
vv
.
AsMap
())
vm
:=
pathToMap
(
nm
[
"parent"
],
vv
.
AsMap
())
coalesceTables
(
b
,
vm
)
coalesceTables
(
b
,
vm
)
}
}
}
case
string
:
case
string
:
nm
:=
make
(
map
[
string
]
string
)
nm
:=
make
(
map
[
string
]
string
)
nm
[
"child"
]
=
"exports."
+
r
iv
.
(
string
)
nm
[
"child"
]
=
"exports."
+
iv
nm
[
"parent"
]
=
"."
nm
[
"parent"
]
=
"."
outiv
=
append
(
outiv
,
nm
)
outiv
=
append
(
outiv
,
nm
)
s
:=
r
.
Name
+
"."
+
nm
[
"child"
]
s
:=
r
.
Name
+
"."
+
nm
[
"child"
]
...
@@ -367,14 +369,13 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
...
@@ -367,14 +369,13 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
r
.
ImportValues
=
outiv
r
.
ImportValues
=
outiv
}
}
}
}
cv
,
err
:=
coalesceValues
(
c
,
b
)
cv
,
err
:=
coalesceValues
(
c
,
b
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatalf
(
"Error coalescing processed values for ImportValues %s"
,
err
)
return
err
}
}
y
,
err
:=
yaml
.
Marshal
(
cv
)
y
,
err
:=
yaml
.
Marshal
(
cv
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Printf
(
"Warning: ImportValues could not marshall %v"
,
err
)
return
err
}
}
bb
:=
&
chart
.
Config
{
Raw
:
string
(
y
)}
bb
:=
&
chart
.
Config
{
Raw
:
string
(
y
)}
v
=
bb
v
=
bb
...
@@ -383,12 +384,11 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
...
@@ -383,12 +384,11 @@ func processImportValues(c *chart.Chart, v *chart.Config) error {
return
nil
return
nil
}
}
// ProcessRequirementsImportValues imports specified chart values from child to parent
// ProcessRequirementsImportValues imports specified chart values from child to parent
.
func
ProcessRequirementsImportValues
(
c
*
chart
.
Chart
,
v
*
chart
.
Config
)
error
{
func
ProcessRequirementsImportValues
(
c
*
chart
.
Chart
,
v
*
chart
.
Config
)
error
{
pc
:=
getParents
(
c
,
nil
)
pc
:=
getParents
(
c
,
nil
)
for
i
:=
len
(
pc
)
-
1
;
i
>=
0
;
i
--
{
for
i
:=
len
(
pc
)
-
1
;
i
>=
0
;
i
--
{
processImportValues
(
pc
[
i
],
v
)
processImportValues
(
pc
[
i
],
v
)
}
}
return
nil
return
nil
...
...
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