penguin/monok8s

k8s image for Mono Gateway Dev Kit

clitools/pkg/render/monoks.go

raw ยท 971 bytes

package templates

import (
	"bytes"

	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/runtime/serializer/json"

	"undecided.project/monok8s/pkg/scheme"
	tmpl "undecided.project/monok8s/pkg/templates"
)

func RenderMonoKSConfig() (string, error) {
	cfg := tmpl.DefaultMonoKSConfig()

	s := runtime.NewScheme()
	if err := scheme.AddToScheme(s); err != nil {
		return "", err
	}

	serializer := json.NewYAMLSerializer(
		json.DefaultMetaFactory,
		s,
		s,
	)

	var buf bytes.Buffer
	if err := serializer.Encode(&cfg, &buf); err != nil {
		return "", err
	}

	return buf.String(), nil
}

func RenderOSUpgrade() (string, error) {
	cfg := tmpl.DefaultOSUpgrade()

	s := runtime.NewScheme()
	if err := scheme.AddToScheme(s); err != nil {
		return "", err
	}

	serializer := json.NewYAMLSerializer(
		json.DefaultMetaFactory,
		s,
		s,
	)

	var buf bytes.Buffer
	if err := serializer.Encode(&cfg, &buf); err != nil {
		return "", err
	}

	return buf.String(), nil
}