Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyApplication(app corev1beta1.Application, ioStream cmdutil.IOStreams, clt client.Client) error
- func BaseComplete(namespace string, c common.Args, workloadName string, appName string, ...) (*api.Application, error)
- func BuildRun(ctx context.Context, app *api.Application, client client.Client, ...) error
- func CheckLabelExistence(labels map[string]string, label string) bool
- func ConvertApplyTo(applyTo []string, workloads []types.Capability) []string
- func GetDefinitionDefaultSpec(kind string) map[string]interface{}
- func HackForStandardTrait(tp types.Capability, client client.Client) error
- func InitApplication(namespace string, c common.Args, workloadName string, appGroup string) (*api.Application, error)
- func InstallComponentDefinition(client client.Client, componentData []byte, ioStreams cmdutil.IOStreams, ...) error
- func InstallPrometheusInstance(kubecli client.Client) error
- func InstallTraitDefinition(client client.Client, mapper discoverymapper.DiscoveryMapper, traitdata []byte, ...) error
- func ListRawWorkloadDefinitions(userNamespace string, c common.Args) ([]v1beta1.WorkloadDefinition, error)
- func Parse(applyTo string) string
- func SearchDefinition(definitionName string, c client.Client, definitionType string, ...) ([]unstructured.Unstructured, error)
- func ValidDefinitionTypes() []string
- type AppfileOptions
- func (o *AppfileOptions) ApplyApp(app *corev1beta1.Application, scopes []oam.Object) error
- func (o *AppfileOptions) BaseAppFileRun(result *BuildResult, args common.Args) error
- func (o *AppfileOptions) Export(filePath, namespace string, quiet bool, c common.Args) (*BuildResult, []byte, error)
- func (o *AppfileOptions) ExportFromAppFile(app *api.AppFile, namespace string, quiet bool, c common.Args) (*BuildResult, []byte, error)
- func (o *AppfileOptions) Info(app *corev1beta1.Application) string
- func (o *AppfileOptions) Run(filePath, namespace string, c common.Args) error
- type BuildResult
- type Definition
- func (def *Definition) FromCUE(val *cue.Value, templateString string) error
- func (def *Definition) FromCUEString(cueString string, config *rest.Config) error
- func (def *Definition) GetType() string
- func (def *Definition) SetGVK(kind string)
- func (def *Definition) SetType(t string) error
- func (def *Definition) ToCUE() (*cue.Value, string, error)
- func (def *Definition) ToCUEString() (string, error)
- type DeleteOptions
- func (o *DeleteOptions) DeleteApp(io cmdutil.IOStreams) error
- func (o *DeleteOptions) DeleteAppWithoutDoubleCheck(io cmdutil.IOStreams) error
- func (o *DeleteOptions) DeleteComponent(io cmdutil.IOStreams) error
- func (o *DeleteOptions) ForceDeleteApp(io cmdutil.IOStreams) error
- func (o *DeleteOptions) WaitUntilDeleteApp(io cmdutil.IOStreams) error
- type Option
Constants ¶
const ( // DefinitionDescriptionKey the key for accessing definition description DefinitionDescriptionKey = "definition.oam.dev/description" // DefinitionUserPrefix defines the prefix of user customized label or annotation DefinitionUserPrefix = "custom.definition.oam.dev/" )
Variables ¶
var ( // DefinitionTemplateKeys the keys for accessing definition template DefinitionTemplateKeys = []string{"spec", "schematic", "cue", "template"} // DefinitionTypeToKind maps the definition types to corresponding kinds DefinitionTypeToKind = map[string]string{ "component": v1beta1.ComponentDefinitionKind, "trait": v1beta1.TraitDefinitionKind, "policy": v1beta1.PolicyDefinitionKind, "workload": v1beta1.WorkloadDefinitionKind, "scope": v1beta1.ScopeDefinitionKind, "workflow-step": v1beta1.WorkflowStepDefinitionKind, } )
Functions ¶
func ApplyApplication ¶ added in v1.1.0
func ApplyApplication(app corev1beta1.Application, ioStream cmdutil.IOStreams, clt client.Client) error
ApplyApplication will apply an application file in K8s GVK format
func BaseComplete ¶
func BaseComplete(namespace string, c common.Args, workloadName string, appName string, flagSet *pflag.FlagSet, workloadType string) (*api.Application, error)
BaseComplete will construct an Application from cli parameters.
func BuildRun ¶
func BuildRun(ctx context.Context, app *api.Application, client client.Client, namespace string, io util.IOStreams) error
BuildRun will build application and deploy from Appfile
func CheckLabelExistence ¶ added in v1.1.1
CheckLabelExistence checks whether a label `key=value` exists in definition labels
func ConvertApplyTo ¶
func ConvertApplyTo(applyTo []string, workloads []types.Capability) []string
ConvertApplyTo will convert applyTo slice to workload capability name if CRD matches
func GetDefinitionDefaultSpec ¶ added in v1.1.0
GetDefinitionDefaultSpec returns the default spec of Definition with given kind. This may be implemented with cue in the future.
func HackForStandardTrait ¶
func HackForStandardTrait(tp types.Capability, client client.Client) error
HackForStandardTrait will do some hack install for standard registry
func InitApplication ¶
func InitApplication(namespace string, c common.Args, workloadName string, appGroup string) (*api.Application, error)
InitApplication will load Application from cluster
func InstallComponentDefinition ¶ added in v1.1.0
func InstallComponentDefinition(client client.Client, componentData []byte, ioStreams cmdutil.IOStreams, tp *types.Capability) error
InstallComponentDefinition will add a component into K8s cluster and install its controller
func InstallPrometheusInstance ¶
InstallPrometheusInstance will install prometheus instance when the Capability is 'metrics'
func InstallTraitDefinition ¶ added in v1.1.0
func InstallTraitDefinition(client client.Client, mapper discoverymapper.DiscoveryMapper, traitdata []byte, ioStreams cmdutil.IOStreams, cap *types.Capability) error
InstallTraitDefinition will add a trait into K8s cluster and install it's controller
func ListRawWorkloadDefinitions ¶
func ListRawWorkloadDefinitions(userNamespace string, c common.Args) ([]v1beta1.WorkloadDefinition, error)
ListRawWorkloadDefinitions will list raw definition
func Parse ¶
Parse will parse applyTo(with format Group/Version.Kind) to crd name by just calculate the plural of kind word. TODO we should use discoverymapper instead of calculate plural
func SearchDefinition ¶ added in v1.1.0
func SearchDefinition(definitionName string, c client.Client, definitionType string, namespace string) ([]unstructured.Unstructured, error)
SearchDefinition search the Definition in k8s by traversing all possible results across types or namespaces
func ValidDefinitionTypes ¶ added in v1.1.0
func ValidDefinitionTypes() []string
ValidDefinitionTypes return the list of valid definition types
Types ¶
type AppfileOptions ¶
AppfileOptions is some configuration that modify options for an Appfile
func (*AppfileOptions) ApplyApp ¶
func (o *AppfileOptions) ApplyApp(app *corev1beta1.Application, scopes []oam.Object) error
ApplyApp applys config resources for the app. It differs by create and update:
- for create, it displays app status along with information of url, metrics, ssh, logging.
- for update, it rolls out a canary deployment and prints its information. User can verify the canary deployment. This will wait for user approval. If approved, it continues upgrading the whole; otherwise, it would rollback.
func (*AppfileOptions) BaseAppFileRun ¶
func (o *AppfileOptions) BaseAppFileRun(result *BuildResult, args common.Args) error
BaseAppFileRun starts an application according to Appfile
func (*AppfileOptions) Export ¶
func (o *AppfileOptions) Export(filePath, namespace string, quiet bool, c common.Args) (*BuildResult, []byte, error)
Export export Application object from the path of Appfile
func (*AppfileOptions) ExportFromAppFile ¶
func (o *AppfileOptions) ExportFromAppFile(app *api.AppFile, namespace string, quiet bool, c common.Args) (*BuildResult, []byte, error)
ExportFromAppFile exports Application from appfile object
func (*AppfileOptions) Info ¶
func (o *AppfileOptions) Info(app *corev1beta1.Application) string
Info shows the status of each service in the Appfile
type BuildResult ¶
type BuildResult struct {
// contains filtered or unexported fields
}
BuildResult is the export struct from AppFile yaml or AppFile object
type Definition ¶ added in v1.1.0
type Definition struct {
unstructured.Unstructured
}
Definition the general struct for handling all kinds of definitions like ComponentDefinition or TraitDefinition
func (*Definition) FromCUE ¶ added in v1.1.0
func (def *Definition) FromCUE(val *cue.Value, templateString string) error
FromCUE converts CUE value (predefined Definition's cue format) to Definition nolint:gocyclo
func (*Definition) FromCUEString ¶ added in v1.1.0
func (def *Definition) FromCUEString(cueString string, config *rest.Config) error
FromCUEString converts cue string into Definition
func (*Definition) GetType ¶ added in v1.1.0
func (def *Definition) GetType() string
GetType gets the type of Definition
func (*Definition) SetGVK ¶ added in v1.1.0
func (def *Definition) SetGVK(kind string)
SetGVK set the GroupVersionKind of Definition
func (*Definition) SetType ¶ added in v1.1.0
func (def *Definition) SetType(t string) error
SetType sets the type of Definition
func (*Definition) ToCUE ¶ added in v1.1.0
func (def *Definition) ToCUE() (*cue.Value, string, error)
ToCUE converts Definition to CUE value (with predefined Definition's cue format)
func (*Definition) ToCUEString ¶ added in v1.1.0
func (def *Definition) ToCUEString() (string, error)
ToCUEString converts definition to CUE value and then encode to string
type DeleteOptions ¶
type DeleteOptions struct { Namespace string AppName string CompName string Client client.Client C common.Args Wait bool ForceDelete bool }
DeleteOptions is options for delete
func (*DeleteOptions) DeleteApp ¶
func (o *DeleteOptions) DeleteApp(io cmdutil.IOStreams) error
DeleteApp will delete app including server side
func (*DeleteOptions) DeleteAppWithoutDoubleCheck ¶ added in v1.2.0
func (o *DeleteOptions) DeleteAppWithoutDoubleCheck(io cmdutil.IOStreams) error
DeleteAppWithoutDoubleCheck delete application without double check
func (*DeleteOptions) DeleteComponent ¶
func (o *DeleteOptions) DeleteComponent(io cmdutil.IOStreams) error
DeleteComponent will delete one component including server side.
func (*DeleteOptions) ForceDeleteApp ¶ added in v1.2.0
func (o *DeleteOptions) ForceDeleteApp(io cmdutil.IOStreams) error
ForceDeleteApp force delete the application
func (*DeleteOptions) WaitUntilDeleteApp ¶ added in v1.2.0
func (o *DeleteOptions) WaitUntilDeleteApp(io cmdutil.IOStreams) error
WaitUntilDeleteApp will wait until the application is completely deleted