Documentation ¶
Index ¶
Constants ¶
const DefaultMembraneVersion = "v0.22.0"
//go:embed membraneversion.txt var DefaultMembraneVersion string TODO delete this later
Variables ¶
var DefaultOTELCollectorVersion string
Functions ¶
This section is empty.
Types ¶
type BaseComputeConfig ¶ added in v1.16.0
type BaseComputeConfig struct {
Type string `yaml:"type"`
}
Config shared by all compute types
type BaseConfig ¶ added in v1.16.0
type Collection ¶
type Collection struct{}
type Compute ¶
type Compute interface { ImageTagName(s *Project, provider string) string Unit() *ComputeUnit Workers() int }
type ComputeUnit ¶
type Config ¶
type Config struct { BaseConfig `yaml:",inline"` ConcreteHandlers []*HandlerConfig `yaml:"-"` }
func ConfigFromProjectPath ¶ added in v1.4.0
ConfigFromProjectPath - loads the config nitric.yaml file from the project path, defaults to the current working directory
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) Unit ¶
func (c *Container) Unit() *ComputeUnit
type Function ¶
type Function struct { // The location of the function handler Handler string `yaml:"handler"` ComputeUnit `yaml:",inline"` // The number of workers this function contains WorkerCount int }
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) Unit ¶
func (f *Function) Unit() *ComputeUnit
type HandlerConfig ¶ added in v1.16.0
type HandlerConfig struct { BaseComputeConfig Match string }
type Project ¶
type Project 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:"-"` SecurityDefinitions map[string]map[string]*v1.ApiSecurityDefinition `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:"-"` Secrets map[string]Secret `yaml:"secrets,omitempty"` }
func FromConfig ¶
func New ¶
func New(config BaseConfig) *Project
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