feat: use viper and cobra to parameterize creation values with viper yaml

This commit is contained in:
2023-02-15 19:30:05 +01:00
parent 0019941054
commit c1680106ab
8 changed files with 722 additions and 2 deletions

33
internal/io/writer.go Normal file
View File

@@ -0,0 +1,33 @@
package io
import (
"fmt"
"os"
"gitlab.com/urkob/go-cert-gen/pkg/io"
)
type writer struct {
dirPath string
}
func (w writer) WriteFile(filename string, data []byte) (string, error) {
if w.dirPath == "" {
return "", fmt.Errorf("export directory cannot be empty")
}
if err := os.MkdirAll(w.dirPath, 0o755); err != nil {
return "", err
}
outputPath := w.dirPath + "/" + filename
if err := os.WriteFile(outputPath, data, 0o600); err != nil {
return "", err
}
return outputPath, nil
}
func NewWriter(dirPath string) io.WriterIface {
return &writer{
dirPath: dirPath,
}
}