Documentation
¶
Index ¶
- Constants
- Variables
- func IsManaged(object metav1.Object) bool
- func MakeFunctionComponent(functionName string, mesh *v1alpha1.FunctionMesh, spec *v1alpha1.FunctionSpec) *v1alpha1.Function
- func MakeFunctionContainer(function *v1alpha1.Function) *corev1.Container
- func MakeFunctionHPA(function *v1alpha1.Function) *autov2beta2.HorizontalPodAutoscaler
- func MakeFunctionObjectMeta(function *v1alpha1.Function) *metav1.ObjectMeta
- func MakeFunctionService(function *v1alpha1.Function) *corev1.Service
- func MakeFunctionStatefulSet(function *v1alpha1.Function) *appsv1.StatefulSet
- func MakeGoFunctionCommand(downloadPath, goExecFilePath string, function *v1alpha1.Function) []string
- func MakeHeadlessServiceName(serviceName string) string
- func MakeJavaFunctionCommand(downloadPath, packageFile, name, clusterName, details, memory, ... string, ...) []string
- func MakeMetricsFromBuiltinHPARules(builtinRules []v1alpha1.BuiltinHPARule) []autov2beta2.MetricSpec
- func MakePodTemplate(container *corev1.Container, volumes []corev1.Volume, labels map[string]string, ...) *corev1.PodTemplateSpec
- func MakePythonFunctionCommand(downloadPath, packageFile, name, clusterName, details, uid string, ...) []string
- func MakeService(objectMeta *metav1.ObjectMeta, labels map[string]string) *corev1.Service
- func MakeSinkCommand(sink *v1alpha1.Sink) []string
- func MakeSinkComponent(sinkName string, mesh *v1alpha1.FunctionMesh, spec *v1alpha1.SinkSpec) *v1alpha1.Sink
- func MakeSinkContainer(sink *v1alpha1.Sink) *corev1.Container
- func MakeSinkHPA(sink *v1alpha1.Sink) *autov2beta2.HorizontalPodAutoscaler
- func MakeSinkLabels(sink *v1alpha1.Sink) map[string]string
- func MakeSinkObjectMeta(sink *v1alpha1.Sink) *metav1.ObjectMeta
- func MakeSinkService(sink *v1alpha1.Sink) *corev1.Service
- func MakeSinkServiceName(sink *v1alpha1.Sink) string
- func MakeSinkStatefulSet(sink *v1alpha1.Sink) *appsv1.StatefulSet
- func MakeSourceComponent(sourceName string, mesh *v1alpha1.FunctionMesh, spec *v1alpha1.SourceSpec) *v1alpha1.Source
- func MakeSourceContainer(source *v1alpha1.Source) *corev1.Container
- func MakeSourceHPA(source *v1alpha1.Source) *autov2beta2.HorizontalPodAutoscaler
- func MakeSourceObjectMeta(source *v1alpha1.Source) *metav1.ObjectMeta
- func MakeSourceService(source *v1alpha1.Source) *corev1.Service
- func MakeSourceStatefulSet(source *v1alpha1.Source) *appsv1.StatefulSet
- func MakeStatefulSet(objectMeta *metav1.ObjectMeta, replicas *int32, container *corev1.Container, ...) *appsv1.StatefulSet
- func MakeStatefulSetSpec(replicas *int32, container *corev1.Container, volumes []corev1.Volume, ...) *appsv1.StatefulSetSpec
- func ParseControllerConfigs(configFilePath string) error
- type BuiltinAutoScaler
- type ControllerConfigs
- type GoFunctionConf
- type HPARuleAverageUtilizationCPUPercent
- type HPARuleAverageUtilizationResourceMemoryPercent
- type RunnerImages
- type TLSConfig
Constants ¶
View Source
const ( EnvShardID = "SHARD_ID" FunctionsInstanceClasspath = "pulsar.functions.instance.classpath" DefaultRunnerTag = "2.10.0.0-rc10" DefaultRunnerPrefix = "streamnative/" DefaultRunnerImage = DefaultRunnerPrefix + "pulsar-all:" + DefaultRunnerTag DefaultJavaRunnerImage = DefaultRunnerPrefix + "pulsar-functions-java-runner:" + DefaultRunnerTag DefaultPythonRunnerImage = DefaultRunnerPrefix + "pulsar-functions-python-runner:" + DefaultRunnerTag DefaultGoRunnerImage = DefaultRunnerPrefix + "pulsar-functions-go-runner:" + DefaultRunnerTag PulsarAdminExecutableFile = "/pulsar/bin/pulsar-admin" DefaultForAllowInsecure = "false" DefaultForEnableHostNameVerification = "true" AppFunctionMesh = "function-mesh" ComponentSource = "source" ComponentSink = "sink" ComponentFunction = "function" PackageNameFunctionPrefix = "function://" PackageNameSinkPrefix = "sink://" PackageNameSourcePrefix = "source://" AnnotationPrometheusScrape = "prometheus.io/scrape" AnnotationPrometheusPort = "prometheus.io/port" AnnotationManaged = "compute.functionmesh.io/managed" EnvGoFunctionConfigs = "GO_FUNCTION_CONF" DefaultRunnerUserID int64 = 10000 DefaultRunnerGroupID int64 = 10001 )
Variables ¶
View Source
var Configs = DefaultConfigs()
View Source
var GRPCPort = corev1.ContainerPort{ Name: "tcp-grpc", ContainerPort: 9093, Protocol: corev1.ProtocolTCP, }
View Source
var MetricsPort = corev1.ContainerPort{ Name: "tcp-metrics", ContainerPort: 9094, Protocol: corev1.ProtocolTCP, }
Functions ¶
func MakeFunctionComponent ¶
func MakeFunctionComponent(functionName string, mesh *v1alpha1.FunctionMesh, spec *v1alpha1.FunctionSpec) *v1alpha1.Function
func MakeFunctionContainer ¶
func MakeFunctionHPA ¶
func MakeFunctionHPA(function *v1alpha1.Function) *autov2beta2.HorizontalPodAutoscaler
func MakeFunctionObjectMeta ¶
func MakeFunctionObjectMeta(function *v1alpha1.Function) *metav1.ObjectMeta
func MakeFunctionStatefulSet ¶
func MakeFunctionStatefulSet(function *v1alpha1.Function) *appsv1.StatefulSet
func MakeGoFunctionCommand ¶
func MakeHeadlessServiceName ¶
MakeHeadlessServiceName changes the name of service to headless style
func MakeJavaFunctionCommand ¶
func MakeMetricsFromBuiltinHPARules ¶
func MakeMetricsFromBuiltinHPARules(builtinRules []v1alpha1.BuiltinHPARule) []autov2beta2.MetricSpec
func MakePodTemplate ¶
func MakeService ¶
func MakeSinkCommand ¶
func MakeSinkComponent ¶
func MakeSinkHPA ¶
func MakeSinkHPA(sink *v1alpha1.Sink) *autov2beta2.HorizontalPodAutoscaler
func MakeSinkObjectMeta ¶
func MakeSinkObjectMeta(sink *v1alpha1.Sink) *metav1.ObjectMeta
func MakeSinkServiceName ¶
func MakeSinkStatefulSet ¶
func MakeSinkStatefulSet(sink *v1alpha1.Sink) *appsv1.StatefulSet
func MakeSourceComponent ¶
func MakeSourceComponent(sourceName string, mesh *v1alpha1.FunctionMesh, spec *v1alpha1.SourceSpec) *v1alpha1.Source
func MakeSourceHPA ¶
func MakeSourceHPA(source *v1alpha1.Source) *autov2beta2.HorizontalPodAutoscaler
func MakeSourceObjectMeta ¶
func MakeSourceObjectMeta(source *v1alpha1.Source) *metav1.ObjectMeta
func MakeSourceStatefulSet ¶
func MakeSourceStatefulSet(source *v1alpha1.Source) *appsv1.StatefulSet
func MakeStatefulSet ¶
func MakeStatefulSetSpec ¶
func ParseControllerConfigs ¶
Types ¶
type BuiltinAutoScaler ¶
type BuiltinAutoScaler interface {
Metrics() []autov2beta2.MetricSpec
}
func GetBuiltinAutoScaler ¶
func GetBuiltinAutoScaler(builtinRule v1alpha1.BuiltinHPARule) BuiltinAutoScaler
func NewHPARuleAverageUtilizationCPUPercent ¶
func NewHPARuleAverageUtilizationCPUPercent(cpuPercentage int32) BuiltinAutoScaler
func NewHPARuleAverageUtilizationMemoryPercent ¶
func NewHPARuleAverageUtilizationMemoryPercent(memoryPercentage int32) BuiltinAutoScaler
type ControllerConfigs ¶
type ControllerConfigs struct {
RunnerImages RunnerImages `yaml:"runnerImages,omitempty"`
ResourceLabels map[string]string `yaml:"resourceLabels,omitempty"`
ResourceAnnotations map[string]string `yaml:"resourceAnnotations,omitempty"`
}
func DefaultConfigs ¶
func DefaultConfigs() *ControllerConfigs
type GoFunctionConf ¶
type GoFunctionConf struct {
PulsarServiceURL string `json:"pulsarServiceURL" yaml:"pulsarServiceURL"`
InstanceID int `json:"instanceID" yaml:"instanceID"`
FuncID string `json:"funcID" yaml:"funcID"`
FuncVersion string `json:"funcVersion" yaml:"funcVersion"`
MaxBufTuples int `json:"maxBufTuples" yaml:"maxBufTuples"`
Port int `json:"port" yaml:"port"`
ClusterName string `json:"clusterName" yaml:"clusterName"`
KillAfterIdle time.Duration `json:"killAfterIdleMs" yaml:"killAfterIdleMs"`
// function details config
Tenant string `json:"tenant" yaml:"tenant"`
NameSpace string `json:"nameSpace" yaml:"nameSpace"`
Name string `json:"name" yaml:"name"`
LogTopic string `json:"logTopic" yaml:"logTopic"`
ProcessingGuarantees int32 `json:"processingGuarantees" yaml:"processingGuarantees"`
SecretsMap string `json:"secretsMap" yaml:"secretsMap"`
Runtime int32 `json:"runtime" yaml:"runtime"`
AutoACK bool `json:"autoAck" yaml:"autoAck"`
Parallelism int32 `json:"parallelism" yaml:"parallelism"`
//source config
SubscriptionType int32 `json:"subscriptionType" yaml:"subscriptionType"`
TimeoutMs uint64 `json:"timeoutMs" yaml:"timeoutMs"`
SubscriptionName string `json:"subscriptionName" yaml:"subscriptionName"`
CleanupSubscription bool `json:"cleanupSubscription" yaml:"cleanupSubscription"`
//source input specs
SourceSpecTopic string `json:"sourceSpecsTopic" yaml:"sourceSpecsTopic"`
SourceSchemaType string `json:"sourceSchemaType" yaml:"sourceSchemaType"`
IsRegexPatternSubscription bool `json:"isRegexPatternSubscription" yaml:"isRegexPatternSubscription"`
ReceiverQueueSize int32 `json:"receiverQueueSize" yaml:"receiverQueueSize"`
//sink spec config
SinkSpecTopic string `json:"sinkSpecsTopic" yaml:"sinkSpecsTopic"`
SinkSchemaType string `json:"sinkSchemaType" yaml:"sinkSchemaType"`
//resources config
CPU float64 `json:"cpu" yaml:"cpu"`
RAM int64 `json:"ram" yaml:"ram"`
Disk int64 `json:"disk" yaml:"disk"`
//retryDetails config
MaxMessageRetries int32 `json:"maxMessageRetries" yaml:"maxMessageRetries"`
DeadLetterTopic string `json:"deadLetterTopic" yaml:"deadLetterTopic"`
ExpectedHealthCheckInterval int32 `json:"expectedHealthCheckInterval" yaml:"expectedHealthCheckInterval"`
UserConfig string `json:"userConfig" yaml:"userConfig"`
//metrics config
MetricsPort int `json:"metricsPort" yaml:"metricsPort"`
}
type HPARuleAverageUtilizationCPUPercent ¶
type HPARuleAverageUtilizationCPUPercent struct {
// contains filtered or unexported fields
}
func (*HPARuleAverageUtilizationCPUPercent) Metrics ¶
func (H *HPARuleAverageUtilizationCPUPercent) Metrics() []autov2beta2.MetricSpec
type HPARuleAverageUtilizationResourceMemoryPercent ¶
type HPARuleAverageUtilizationResourceMemoryPercent struct {
// contains filtered or unexported fields
}
func (*HPARuleAverageUtilizationResourceMemoryPercent) Metrics ¶
func (H *HPARuleAverageUtilizationResourceMemoryPercent) Metrics() []autov2beta2.MetricSpec
type RunnerImages ¶
Click to show internal directories.
Click to hide internal directories.