mirror of https://github.com/k3s-io/k3s
Add KustomizationVisitor
parent
ec1d83b82d
commit
34699f3ff0
|
@ -27,6 +27,7 @@
|
|||
- k8s.io/api/core/v1
|
||||
- k8s.io/cli-runtime/pkg/genericclioptions/printers
|
||||
- k8s.io/cli-runtime/pkg/genericclioptions/resource
|
||||
- k8s.io/cli-runtime/pkg/kustomize
|
||||
|
||||
- baseImportPath: "./vendor/k8s.io/apimachinery/"
|
||||
allowedImports:
|
||||
|
|
|
@ -35,12 +35,14 @@ go_library(
|
|||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/yaml:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
|
||||
"//staging/src/k8s.io/cli-runtime/pkg/kustomize:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/discovery:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/rest:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/restmapper:go_default_library",
|
||||
"//vendor/golang.org/x/text/encoding/unicode:go_default_library",
|
||||
"//vendor/golang.org/x/text/transform:go_default_library",
|
||||
"//vendor/sigs.k8s.io/kustomize/pkg/fs:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ import (
|
|||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||
"k8s.io/apimachinery/pkg/util/yaml"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/cli-runtime/pkg/kustomize"
|
||||
"sigs.k8s.io/kustomize/pkg/fs"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -520,6 +522,24 @@ func (v *FileVisitor) Visit(fn VisitorFunc) error {
|
|||
return v.StreamVisitor.Visit(fn)
|
||||
}
|
||||
|
||||
// KustomizeVisitor is wrapper around a StreamVisitor, to handle Kustomization directories
|
||||
type KustomizeVisitor struct {
|
||||
Path string
|
||||
*StreamVisitor
|
||||
}
|
||||
|
||||
// Visit in a KustomizeVisitor gets the output of Kustomize build and save it in the Streamvisitor
|
||||
func (v *KustomizeVisitor) Visit(fn VisitorFunc) error {
|
||||
fSys := fs.MakeRealFS()
|
||||
var out bytes.Buffer
|
||||
err := kustomize.RunKustomizeBuild(&out, fSys, v.Path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
v.StreamVisitor.Reader = bytes.NewReader(out.Bytes())
|
||||
return v.StreamVisitor.Visit(fn)
|
||||
}
|
||||
|
||||
// StreamVisitor reads objects from an io.Reader and walks them. A stream visitor can only be
|
||||
// visited once.
|
||||
// TODO: depends on objects being in JSON format before being passed to decode - need to implement
|
||||
|
|
|
@ -6,14 +6,50 @@
|
|||
"./..."
|
||||
],
|
||||
"Deps": [
|
||||
{
|
||||
"ImportPath": "github.com/PuerkitoBio/purell",
|
||||
"Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/PuerkitoBio/urlesc",
|
||||
"Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/davecgh/go-spew/spew",
|
||||
"Rev": "782f4967f2dc4564575ca782fe2d04090b5faca8"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/emicklei/go-restful",
|
||||
"Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/emicklei/go-restful/log",
|
||||
"Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/evanphx/json-patch",
|
||||
"Rev": "5858425f75500d40c52783dce87d085a483ce135"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/ghodss/yaml",
|
||||
"Rev": "c7ce16629ff4cd059ed96ed06419dd3856fd3577"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/go-openapi/jsonpointer",
|
||||
"Rev": "ef5f0afec364d3b9396b7b77b43dbe26bf1f8004"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/go-openapi/jsonreference",
|
||||
"Rev": "8483a886a90412cd6858df4ea3483dce9c8e35a3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/go-openapi/spec",
|
||||
"Rev": "5bae59e25b21498baea7f9d46e9c147ec106a42e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/go-openapi/swag",
|
||||
"Rev": "5899d5c5e619fda5fa86e14795a835f473ca284c"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/gogo/protobuf/proto",
|
||||
"Rev": "342cbe0a04158f6dcb03ca0079991a51a4248c02"
|
||||
|
@ -82,6 +118,18 @@
|
|||
"ImportPath": "github.com/json-iterator/go",
|
||||
"Rev": "ab8a2e0c74be9d3be70b3184d9acc634935ded82"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/mailru/easyjson/buffer",
|
||||
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/mailru/easyjson/jlexer",
|
||||
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/mailru/easyjson/jwriter",
|
||||
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/modern-go/concurrent",
|
||||
"Rev": "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
|
||||
|
@ -94,6 +142,10 @@
|
|||
"ImportPath": "github.com/peterbourgon/diskv",
|
||||
"Rev": "5f041e8faa004a95c88a202771f4cc3e991971e6"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/pkg/errors",
|
||||
"Rev": "645ef00459ed84a119197bfb8d8205042c6df63d"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/spf13/cobra",
|
||||
"Rev": "c439c4fa093711d42e1b01acb1235b52004753c1"
|
||||
|
@ -142,6 +194,10 @@
|
|||
"ImportPath": "golang.org/x/sys/windows",
|
||||
"Rev": "95c6576299259db960f6c5b9b69ea52422860fce"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/cases",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/encoding",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
|
@ -158,10 +214,22 @@
|
|||
"ImportPath": "golang.org/x/text/encoding/unicode",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/internal",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/internal/tag",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/internal/utf8internal",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/language",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/runes",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
|
@ -170,6 +238,10 @@
|
|||
"ImportPath": "golang.org/x/text/secure/bidirule",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/secure/precis",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/transform",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
|
@ -182,6 +254,10 @@
|
|||
"ImportPath": "golang.org/x/text/unicode/norm",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/text/width",
|
||||
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||
},
|
||||
{
|
||||
"ImportPath": "golang.org/x/time/rate",
|
||||
"Rev": "f51c12702a4d776e4c1fa9b0fabab841babae631"
|
||||
|
@ -326,6 +402,10 @@
|
|||
"ImportPath": "k8s.io/api/storage/v1beta1",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -338,6 +418,10 @@
|
|||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/validation",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -350,6 +434,10 @@
|
|||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -430,6 +518,10 @@
|
|||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -446,6 +538,10 @@
|
|||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -466,6 +562,10 @@
|
|||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -482,6 +582,42 @@
|
|||
"ImportPath": "k8s.io/cli-runtime/pkg/genericclioptions/resource",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/configmapandsecret",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/kunstruct",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/kv",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/hash",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/cli-runtime/pkg/kustomize/k8sdeps/validator",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
@ -582,10 +718,106 @@
|
|||
"ImportPath": "k8s.io/klog",
|
||||
"Rev": "8139d8cb77af419532b33dfa7dd09fbc5f1d344f"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
||||
"Rev": "d7c86cdc46e3a4fcf892b32dd7bc3aa775e0870e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
|
||||
"Rev": "d7c86cdc46e3a4fcf892b32dd7bc3aa775e0870e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/utils/integer",
|
||||
"Rev": "ed37f7428a91fc2a81070808937195dcd46d320e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/commands/build",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/constants",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/expansion",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/factory",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/fs",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/git",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/gvk",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/ifc",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/ifc/transformer",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/image",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/internal/error",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/loader",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/patch",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/patch/transformer",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/resid",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/resmap",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/resource",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/target",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/transformers",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/transformers/config",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/transformers/config/defaultconfig",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/kustomize/pkg/types",
|
||||
"Rev": "ce7e5ee2c30cc5856fea01fe423cf167f2a2d0c3"
|
||||
},
|
||||
{
|
||||
"ImportPath": "sigs.k8s.io/yaml",
|
||||
"Rev": "fd68e9863619f6ec2fdd8625fe1f02e7c877e480"
|
||||
|
|
Loading…
Reference in New Issue