Documentation ¶
Index ¶
- Constants
- Variables
- func DeleteK8sWorkloads(ctx string)
- func ErrCreatePatternService(err error) error
- func ErrGetK8sComponents(err error) error
- func ErrParseK8sManifest(err error) error
- func GetK8Components(ctxt context.Context, config []byte) (*manifests.Component, error)
- func RegisterK8sOAMWorkloads() error
- func RegisterMesheryOAMTraits() error
- func RegisterMesheryOAMWorkloads() error
- func RegisterScope(data []byte) (err error)
- func RegisterTrait(data []byte) (err error)
- func RegisterWorkload(data []byte) (err error)
- type ComponentTypes
- func (c *ComponentTypes) FilterWorkloadByVersionAndType(typ string, ver string) (v []WorkloadCapability)
- func (c *ComponentTypes) FilterWorkloadByVersionAndTypeAndName(typ string, ver string, name string) (v []WorkloadCapability)
- func (c *ComponentTypes) FilterWorkloadVersionsByType(typ string) (v []string)
- func (c *ComponentTypes) FilterWorkloadsForType(typ string) (w []WorkloadCapability)
- func (c *ComponentTypes) Get() (names []string)
- func (c *ComponentTypes) Set(name string)
- func (c *ComponentTypes) SetLatestVersion(typ string, ver string)
- type Pattern
- func (p *Pattern) GenerateApplicationConfiguration() (v1alpha1.Configuration, error)
- func (p *Pattern) GetApplicationComponent(name string) (v1alpha1.Component, error)
- func (p *Pattern) GetServiceType(name string) string
- func (p *Pattern) ToCytoscapeJS() (cytoscapejs.GraphElem, error)
- func (p *Pattern) ToYAML() ([]byte, error)
- type ScopeCapability
- type Service
- type TraitCapability
- type WorkloadCapability
Constants ¶
const ( ErrGetK8sComponentsCode = "2212" ErrParseK8sManifestCode = "2213" ErrCreatePatternServiceCode = "2214" )
Variables ¶
var ComponentTypesSingleton = ComponentTypes{ Names: make(map[string]bool), LatestVersionForComponent: make(map[string]string), }
ComponentTypesSingleton is initialized per meshery instance and acts as a helper middleware between client facing API and capability registry. Examples of names stored in this struct are: core,kubernetes,istio,linkerd
Functions ¶
func DeleteK8sWorkloads ¶
func DeleteK8sWorkloads(ctx string)
DeleteK8sWorkloads deletes the registered in memory k8s workloads for a given k8s contextID.
func ErrCreatePatternService ¶
func ErrGetK8sComponents ¶
func ErrParseK8sManifest ¶
func GetK8Components ¶
GetK8Components returns all the generated definitions and schemas for available api resources
func RegisterK8sOAMWorkloads ¶ added in v0.6.23
func RegisterK8sOAMWorkloads() error
func RegisterMesheryOAMTraits ¶
func RegisterMesheryOAMTraits() error
RegisterMesheryOAMTraits will register local meshery traits with meshery server
func RegisterMesheryOAMWorkloads ¶
func RegisterMesheryOAMWorkloads() error
RegisterMesheryOAMWorkloads will register local meshery workloads with meshery server
func RegisterScope ¶
RegisterScope will register a Scope definition into the database
func RegisterTrait ¶
RegisterTrait will register a TraitDefinition into the database
func RegisterWorkload ¶
RegisterWorkload will register a workload definition into the database
Types ¶
type ComponentTypes ¶ added in v0.6.9
type ComponentTypes struct { Names map[string]bool LatestVersionForComponent map[string]string // contains filtered or unexported fields }
present in metadata."adapter.meshery.io/name". Ex- core,kubernetes,istio,linkerd,etc
func (*ComponentTypes) FilterWorkloadByVersionAndType ¶ added in v0.6.9
func (c *ComponentTypes) FilterWorkloadByVersionAndType(typ string, ver string) (v []WorkloadCapability)
func (*ComponentTypes) FilterWorkloadByVersionAndTypeAndName ¶ added in v0.6.9
func (c *ComponentTypes) FilterWorkloadByVersionAndTypeAndName(typ string, ver string, name string) (v []WorkloadCapability)
func (*ComponentTypes) FilterWorkloadVersionsByType ¶ added in v0.6.9
func (c *ComponentTypes) FilterWorkloadVersionsByType(typ string) (v []string)
func (*ComponentTypes) FilterWorkloadsForType ¶ added in v0.6.9
func (c *ComponentTypes) FilterWorkloadsForType(typ string) (w []WorkloadCapability)
func (*ComponentTypes) Get ¶ added in v0.6.9
func (c *ComponentTypes) Get() (names []string)
func (*ComponentTypes) Set ¶ added in v0.6.9
func (c *ComponentTypes) Set(name string)
func (*ComponentTypes) SetLatestVersion ¶ added in v0.6.9
func (c *ComponentTypes) SetLatestVersion(typ string, ver string)
type Pattern ¶
type Pattern struct { // Name is the human-readable, display-friendly descriptor of the pattern Name string `yaml:"name,omitempty" json:"name,omitempty"` //Vars will be used to configure the pattern when it is imported from other patterns. Vars map[string]interface{} `yaml:"vars,omitempty" json:"vars,omitempty"` // PatternID is the moniker use to uniquely identify any given pattern // Convention: SMP-###-v#.#.# PatternID string `yaml:"patternID,omitempty" json:"patternID,omitempty"` Services map[string]*Service `yaml:"services,omitempty" json:"services,omitempty"` }
Pattern is the golang representation of the Pattern config file model
func NewPatternFile ¶
NewPatternFile takes in raw yaml and encodes it into a construct
func NewPatternFileFromCytoscapeJSJSON ¶
NewPatternFileFromCytoscapeJSJSON takes in CytoscapeJS JSON and creates a PatternFile from it
func NewPatternFileFromK8sManifest ¶
Note: If modified, make sure this function always returns a meshkit error
func (*Pattern) GenerateApplicationConfiguration ¶
func (p *Pattern) GenerateApplicationConfiguration() (v1alpha1.Configuration, error)
GenerateApplicationConfiguration generates OAM Application Configuration from the the given Pattern file for a particular deploymnet
func (*Pattern) GetApplicationComponent ¶
GetApplicationComponent generates OAM Application Components from the the given Pattern file
func (*Pattern) GetServiceType ¶
GetServiceType returns the type of the service
func (*Pattern) ToCytoscapeJS ¶
func (p *Pattern) ToCytoscapeJS() (cytoscapejs.GraphElem, error)
ToCytoscapeJS converts pattern file into cytoscape object
type ScopeCapability ¶
type ScopeCapability struct { OAMDefinition v1alpha1.ScopeDefinition `json:"oam_definition,omitempty"` // contains filtered or unexported fields }
ScopeCapability is the struct for capturing the ScopeDefinition of a particular type
func GetScope ¶
func GetScope(name string) (s []ScopeCapability)
GetScope takes in a scope name and will return a SLICE of all of the scopes registered against the name
func GetScopeByID ¶
func GetScopeByID(name, id string) (w *ScopeCapability)
GetScopeByID takes an id of a scope and returns the scope
func GetScopesByK8sAPIVersionKind ¶
func GetScopesByK8sAPIVersionKind(apiVersion, kind string) (s []ScopeCapability)
GetScopesByK8sAPIVersionKind takes in kubernetes API version of a resource and its kind and returns all of the resources that matches that description
Meshery core resources DO NOT have these attached to themselves, hence in order to get them just pass in empty string for both the parameters
type Service ¶
type Service struct { // ID is the id of the service and is completely internal to // Meshery Server and meshery providers ID *uuid.UUID `yaml:"id,omitempty" json:"id,omitempty"` // Name is the name of the service and is an optional parameter // If given then this supercedes the name of the service inherited // from the parent Name string `yaml:"name,omitempty" json:"name,omitempty"` Type string `yaml:"type,omitempty" json:"type,omitempty"` APIVersion string `yaml:"apiVersion,omitempty" json:"apiVersion,omitempty"` Namespace string `yaml:"namespace" json:"namespace"` Version string `yaml:"version,omitempty" json:"version,omitempty"` Model string `yaml:"model,omitempty" json:"model,omitempty"` Labels map[string]string `yaml:"labels,omitempty" json:"labels,omitempty"` Annotations map[string]string `yaml:"annotations,omitempty" json:"annotations,omitempty"` // DependsOn correlates one or more objects as a required dependency of this service // DependsOn is used to determine sequence of operations DependsOn []string `yaml:"dependsOn,omitempty" json:"dependsOn,omitempty"` Settings map[string]interface{} `yaml:"settings,omitempty" json:"settings,omitempty"` Traits map[string]interface{} `yaml:"traits,omitempty" json:"traits,omitempty"` }
Service represents the services defined within the appfile
type TraitCapability ¶
type TraitCapability struct { OAMDefinition v1alpha1.TraitDefinition `json:"oam_definition,omitempty"` // contains filtered or unexported fields }
TraitCapability is the struct for capturing the workload definition of a particular type
func GetTrait ¶
func GetTrait(name string) (t []TraitCapability)
GetTrait takes in a trait name and will return a SLICE of all of the traits registered against the name
func GetTraitByID ¶
func GetTraitByID(name, id string) *TraitCapability
GetTraitByID takes an id of a trait and returns the trait
func GetTraitsByK8sAPIVersionKind ¶
func GetTraitsByK8sAPIVersionKind(apiVersion, kind string) (t []TraitCapability)
GetTraitsByK8sAPIVersionKind takes in kubernetes API version of a resource and its kind and returns all of the resources that matches that description
Meshery core resources DO NOT have these attached to themselves, hence in order to get them just pass in empty string for both the parameters
type WorkloadCapability ¶
type WorkloadCapability struct { OAMDefinition v1alpha1.WorkloadDefinition `json:"oam_definition,omitempty"` // contains filtered or unexported fields }
WorkloadCapability is the struct for capturing the workload definition of a particular type
func GetWorkload ¶
func GetWorkload(name string) (w []WorkloadCapability)
GetWorkload takes in a workload name and will return a SLICE of all of the workloads registered against the name
func GetWorkloadByID ¶
func GetWorkloadByID(name, id string) *WorkloadCapability
GetWorkloadByID takes an id of a workload and returns the workload
func GetWorkloads ¶
func GetWorkloads() (caps []WorkloadCapability)
GetWorkloads return all of the workloads
func GetWorkloadsByK8sAPIVersionKind ¶
func GetWorkloadsByK8sAPIVersionKind(apiVersion, kind string) (w []WorkloadCapability)
GetWorkloadsByK8sAPIVersionKind takes in kubernetes API version of a resource and its kind and returns all of the resources that matches that description
Meshery core resources DO NOT have these attached to themselves, hence in order to get them just pass in empty string for both the parameters