Documentation
¶
Index ¶
- Constants
- Variables
- func GetCapabilitiesFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, ...) ([]types.Capability, error)
- func GetDescription(annotation map[string]string) string
- func GetInstalledCapabilityWithCapName(capT types.CapType, capName string) (types.Capability, error)
- func GetSubDir(dir string, capT types.CapType) string
- func GetTraitsFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, ...) ([]types.Capability, []error, error)
- func GetWorkloadsFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, ...) ([]types.Capability, []error, error)
- func HandleDefinition(name, syncDir, crdName string, annotation map[string]string, ...) (types.Capability, error)
- func HandleTemplate(in *runtime.RawExtension, schematic *corev1alpha2.Schematic, ...) (types.Capability, error)
- func LoadAllInstalledCapability() ([]types.Capability, error)
- func LoadCapabilityByName(name string) (types.Capability, error)
- func LoadCapabilityFromSyncedCenter(dir string) ([]types.Capability, error)
- func LoadInstalledCapabilityWithType(capT types.CapType) ([]types.Capability, error)
- func ParseAndSyncCapability(data []byte, syncDir string) (types.Capability, error)
- func RemoveLegacyTemps(retainedTemps []types.Capability, dir string) int
- func SinkTemp2Local(templates []types.Capability, dir string) int
- func StoreRepos(repos []CapCenterConfig) error
- func SyncDefinitionToLocal(ctx context.Context, c types.Args, localDefinitionDir string, ...) (*types.Capability, error)
- func SyncDefinitionsToLocal(ctx context.Context, c types.Args, localDefinitionDir string) ([]types.Capability, []string, error)
- type BoolType
- type CapCenterConfig
- type CenterClient
- type ConsoleReference
- type GithubCenter
- type GithubContent
- type Int64Type
- type MarkdownReference
- type ParseReference
- type Reference
- type ReferenceParameter
- type RemoteCapabilities
- type RemoteCapability
- type StringType
Constants ¶
const (
// BaseRefPath is the target path for reference docs
BaseRefPath = "docs/en/developers/references"
// ReferenceSourcePath is the location for source reference
ReferenceSourcePath = "hack/references"
// WorkloadTypePath is the URL path for workload typed capability
WorkloadTypePath = "workload-types"
// TraitPath is the URL path for trait typed capability
TraitPath = "traits"
)
const DescriptionUndefined = "description not defined"
DescriptionUndefined indicates the description is not defined
const TypeGithub = "github"
TypeGithub represents github
const TypeUnknown = "unknown"
TypeUnknown represents parse failed
Variables ¶
var ConfigurationYamlSample = map[string]string{
"autoscale": `
name: testapp
services:
express-server:
...
autoscale:
min: 1
max: 4
cron:
startAt: "14:00"
duration: "2h"
days: "Monday, Thursday"
replicas: 2
timezone: "America/Los_Angeles"
cpuPercent: 10
`,
"metrics": `
name: my-app-name
services:
my-service-name:
...
metrics:
format: "prometheus"
port: 8080
path: "/metrics"
scheme: "http"
enabled: true
`,
"rollout": `
servcies:
express-server:
...
rollout:
replicas: 2
stepWeight: 50
interval: "10s"
`,
"route": `
name: my-app-name
services:
my-service-name:
...
route:
domain: example.com
issuer: tls
rules:
- path: /testapp
rewriteTarget: /
`,
"scaler": `
name: my-app-name
services:
my-service-name:
...
scaler:
replicas: 100
`,
"task": `
name: my-app-name
services:
my-service-name:
type: task
image: perl
count: 10
cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
`,
"webservice": `
name: my-app-name
services:
my-service-name:
type: webservice # could be skipped
image: oamdev/testapp:v1
cmd: ["node", "server.js"]
port: 8080
cpu: "0.1"
env:
- name: FOO
value: bar
- name: FOO
valueFrom:
secretKeyRef:
name: bar
key: bar
`,
"worker": `
name: my-app-name
services:
my-service-name:
type: worker
image: oamdev/testapp:v1
cmd: ["node", "server.js"]
`,
}
ConfigurationYamlSample stores the configuration yaml sample for capabilities
Functions ¶
func GetCapabilitiesFromCluster ¶
func GetCapabilitiesFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, selector labels.Selector) ([]types.Capability, error)
GetCapabilitiesFromCluster will get capability from K8s cluster
func GetDescription ¶ added in v0.0.8
func GetDescription(annotation map[string]string) string
GetDescription get description from annotation
func GetInstalledCapabilityWithCapName ¶ added in v0.2.0
func GetInstalledCapabilityWithCapName(capT types.CapType, capName string) (types.Capability, error)
GetInstalledCapabilityWithCapName will get cap by alias
func GetSubDir ¶
func GetSubDir(dir string, capT types.CapType) string
GetSubDir will get dir for capability
func GetTraitsFromCluster ¶
func GetTraitsFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, selector labels.Selector) ([]types.Capability, []error, error)
GetTraitsFromCluster will get capability from K8s cluster
func GetWorkloadsFromCluster ¶
func GetWorkloadsFromCluster(ctx context.Context, namespace string, c types.Args, syncDir string, selector labels.Selector) ([]types.Capability, []error, error)
GetWorkloadsFromCluster will get capability from K8s cluster
func HandleDefinition ¶
func HandleDefinition(name, syncDir, crdName string, annotation map[string]string, extension *runtime.RawExtension, tp types.CapType, applyTo []string, schematic *corev1alpha2.Schematic) (types.Capability, error)
HandleDefinition will handle definition to capability
func HandleTemplate ¶
func HandleTemplate(in *runtime.RawExtension, schematic *corev1alpha2.Schematic, name, syncDir string) (types.Capability, error)
HandleTemplate will handle definition template to capability
func LoadAllInstalledCapability ¶
func LoadAllInstalledCapability() ([]types.Capability, error)
LoadAllInstalledCapability will list all capability
func LoadCapabilityByName ¶
func LoadCapabilityByName(name string) (types.Capability, error)
LoadCapabilityByName will load capability from local by name
func LoadCapabilityFromSyncedCenter ¶
func LoadCapabilityFromSyncedCenter(dir string) ([]types.Capability, error)
LoadCapabilityFromSyncedCenter will load capability from dir
func LoadInstalledCapabilityWithType ¶
func LoadInstalledCapabilityWithType(capT types.CapType) ([]types.Capability, error)
LoadInstalledCapabilityWithType will load cap list by type
func ParseAndSyncCapability ¶
func ParseAndSyncCapability(data []byte, syncDir string) (types.Capability, error)
ParseAndSyncCapability will convert config from remote center to capability
func RemoveLegacyTemps ¶ added in v0.0.7
func RemoveLegacyTemps(retainedTemps []types.Capability, dir string) int
RemoveLegacyTemps will remove capability definitions under `dir` but not included in `retainedTemps`.
func SinkTemp2Local ¶
func SinkTemp2Local(templates []types.Capability, dir string) int
SinkTemp2Local will sink template to local file
func StoreRepos ¶
func StoreRepos(repos []CapCenterConfig) error
StoreRepos will store cap center repo locally
func SyncDefinitionToLocal ¶ added in v0.3.1
func SyncDefinitionToLocal(ctx context.Context, c types.Args, localDefinitionDir string, capabilityName string) (*types.Capability, error)
SyncDefinitionToLocal sync definitions to local
func SyncDefinitionsToLocal ¶ added in v0.3.1
func SyncDefinitionsToLocal(ctx context.Context, c types.Args, localDefinitionDir string) ([]types.Capability, []string, error)
SyncDefinitionsToLocal sync definitions to local
Types ¶
type CapCenterConfig ¶
type CapCenterConfig struct {
Name string `json:"name"`
Address string `json:"address"`
Token string `json:"token"`
}
CapCenterConfig is used to store cap center config in file
type CenterClient ¶
type CenterClient interface {
SyncCapabilityFromCenter() error
}
CenterClient defines an interface for cap center client
func NewCenterClient ¶
func NewCenterClient(ctx context.Context, name, address, token string) (CenterClient, error)
NewCenterClient create a client from type
type ConsoleReference ¶ added in v0.3.1
type ConsoleReference struct {
ParseReference
TableName string `json:"tableName"`
TableObject *tablewriter.Table `json:"tableObject"`
}
ConsoleReference is the struct for capability information in console
func (*ConsoleReference) GenerateCapabilityProperties ¶ added in v0.3.1
func (ref *ConsoleReference) GenerateCapabilityProperties(capability *types.Capability) ([]ConsoleReference, error)
GenerateCapabilityProperties get all properties of a capability
type GithubCenter ¶
type GithubCenter struct {
// contains filtered or unexported fields
}
GithubCenter implementation of cap center
func NewGithubCenter ¶
func NewGithubCenter(ctx context.Context, token, centerName string, r *GithubContent) (*GithubCenter, error)
NewGithubCenter will create client by github center implementation
func (*GithubCenter) SyncCapabilityFromCenter ¶
func (g *GithubCenter) SyncCapabilityFromCenter() error
SyncCapabilityFromCenter will sync capability from github cap center TODO(wonderflow): currently we only sync by create, we also need to delete which not exist remotely.
type GithubContent ¶
type GithubContent struct {
Owner string `json:"owner"`
Repo string `json:"repo"`
Path string `json:"path"`
Ref string `json:"ref"`
}
GithubContent for cap center
type MarkdownReference ¶ added in v0.3.1
type MarkdownReference struct {
ParseReference
}
MarkdownReference is the struct for capability information in
func (*MarkdownReference) CreateMarkdown ¶ added in v0.3.1
func (ref *MarkdownReference) CreateMarkdown(caps []types.Capability, baseRefPath, referenceSourcePath string) error
CreateMarkdown creates markdown based on capabilities
func (*MarkdownReference) GenerateReferenceDocs ¶ added in v0.3.1
func (ref *MarkdownReference) GenerateReferenceDocs(baseRefPath string) error
GenerateReferenceDocs generates reference docs
type ParseReference ¶ added in v0.3.1
type ParseReference struct {
}
ParseReference is used to include the common function `parseParameter`
type Reference ¶ added in v0.3.1
type Reference interface {
// contains filtered or unexported methods
}
Reference is the struct for capability information
type ReferenceParameter ¶ added in v0.3.1
type ReferenceParameter struct {
types.Parameter `json:",inline,omitempty"`
// PrintableType is same to `parameter.Type` which could be printable
PrintableType string `json:"printableType"`
// Depth marks the depth for calling of function `parseParameters`
Depth *int `json:"depth"`
}
ReferenceParameter is the parameter section of CUE template
type RemoteCapabilities ¶
type RemoteCapabilities []RemoteCapability
RemoteCapabilities is slice of cap center
type RemoteCapability ¶
type RemoteCapability struct {
// Name MUST be xxx.yaml
Name string `json:"name"`
URL string `json:"downloadUrl"`
Sha string `json:"sha"`
// Type MUST be file
Type string `json:"type"`
}
RemoteCapability defines the capability discovered from remote cap center