projectconfig

package
v0.255.3 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultConfigPath added in v0.242.0

func DefaultConfigPath() optional.Option[string]

DefaultConfigPath returns the absolute default path for the project config file, if possible.

The default path is determined by the FTL_CONFIG environment variable, if set, or by the presence of a Git repository. If the Git repository is found, the default path is the root of the repository with the filename "ftl-project.toml".

func MaybeCreateDefault added in v0.255.0

func MaybeCreateDefault(ctx context.Context) error

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

func Save

func Save(config Config) error

Save project config to its file atomically.

Types

type Commands added in v0.163.11

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

type Config

type Config struct {
	// Path to the config file.
	Path string `toml:"-"`

	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 Load

func Load(ctx context.Context, path string) (Config, error)

Load project config from a file.

func LoadOrCreate added in v0.255.0

func LoadOrCreate(ctx context.Context, target string) (Config, error)

LoadOrCreate loads or creates the given configuration file.

func (Config) AbsModuleDirs added in v0.255.0

func (c Config) AbsModuleDirs() []string

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

func (Config) Root added in v0.255.2

func (c Config) Root() string

Root directory of the project.

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