standalone

package
v0.0.0-...-3d7b588 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultDaprDirName      = ".dapr"
	DefaultConfigFileName   = "config.yaml"
	DefaultResourcesDirName = "resources"
)
View Source
const (

	// DaprPlacementContainerName is the container name of placement service.
	DaprPlacementContainerName = "dapr_placement"
	// DaprRedisContainerName is the container name of redis.
	DaprRedisContainerName = "dapr_redis"
	// DaprZipkinContainerName is the container name of zipkin.
	DaprZipkinContainerName = "dapr_zipkin"
)
View Source
const SocketFormat = "/tmp/dapr-%s-http.socket"

Variables

This section is empty.

Functions

func GetAppCommand

func GetAppCommand(config *RunConfig) *exec.Cmd

func GetBuildInfo

func GetBuildInfo(inputInstallPath string, version string) (string, error)

GetBuildInfo returns build info for the CLI and the local Dapr runtime.

func GetCLIPIDCountMap

func GetCLIPIDCountMap(apps []ListOutput) map[int]int

GetCLIPIDCountMap returns a map of CLI PIDs to number of apps started with it.

func GetDaprCommand

func GetDaprCommand(config *RunConfig) (*exec.Cmd, error)

func GetDaprComponentsPath

func GetDaprComponentsPath(daprDir string) string

func GetDaprConfigPath

func GetDaprConfigPath(daprDir string) string

func GetDaprRuntimePath

func GetDaprRuntimePath(daprRuntimePath string) (string, error)

GetDaprRuntimePath returns the dapr runtime installation path. daprRuntimePath is based on the --runtime-path command line flag. The order of precedence is:

  1. From --runtime-path command line flag appended with `.dapr`
  2. From DAPR_RUNTIME_PATH environment variable appended with `.dapr`
  3. default $HOME/.dapr

func GetDashboardVersion

func GetDashboardVersion(inputInstallPath string) (string, error)

GetDashboardVersion returns the version for the local Dapr dashboard.

func GetRuntimeVersion

func GetRuntimeVersion(inputInstallPath string) (string, error)

GetRuntimeVersion returns the version for the local Dapr runtime.

func Init

func Init(runtimeVersion, dashboardVersion string, dockerNetwork string, slimMode bool, imageRegistryURL string, fromDir string, containerRuntime string, imageVariant string, daprInstallPath string) error

Init installs Dapr on a local machine using the supplied runtimeVersion.

func NewDashboardCmd

func NewDashboardCmd(inputInstallPath string, port int) (*exec.Cmd, error)

NewDashboardCmd creates the command to run dashboard.

func Stop

func Stop(appID string, cliPIDToNoOfApps map[int]int, apps []ListOutput) error

Stop terminates the application process.

func StopAppsWithRunFile

func StopAppsWithRunFile(runTemplatePath string) error

StopAppsWithRunFile terminates the daprd and application processes with the given run file.

func Uninstall

func Uninstall(uninstallAll bool, dockerNetwork string, containerRuntime string, inputInstallPath string) error

Uninstall reverts all changes made by init. Deletes all installed containers, removes default dapr folder, removes the installed binary and unsets env variables.

Types

type Client

type Client interface {
	// Invoke is a command to invoke a remote or local dapr instance.
	Invoke(appID, method string, data []byte, verb string, socket string) (string, error)
	// Publish is used to publish event to a topic in a pubsub for an app ID.
	Publish(publishAppID, pubsubName, topic string, payload []byte, socket string, metadata map[string]interface{}) error
}

Client is the interface the wraps all the methods exposed by the Dapr CLI.

func NewClient

func NewClient() Client

type DaprMeta

type DaprMeta struct {
	ExistingIDs   map[string]bool
	ExistingPorts map[int]bool
}

type DaprProcess

type DaprProcess interface {
	List() ([]ListOutput, error)
}

type ListOutput

