diff --git a/.golangci-kustomize.yml b/.golangci-kustomize.yml index c82a87361..097af0f10 100644 --- a/.golangci-kustomize.yml +++ b/.golangci-kustomize.yml @@ -23,10 +23,12 @@ linters: - nakedret - staticcheck - structcheck - # - stylecheck (panics) - # - typecheck (fails in lots of places) + # stylecheck demands that acronyms not be treated as words + # in camelCase, so JsonOp become JSONOp, etc. Yuck. + # - stylecheck + - typecheck - unconvert - # - unused (panics) + - unused - unparam - varcheck diff --git a/api/go.sum b/api/go.sum index 95908b3b9..9dfdab7f4 100644 --- a/api/go.sum +++ b/api/go.sum @@ -389,6 +389,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190909003024-a7b16738d86b h1:XfVGCX+0T4WOStkaOsJRllbsiImhB2jgVBGc9L0lPGc= golang.org/x/net v0.0.0-20190909003024-a7b16738d86b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7MvYXnkV9/iQNo1lX6g= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/api/internal/accumulator/refvartransformer.go b/api/internal/accumulator/refvartransformer.go index 48f2b7396..1900cdc4b 100644 --- a/api/internal/accumulator/refvartransformer.go +++ b/api/internal/accumulator/refvartransformer.go @@ -70,7 +70,9 @@ func (rv *refVarTransformer) replaceVars(in interface{}) (interface{}, error) { // This field can potentially contain a $(VAR) since it is // of string type. return expansion2.Expand(s, rv.mappingFunc), nil - //nolint:staticcheck (erroneously claims that `case nil` is unreachable) + // staticcheck erroneously claims that `case nil` + // is unreachable here, so suppressing it. + //nolint:staticcheck case nil: return nil, nil default: diff --git a/api/internal/target/customconfigofbuiltinplugin_test.go b/api/internal/target/customconfigofbuiltinplugin_test.go index 01a365508..824ba7f7b 100644 --- a/api/internal/target/customconfigofbuiltinplugin_test.go +++ b/api/internal/target/customconfigofbuiltinplugin_test.go @@ -10,8 +10,8 @@ import ( ) // Demo custom configuration of a builtin transformation. -// This is a NamePrefixer that only touches Deployments -// and Services. +// This is a NamePrefixer that touches Deployments +// and Services exclusively. func TestCustomNamePrefixer(t *testing.T) { tc := kusttest_test.NewPluginTestEnv(t).Set() defer tc.Reset() @@ -99,118 +99,3 @@ metadata: name: zzz-myService `) } - -// Demo custom configuration as a base. -func TestReusableCustomNamePrefixer(t *testing.T) { - tc := kusttest_test.NewPluginTestEnv(t).Set() - defer tc.Reset() - - tc.BuildGoPlugin( - "builtin", "", "PrefixSuffixTransformer") - tc.BuildGoPlugin( - "builtin", "", "LabelTransformer") - - th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/foo") - - // This kustomization file contains resources that - // all happen to be plugin configurations. This makes - // these plugins all available as part of a base, - // re-usable in any number of other kustomizations. - // Just specify the path (or URL) to this base in the - // "transformers:" field (not the "resources" field). - th.WriteK("/app/mytransformers", ` -resources: -- prefixer.yaml -- labeller.yaml -`) - th.WriteF("/app/mytransformers/prefixer.yaml", ` -apiVersion: builtin -kind: PrefixSuffixTransformer -metadata: - name: myPrefixer -prefix: zzz- -fieldSpecs: -- kind: Deployment - path: metadata/name -- kind: Service - path: metadata/name -`) - th.WriteF("/app/mytransformers/labeller.yaml", ` -apiVersion: builtin -kind: LabelTransformer -metadata: - name: myLabeller -labels: - company: acmeCorp -fieldSpecs: -- path: spec/template/metadata/labels - kind: Deployment -`) - - th.WriteK("/app/foo", ` -resources: -- deployment.yaml -- role.yaml -- service.yaml -transformers: -- ../mytransformers -`) - th.WriteF("/app/foo/deployment.yaml", ` -apiVersion: apps/v1 -kind: Deployment -metadata: - name: myDeployment -spec: - template: - metadata: - labels: - backend: awesome - spec: - containers: - - name: whatever - image: whatever -`) - th.WriteF("/app/foo/role.yaml", ` -apiVersion: v1 -kind: Role -metadata: - name: myRole -`) - th.WriteF("/app/foo/service.yaml", ` -apiVersion: v1 -kind: Service -metadata: - name: myService -`) - - m, err := th.MakeKustTarget().MakeCustomizedResMap() - if err != nil { - t.Fatalf("Err: %v", err) - } - th.AssertActualEqualsExpected(m, ` -apiVersion: apps/v1 -kind: Deployment -metadata: - name: zzz-myDeployment -spec: - template: - metadata: - labels: - backend: awesome - company: acmeCorp - spec: - containers: - - image: whatever - name: whatever ---- -apiVersion: v1 -kind: Role -metadata: - name: myRole ---- -apiVersion: v1 -kind: Service -metadata: - name: zzz-myService -`) -} diff --git a/api/internal/target/customconfigreusable_test.go b/api/internal/target/customconfigreusable_test.go new file mode 100644 index 000000000..e9c6988c0 --- /dev/null +++ b/api/internal/target/customconfigreusable_test.go @@ -0,0 +1,186 @@ +// Copyright 2019 The Kubernetes Authors. +// SPDX-License-Identifier: Apache-2.0 + +package target_test + +import ( + "testing" + + kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest" +) + +// Demo custom configuration as a base. +// This test shows usage of three custom configurations sitting +// in a base, allowing them to be reused in any number of +// kustomizations. +func TestReusableCustomTransformers(t *testing.T) { + tc := kusttest_test.NewPluginTestEnv(t).Set() + defer tc.Reset() + + tc.BuildGoPlugin( + "builtin", "", "PrefixSuffixTransformer") + tc.BuildGoPlugin( + "builtin", "", "AnnotationsTransformer") + tc.BuildGoPlugin( + "builtin", "", "LabelTransformer") + + th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/staging") + + // First write three custom configurations for builtin plugins. + + // A custom name prefixer that only touches Deployments and Services. + th.WriteF("/app/mytransformers/deploymentServicePrefixer.yaml", ` +apiVersion: builtin +kind: PrefixSuffixTransformer +metadata: + name: myPrefixer +prefix: bob- +fieldSpecs: +- kind: Deployment + path: metadata/name +- kind: Service + path: metadata/name +`) + + // A custom annotator exclusively annotating Roles. + th.WriteF("/app/mytransformers/roleAnnotator.yaml", ` +apiVersion: builtin +kind: AnnotationsTransformer +metadata: + name: myAnnotator +annotations: + # Imagine that SRE has not approved this role yet. + status: probationary +fieldSpecs: +- path: metadata/annotations + create: true + kind: Role +`) + + // A custom labeller that only labels Deployments, + // and only labels them at their top metadata level + // exclusively. It does not modify selectors or + // add labels to pods in the template. + th.WriteF("/app/mytransformers/deploymentLabeller.yaml", ` +apiVersion: builtin +kind: LabelTransformer +metadata: + name: myLabeller +labels: + pager: 867-5301 +fieldSpecs: +- path: metadata/labels + create: true + kind: Deployment +`) + + // Combine these custom transformers in one kustomization file. + // This kustomization file contains only resources that + // all happen to be plugin configurations. This makes + // these plugins re-usable as a group in any number of other + // kustomizations. + th.WriteK("/app/mytransformers", ` +resources: +- deploymentServicePrefixer.yaml +- roleAnnotator.yaml +- deploymentLabeller.yaml +`) + + // Finally, define the kustomization for the (arbitrarily named) + // staging environment. + th.WriteK("/app/staging", ` + +# Bring in the custom transformers. +transformers: +- ../mytransformers + +# Also use the "classic" labeller, which behind the scenes uses +# the LabelTransformer, but with a broad configuration targeting +# many resources and fields (including selector fields). +# It's a big hammer - probably too big; the output shows all the +# places 'acmeCorp' now appears as a result. To avoid this, +# define your own config for your own LabelTransformer instance +# as shown above. +commonLabels: + company: acmeCorp + +# Specify the resources to modify. +resources: +- deployment.yaml +- role.yaml +- service.yaml +`) + th.WriteF("/app/staging/deployment.yaml", ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: myDeployment +spec: + template: + metadata: + labels: + backend: flawless + spec: + containers: + - name: whatever + image: whatever +`) + th.WriteF("/app/staging/role.yaml", ` +apiVersion: v1 +kind: Role +metadata: + name: myRole +`) + th.WriteF("/app/staging/service.yaml", ` +apiVersion: v1 +kind: Service +metadata: + name: myService +`) + + m, err := th.MakeKustTarget().MakeCustomizedResMap() + if err != nil { + t.Fatalf("Err: %v", err) + } + th.AssertActualEqualsExpected(m, ` +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + company: acmeCorp + pager: 867-5301 + name: bob-myDeployment +spec: + selector: + matchLabels: + company: acmeCorp + template: + metadata: + labels: + backend: flawless + company: acmeCorp + spec: + containers: + - image: whatever + name: whatever +--- +apiVersion: v1 +kind: Role +metadata: + annotations: + status: probationary + labels: + company: acmeCorp + name: myRole +--- +apiVersion: v1 +kind: Service +metadata: + labels: + company: acmeCorp + name: bob-myService +spec: + selector: + company: acmeCorp +`) +} diff --git a/api/internal/target/kusttarget.go b/api/internal/target/kusttarget.go index 093fe57d4..2ee0d03cf 100644 --- a/api/internal/target/kusttarget.go +++ b/api/internal/target/kusttarget.go @@ -222,11 +222,6 @@ func (kt *KustTarget) computeInventory( return ra.Transform(p) } -func (kt *KustTarget) shouldAddHashSuffixesToGeneratedResources() bool { - return kt.kustomization.GeneratorOptions == nil || - !kt.kustomization.GeneratorOptions.DisableNameSuffixHash -} - // AccumulateTarget returns a new ResAccumulator, // holding customized resources and the data/rules used // to do so. The name back references and vars are diff --git a/api/resource/resource.go b/api/resource/resource.go index 99939806a..fc8931d42 100644 --- a/api/resource/resource.go +++ b/api/resource/resource.go @@ -252,9 +252,10 @@ func (r *Resource) Behavior() types.GenerationBehavior { return r.options.Behavior() } -// NeedHashSuffix checks if the resource need a hash suffix +// NeedHashSuffix returns true if a resource content +// hash should be appended to the name of the resource. func (r *Resource) NeedHashSuffix() bool { - return r.options != nil && r.options.NeedsHashSuffix() + return r.options != nil && r.options.ShouldAddHashSuffixToName() } // GetNamespace returns the namespace the resource thinks it's in. diff --git a/api/types/genargs.go b/api/types/genargs.go index 93acbad84..a80955b36 100644 --- a/api/types/genargs.go +++ b/api/types/genargs.go @@ -28,18 +28,17 @@ func (g *GenArgs) String() string { } return "{" + strings.Join([]string{ - "nsfx:" + strconv.FormatBool(g.NeedsHashSuffix()), + "nsfx:" + strconv.FormatBool(g.ShouldAddHashSuffixToName()), "beh:" + g.Behavior().String()}, ",") + "}" } -// NeedsHashSuffix returns true if the hash suffix is needed. -// It is needed when the two conditions are both met -// 1) GenArgs is not nil -// 2) DisableNameSuffixHash in GeneratorOptions is not set to true -func (g *GenArgs) NeedsHashSuffix() bool { - return g.args != nil && (g.opts == nil || !g.opts.DisableNameSuffixHash) +// ShouldAddHashSuffixToName returns true if a resource +// content hash should be appended to the name of the resource. +func (g *GenArgs) ShouldAddHashSuffixToName() bool { + return g.args != nil && + (g.opts == nil || !g.opts.DisableNameSuffixHash) } // Behavior returns Behavior field of GeneratorArgs diff --git a/cmd/kyaml/.golangci.yml b/cmd/config/.golangci.yml similarity index 100% rename from cmd/kyaml/.golangci.yml rename to cmd/config/.golangci.yml diff --git a/cmd/kyaml/LICENSE_TEMPLATE b/cmd/config/LICENSE_TEMPLATE similarity index 100% rename from cmd/kyaml/LICENSE_TEMPLATE rename to cmd/config/LICENSE_TEMPLATE diff --git a/cmd/kyaml/Makefile b/cmd/config/Makefile similarity index 100% rename from cmd/kyaml/Makefile rename to cmd/config/Makefile diff --git a/cmd/kyaml/README.md b/cmd/config/README.md similarity index 93% rename from cmd/kyaml/README.md rename to cmd/config/README.md index f81711fe0..b5984c93b 100644 --- a/cmd/kyaml/README.md +++ b/cmd/config/README.md @@ -1,4 +1,4 @@ -# cmd/kyaml +# cmd/config This package exists to expose kyaml filters directly as cli commands for the purposes of development of the kyaml package and as a reference implementation for using the libraries. diff --git a/cmd/kyaml/cmd/cat.go b/cmd/config/cmd/cat.go similarity index 100% rename from cmd/kyaml/cmd/cat.go rename to cmd/config/cmd/cat.go diff --git a/cmd/kyaml/cmd/cat_test.go b/cmd/config/cmd/cat_test.go similarity index 99% rename from cmd/kyaml/cmd/cat_test.go rename to cmd/config/cmd/cat_test.go index 36a9133f6..4fad23229 100644 --- a/cmd/kyaml/cmd/cat_test.go +++ b/cmd/config/cmd/cat_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" ) // TODO(pwittrock): write tests for reading / writing ResourceLists diff --git a/cmd/kyaml/cmd/cmdwrap.go b/cmd/config/cmd/cmdwrap.go similarity index 100% rename from cmd/kyaml/cmd/cmdwrap.go rename to cmd/config/cmd/cmdwrap.go diff --git a/cmd/kyaml/cmd/cmdwrap_test.go b/cmd/config/cmd/cmdwrap_test.go similarity index 100% rename from cmd/kyaml/cmd/cmdwrap_test.go rename to cmd/config/cmd/cmdwrap_test.go diff --git a/cmd/kyaml/cmd/cmdxargs.go b/cmd/config/cmd/cmdxargs.go similarity index 100% rename from cmd/kyaml/cmd/cmdxargs.go rename to cmd/config/cmd/cmdxargs.go diff --git a/cmd/kyaml/cmd/cmdxargs_test.go b/cmd/config/cmd/cmdxargs_test.go similarity index 98% rename from cmd/kyaml/cmd/cmdxargs_test.go rename to cmd/config/cmd/cmdxargs_test.go index f20265d3a..08cd9e7cd 100644 --- a/cmd/kyaml/cmd/cmdxargs_test.go +++ b/cmd/config/cmd/cmdxargs_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" ) const ( diff --git a/cmd/kyaml/cmd/count.go b/cmd/config/cmd/count.go similarity index 100% rename from cmd/kyaml/cmd/count.go rename to cmd/config/cmd/count.go diff --git a/cmd/kyaml/cmd/count_test.go b/cmd/config/cmd/count_test.go similarity index 96% rename from cmd/kyaml/cmd/count_test.go rename to cmd/config/cmd/count_test.go index ad0e7cc3f..9ee08448e 100644 --- a/cmd/kyaml/cmd/count_test.go +++ b/cmd/config/cmd/count_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" ) func TestCountCommand_files(t *testing.T) { diff --git a/cmd/kyaml/cmd/docs.go b/cmd/config/cmd/docs.go similarity index 100% rename from cmd/kyaml/cmd/docs.go rename to cmd/config/cmd/docs.go diff --git a/cmd/kyaml/cmd/fmt.go b/cmd/config/cmd/fmt.go similarity index 100% rename from cmd/kyaml/cmd/fmt.go rename to cmd/config/cmd/fmt.go diff --git a/cmd/kyaml/cmd/fmt_test.go b/cmd/config/cmd/fmt_test.go similarity index 98% rename from cmd/kyaml/cmd/fmt_test.go rename to cmd/config/cmd/fmt_test.go index 4be7327a7..5ad7f82d4 100644 --- a/cmd/kyaml/cmd/fmt_test.go +++ b/cmd/config/cmd/fmt_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" "sigs.k8s.io/kustomize/kyaml/kio/filters/testyaml" ) diff --git a/cmd/kyaml/cmd/grep.go b/cmd/config/cmd/grep.go similarity index 100% rename from cmd/kyaml/cmd/grep.go rename to cmd/config/cmd/grep.go diff --git a/cmd/kyaml/cmd/grep_test.go b/cmd/config/cmd/grep_test.go similarity index 99% rename from cmd/kyaml/cmd/grep_test.go rename to cmd/config/cmd/grep_test.go index eb59f94ee..78a6cce5c 100644 --- a/cmd/kyaml/cmd/grep_test.go +++ b/cmd/config/cmd/grep_test.go @@ -11,7 +11,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" ) // TestGrepCommand_files verifies grep reads the files and filters them diff --git a/cmd/kyaml/cmd/merge.go b/cmd/config/cmd/merge.go similarity index 100% rename from cmd/kyaml/cmd/merge.go rename to cmd/config/cmd/merge.go diff --git a/cmd/kyaml/cmd/run-fns.go b/cmd/config/cmd/run-fns.go similarity index 100% rename from cmd/kyaml/cmd/run-fns.go rename to cmd/config/cmd/run-fns.go diff --git a/cmd/kyaml/cmd/test/override.yaml b/cmd/config/cmd/test/override.yaml similarity index 100% rename from cmd/kyaml/cmd/test/override.yaml rename to cmd/config/cmd/test/override.yaml diff --git a/cmd/kyaml/cmd/test/test.sh b/cmd/config/cmd/test/test.sh similarity index 100% rename from cmd/kyaml/cmd/test/test.sh rename to cmd/config/cmd/test/test.sh diff --git a/cmd/kyaml/cmd/tree.go b/cmd/config/cmd/tree.go similarity index 100% rename from cmd/kyaml/cmd/tree.go rename to cmd/config/cmd/tree.go diff --git a/cmd/kyaml/cmd/tree_test.go b/cmd/config/cmd/tree_test.go similarity index 99% rename from cmd/kyaml/cmd/tree_test.go rename to cmd/config/cmd/tree_test.go index db2d29e76..3ea10c792 100644 --- a/cmd/kyaml/cmd/tree_test.go +++ b/cmd/config/cmd/tree_test.go @@ -12,7 +12,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" ) // TestCmd_files verifies fmt reads the files and filters them diff --git a/cmd/kyaml/cmd/util.go b/cmd/config/cmd/util.go similarity index 100% rename from cmd/kyaml/cmd/util.go rename to cmd/config/cmd/util.go diff --git a/cmd/kyaml/go.mod b/cmd/config/go.mod similarity index 90% rename from cmd/kyaml/go.mod rename to cmd/config/go.mod index a49569630..eb91ebd38 100644 --- a/cmd/kyaml/go.mod +++ b/cmd/config/go.mod @@ -1,4 +1,4 @@ -module sigs.k8s.io/kustomize/cmd/kyaml +module sigs.k8s.io/kustomize/cmd/config go 1.13 diff --git a/cmd/kyaml/go.sum b/cmd/config/go.sum similarity index 99% rename from cmd/kyaml/go.sum rename to cmd/config/go.sum index 7e015cc54..b75c99ecd 100644 --- a/cmd/kyaml/go.sum +++ b/cmd/config/go.sum @@ -142,5 +142,6 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/cmd/kyaml/inpututil/inpututil.go b/cmd/config/inpututil/inpututil.go similarity index 100% rename from cmd/kyaml/inpututil/inpututil.go rename to cmd/config/inpututil/inpututil.go diff --git a/cmd/kyaml/main.go b/cmd/config/main.go similarity index 96% rename from cmd/kyaml/main.go rename to cmd/config/main.go index cbd599613..b805f99de 100644 --- a/cmd/kyaml/main.go +++ b/cmd/config/main.go @@ -7,7 +7,7 @@ import ( "os" "github.com/spf13/cobra" - "sigs.k8s.io/kustomize/cmd/kyaml/cmd" + "sigs.k8s.io/kustomize/cmd/config/cmd" "sigs.k8s.io/kustomize/kyaml/yaml/merge2" "sigs.k8s.io/kustomize/kyaml/yaml/merge3" ) diff --git a/docs/glossary.md b/docs/glossary.md index 32d0660ce..e1de9149e 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -71,7 +71,7 @@ cluster in the form of a complete resource list. The cluster merges this with the previously applied state and the actual state to arrive at a new desired -state, which the cluster's reconcilation loop attempts +state, which the cluster's reconciliation loop attempts to create. This is the foundation of level-based state management in k8s. diff --git a/examples/goGetterGeneratorPlugin.md b/examples/goGetterGeneratorPlugin.md index e136fb748..54d193d2e 100644 --- a/examples/goGetterGeneratorPlugin.md +++ b/examples/goGetterGeneratorPlugin.md @@ -2,7 +2,7 @@ Kustomize supports building a [remote target], but the URLs are limited to common [Git repository specs]. -To extend the supported format, Kustomize has a [plugin] system that allows one to integrate third-party tools such as [hashicorp/go-getter] to "download things from a string URL suing a variety of protocols", extract the content and generated resources as part of kustomize build. +To extend the supported format, Kustomize has a [plugin] system that allows one to integrate third-party tools such as [hashicorp/go-getter] to "download things from a string URL using a variety of protocols", extract the content and generated resources as part of kustomize build. [remote target]: https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md [Git repository specs]: https://github.com/kubernetes-sigs/kustomize/blob/master/api/internal/git/repospec_test.go diff --git a/travis/kyaml-pre-commit.sh b/travis/kyaml-pre-commit.sh index e76566f86..8c6462833 100755 --- a/travis/kyaml-pre-commit.sh +++ b/travis/kyaml-pre-commit.sh @@ -4,5 +4,5 @@ set -e cd kyaml make all -cd ../cmd/kyaml +cd ../cmd/config make all \ No newline at end of file diff --git a/travis/verify-deps.sh b/travis/verify-deps.sh index f62b6357d..702815cab 100755 --- a/travis/verify-deps.sh +++ b/travis/verify-deps.sh @@ -2,7 +2,7 @@ set -o xtrace -for dir in api kustomize pseudo kyaml plugin cmd/kyaml +for dir in api kustomize pseudo kyaml plugin cmd/config do for item in api apimachinery client-go do