summaryrefslogtreecommitdiff
path: root/internal/configuration/template.go
blob: ca96416724fefd3ea957400e9d244903bcb78311 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package configuration

import (
	_ "embed" // Embed config.template.yml.
	"fmt"
	"os"
)

//go:embed config.template.yml
var conftemplate []byte

// EnsureConfigurationExists is an auxiliary function to the main Configuration tools that ensures the Configuration
// template is created if it doesn't already exist.
func EnsureConfigurationExists(path string) (created bool, err error) {
	_, err = os.Stat(path)
	if err != nil {
		if os.IsNotExist(err) {
			if err = os.WriteFile(path, conftemplate, 0600); err != nil {
				return false, fmt.Errorf(errFmtGenerateConfiguration, err)
			}

			return true, nil
		}

		return false, fmt.Errorf(errFmtGenerateConfiguration, err)
	}

	return false, nil
}