projectconfig

package
v0.246.0 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigPaths added in v0.157.0

func ConfigPaths(input []string) []string

ConfigPaths returns the computed list of configuration paths to load.

func CreateDefaultFileIfNonexistent added in v0.242.0

func CreateDefaultFileIfNonexistent(ctx context.Context) error

CreateDefaultFileIfNonexistent creates the ftl-project.toml file in the Git root if it does not already exist.

func DefaultConfigPath added in v0.242.0

func DefaultConfigPath() optional.Option[string]

func Save

func Save(path string, config Config) error

Save project config atomically to a file.

Types

type Commands added in v0.163.11

type Commands struct {
	Startup []string `toml:"startup"`
}

type Config

type Config struct {
	Global        ConfigAndSecrets            `toml:"global"`
	Modules       map[string]ConfigAndSecrets `toml:"modules"`
	ModuleDirs    []string                    `toml:"module-dirs"`
	ExternalDirs  []string                    `toml:"external-dirs"`
	Commands      Commands                    `toml:"commands"`
	FTLMinVersion string                      `toml:"ftl-min-version"`
}

func LoadConfig added in v0.157.0

func LoadConfig(ctx context.Context, input []string) (Config, error)

func LoadWritableConfig added in v0.157.0

func LoadWritableConfig(ctx context.Context, input []string) (Config, error)

LoadWritableConfig loads the last config file in the list of paths, or an empty config if none are found.

func Merge added in v0.145.0

func Merge(paths ...string) (Config, error)

Merge configuration files.

Config is merged left to right, with later files taking precedence over earlier files.

func (Config) ModuleDirsOrDefault added in v0.243.2

func (c Config) ModuleDirsOrDefault() []string

ModuleDirsOrDefault returns the module-dirs field from the ftl-project.toml, unless that is not defined, in which case it defaults to the root directory.

type ConfigAndSecrets

type ConfigAndSecrets struct {
	Config  map[string]*URL `toml:"configuration"`
	Secrets map[string]*URL `toml:"secrets"`
}

type URL

type URL url.URL

A URL that supports marshalling and unmarshalling which is, very frustratingly, not possible with the stdlib url.URL.

func MustParseURL

func MustParseURL(rawurl string) *URL

func ParseURL

func ParseURL(rawurl string) (*URL, error)

func (URL) GoString

func (u URL) GoString() string

func (URL) MarshalText

func (u URL) MarshalText() ([]byte, error)

func (*URL) UnmarshalText

func (u *URL) UnmarshalText(text []byte) error

Jump to

Keyboard shortcuts

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