chore(fixes): Unwrap yaml before converting and fix volume name variable

2 fixes:

- the first problem to resolve is that some volume names can have "-" in
the name. We now replace them by "_"
- the second problem is that k8s.io library truncates the lines and so
we cannot split the files by lines. We now "unwrap" the result.

TODO: globalize the `yaml.Marshal()` code to our own specific function
This commit is contained in:
2024-11-08 13:11:14 +01:00
parent 817ebe0e53
commit dd63bb6343
11 changed files with 47 additions and 18 deletions

View File

@@ -1,16 +1,18 @@
package generator
import (
"katenary/generator/labelStructs"
"katenary/utils"
"regexp"
"strconv"
"strings"
"github.com/compose-spec/compose-go/types"
corev1 "k8s.io/api/core/v1"
"katenary/generator/labelStructs"
"katenary/utils"
)
var regexpLineWrap = regexp.MustCompile(`\n\s+}}`)
// findDeployment finds the corresponding target deployment for a service.
func findDeployment(serviceName string, deployments map[string]*Deployment) *Deployment {
for _, d := range deployments {
@@ -77,3 +79,8 @@ func isIgnored(service types.ServiceConfig) bool {
}
return false
}
// UnWrapTPL removes the line wrapping from a template.
func UnWrapTPL(in []byte) []byte {
return regexpLineWrap.ReplaceAll(in, []byte(" }}"))
}