Documentation
¶
Index ¶
- type LocalProfileConfig
- type Profile
- type ProfileConfig
- type ProfileConfigKind
- type Project
- func (p *Project) ActiveProfile() (string, error)
- func (p *Project) DefaultProfile() string
- func (p *Project) List() ([]ProfileConfig, error)
- func (p *Project) Load(ctx context.Context, profile string) (Profile, error)
- func (p *Project) New(profileConfig ProfileConfig) error
- func (p *Project) SetDefault(profile string) error
- func (p *Project) Switch(profile string) error
- type ProjectConfig
- type RemoteProfileConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LocalProfileConfig ¶
type LocalProfileConfig struct { SecretsProvider configuration.ProviderKey ConfigProvider configuration.ProviderKey }
type Profile ¶
type Profile struct {
// contains filtered or unexported fields
}
func (*Profile) ConfigurationManager ¶
func (p *Profile) ConfigurationManager() *manager.Manager[configuration.Configuration]
ConfigurationManager returns the configuration manager for this profile.
func (*Profile) ProjectConfig ¶
func (p *Profile) ProjectConfig() ProjectConfig
ProjectConfig is the static project-wide configuration shared by all profiles.
func (*Profile) SecretsManager ¶
func (p *Profile) SecretsManager() *manager.Manager[configuration.Secrets]
SecretsManager returns the secrets manager for this profile.
type ProfileConfig ¶
type ProfileConfig struct { Name string Config ProfileConfigKind }
func (ProfileConfig) String ¶
func (p ProfileConfig) String() string
type ProfileConfigKind ¶ added in v0.435.0
type ProfileConfigKind interface {
// contains filtered or unexported methods
}
type Project ¶
type Project struct {
// contains filtered or unexported fields
}
func Init ¶
func Init( project ProjectConfig, secretsRegistry *providers.Registry[configuration.Secrets], configRegistry *providers.Registry[configuration.Configuration], ) (*Project, error)
Init a new project with a default local profile.
If "project.Default" is empty a new project will be created with a default "local" profile.
func Open ¶
func Open( root string, secretsRegistry *providers.Registry[configuration.Secrets], configRegistry *providers.Registry[configuration.Configuration], ) (*Project, error)
Open a project.
func (*Project) ActiveProfile ¶
ActiveProfile returns the name of the active profile.
If no profile is active, the default profile is returned.
func (*Project) DefaultProfile ¶
DefaultProfile returns the name of the default profile.
func (*Project) List ¶
func (p *Project) List() ([]ProfileConfig, error)
List all profiles in the project.
func (*Project) New ¶
func (p *Project) New(profileConfig ProfileConfig) error
New creates a new profile in the project.
func (*Project) SetDefault ¶
SetDefault profile for the project.
type ProjectConfig ¶
type ProjectConfig struct { Realm string `json:"realm"` FTLMinVersion string `json:"ftl-min-version,omitempty"` // ModuleRoots is a list of directories that contain modules. ModuleRoots []string `json:"module-roots,omitempty"` Git bool `json:"git,omitempty"` Hermit bool `json:"hermit,omitempty"` DefaultProfile string `json:"default-profile,omitempty"` Root string `json:"-"` }
ProjectConfig is the static project-wide configuration shared by all profiles.
It mirrors the internal.Project struct.
func (ProjectConfig) AbsModuleDirs ¶ added in v0.435.0
func (c ProjectConfig) 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.