Files
kubevela/pkg/apiserver/model/whole.go
Jianbo Sun 6354912bba Feat: sync application from CR to data store (#3428)
* Feat: sync application from CR to data store

Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>

* Feature: address comments

Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>

* Feat: add migrate database feature to avoid max 63 charactor in kubeapi storage

Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>

* update the sync data

Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
2022-03-18 09:55:15 +08:00

74 lines
2.8 KiB
Go

/*
Copyright 2022 The KubeVela Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package model
const (
// AutoGenDesc describes the metadata in datastore that's automatically generated
AutoGenDesc = "Automatically converted from KubeVela Application in Kubernetes."
// AutoGenProj describes the automatically created project
AutoGenProj = "Automatically generated by sync mechanism."
// AutoGenEnvNamePrefix describes the common prefix for auto-generated env
AutoGenEnvNamePrefix = "synced-"
// AutoGenComp describes the creator of component that is auto-generated
AutoGenComp = "synced-comp"
// AutoGenPolicy describes the creator of policy that is auto-generated
AutoGenPolicy = "synced-policy"
// AutoGenRefPolicy describes the creator of policy that is auto-generated, this differs from AutoGenPolicy as the policy is referenced ones
AutoGenRefPolicy = "synced-ref-policy"
// AutoGenWorkflowNamePrefix describes the common prefix for auto-generated workflow
AutoGenWorkflowNamePrefix = "synced-"
// AutoGenTargetNamePrefix describes the common prefix for auto-generated target
AutoGenTargetNamePrefix = "synced-"
// LabelSyncGeneration describes the generation synced from
LabelSyncGeneration = "ux.oam.dev/synced-generation"
// LabelSyncNamespace describes the namespace synced from
LabelSyncNamespace = "ux.oam.dev/from-namespace"
)
// DataStoreApp is a memory struct that describes the model of an application in datastore
type DataStoreApp struct {
AppMeta *Application
Env *Env
Eb *EnvBinding
Comps []*ApplicationComponent
Policies []*ApplicationPolicy
Workflow *Workflow
Targets []*Target
}
const (
// DefaultInitName is default object name for initialization
DefaultInitName = "default"
// DefaultAddonProject is default addon projects
DefaultAddonProject = "addons"
// DefaultInitNamespace is default namespace name for initialization
DefaultInitNamespace = "default"
// DefaultTargetDescription describes default target created
DefaultTargetDescription = "Default target is created by velaux system automatically."
// DefaultEnvDescription describes default env created
DefaultEnvDescription = "Default environment is created by velaux system automatically."
// DefaultProjectDescription describes the default project created
DefaultProjectDescription = "Default project is created by velaux system automatically."
)