Worker: use explicit type when writing config file

Instead of passing an arbitrary string ("Configuration" or "Credentials"),
use an explicit type for this. This will make it possible to have the
config-writing functions behave slightly differently depending on which
configuration type is being written.

No functional changes.
This commit is contained in:
Sybren A. Stüvel 2024-02-22 12:37:34 +01:00
parent 12bfa82854
commit 7033028a0b

View File

@ -31,6 +31,13 @@ var (
configFilename = "flamenco-worker.yaml" configFilename = "flamenco-worker.yaml"
) )
type configFileType string
var (
configFileTypeConfiguration configFileType = "Configuration"
configFileTypeCredentials configFileType = "Credentials"
)
var defaultConfig = WorkerConfig{ var defaultConfig = WorkerConfig{
ConfiguredManager: "", // Auto-detect by default. ConfiguredManager: "", // Auto-detect by default.
TaskTypes: []string{"blender", "ffmpeg", "file-management", "misc"}, TaskTypes: []string{"blender", "ffmpeg", "file-management", "misc"},
@ -102,7 +109,7 @@ func (fcw *FileConfigWrangler) WorkerConfig() (WorkerConfig, error) {
} }
func (fcw *FileConfigWrangler) SaveConfig() error { func (fcw *FileConfigWrangler) SaveConfig() error {
err := fcw.writeConfig(configFilename, "Configuration", fcw.wc) err := fcw.writeConfig(configFilename, configFileTypeConfiguration, fcw.wc)
if err != nil { if err != nil {
return fmt.Errorf("writing to %s: %w", configFilename, err) return fmt.Errorf("writing to %s: %w", configFilename, err)
} }
@ -135,7 +142,7 @@ func (fcw *FileConfigWrangler) SaveCredentials(creds WorkerCredentials) error {
return err return err
} }
err = fcw.writeConfig(filepath, "Credentials", creds) err = fcw.writeConfig(filepath, configFileTypeCredentials, creds)
if err != nil { if err != nil {
return fmt.Errorf("writing to %s: %w", filepath, err) return fmt.Errorf("writing to %s: %w", filepath, err)
} }
@ -158,7 +165,7 @@ func (fcw FileConfigWrangler) DefaultConfig() WorkerConfig {
} }
// WriteConfig stores a struct as YAML file. // WriteConfig stores a struct as YAML file.
func (fcw FileConfigWrangler) writeConfig(filename string, filetype string, config interface{}) error { func (fcw FileConfigWrangler) writeConfig(filename string, filetype configFileType, config interface{}) error {
data, err := yaml.Marshal(config) data, err := yaml.Marshal(config)
if err != nil { if err != nil {
return err return err