Newer
Older
"github.com/imdario/mergo"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"github.com/pkg/errors"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func Generate(m Mutate) (out networkingv1beta1.Ingress, err error) {
om, err := meta.MutateObjectMeta(m)
tls, err := m.GenIngressTLS()
if err != nil {
return out, errors.Wrap(err, "failed to generate ingress tls spec")
}
rules, err := m.GenIngressRules()
if err != nil {
return out, errors.Wrap(err, "failed to generate ingress rules spec")
}
out.ObjectMeta = *om
out.Spec = networkingv1beta1.IngressSpec{
// Backend: backend,
TLS: tls,
Rules: rules,
}
return out, err
}
func (c Conf) Mutate() controllerutil.MutateFn {
return func() error {
out, err := Generate(c)
fmt.Println(out)
if err != nil {
return err