Revert "additional-whitelist"

This reverts commit ac8e123815.
This commit is contained in:
Tejal Desai 2020-01-28 08:52:29 -08:00
parent 4919fb5bca
commit c8b19894bb
3 changed files with 50 additions and 80 deletions

View File

@ -63,7 +63,6 @@ _If you are interested in contributing to kaniko, see [DEVELOPMENT.md](DEVELOPME
- [--single-snapshot](#--single-snapshot)
- [--skip-tls-verify](#--skip-tls-verify)
- [--skip-tls-verify-pull](#--skip-tls-verify-pull)
- [--additional-whitelist](#--additional-whitelist)
- [--snapshotMode](#--snapshotmode)
- [--target](#--target)
- [--tarPath](#--tarpath)
@ -494,9 +493,6 @@ Set this flag to skip TLS certificate validation when pushing to a registry. It
Set this flag to skip TLS certificate validation when pulling from a registry. It is supposed to be used for testing purposes only and should not be used in production!
#### --additional-whitelist
Set this flag with a list of filepaths and Kaniko will ignore these paths during the build. Useful for improving build performance on large filesystems.
#### --snapshotMode
You can set the `--snapshotMode=<full (default), time>` flag to set how kaniko will snapshot the filesystem.

View File

@ -75,6 +75,12 @@ var RootCmd = &cobra.Command{
return errors.New("You must provide --destination if setting ImageNameDigestFile")
}
if additionalWhitelist == nil {
additionalWhitelist = []string{
"/var/run",
}
}
for _, path := range additionalWhitelist {
util.AddToWhitelist(path)
}
@ -152,7 +158,7 @@ func addKanikoOptionsFlags() {
// We use nil as the default value so we can differentiate between the flag passed
// with an empty list and the flag not set
RootCmd.PersistentFlags().StringSliceVar(&additionalWhitelist, "additional-whitelist", []string{}, "Paths to whitelist. These will be ignored by kaniko to improve performance.")
RootCmd.PersistentFlags().StringSliceVar(&additionalWhitelist, "additional-whitelist", nil, "Paths to whitelist. These will be ignored be kaniko to improve performance.")
}
// addHiddenFlags marks certain flags as hidden from the executor help text

View File

@ -38,50 +38,6 @@ import (
)
func Test_DetectFilesystemWhitelist(t *testing.T) {
type testcase struct {
desc string
additionalWhitelist []string
expectedWhitelist []WhitelistEntry
}
expectedWhitelist := []WhitelistEntry{
{"/kaniko", false},
{"/proc", false},
{"/dev", false},
{"/dev/pts", false},
{"/sys", false},
{"/etc/mtab", false},
}
testCases := []testcase{
{
desc: "no additional whitelist",
expectedWhitelist: expectedWhitelist,
},
{
desc: "one additional whitelist - /var/run",
additionalWhitelist: []string{"/var/run"},
expectedWhitelist: append(expectedWhitelist, WhitelistEntry{"/var/run", false}),
},
{
desc: "two additional whitelist - /var/run, /usr/bin",
additionalWhitelist: []string{"/var/run", "/usr/bin"},
expectedWhitelist: append(
expectedWhitelist,
WhitelistEntry{"/var/run", false},
WhitelistEntry{"/usr/bin", false},
),
},
}
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
expectedWhitelist := tc.expectedWhitelist
additionalWhitelist := tc.additionalWhitelist
tmpWhitelist := make([]WhitelistEntry, len(initialWhitelist))
copy(tmpWhitelist, initialWhitelist)
testDir, err := ioutil.TempDir("", "")
if err != nil {
t.Fatalf("Error creating tempdir: %s", err)
@ -101,33 +57,45 @@ func Test_DetectFilesystemWhitelist(t *testing.T) {
t.Fatalf("Error writing file contents to %s: %s", path, err)
}
for _, wl := range additionalWhitelist {
AddToWhitelist(wl)
}
err = DetectFilesystemWhitelist(path)
actualWhitelist := whitelist
if len(actualWhitelist) != len(expectedWhitelist) {
t.Errorf(
"expected whitelist to have %d items but was %d",
len(expectedWhitelist),
len(actualWhitelist),
)
expectedWhitelist := []WhitelistEntry{
{"/kaniko", false},
{"/proc", false},
{"/dev", false},
{"/dev/pts", false},
{"/sys", false},
{"/etc/mtab", false},
}
actualWhitelist := whitelist
sort.Slice(actualWhitelist, func(i, j int) bool {
return actualWhitelist[i].Path < actualWhitelist[j].Path
})
sort.Slice(expectedWhitelist, func(i, j int) bool {
return expectedWhitelist[i].Path < expectedWhitelist[j].Path
})
testutil.CheckErrorAndDeepEqual(t, false, err, expectedWhitelist, actualWhitelist)
initialWhitelist = tmpWhitelist
tmpInitial := make([]WhitelistEntry, len(initialWhitelist))
copy(tmpInitial, initialWhitelist)
defer func() {
initialWhitelist = tmpInitial
}()
AddToWhitelist("/var/run")
err = DetectFilesystemWhitelist(path)
expectedWhitelist = append(expectedWhitelist,
WhitelistEntry{"/var/run", false})
actualWhitelist = whitelist
sort.Slice(actualWhitelist, func(i, j int) bool {
return actualWhitelist[i].Path < actualWhitelist[j].Path
})
}
sort.Slice(expectedWhitelist, func(i, j int) bool {
return expectedWhitelist[i].Path < expectedWhitelist[j].Path
})
testutil.CheckErrorAndDeepEqual(t, false, err, expectedWhitelist, actualWhitelist)
}
var tests = []struct {