This commit is contained in:
2025-01-16 00:17:11 +01:00
committed by Kevin Midboe
commit b4f3ec3343
13 changed files with 621 additions and 0 deletions

18
converter/json.go Normal file
View File

@@ -0,0 +1,18 @@
package converter
import (
"encoding/json"
"log"
"github.com/traefik/traefik/v3/pkg/config/dynamic"
)
func TraefikToJSON(config *dynamic.Configuration) map[string]interface{} {
var data map[string]interface{}
jsonData, _ := json.Marshal(config)
if err := json.Unmarshal(jsonData, &data); err != nil {
log.Printf("failed to unmarshal JSON: %w", err)
}
return data
}

28
converter/yaml.go Normal file
View File

@@ -0,0 +1,28 @@
package converter
import (
"os"
"github.com/traefik/traefik/v3/pkg/config/dynamic"
"gopkg.in/yaml.v3"
)
func TraefikFromYaml(filePath string) (*dynamic.Configuration, error) {
file, err := os.Open(filePath)
if err != nil {
return nil, err
}
defer file.Close()
var cfg dynamic.Configuration
decoder := yaml.NewDecoder(file)
if err := decoder.Decode(&cfg); err != nil {
return nil, err
}
return &cfg, nil
}
func TraefikToYaml(config *dynamic.Configuration) string {
return ""
}