type ListOutput struct {
	AppID              string `csv:"APP ID"    json:"appId"              yaml:"appId"`
	HTTPPort           int    `csv:"HTTP PORT" json:"httpPort"           yaml:"httpPort"`
	GRPCPort           int    `csv:"GRPC PORT" json:"grpcPort"           yaml:"grpcPort"`
	AppPort            int    `csv:"APP PORT"  json:"appPort"            yaml:"appPort"`
	MetricsEnabled     bool   `csv:"-"         json:"metricsEnabled"     yaml:"metricsEnabled"` // Not displayed in table, consumed by dashboard.
	Command            string `csv:"COMMAND"   json:"command"            yaml:"command"`
	Age                string `csv:"AGE"       json:"age"                yaml:"age"`
	Created            string `csv:"CREATED"   json:"created"            yaml:"created"`
	DaprdPID           int    `csv:"DAPRD PID" json:"daprdPid"           yaml:"daprdPid"`
	CliPID             int    `csv:"CLI PID"   json:"cliPid"             yaml:"cliPid"`
	AppPID             int    `csv:"APP PID"   json:"appPid"             yaml:"appPid"`
	MaxRequestBodySize int    `csv:"-"         json:"maxRequestBodySize" yaml:"maxRequestBodySize"` // Additional field, not displayed in table.
	HTTPReadBufferSize int    `csv:"-"         json:"httpReadBufferSize" yaml:"httpReadBufferSize"` // Additional field, not displayed in table.
	RunTemplatePath    string `csv:"RUN_TEMPLATE_PATH"  json:"runTemplatePath"            yaml:"runTemplatePath"`
	AppLogPath         string `csv:"APP_LOG_PATH"  json:"appLogPath"            yaml:"appLogPath"`
	DaprDLogPath       string `csv:"DAPRD_LOG_PATH"  json:"daprdLogPath"            yaml:"daprdLogPath"`
	RunTemplateName    string `json:"runTemplateName"            yaml:"runTemplateName"` // specifically omitted in csv output.
}

ListOutput represents the application ID, application port and creation time.

func List

func List() ([]ListOutput, error)

List outputs all the applications.

type LogDestType

type LogDestType string
const (
	Console             LogDestType = "console"
	File                LogDestType = "file"
	FileAndConsole      LogDestType = "fileAndConsole"
	DefaultDaprdLogDest             = File
	DefaultAppLogDest               = FileAndConsole
)

func (LogDestType) IsValid

func (l LogDestType) IsValid() error

func (LogDestType) String

func (l LogDestType) String() string

type RunConfig

type RunConfig struct {
	SharedRunConfig   `yaml:",inline"`
	AppID             string   `env:"APP_ID" arg:"app-id" annotation:"dapr.io/app-id" yaml:"appID"`
	AppChannelAddress string   `env:"APP_CHANNEL_ADDRESS" arg:"app-channel-address" ifneq:"127.0.0.1" yaml:"appChannelAddress"`
	AppPort           int      `env:"APP_PORT" arg:"app-port" annotation:"dapr.io/app-port" yaml:"appPort" default:"-1"`
	HTTPPort          int      `env:"DAPR_HTTP_PORT" arg:"dapr-http-port" yaml:"daprHTTPPort" default:"-1"`
	GRPCPort          int      `env:"DAPR_GRPC_PORT" arg:"dapr-grpc-port" yaml:"daprGRPCPort" default:"-1"`
	ProfilePort       int      `arg:"profile-port" yaml:"profilePort" default:"-1"`
	Command           []string `yaml:"command"`
	MetricsPort       int      `env:"DAPR_METRICS_PORT" arg:"metrics-port" annotation:"dapr.io/metrics-port" yaml:"metricsPort" default:"-1"`
	UnixDomainSocket  string   `arg:"unix-domain-socket" annotation:"dapr.io/unix-domain-socket-path" yaml:"unixDomainSocket"`
	InternalGRPCPort  int      `arg:"dapr-internal-grpc-port" yaml:"daprInternalGRPCPort" default:"-1"`
}

RunConfig represents the application configuration parameters.

func (*RunConfig) GetAnnotations

func (config *RunConfig) GetAnnotations() map[string]string

func (*RunConfig) GetEnv

func (config *RunConfig) GetEnv() map[string]string

func (*RunConfig) SetDefaultFromSchema

func (config *RunConfig) SetDefaultFromSchema()

func (*RunConfig) Validate

func (config *RunConfig) Validate() error

func (*RunConfig) ValidateK8s

