Documentation ¶
Index ¶
Constants ¶
const ( CmdKeyCommandYaml = "command" CmdKeyArgsYaml = "args" )
Yaml keys for Command props.
const ( OptKeyServiceNameYaml = "service-name" OptKeyCommandsYaml = "commands" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CLIOptions ¶
type CLIOptions interface { // Port returns the configured port number the HTTP server should bind to. // Defaults to "80". Port() uint16 // ConfigPath returns the configured path to the service config file. // Defaults to "/app/config.yml". ConfigPath() string // WorkspacePath returns the configured workspace root directory. // Defaults to "/workspace" WorkspacePath() string // GetUsablePort returns the configured server port in the format expected by // the Golang HTTP server package. GetUsablePort() string }
CLIOptions contains the values of the passed command line args (or the default values for those args).
func ParseCLIOptions ¶
func ParseCLIOptions() (CLIOptions, error)
type Command ¶
type Command struct { Executable string `yaml:"executable" json:"executable"` Args []string `yaml:"args" json:"arguments"` }
Command is a container wrapping a command definition from the server configuration file.
type FileOptions ¶
type FileOptions interface { // Commands returns the command configured in the config.yml file. Commands() Command // FileTypes returns the configured allowed file types for the handler // command. FileTypes() []string // ServiceName returns the name of the configured service. ServiceName() string }
FileOptions represents the options set in the yaml file.
TODO: this type is badly named, it should be command config or something.
func ParseFileOptions ¶
func ParseFileOptions(path string) (FileOptions, error)
func ParseOptionsReader ¶
func ParseOptionsReader(reader io.Reader) (FileOptions, error)
type InjectorProvider ¶
InjectorProvider defines a function that is used to construct and populate a VariableInjector instance with job context data.
func InjectorList ¶
func InjectorList() []InjectorProvider
InjectorList returns a slice of providers for all VariableInjectors.
type Options ¶
type Options struct { // Name of the service as it appears in health/status output. ServiceName string `yaml:"service-name" json:"serviceName"` // Configuration for the CLI call to the dataset tooling used to process // uploads. Command Command `yaml:"command" json:"command"` // Allowed list of raw upload file extensions. // // The service will handle zip and tar archives automatically. This config // option simply controls what file extensions are allowed for uploads in // addition to the server's built in archive handling. // // Leaving this empty, or omitting it will mean that the server will only // accept it's own known archive formats, and will reject everything else. // // Setting this to, for example, ".txt" will result in the server allowing // file uploads for archive formats _and_ files ending in the extension // ".txt". FileTypes []string `yaml:"file-types" json:"fileTypes"` // CLI Option: Port the HTTP server will bind to on startup. Port uint16 `yaml:"-" json:"port"` // CLI Option: Path to the configuration file to use. ConfigPath string `yaml:"-" json:"configPath"` // Internal: The current service binary version as a string value. Version string `yaml:"-" json:"-"` Workspace string `yaml:"-" json:"workspace"` }
Options is a container for the full configuration of the running server.
This includes both CLI params and configuration file contents.