import (
"context"
"fmt"
infinimeshv1beta1 "github.com/infinimesh/operator/pkg/apis/infinimesh/v1beta1"
v1beta1 "k8s.io/api/batch/v1beta1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
)
func (r *ReconcilePlatform) reconcileResetRootAccount(request reconcile.Request, instance *infinimeshv1beta1.Platform) error {
log := logger.WithName("Reset Root Account Pwd")
job := &v1beta1.CronJob{
ObjectMeta: metav1.ObjectMeta{
Name: "example",
},
Spec: v1beta1.CronJobSpec{
Schedule: "* * * * *",
ConcurrencyPolicy: v1beta1.ForbidConcurrent,
JobTemplate: v1beta1.JobTemplate{
Spec: v1beta1.JobTemplateSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
RestartPolicy: "Never",
Containers: []corev1.Container{
{
Name: "cli",
Image: "busybox",
Command: []string{
"/bin/bash",
"-c",
"echo 1",
},
ImagePullPolicy: "Always",
},
},
},
},
},
},
},
}
I am getting error here
JobTemplate: v1beta1.JobTemplate{
Spec: v1beta1.JobTemplateSpec{
Template: corev1.PodTemplateSpec{
as might be I am not defining it in the right way. Please guide me the right way to create a cronjob in Go. You can also write your own way of writing cronjobs in golang as I want to automate the cronjob in the kubernetes operator as when I restart the platform, cronjob will create automatically.