Skip to content

Commit

Permalink
Update latest libraries master
Browse files Browse the repository at this point in the history
  • Loading branch information
phanimarupaka committed Dec 14, 2020
1 parent 57ea7e5 commit e583b41
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 122 deletions.
23 changes: 0 additions & 23 deletions commands/configcmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
package commands

import (
"fmt"
"os"

"github.com/GoogleContainerTools/kpt/internal/cmdsearch"
Expand All @@ -25,8 +24,6 @@ import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/configcobra"
"sigs.k8s.io/kustomize/kyaml/fieldmeta"
"sigs.k8s.io/kustomize/kyaml/kio"
kyamlsetters "sigs.k8s.io/kustomize/kyaml/setters"
)

const ShortHandRef = "$kpt-set"
Expand Down Expand Up @@ -153,7 +150,6 @@ func SetCommand(parent string) *cobra.Command {
setCmd.Flags().BoolVar(&autoRun, "auto-run", true,
`Automatically run functions after setting (if enabled for the package)`)
setCmd.RunE = func(c *cobra.Command, args []string) error {
warnIfSetterV1(args[0])
kustomizeCmd.SetArgs(args)
if err := kustomizeCmd.Execute(); err != nil {
return err
Expand Down Expand Up @@ -181,22 +177,3 @@ func SetCommand(parent string) *cobra.Command {
}
return &setCmd
}

// warnIfSetterV1 checks if the package is using V1 kyaml setters and prints
// warning message to upgrade them using kpt pkg fix command
func warnIfSetterV1(pkgPath string) {
l := kyamlsetters.LookupSetters{}
err := kio.Pipeline{
Inputs: []kio.Reader{&kio.LocalPackageReader{PackagePath: pkgPath}},
Filters: []kio.Filter{&l},
}.Execute()
if err != nil {
// do not throw error as it is just to warn users
return
}
if len(l.SetterCounts) > 0 {
fmt.Println("Warning: This package is using older version of setters which " +
"will be deprecated in v0.38.0(expected release date is 11/25/2020) version of kpt, please " +
"use 'kpt pkg fix -h' for instructions about upgrading it")
}
}
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ require (
k8s.io/client-go v0.18.10
k8s.io/klog v1.0.0
k8s.io/kubectl v0.18.10
sigs.k8s.io/cli-utils v0.22.1-0.20201117031003-fd39030f0508
sigs.k8s.io/kustomize/cmd/config v0.8.5
sigs.k8s.io/kustomize/kyaml v0.9.4
sigs.k8s.io/cli-utils v0.22.2-0.20201210231122-103e4dc4231a
sigs.k8s.io/kustomize/cmd/config v0.8.7-0.20201211170716-cc43a2d732d1
sigs.k8s.io/kustomize/kyaml v0.10.4-0.20201211170716-cc43a2d732d1
)
11 changes: 11 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMw
github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
Expand Down Expand Up @@ -296,6 +297,7 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
Expand Down Expand Up @@ -633,6 +635,7 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
Expand Down Expand Up @@ -685,14 +688,22 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
sigs.k8s.io/cli-utils v0.22.1-0.20201117031003-fd39030f0508 h1:uty/Bj8/fa2xX6CUpeehTy0JeOj0CykbWB7asovZ1PU=
sigs.k8s.io/cli-utils v0.22.1-0.20201117031003-fd39030f0508/go.mod h1:Mt1gLc/Nfa7Z3Lhbfk72uT2Kc4GNyuX4oMqEN9FbPMs=
sigs.k8s.io/cli-utils v0.22.2-0.20201210231122-103e4dc4231a h1:dRyYEIosdhURWTxk0LUZ64byfP/oDLBZZSd8HIvWXyc=
sigs.k8s.io/cli-utils v0.22.2-0.20201210231122-103e4dc4231a/go.mod h1:URzYOsy8WRWqD6dAcvuM7LSks8Nr0ccNDXkgQgQnEL8=
sigs.k8s.io/controller-runtime v0.6.0 h1:Fzna3DY7c4BIP6KwfSlrfnj20DJ+SeMBK8HSFvOk9NM=
sigs.k8s.io/controller-runtime v0.6.0/go.mod h1:CpYf5pdNY/B352A1TFLAS2JVSlnGQ5O2cftPHndTroo=
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
sigs.k8s.io/kustomize/cmd/config v0.8.5 h1:e8uMA7LjAUss3cMefVoOY2tFr92brCTUAA6CmWgq57M=
sigs.k8s.io/kustomize/cmd/config v0.8.5/go.mod h1:PlZTWxL7Xi75mY64HBC9IVf2xwrEbzy3L7r7+19kON4=
sigs.k8s.io/kustomize/cmd/config v0.8.7-0.20201211170716-cc43a2d732d1 h1:hn0F38XEFVoa38ExOT6tA4HMptyKX1h0CtgqhSUvL9g=
sigs.k8s.io/kustomize/cmd/config v0.8.7-0.20201211170716-cc43a2d732d1/go.mod h1:e4PgdLUNnkf+Iapvjyb6gTG9DZQkDZIR6uS1Bv4YA6s=
sigs.k8s.io/kustomize/kyaml v0.9.4 h1:DDuzZtjIzFqp2IPy4DTyCI69Cl3bDgcJODjI6sjF9NY=
sigs.k8s.io/kustomize/kyaml v0.9.4/go.mod h1:UTm64bSWVdBUA8EQoYCxVOaBQxUdIOr5LKWxA4GNbkw=
sigs.k8s.io/kustomize/kyaml v0.10.3 h1:ARSJUMN/c3k31DYxRfZ+vp/UepUQjg9zCwny7Oj908I=
sigs.k8s.io/kustomize/kyaml v0.10.3/go.mod h1:RA+iCHA2wPCOfv6uG6TfXXWhYsHpgErq/AljxWKuxtg=
sigs.k8s.io/kustomize/kyaml v0.10.4-0.20201211170716-cc43a2d732d1 h1:Y/e0BZo4s0d7k0B7JNyUes3ADYG4csk7aBLlyhgSwG4=
sigs.k8s.io/kustomize/kyaml v0.10.4-0.20201211170716-cc43a2d732d1/go.mod h1:RA+iCHA2wPCOfv6uG6TfXXWhYsHpgErq/AljxWKuxtg=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
Expand Down
6 changes: 3 additions & 3 deletions internal/util/openapi/openapi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func TestSomething(t *testing.T) {

ref, err := spec.NewRef(test.includesRefString)
assert.NoError(t, err)
res, err := openapi.Resolve(&ref)
res, err := openapi.Resolve(&ref, openapi.Schema())
assert.NoError(t, err)
assert.NotNil(t, res)

Expand All @@ -132,13 +132,13 @@ func TestSomething(t *testing.T) {
if test.notIncludesRefString != "" {
ref2, err := spec.NewRef(test.notIncludesRefString)
assert.NoError(t, err)
res2, _ := openapi.Resolve(&ref2)
res2, _ := openapi.Resolve(&ref2, openapi.Schema())
assert.Nil(t, res2)
}

// Verify that we have the Kustomize openAPI included.
kustomizeRef, _ := spec.NewRef("#/definitions/io.k8s.api.apps.v1.Kustomization")
kustomizeRes, err := openapi.Resolve(&kustomizeRef)
kustomizeRes, err := openapi.Resolve(&kustomizeRef, openapi.Schema())
assert.NoError(t, err)
assert.NotNil(t, kustomizeRes)
})
Expand Down
11 changes: 8 additions & 3 deletions internal/util/search/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package search

import (
"fmt"
"path/filepath"
"regexp"
"strings"

Expand Down Expand Up @@ -65,13 +66,13 @@ type SearchReplace struct {

type SearchResult struct {
// file path of the matching field
FilePath string
FilePath string

// field path of the matching field
FieldPath string

// value of the matching field
Value string
Value string
}

// Perform performs the search and replace operation on each node in the package path
Expand Down Expand Up @@ -235,7 +236,11 @@ func (sr *SearchReplace) settersValues() (map[string]string, error) {
res := make(map[string]string)
for _, marker := range markers {
name := strings.TrimSuffix(strings.TrimPrefix(marker, "${"), "}")
sch := openapi.Schema().Definitions[fieldmeta.SetterDefinitionPrefix+name]
settersSchema, err := openapi.SchemaFromFile(filepath.Join(sr.PackagePath, kptfile.KptFileName))
if err != nil {
return nil, err
}
sch := settersSchema.Definitions[fieldmeta.SetterDefinitionPrefix+name]
cliExt, err := setters2.GetExtFromSchema(&sch)
if err != nil {
return res, err
Expand Down
82 changes: 4 additions & 78 deletions internal/util/setters/setters.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,8 @@ import (
"github.com/go-openapi/spec"
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/kyaml/fieldmeta"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/openapi"
"sigs.k8s.io/kustomize/kyaml/pathutil"
"sigs.k8s.io/kustomize/kyaml/setters"
"sigs.k8s.io/kustomize/kyaml/setters2"
"sigs.k8s.io/kustomize/kyaml/setters2/settersutil"
"sigs.k8s.io/kustomize/kyaml/yaml"
Expand Down Expand Up @@ -95,11 +93,6 @@ func (a AutoSet) SetGcloudAutoSetters() error {
continue
}

err = SetV1AutoSetter(fmt.Sprintf("gcloud.%s", c), v, a.PackagePath)
if err != nil {
return err
}

err = SetV2AutoSetter(fmt.Sprintf("gcloud.%s", c), v, a.PackagePath, a.Writer)
if err != nil {
return err
Expand All @@ -108,56 +101,6 @@ func (a AutoSet) SetGcloudAutoSetters() error {
return nil
}

// SetV1AutoSetter sets the input auto setter recursively in all the sub-packages of root
// Sets GcloudProjectNumber as well, if input setter is GcloudProject
func SetV1AutoSetter(name, value, path string) error {
setter := &setters.PerformSetters{
Name: name,
Value: value,
SetBy: "kpt",
}
rw := &kio.LocalPackageReadWriter{
PackagePath: path,
KeepReaderAnnotations: false,
IncludeSubpackages: true,
}
err := kio.Pipeline{
Inputs: []kio.Reader{rw},
Filters: []kio.Filter{setter},
Outputs: []kio.Writer{rw},
}.Execute()
if err != nil {
return err
}

if name == GcloudProject && setter.Count > 0 {
// set the projectNumber if we set the projectID
projectID := value
projectNumber, err := GetProjectNumberFromProjectID(projectID)
if err != nil {
return err
}
if projectNumber != "" {
rw := &kio.LocalPackageReadWriter{
PackagePath: path,
KeepReaderAnnotations: false,
IncludeSubpackages: true,
}
err = kio.Pipeline{
Inputs: []kio.Reader{rw},
Filters: []kio.Filter{&setters.PerformSetters{
Name: GcloudProjectNumber,
Value: projectNumber, SetBy: "kpt"}},
Outputs: []kio.Writer{rw},
}.Execute()
if err != nil {
return err
}
}
}
return nil
}

// SetV2AutoSetter sets the input auto setter recursively in all the sub-packages of root
// Sets GcloudProjectNumber as well, if input setter is GcloudProject
func SetV2AutoSetter(name, value, root string, w io.Writer) error {
Expand Down Expand Up @@ -247,22 +190,6 @@ func (a AutoSet) SetEnvAutoSetters() error {
k, v := strings.TrimPrefix(parts[0], "KPT_SET_"), parts[1]

for _, resourcesPath := range resourcePackagesPaths {
rw := &kio.LocalPackageReadWriter{
PackagePath: resourcesPath,
PackageFileName: kptfile.KptFileName,
}

setter := &setters.PerformSetters{Name: k, Value: v, SetBy: "kpt"}
err := kio.Pipeline{
Inputs: []kio.Reader{rw},
Filters: []kio.Filter{setter},
Outputs: []kio.Writer{rw},
}.Execute()

if err != nil {
return err
}

if !DefExists(resourcesPath, k) || isSet(k, filepath.Join(resourcesPath, kptfile.KptFileName)) {
continue
}
Expand Down Expand Up @@ -331,12 +258,11 @@ func (a AutoSet) SetInheritedSetters() error {

// setInheritedSettersForPkg inherits the setter value of setterRef to pkgPath from parentKptfilePath
func (a AutoSet) setInheritedSettersForPkg(pkgPath, parentKptfilePath, setterRef string) error {
clean, err := openapi.AddSchemaFromFile(parentKptfilePath)
sc, err := openapi.SchemaFromFile(parentKptfilePath)
if err != nil {
return err
}
defer clean()
sch := openapi.Schema().Definitions[setterRef]
sch := sc.Definitions[setterRef]
cliExt, err := setters2.GetExtFromSchema(&sch)
if cliExt == nil || cliExt.Setter == nil || err != nil {
// if the ref doesn't exist in global schema or if it is not a setter
Expand Down Expand Up @@ -427,14 +353,14 @@ func parentDirWithKptfile(parentPath string) (string, error) {

// DefExists returns true if the setterName exists in Kptfile definitions
func DefExists(resourcePath, setterName string) bool {
_, err := openapi.AddSchemaFromFile(filepath.Join(resourcePath, kptfile.KptFileName))
sc, err := openapi.SchemaFromFile(filepath.Join(resourcePath, kptfile.KptFileName))
if err != nil {
return false
}
ref, err := spec.NewRef(fieldmeta.DefinitionsPrefix + fieldmeta.SetterDefinitionPrefix + setterName)
if err != nil {
return false
}
setter, _ := openapi.Resolve(&ref)
setter, _ := openapi.Resolve(&ref, sc)
return setter != nil
}
2 changes: 0 additions & 2 deletions internal/util/update/resource-merge.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ func (u ResourceMergeUpdater) Update(options UpdateOptions) error {
}

err = settersutil.SetAllSetterDefinitions(
false,
filepath.Join(options.PackagePath, kptfile.KptFileName),
original.AbsPath(),
updated.AbsPath(),
Expand Down Expand Up @@ -214,7 +213,6 @@ func MergeSubPackages(localRoot, updatedRoot, originalRoot string) error {
}

err = settersutil.SetAllSetterDefinitions(
false,
filepath.Join(localPkgPath, kptfile.KptFileName),
dirsForSettersUpdate...,
)
Expand Down
10 changes: 0 additions & 10 deletions run/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"fmt"
"os"
"os/exec"
"path/filepath"
"strconv"
"strings"

Expand All @@ -37,7 +36,6 @@ import (
"sigs.k8s.io/cli-utils/pkg/util/factory"
"sigs.k8s.io/kustomize/cmd/config/ext"
"sigs.k8s.io/kustomize/kyaml/commandutil"
"sigs.k8s.io/kustomize/kyaml/openapi"
)

var pgr []string
Expand Down Expand Up @@ -90,14 +88,6 @@ func GetMain() *cobra.Command {
return err
}

if len(args) > 0 {
// add openAPI definitions from Kptfile to configured openAPI
_, addErr := openapi.AddSchemaFromFile(filepath.Join(args[0], kptfile.KptFileName))
if addErr != nil {
// do not throw error if schema doesn't exist or not readable from Kptfile
return nil
}
}
return nil
}

Expand Down

0 comments on commit e583b41

Please sign in to comment.