refactor cue related packages in vela (#1734)

* refactor-cue

* import group

* readme

* fmt
This commit is contained in:
Jian.Li
2021-06-02 15:37:06 +08:00
committed by GitHub
parent 8c864f33b9
commit 4f47bec238
49 changed files with 122 additions and 111 deletions

View File

@@ -38,7 +38,7 @@ import (
oamcontroller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev"
oamv1alpha2 "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/pkg/controller/utils"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/utils/common"
@@ -179,10 +179,10 @@ func main() {
os.Exit(1)
}
controllerArgs.DiscoveryMapper = dm
pd, err := definition.NewPackageDiscover(mgr.GetConfig())
pd, err := packages.NewPackageDiscover(mgr.GetConfig())
if err != nil {
setupLog.Error(err, "failed to create CRD discovery for CUE package client")
if !definition.IsCUEParseErr(err) {
if !packages.IsCUEParseErr(err) {
os.Exit(1)
}
}

View File

@@ -39,8 +39,8 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/appfile/helm"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/definition"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/util"
)

View File

@@ -38,8 +38,8 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/common"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
oamtypes "github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/definition"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/util"
)

View File

@@ -34,8 +34,9 @@ import (
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/appfile/config"
velacue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
@@ -58,12 +59,12 @@ func (fn TemplateLoaderFn) LoadTemplate(ctx context.Context, dm discoverymapper.
type Parser struct {
client client.Client
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
tmplLoader TemplateLoaderFn
}
// NewApplicationParser create appfile parser
func NewApplicationParser(cli client.Client, dm discoverymapper.DiscoveryMapper, pd *definition.PackageDiscover) *Parser {
func NewApplicationParser(cli client.Client, dm discoverymapper.DiscoveryMapper, pd *packages.PackageDiscover) *Parser {
return &Parser{
client: cli,
dm: dm,
@@ -73,7 +74,7 @@ func NewApplicationParser(cli client.Client, dm discoverymapper.DiscoveryMapper,
}
// NewDryRunApplicationParser create an appfile parser for DryRun
func NewDryRunApplicationParser(cli client.Client, dm discoverymapper.DiscoveryMapper, pd *definition.PackageDiscover, defs []oam.Object) *Parser {
func NewDryRunApplicationParser(cli client.Client, dm discoverymapper.DiscoveryMapper, pd *packages.PackageDiscover, defs []oam.Object) *Parser {
return &Parser{
client: cli,
dm: dm,

View File

@@ -37,8 +37,8 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/definition"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/util"
)

View File

@@ -33,7 +33,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/log/zap"
coreoam "github.com/oam-dev/kubevela/apis/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
// +kubebuilder:scaffold:imports
)
@@ -43,7 +43,7 @@ var scheme *runtime.Scheme
var k8sClient client.Client
var testEnv *envtest.Environment
var dm discoverymapper.DiscoveryMapper
var pd *definition.PackageDiscover
var pd *packages.PackageDiscover
func TestAppFile(t *testing.T) {
RegisterFailHandler(Fail)
@@ -76,7 +76,7 @@ var _ = BeforeSuite(func(done Done) {
dm, err = discoverymapper.New(cfg)
Expect(err).ToNot(HaveOccurred())
Expect(dm).ToNot(BeNil())
pd, err = definition.NewPackageDiscover(cfg)
pd, err = packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
Expect(pd).ToNot(BeNil())

View File

@@ -22,7 +22,7 @@ import (
"github.com/pkg/errors"
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/process"
)
// ValidateCUESchematicAppfile validates CUE schematic workloads in an Appfile

View File

@@ -22,7 +22,7 @@ import (
. "github.com/onsi/gomega"
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/definition"
)
var _ = Describe("Test validate CUE schematic Appfile", func() {

View File

@@ -17,7 +17,7 @@ limitations under the License.
package core_oam_dev
import (
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
)
@@ -67,5 +67,5 @@ type Args struct {
// DiscoveryMapper used for CRD discovery in controller, a K8s client is contained in it.
DiscoveryMapper discoverymapper.DiscoveryMapper
// PackageDiscover used for CRD discovery in CUE packages, a K8s client is contained in it.
PackageDiscover *definition.PackageDiscover
PackageDiscover *packages.PackageDiscover
}

View File

@@ -40,7 +40,7 @@ import (
velatypes "github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/appfile"
core "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"
"github.com/oam-dev/kubevela/pkg/utils/apply"
@@ -58,7 +58,7 @@ const (
type Reconciler struct {
client.Client
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
Log logr.Logger
Scheme *runtime.Scheme
Recorder event.Recorder

View File

@@ -51,7 +51,7 @@ import (
"github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration"
"github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/applicationrollout"
"github.com/oam-dev/kubevela/pkg/controller/utils"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"

View File

@@ -50,7 +50,7 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/apis/standard.oam.dev/v1alpha1"
"github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
// +kubebuilder:scaffold:imports
)
@@ -127,7 +127,7 @@ var _ = BeforeSuite(func(done Done) {
Expect(k8sClient).ToNot(BeNil())
dm, err := discoverymapper.New(cfg)
Expect(err).To(BeNil())
pd, err := definition.NewPackageDiscover(cfg)
pd, err := packages.NewPackageDiscover(cfg)
Expect(err).To(BeNil())
reconciler = &Reconciler{
Client: k8sClient,

View File

@@ -39,7 +39,7 @@ import (
controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev"
coredef "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/core"
"github.com/oam-dev/kubevela/pkg/controller/utils"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
@@ -49,7 +49,7 @@ import (
type Reconciler struct {
client.Client
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
Scheme *runtime.Scheme
record event.Recorder
defRevLimit int

View File

@@ -34,7 +34,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/reconcile"
oamCore "github.com/oam-dev/kubevela/apis/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
)
@@ -84,7 +84,7 @@ var _ = BeforeSuite(func(done Done) {
Expect(err).ToNot(HaveOccurred())
_, err = dm.Refresh()
Expect(err).ToNot(HaveOccurred())
pd, err := definition.NewPackageDiscover(cfg)
pd, err := packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
r = Reconciler{

View File

@@ -39,7 +39,7 @@ import (
controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev"
coredef "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2/core"
"github.com/oam-dev/kubevela/pkg/controller/utils"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
@@ -49,7 +49,7 @@ import (
type Reconciler struct {
client.Client
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
Scheme *runtime.Scheme
record event.Recorder
defRevLimit int

View File

@@ -34,7 +34,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/reconcile"
oamCore "github.com/oam-dev/kubevela/apis/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
)
@@ -80,7 +80,7 @@ var _ = BeforeSuite(func(done Done) {
})
Expect(err).ToNot(HaveOccurred())
pd, err := definition.NewPackageDiscover(cfg)
pd, err := packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
dm, err := discoverymapper.New(mgr.GetConfig())
Expect(err).ToNot(HaveOccurred())

View File

@@ -38,8 +38,8 @@ import (
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/appfile"
"github.com/oam-dev/kubevela/pkg/appfile/helm"
mycue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
velacue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/util"
"github.com/oam-dev/kubevela/pkg/utils/common"
)
@@ -87,7 +87,7 @@ func NewCapabilityComponentDef(componentDefinition *v1beta1.ComponentDefinition)
}
// GetOpenAPISchema gets OpenAPI v3 schema by WorkloadDefinition name
func (def *CapabilityComponentDefinition) GetOpenAPISchema(pd *definition.PackageDiscover, name string) ([]byte, error) {
func (def *CapabilityComponentDefinition) GetOpenAPISchema(pd *packages.PackageDiscover, name string) ([]byte, error) {
capability, err := appfile.ConvertTemplateJSON2Object(name, def.ComponentDefinition.Spec.Extension, def.ComponentDefinition.Spec.Schematic)
if err != nil {
return nil, fmt.Errorf("failed to convert ComponentDefinition to Capability Object")
@@ -136,7 +136,7 @@ func GetKubeSchematicOpenAPISchema(params []commontypes.KubeParameter) ([]byte,
// StoreOpenAPISchema stores OpenAPI v3 schema in ConfigMap from WorkloadDefinition
func (def *CapabilityComponentDefinition) StoreOpenAPISchema(ctx context.Context, k8sClient client.Client,
pd *definition.PackageDiscover, namespace, name, revName string) (string, error) {
pd *packages.PackageDiscover, namespace, name, revName string) (string, error) {
var jsonSchema []byte
var err error
switch def.WorkloadType {
@@ -196,7 +196,7 @@ func NewCapabilityTraitDef(traitdefinition *v1beta1.TraitDefinition) CapabilityT
}
// GetOpenAPISchema gets OpenAPI v3 schema by TraitDefinition name
func (def *CapabilityTraitDefinition) GetOpenAPISchema(pd *definition.PackageDiscover, name string) ([]byte, error) {
func (def *CapabilityTraitDefinition) GetOpenAPISchema(pd *packages.PackageDiscover, name string) ([]byte, error) {
capability, err := appfile.ConvertTemplateJSON2Object(name, def.TraitDefinition.Spec.Extension, def.TraitDefinition.Spec.Schematic)
if err != nil {
return nil, fmt.Errorf("failed to convert WorkloadDefinition to Capability Object")
@@ -205,7 +205,7 @@ func (def *CapabilityTraitDefinition) GetOpenAPISchema(pd *definition.PackageDis
}
// StoreOpenAPISchema stores OpenAPI v3 schema from TraitDefinition in ConfigMap
func (def *CapabilityTraitDefinition) StoreOpenAPISchema(ctx context.Context, k8sClient client.Client, pd *definition.PackageDiscover, namespace, name string, revName string) (string, error) {
func (def *CapabilityTraitDefinition) StoreOpenAPISchema(ctx context.Context, k8sClient client.Client, pd *packages.PackageDiscover, namespace, name string, revName string) (string, error) {
var jsonSchema []byte
var err error
switch def.DefCategoryType {
@@ -287,7 +287,7 @@ func (def *CapabilityBaseDefinition) CreateOrUpdateConfigMap(ctx context.Context
}
// getDefinition is the main function for GetDefinition API
func getOpenAPISchema(capability types.Capability, pd *definition.PackageDiscover) ([]byte, error) {
func getOpenAPISchema(capability types.Capability, pd *packages.PackageDiscover) ([]byte, error) {
openAPISchema, err := generateOpenAPISchemaFromCapabilityParameter(capability, pd)
if err != nil {
return nil, err
@@ -306,13 +306,13 @@ func getOpenAPISchema(capability types.Capability, pd *definition.PackageDiscove
}
// generateOpenAPISchemaFromCapabilityParameter returns the parameter of a definition in cue.Value format
func generateOpenAPISchemaFromCapabilityParameter(capability types.Capability, pd *definition.PackageDiscover) ([]byte, error) {
func generateOpenAPISchemaFromCapabilityParameter(capability types.Capability, pd *packages.PackageDiscover) ([]byte, error) {
template, err := prepareParameterCue(capability.Name, capability.CueTemplate)
if err != nil {
return nil, err
}
template += mycue.BaseTemplate
template += velacue.BaseTemplate
if pd == nil {
var r cue.Runtime
cueInst, err := r.Compile("-", template)
@@ -400,7 +400,7 @@ func ConvertOpenAPISchema2SwaggerObject(data []byte) (*openapi3.Schema, error) {
return nil, err
}
schemaRef, ok := swagger.Components.Schemas[mycue.ParameterTag]
schemaRef, ok := swagger.Components.Schemas[velacue.ParameterTag]
if !ok {
return nil, errors.New(util.ErrGenerateOpenAPIV2JSONSchemaForCapability)
}

View File

@@ -29,13 +29,13 @@ import (
"sigs.k8s.io/controller-runtime/pkg/envtest"
oamCore "github.com/oam-dev/kubevela/apis/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
)
var cfg *rest.Config
var k8sClient client.Client
var testEnv *envtest.Environment
var pd *definition.PackageDiscover
var pd *packages.PackageDiscover
func TestCapability(t *testing.T) {
RegisterFailHandler(Fail)
@@ -64,7 +64,7 @@ var _ = BeforeSuite(func(done Done) {
Expect(err).ToNot(HaveOccurred())
Expect(k8sClient).ToNot(BeNil())
pd, err = definition.NewPackageDiscover(cfg)
pd, err = packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
close(done)

View File

@@ -32,7 +32,7 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/common"
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/appfile"
mycue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/utils/system"
)
@@ -142,7 +142,7 @@ func TestFixOpenAPISchema(t *testing.T) {
for name, tc := range cases {
t.Run(name, func(t *testing.T) {
swagger, _ := openapi3.NewSwaggerLoader().LoadSwaggerFromFile(filepath.Join(TestDir, tc.inputFile))
schema := swagger.Components.Schemas[mycue.ParameterTag].Value
schema := swagger.Components.Schemas[cue.ParameterTag].Value
fixOpenAPISchema("", schema)
fixedSchema, _ := schema.MarshalJSON()
expectedSchema, _ := ioutil.ReadFile(filepath.Join(TestDir, tc.fixedFile))

View File

@@ -46,7 +46,7 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/controller/common"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
@@ -259,7 +259,7 @@ func ComputeSpecHash(spec interface{}) (string, error) {
// RefreshPackageDiscover help refresh package discover
func RefreshPackageDiscover(ctx context.Context, k8sClient client.Client, dm discoverymapper.DiscoveryMapper,
pd *definition.PackageDiscover, definition runtime.Object) error {
pd *packages.PackageDiscover, definition runtime.Object) error {
var gvk schema.GroupVersionKind
var err error
switch def := definition.(type) {

10
pkg/cue/README.md Normal file
View File

@@ -0,0 +1,10 @@
# Develop Tips
The following packages need to be tested without external/tool dependencies, So that the cue-sh/unity can do verification
- github.com/oam-dev/kubevela/pkg/cue/definition
- github.com/oam-dev/kubevela/pkg/cue/model
- github.com/oam-dev/kubevela/pkg/cue/model/sets
- github.com/oam-dev/kubevela/pkg/cue/process
- github.com/oam-dev/kubevela/pkg/cue/task
- github.com/oam-dev/kubevela/pkg/cue/packages

View File

@@ -27,10 +27,11 @@ import (
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"sigs.k8s.io/controller-runtime/pkg/client"
mycue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/dsl/model"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/dsl/task"
velacue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/cue/model"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/cue/process"
"github.com/oam-dev/kubevela/pkg/cue/task"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/util"
)
@@ -63,7 +64,7 @@ type AbstractEngine interface {
type def struct {
name string
pd *PackageDiscover
pd *packages.PackageDiscover
}
type workloadDef struct {
@@ -71,7 +72,7 @@ type workloadDef struct {
}
// NewWorkloadAbstractEngine create Workload Definition AbstractEngine
func NewWorkloadAbstractEngine(name string, pd *PackageDiscover) AbstractEngine {
func NewWorkloadAbstractEngine(name string, pd *packages.PackageDiscover) AbstractEngine {
return &workloadDef{
def: def{
name: name,
@@ -93,7 +94,7 @@ func (wd *workloadDef) Complete(ctx process.Context, abstractTemplate string, pa
return errors.WithMessagef(err, "marshal parameter of workload %s", wd.name)
}
if string(bt) != "null" {
paramFile = fmt.Sprintf("%s: %s", mycue.ParameterTag, string(bt))
paramFile = fmt.Sprintf("%s: %s", velacue.ParameterTag, string(bt))
}
}
if err := bi.AddFile("parameter", paramFile); err != nil {
@@ -270,7 +271,7 @@ type traitDef struct {
}
// NewTraitAbstractEngine create Trait Definition AbstractEngine
func NewTraitAbstractEngine(name string, pd *PackageDiscover) AbstractEngine {
func NewTraitAbstractEngine(name string, pd *packages.PackageDiscover) AbstractEngine {
return &traitDef{
def: def{
name: name,
@@ -292,7 +293,7 @@ func (td *traitDef) Complete(ctx process.Context, abstractTemplate string, param
return errors.WithMessagef(err, "marshal parameter of trait %s", td.name)
}
if string(bt) != "null" {
paramFile = fmt.Sprintf("%s: %s", mycue.ParameterTag, string(bt))
paramFile = fmt.Sprintf("%s: %s", velacue.ParameterTag, string(bt))
}
}
if err := bi.AddFile("parameter", paramFile); err != nil {

View File

@@ -24,7 +24,8 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"github.com/oam-dev/kubevela/apis/types"
"github.com/oam-dev/kubevela/pkg/dsl/process"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/cue/process"
)
func TestWorkloadTemplateComplete(t *testing.T) {
@@ -217,7 +218,7 @@ parameter: {
for _, v := range testCases {
ctx := process.NewContext("default", "test", "myapp", "myapp-v1")
wt := NewWorkloadAbstractEngine("testWorkload", &PackageDiscover{})
wt := NewWorkloadAbstractEngine("testWorkload", &packages.PackageDiscover{})
err := wt.Complete(ctx, v.workloadTemplate, v.params)
hasError := err != nil
assert.Equal(t, v.hasCompileErr, hasError)
@@ -918,7 +919,7 @@ parameter: [string]: string`,
`
ctx := process.NewContext("default", "test", "myapp", "myapp-v1")
wt := NewWorkloadAbstractEngine("-", &PackageDiscover{})
wt := NewWorkloadAbstractEngine("-", &packages.PackageDiscover{})
if err := wt.Complete(ctx, baseTemplate, map[string]interface{}{
"replicas": 2,
"enemies": "enemies-data",
@@ -928,7 +929,7 @@ parameter: [string]: string`,
t.Error(err)
return
}
td := NewTraitAbstractEngine(v.traitName, &PackageDiscover{})
td := NewTraitAbstractEngine(v.traitName, &packages.PackageDiscover{})
err := td.Complete(ctx, v.traitTemplate, v.params)
hasError := err != nil
assert.Equal(t, v.hasCompileErr, hasError)

View File

@@ -27,7 +27,7 @@ import (
"github.com/pkg/errors"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"github.com/oam-dev/kubevela/pkg/dsl/model/sets"
"github.com/oam-dev/kubevela/pkg/cue/model/sets"
)
// Instance defines Model Interface

View File

@@ -25,7 +25,7 @@ import (
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
mycue "github.com/oam-dev/kubevela/pkg/cue"
velacue "github.com/oam-dev/kubevela/pkg/cue"
)
func TestGetCompileError(t *testing.T) {
@@ -196,7 +196,7 @@ metadata: name: parameter.name
`,
}
_, err = ins.Unstructured()
assert.Equal(t, err.Error(), fmt.Sprintf(`metadata.name: reference "%s" not found`, mycue.ParameterTag))
assert.Equal(t, err.Error(), fmt.Sprintf(`metadata.name: reference "%s" not found`, velacue.ParameterTag))
ins = &instance{
v: `
apiVersion: "apps/v1"

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package definition
package cue
import (
"context"
@@ -44,7 +44,7 @@ import (
schema "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/utils/pointer"
"github.com/oam-dev/kubevela/pkg/dsl/model"
"github.com/oam-dev/kubevela/pkg/cue/model"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
)
@@ -676,7 +676,5 @@ output: {
"status": map[string]interface{}{
"key": "test2"}},
})).Should(BeEquivalentTo(""))
})
})

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package definition
package packages
import (
"context"

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package definition
package packages
import (
"fmt"
@@ -28,7 +28,7 @@ import (
"gotest.tools/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/oam-dev/kubevela/pkg/dsl/model"
"github.com/oam-dev/kubevela/pkg/cue/model"
)
func TestPackage(t *testing.T) {

View File

@@ -16,7 +16,7 @@ limitations under the License.
package process
import "github.com/oam-dev/kubevela/pkg/dsl/model"
import "github.com/oam-dev/kubevela/pkg/cue/model"
// BaseHook defines function to be invoked before setting base to a
// process.Context

View File

@@ -24,7 +24,7 @@ import (
"github.com/pkg/errors"
"github.com/oam-dev/kubevela/pkg/dsl/model"
"github.com/oam-dev/kubevela/pkg/cue/model"
"github.com/oam-dev/kubevela/pkg/oam/util"
)

View File

@@ -22,7 +22,7 @@ import (
"cuelang.org/go/cue"
"github.com/bmizerany/assert"
"github.com/oam-dev/kubevela/pkg/dsl/model"
"github.com/oam-dev/kubevela/pkg/cue/model"
)
func TestContext(t *testing.T) {

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package definition
package cue
import (
"testing"
@@ -30,6 +30,8 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/envtest"
"sigs.k8s.io/controller-runtime/pkg/envtest/printer"
"github.com/oam-dev/kubevela/pkg/cue/packages"
)
// These tests use Ginkgo (BDD-style Go testing framework). Refer to
@@ -39,7 +41,7 @@ var cfg *rest.Config
var k8sClient client.Client
var testEnv *envtest.Environment
var scheme = runtime.NewScheme()
var pd *PackageDiscover
var pd *packages.PackageDiscover
func TestDefinition(t *testing.T) {
RegisterFailHandler(Fail)
@@ -65,7 +67,7 @@ var _ = BeforeSuite(func(done Done) {
k8sClient, err = client.New(cfg, client.Options{Scheme: scheme})
Expect(err).ToNot(HaveOccurred())
Expect(k8sClient).ToNot(BeNil())
pd, err = NewPackageDiscover(cfg)
pd, err = packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
close(done)

View File

@@ -28,7 +28,7 @@ import (
cueJson "cuelang.org/go/pkg/encoding/json"
"github.com/bmizerany/assert"
mycue "github.com/oam-dev/kubevela/pkg/cue"
velacue "github.com/oam-dev/kubevela/pkg/cue"
)
const TaskTemplate = `
@@ -71,7 +71,7 @@ func TestProcess(t *testing.T) {
}
taskTemplate, _ = taskTemplate.Fill(map[string]interface{}{
"serviceURL": "http://127.0.0.1:8090/api/v1/token?val=test-token",
}, mycue.ParameterTag)
}, velacue.ParameterTag)
inst, err := Process(taskTemplate)
if err != nil {

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package dsl
package cue
// int data can evaluate with number in CUE, so it's OK if we convert the original float type data to int
func isIntegral(val float64) bool {

View File

@@ -24,7 +24,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
)
@@ -34,7 +34,7 @@ type Args struct {
Schema *runtime.Scheme
Client client.Client
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
}
// SetConfig insert kubeconfig into Args
@@ -84,7 +84,7 @@ func (a *Args) GetDiscoveryMapper() (discoverymapper.DiscoveryMapper, error) {
}
// GetPackageDiscover get PackageDiscover client if exist, create if not exist.
func (a *Args) GetPackageDiscover() (*definition.PackageDiscover, error) {
func (a *Args) GetPackageDiscover() (*packages.PackageDiscover, error) {
if a.Config == nil {
if err := a.SetConfig(); err != nil {
return nil, err
@@ -93,7 +93,7 @@ func (a *Args) GetPackageDiscover() (*definition.PackageDiscover, error) {
if a.pd != nil {
return a.pd, nil
}
pd, err := definition.NewPackageDiscover(a.Config)
pd, err := packages.NewPackageDiscover(a.Config)
if err != nil {
return nil, fmt.Errorf("failed to create CRD discovery for CUE package client %w", err)
}

View File

@@ -44,7 +44,7 @@ import (
oamcore "github.com/oam-dev/kubevela/apis/core.oam.dev"
oamstandard "github.com/oam-dev/kubevela/apis/standard.oam.dev/v1alpha1"
mycue "github.com/oam-dev/kubevela/pkg/cue"
velacue "github.com/oam-dev/kubevela/pkg/cue"
)
var (
@@ -97,7 +97,7 @@ func HTTPGet(ctx context.Context, url string) ([]byte, error) {
// GetCUEParameterValue converts definitions to cue format
func GetCUEParameterValue(cueStr string) (cue.Value, error) {
r := cue.Runtime{}
template, err := r.Compile("", cueStr+mycue.BaseTemplate)
template, err := r.Compile("", cueStr+velacue.BaseTemplate)
if err != nil {
return cue.Value{}, err
}
@@ -110,7 +110,7 @@ func GetCUEParameterValue(cueStr string) (cue.Value, error) {
var found bool
for i := 0; i < tempStruct.Len(); i++ {
paraDef = tempStruct.Field(i)
if paraDef.Name == mycue.ParameterTag {
if paraDef.Name == velacue.ParameterTag {
found = true
break
}

View File

@@ -23,8 +23,6 @@ import (
"path/filepath"
"testing"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
corev1 "k8s.io/api/core/v1"
@@ -41,7 +39,8 @@ import (
"sigs.k8s.io/yaml"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
// +kubebuilder:scaffold:imports
)
@@ -55,7 +54,7 @@ var testEnv *envtest.Environment
var testScheme = runtime.NewScheme()
var decoder *admission.Decoder
var dm discoverymapper.DiscoveryMapper
var pd *definition.PackageDiscover
var pd *packages.PackageDiscover
var ctx = context.Background()
var handler *ValidatingHandler
@@ -104,7 +103,7 @@ var _ = BeforeSuite(func(done Done) {
Expect(err).ToNot(HaveOccurred())
Expect(dm).ToNot(BeNil())
pd, err = definition.NewPackageDiscover(cfg)
pd, err = packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
Expect(pd).ToNot(BeNil())

View File

@@ -20,8 +20,6 @@ import (
"context"
"net/http"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
admissionv1beta1 "k8s.io/api/admission/v1beta1"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -31,6 +29,7 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
"github.com/oam-dev/kubevela/pkg/oam/util"
)
@@ -40,7 +39,7 @@ var _ admission.Handler = &ValidatingHandler{}
// ValidatingHandler handles application
type ValidatingHandler struct {
dm discoverymapper.DiscoveryMapper
pd *definition.PackageDiscover
pd *packages.PackageDiscover
Client client.Client
// Decoder decodes objects
Decoder *admission.Decoder

View File

@@ -30,14 +30,14 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"
)
// NewLiveDiffOption creates a live-diff option
func NewLiveDiffOption(c client.Client, dm discoverymapper.DiscoveryMapper, pd *definition.PackageDiscover, as []oam.Object) *LiveDiffOption {
func NewLiveDiffOption(c client.Client, dm discoverymapper.DiscoveryMapper, pd *packages.PackageDiscover, as []oam.Object) *LiveDiffOption {
return &LiveDiffOption{NewDryRunOption(c, dm, pd, as)}
}

View File

@@ -25,7 +25,7 @@ import (
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2"
"github.com/oam-dev/kubevela/apis/core.oam.dev/v1beta1"
"github.com/oam-dev/kubevela/pkg/appfile"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"
@@ -37,7 +37,7 @@ type DryRun interface {
}
// NewDryRunOption creates a dry-run option
func NewDryRunOption(c client.Client, dm discoverymapper.DiscoveryMapper, pd *definition.PackageDiscover, as []oam.Object) *Option {
func NewDryRunOption(c client.Client, dm discoverymapper.DiscoveryMapper, pd *packages.PackageDiscover, as []oam.Object) *Option {
return &Option{c, dm, pd, as}
}
@@ -45,7 +45,7 @@ func NewDryRunOption(c client.Client, dm discoverymapper.DiscoveryMapper, pd *de
type Option struct {
Client client.Client
DiscoveryMapper discoverymapper.DiscoveryMapper
PackageDiscover *definition.PackageDiscover
PackageDiscover *packages.PackageDiscover
// Auxiliaries are capability definitions used to parse application.
// DryRun will use capabilities in Auxiliaries as higher priority than
// getting one from cluster.

View File

@@ -34,7 +34,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/log/zap"
coreoam "github.com/oam-dev/kubevela/apis/core.oam.dev"
"github.com/oam-dev/kubevela/pkg/dsl/definition"
"github.com/oam-dev/kubevela/pkg/cue/packages"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
oamutil "github.com/oam-dev/kubevela/pkg/oam/util"
@@ -45,7 +45,7 @@ var scheme *runtime.Scheme
var k8sClient client.Client
var testEnv *envtest.Environment
var dm discoverymapper.DiscoveryMapper
var pd *definition.PackageDiscover
var pd *packages.PackageDiscover
var dryrunOpt *Option
var diffOpt *LiveDiffOption
@@ -79,7 +79,7 @@ var _ = BeforeSuite(func(done Done) {
dm, err = discoverymapper.New(cfg)
Expect(err).ToNot(HaveOccurred())
Expect(dm).ToNot(BeNil())
pd, err = definition.NewPackageDiscover(cfg)
pd, err = packages.NewPackageDiscover(cfg)
Expect(err).ToNot(HaveOccurred())
Expect(pd).ToNot(BeNil())

View File

@@ -20,7 +20,7 @@ import (
"github.com/spf13/cobra"
"github.com/oam-dev/kubevela/apis/types"
mycue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/cue"
cmdutil "github.com/oam-dev/kubevela/pkg/utils/util"
)
@@ -52,7 +52,7 @@ func NewTemplateContextCommand(ioStream cmdutil.IOStreams) *cobra.Command {
types.TagCommandType: types.TypeSystem,
},
RunE: func(cmd *cobra.Command, args []string) error {
ioStream.Info(mycue.BaseTemplate)
ioStream.Info(cue.BaseTemplate)
return nil
},
}

View File

@@ -36,7 +36,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/oam-dev/kubevela/apis/types"
mycue "github.com/oam-dev/kubevela/pkg/cue"
velacue "github.com/oam-dev/kubevela/pkg/cue"
"github.com/oam-dev/kubevela/pkg/utils/common"
)
@@ -547,9 +547,9 @@ func (ref *ParseReference) parseParameters(paraValue cue.Value, paramKey string,
param.Name = name
param.Required = !fi.IsOptional
if def, ok := val.Default(); ok && def.IsConcrete() {
param.Default = mycue.GetDefault(def)
param.Default = velacue.GetDefault(def)
}
param.Short, param.Usage, param.Alias = mycue.RetrieveComments(val)
param.Short, param.Usage, param.Alias = velacue.RetrieveComments(val)
param.Type = val.IncompleteKind()
switch val.IncompleteKind() {
case cue.StructKind: