Documentation
¶
Overview ¶
Package manifest provides type-safe FTL manifest operations
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildConfig ¶
type BuildConfig struct {
Command string `yaml:"command" json:"command"`
Workdir string `yaml:"workdir,omitempty" json:"workdir,omitempty"`
Watch []string `yaml:"watch,omitempty" json:"watch,omitempty"`
}
BuildConfig represents build configuration
type Component ¶
type Component struct {
ID string `yaml:"id" json:"id"`
Source interface{} `yaml:"source" json:"source"` // Can be string or SourceRegistry
Build *BuildConfig `yaml:"build,omitempty" json:"build,omitempty"`
Variables map[string]string `yaml:"variables,omitempty" json:"variables,omitempty"`
}
Component represents a component in the manifest
func (Component) MarshalJSON ¶
MarshalJSON implements custom JSON marshaling for Component
func (Component) MarshalYAML ¶
MarshalYAML implements custom YAML marshaling for Component
func (*Component) UnmarshalJSON ¶
UnmarshalJSON implements custom JSON unmarshaling for Component
func (*Component) UnmarshalYAML ¶
UnmarshalYAML implements custom YAML unmarshaling for Component
type Manifest ¶
type Manifest struct {
Name string `yaml:"name" json:"name"`
Version string `yaml:"version,omitempty" json:"version,omitempty"`
Description string `yaml:"description,omitempty" json:"description,omitempty"`
Access string `yaml:"access,omitempty" json:"access,omitempty"`
Auth *validation.AuthConfig `yaml:"auth,omitempty" json:"auth,omitempty"`
Components []Component `yaml:"components,omitempty" json:"components,omitempty"`
Variables map[string]string `yaml:"variables,omitempty" json:"variables,omitempty"`
}
Manifest represents an FTL application manifest
func (*Manifest) AddComponent ¶
AddComponent adds a new component to the manifest
func (*Manifest) FindComponent ¶
FindComponent finds a component by ID
func (*Manifest) RemoveComponent ¶
RemoveComponent removes a component by ID
type SourceRegistry ¶
type SourceRegistry struct {
Registry string `yaml:"registry" json:"registry"`
Package string `yaml:"package" json:"package"`
Version string `yaml:"version" json:"version"`
}
SourceRegistry represents a registry source
func ParseRegistrySource ¶
func ParseRegistrySource(registry string) (*SourceRegistry, error)
ParseRegistrySource parses a registry string into a SourceRegistry Format: registry/namespace:package@version