Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultMembraneVersion string
Functions ¶
func AddOptions ¶
Types ¶
type Collection ¶
type Collection struct{}
type Compute ¶
type Compute interface {
ImageTagName(s *Stack, provider string) string
SetContextDirectory(stackDir string)
Unit() *ComputeUnit
}
type ComputeUnit ¶
type ComputeUnit struct {
Name string `yaml:"-"`
// This is the stack.Dir + Context
ContextDirectory string `yaml:"-"`
// Context is the directory containing the code for the function
Context string `yaml:"context,omitempty"`
// Triggers used to invoke this compute unit, e.g. Topic Subscriptions
Triggers Triggers `yaml:"triggers,omitempty"`
// The memory of the compute instance in MB
Memory int `yaml:"memory,omitempty"`
// The minimum number of instances to keep alive
MinScale int `yaml:"minScale,omitempty"`
// The maximum number of instances to scale to
MaxScale int `yaml:"maxScale,omitempty"`
// Allow the user to specify a custom unique tag for the function
Tag string `yaml:"tag,omitempty"`
}
type Container ¶
type Container struct {
Dockerfile string `yaml:"dockerfile"`
Args []string `yaml:"args,omitempty"`
ComputeUnit `yaml:",inline"`
}
func (*Container) ImageTagName ¶
ImageTagName returns the default image tag for a source image built from this function provider the provider name (e.g. aws), used to uniquely identify builds for specific providers
func (*Container) SetContextDirectory ¶
func (*Container) Unit ¶
func (c *Container) Unit() *ComputeUnit
type Function ¶
type Function struct {
// The location of the function handler
// relative to context
Handler string `yaml:"handler"`
// The build pack version of the membrane used for the function build
Version string `yaml:"version,omitempty"`
// Scripts that will be executed by the nitric
// build process before beginning the docker build
BuildScripts []string `yaml:"buildScripts,omitempty"`
// files to exclude from final build
Excludes []string `yaml:"excludes,omitempty"`
// The most requests a single function instance should handle
MaxRequests int `yaml:"maxRequests,omitempty"`
// Simple configuration to determine if the function should be directly
// invokable without authentication
// would use public, but its reserved by typescript
External bool `yaml:"external"`
ComputeUnit `yaml:",inline"`
}
func FunctionFromHandler ¶
func (*Function) ImageTagName ¶
ImageTagName returns the default image tag for a source image built from this function provider the provider name (e.g. aws), used to uniquely identify builds for specific providers
func (*Function) RelativeHandlerPath ¶
func (*Function) SetContextDirectory ¶
func (*Function) Unit ¶
func (f *Function) Unit() *ComputeUnit
func (*Function) VersionString ¶
type Schedule ¶
type Schedule struct {
Expression string `yaml:"expression"`
// The Topic to be targeted for schedule
Target ScheduleTarget `yaml:"target"`
Event ScheduleEvent `yaml:"event"`
}
type ScheduleEvent ¶
type ScheduleEvent struct {
PayloadType string `yaml:"payloadType"`
Payload map[string]interface{} `yaml:"payload,omitempty"`
}
A subset of a NitricEvent excluding it's requestId This will be generated based on the scedule
type ScheduleTarget ¶
type Stack ¶
type Stack struct {
Dir string `yaml:"-"`
Name string `yaml:"name"`
Functions map[string]Function `yaml:"functions,omitempty"`
Collections map[string]Collection `yaml:"collections,omitempty"`
Containers map[string]Container `yaml:"containers,omitempty"`
Buckets map[string]Bucket `yaml:"buckets,omitempty"`
Topics map[string]Topic `yaml:"topics,omitempty"`
Queues map[string]Queue `yaml:"queues,omitempty"`
Schedules map[string]Schedule `yaml:"schedules,omitempty"`
ApiDocs map[string]*openapi3.T `yaml:"-"`
Apis map[string]string `yaml:"apis,omitempty"`
// TODO: Not currently supported by nitric.yaml configuration (but is technically definable using the proto model)
// We may want to decouple the definition from contracts at a later stage
// but re-using the contract here provides us a serializable entity with no
// repetition/redefinition
// NOTE: if we want to use the proto definition here we would need support for yaml parsing to use customisable tags
Policies []*v1.PolicyResource `yaml:"-"`
}
func FromGlobArgs ¶
func FromOptions ¶
func FromOptionsMinimal ¶
Click to show internal directories.
Click to hide internal directories.