mirror of
https://github.com/kairos-io/entangle.git
synced 2025-09-06 03:10:10 +00:00
Allow to set service image and loglevel from CLI
This commit is contained in:
@@ -22,7 +22,7 @@ func genOwner(ent entanglev1alpha1.Entanglement) []metav1.OwnerReference {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *EntanglementReconciler) genDeployment(ent entanglev1alpha1.Entanglement) (*appsv1.Deployment, error) {
|
||||
func (r *EntanglementReconciler) genDeployment(ent entanglev1alpha1.Entanglement, logLevel string) (*appsv1.Deployment, error) {
|
||||
objMeta := metav1.ObjectMeta{
|
||||
Name: ent.Name,
|
||||
Namespace: ent.Namespace,
|
||||
@@ -96,9 +96,9 @@ func (r *EntanglementReconciler) genDeployment(ent entanglev1alpha1.Entanglement
|
||||
}
|
||||
|
||||
if ent.Spec.ServiceRef != nil {
|
||||
expose.Args = []string{cmd, "--log-level", "debug", ent.Spec.ServiceUUID, fmt.Sprintf("%s:%s", fmt.Sprintf("%s.svc.cluster.local", svc.Name), ent.Spec.Port)}
|
||||
expose.Args = []string{cmd, "--log-level", logLevel, ent.Spec.ServiceUUID, fmt.Sprintf("%s:%s", fmt.Sprintf("%s.svc.cluster.local", svc.Name), ent.Spec.Port)}
|
||||
} else {
|
||||
expose.Args = []string{cmd, "--log-level", "debug", ent.Spec.ServiceUUID, fmt.Sprintf("%s:%s", ent.Spec.Host, ent.Spec.Port)}
|
||||
expose.Args = []string{cmd, "--log-level", logLevel, ent.Spec.ServiceUUID, fmt.Sprintf("%s:%s", ent.Spec.Host, ent.Spec.Port)}
|
||||
}
|
||||
|
||||
pod := v1.PodSpec{
|
||||
|
@@ -38,7 +38,7 @@ type EntanglementReconciler struct {
|
||||
clientSet *kubernetes.Clientset
|
||||
client.Client
|
||||
Scheme *runtime.Scheme
|
||||
EntangleServiceImage string
|
||||
EntangleServiceImage, LogLevel string
|
||||
}
|
||||
|
||||
//+kubebuilder:rbac:groups=entangle.kairos.io,resources=entanglements,verbs=get;list;watch;create;update;patch;delete
|
||||
@@ -70,7 +70,7 @@ func (r *EntanglementReconciler) Reconcile(ctx context.Context, req ctrl.Request
|
||||
return ctrl.Result{}, err
|
||||
}
|
||||
|
||||
desiredDeployment, err := r.genDeployment(ent)
|
||||
desiredDeployment, err := r.genDeployment(ent,r.LogLevel)
|
||||
if err != nil {
|
||||
return ctrl.Result{}, err
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ type Webhook struct {
|
||||
clientSet *kubernetes.Clientset
|
||||
Scheme *runtime.Scheme
|
||||
|
||||
SidecarImage string
|
||||
SidecarImage, LogLevel string
|
||||
}
|
||||
|
||||
//+kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch
|
||||
@@ -109,7 +109,7 @@ func (w *Webhook) Mutate(ctx context.Context, request admission.Request, object
|
||||
servingContainer := corev1.Container{
|
||||
ImagePullPolicy: corev1.PullAlways,
|
||||
Command: []string{"/usr/bin/edgevpn"},
|
||||
Args: []string{cmd, entanglementService, fmt.Sprintf("%s:%s", host, entanglementPort)},
|
||||
Args: []string{cmd, entanglementService, fmt.Sprintf("%s:%s", host, entanglementPort), "--log-level", w.LogLevel},
|
||||
Env: []corev1.EnvVar{
|
||||
{
|
||||
Name: "EDGEVPNTOKEN",
|
||||
|
11
main.go
11
main.go
@@ -57,8 +57,13 @@ func main() {
|
||||
var metricsAddr string
|
||||
var enableLeaderElection bool
|
||||
var probeAddr string
|
||||
var serviceImage string
|
||||
var logLevel string
|
||||
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
|
||||
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
|
||||
flag.StringVar(&serviceImage, "service-image", defaultImage, "The image used to create services.")
|
||||
flag.StringVar(&logLevel, "service-log-level", "debug", "The log level of the sidecar container.")
|
||||
|
||||
flag.BoolVar(&enableLeaderElection, "leader-elect", false,
|
||||
"Enable leader election for controller manager. "+
|
||||
"Enabling this will ensure there is only one active controller manager.")
|
||||
@@ -97,15 +102,17 @@ func main() {
|
||||
if err = (&controllers.EntanglementReconciler{
|
||||
Client: mgr.GetClient(),
|
||||
Scheme: mgr.GetScheme(),
|
||||
EntangleServiceImage: defaultImage,
|
||||
EntangleServiceImage: serviceImage,
|
||||
LogLevel: logLevel,
|
||||
}).SetupWithManager(mgr); err != nil {
|
||||
setupLog.Error(err, "unable to create controller", "controller", "Entanglement")
|
||||
os.Exit(1)
|
||||
}
|
||||
if err = (&webhooks.Webhook{
|
||||
Client: mgr.GetClient(),
|
||||
SidecarImage: defaultImage,
|
||||
SidecarImage: serviceImage,
|
||||
Scheme: mgr.GetScheme(),
|
||||
LogLevel: logLevel,
|
||||
}).SetupWebhookWithManager(mgr); err != nil {
|
||||
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
|
||||
os.Exit(1)
|
||||
|
Reference in New Issue
Block a user