kube-forge v2: embede python with ansible (kubespray) and cobra as cli building tool
This commit is contained in:
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
"github.com/BurntSushi/toml"
|
||||
"github.com/Masterminds/sprig/v3"
|
||||
"sigs.k8s.io/yaml"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
func funcMap() template.FuncMap {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package templates
|
||||
|
||||
var K8S_TEMPLATES = [...][2]string{
|
||||
{"templates/kubespray/inventory/hosts.tmpl", "kubespray/inventory/hosts"},
|
||||
{"templates/kubespray/inventory/group_vars/all.yml.tmpl", "kubespray/inventory/group_vars/all.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/addons.yml.tmpl", "kubespray/inventory/group_vars/k8s_cluster/addons.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-cluster.yml.tmpl", "kubespray/inventory/group_vars/k8s_cluster/k8s-cluster.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-net-calico.yml.tmpl", "kubespray/inventory/group_vars/k8s_cluster/k8s-net-calico.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-net-cilium.yml.tmpl", "kubespray/inventory/group_vars/k8s_cluster/k8s-net-cilium.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/all/containerd.yml.tmpl", "kubespray/inventory/group_vars/all/containerd.yml"},
|
||||
{"templates/kubespray/inventory/hosts.tmpl", "inventory/hosts"},
|
||||
{"templates/kubespray/inventory/group_vars/all.yml.tmpl", "inventory/group_vars/all.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/addons.yml.tmpl", "inventory/group_vars/k8s_cluster/addons.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-cluster.yml.tmpl", "inventory/group_vars/k8s_cluster/k8s-cluster.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-net-calico.yml.tmpl", "inventory/group_vars/k8s_cluster/k8s-net-calico.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/k8s_cluster/k8s-net-cilium.yml.tmpl", "inventory/group_vars/k8s_cluster/k8s-net-cilium.yml"},
|
||||
{"templates/kubespray/inventory/group_vars/all/containerd.yml.tmpl", "inventory/group_vars/all/containerd.yml"},
|
||||
}
|
||||
|
||||
func ApplyK8sTemplates() {
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
func ApplyVaultInitKeysTemplate() {
|
||||
config := config.GetConfig()
|
||||
var VAULT_INIT_KEYS_TEMPLATE = [...][2]string{
|
||||
{"templates/secrets-storage/vault-keys.json.tmpl", fmt.Sprintf("%s/vault-keys.json", config.WorkDir)},
|
||||
{"templates/secrets-storage/vault-keys.json.tmpl", fmt.Sprintf("%s/vault-keys.json", config.InventoryDir)},
|
||||
}
|
||||
applyTemplates(VAULT_INIT_KEYS_TEMPLATE[:])
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"embed"
|
||||
"kube-forge/internal/config"
|
||||
"kube-forge/internal/logging"
|
||||
"kube-forge/internal/resources"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -37,7 +38,13 @@ func applyTemplates(templates [][2]string) {
|
||||
config := config.GetConfig()
|
||||
for _, templateData := range templates {
|
||||
var templateFile = templateData[0]
|
||||
var outFile = filepath.Join(config.WorkDir, templateData[1])
|
||||
var outFile = filepath.Join(config.BaseDir, templateData[1])
|
||||
|
||||
dir := filepath.Dir(outFile)
|
||||
err := os.MkdirAll(dir, 0755)
|
||||
if err != nil {
|
||||
logging.Log.Fatal(err)
|
||||
}
|
||||
|
||||
tmpl := getTemplateFromEmbedFSFolder(resources.Templates, templateFile)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user