func (config *RunConfig) ValidateK8s() error

type SharedRunConfig

type SharedRunConfig struct {
	// Specifically omitted from annotations see https://github.com/halokid/daprcli/issues/1324
	ConfigFile         string `arg:"config" yaml:"configFilePath"`
	AppProtocol        string `arg:"app-protocol" annotation:"dapr.io/app-protocol" yaml:"appProtocol" default:"http"`
	APIListenAddresses string `arg:"dapr-listen-addresses" annotation:"dapr.io/sidecar-listen-address" yaml:"apiListenAddresses"`
	EnableProfiling    bool   `arg:"enable-profiling" annotation:"dapr.io/enable-profiling" yaml:"enableProfiling"`
	LogLevel           string `arg:"log-level" annotation:"dapr.io.log-level" yaml:"logLevel"`
	MaxConcurrency     int    `arg:"app-max-concurrency" annotation:"dapr.io/app-max-concurrerncy" yaml:"appMaxConcurrency" default:"-1"`
	// Speicifcally omitted from annotations similar to config file path above.
	PlacementHostAddr string `arg:"placement-host-address" yaml:"placementHostAddress"`
	// Speicifcally omitted from annotations similar to config file path above.
	ComponentsPath string `arg:"components-path"` // Deprecated in run template file: use ResourcesPaths instead.
	// Speicifcally omitted from annotations similar to config file path above.
	ResourcesPath string `yaml:"resourcesPath"` // Deprecated in run template file: use ResourcesPaths instead.
	// Speicifcally omitted from annotations similar to config file path above.
	ResourcesPaths []string `arg:"resources-path" yaml:"resourcesPaths"`
	// Speicifcally omitted from annotations as appSSL is deprecated.
	AppSSL             bool   `arg:"app-ssl" yaml:"appSSL"`
	MaxRequestBodySize int    `arg:"dapr-http-max-request-size" annotation:"dapr.io/http-max-request-size" yaml:"daprHTTPMaxRequestSize" default:"-1"`
	HTTPReadBufferSize int    `arg:"dapr-http-read-buffer-size" annotation:"dapr.io/http-read-buffer-size" yaml:"daprHTTPReadBufferSize" default:"-1"`
	EnableAppHealth    bool   `arg:"enable-app-health-check" annotation:"dapr.io/enable-app-health-check" yaml:"enableAppHealthCheck"`
	AppHealthPath      string `arg:"app-health-check-path" annotation:"dapr.io/app-health-check-path" yaml:"appHealthCheckPath"`
	AppHealthInterval  int    `arg:"app-health-probe-interval" annotation:"dapr.io/app-health-probe-interval" ifneq:"0" yaml:"appHealthProbeInterval"`
	AppHealthTimeout   int    `arg:"app-health-probe-timeout" annotation:"dapr.io/app-health-probe-timeout" ifneq:"0" yaml:"appHealthProbeTimeout"`
	AppHealthThreshold int    `arg:"app-health-threshold" annotation:"dapr.io/app-health-threshold" ifneq:"0" yaml:"appHealthThreshold"`
	EnableAPILogging   bool   `arg:"enable-api-logging" annotation:"dapr.io/enable-api-logging" yaml:"enableApiLogging"`
	// Specifically omitted from annotations see https://github.com/halokid/daprcli/issues/1324 .
	DaprdInstallPath    string            `yaml:"runtimePath"`
	Env                 map[string]string `yaml:"env"`
	DaprdLogDestination LogDestType       `yaml:"daprdLogDestination"`
	AppLogDestination   LogDestType       `yaml:"appLogDestination"`
}

SharedRunConfig represents the application configuration parameters, which can be shared across many apps.

type Standalone

type Standalone struct {
	// contains filtered or unexported fields
}

func (*Standalone) Invoke

func (s *Standalone) Invoke(appID, method string, data []byte, verb string, path string) (string, error)

Invoke is a command to invoke a remote or local dapr instance.

func (*Standalone) Publish

func (s *Standalone) Publish(publishAppID, pubsubName, topic string, payload []byte, socket string, metadata map[string]interface{}) error

Publish publishes payload to topic in pubsub referenced by pubsubName.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL