| 
 | 1 | +package controller  | 
 | 2 | + | 
 | 3 | +import (  | 
 | 4 | +	"context"  | 
 | 5 | +	"fmt"  | 
 | 6 | + | 
 | 7 | +	olsv1alpha1 "github.com/openshift/lightspeed-operator/api/v1alpha1"  | 
 | 8 | +)  | 
 | 9 | + | 
 | 10 | +func (r *OLSConfigReconciler) reconcileAppServerLSC(ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error {  | 
 | 11 | +	r.logger.Info("reconcileAppServerLSC starts")  | 
 | 12 | +	tasks := []ReconcileTask{  | 
 | 13 | +		{  | 
 | 14 | +			Name: "reconcile ServiceAccount",  | 
 | 15 | +			Task: r.reconcileServiceAccount,  | 
 | 16 | +		},  | 
 | 17 | +		{  | 
 | 18 | +			Name: "reconcile SARRole",  | 
 | 19 | +			Task: r.reconcileSARRole,  | 
 | 20 | +		},  | 
 | 21 | +		{  | 
 | 22 | +			Name: "reconcile SARRoleBinding",  | 
 | 23 | +			Task: r.reconcileSARRoleBinding,  | 
 | 24 | +		},  | 
 | 25 | +		// todo: LSC config map generation  | 
 | 26 | +		// todo: Llama Stack configmap generation  | 
 | 27 | +		{  | 
 | 28 | +			Name: "reconcile OLSConfigMap",  | 
 | 29 | +			Task: r.reconcileLSCConfigMap,  | 
 | 30 | +		},  | 
 | 31 | +		{  | 
 | 32 | +			Name: "reconcile Additional CA ConfigMap",  | 
 | 33 | +			Task: r.reconcileOLSAdditionalCAConfigMap,  | 
 | 34 | +		},  | 
 | 35 | +		{  | 
 | 36 | +			Name: "reconcile App Service",  | 
 | 37 | +			Task: r.reconcileService,  | 
 | 38 | +		},  | 
 | 39 | +		{  | 
 | 40 | +			Name: "reconcile App TLS Certs",  | 
 | 41 | +			Task: r.reconcileTLSSecret,  | 
 | 42 | +		},  | 
 | 43 | +		// todo: LSC deployment generation  | 
 | 44 | +		{  | 
 | 45 | +			Name: "reconcile App Deployment",  | 
 | 46 | +			Task: r.reconcileLSCDeployment,  | 
 | 47 | +		},  | 
 | 48 | +		{  | 
 | 49 | +			Name: "reconcile Metrics Reader Secret",  | 
 | 50 | +			Task: r.reconcileMetricsReaderSecret,  | 
 | 51 | +		},  | 
 | 52 | +		{  | 
 | 53 | +			Name: "reconcile App ServiceMonitor",  | 
 | 54 | +			Task: r.reconcileServiceMonitor,  | 
 | 55 | +		},  | 
 | 56 | +		{  | 
 | 57 | +			Name: "reconcile App PrometheusRule",  | 
 | 58 | +			Task: r.reconcilePrometheusRule,  | 
 | 59 | +		},  | 
 | 60 | +		{  | 
 | 61 | +			Name: "reconcile App NetworkPolicy",  | 
 | 62 | +			Task: r.reconcileAppServerNetworkPolicy,  | 
 | 63 | +		},  | 
 | 64 | +		{  | 
 | 65 | +			Name: "reconcile Proxy CA ConfigMap",  | 
 | 66 | +			Task: r.reconcileProxyCAConfigMap,  | 
 | 67 | +		},  | 
 | 68 | +	}  | 
 | 69 | + | 
 | 70 | +	for _, task := range tasks {  | 
 | 71 | +		err := task.Task(ctx, olsconfig)  | 
 | 72 | +		if err != nil {  | 
 | 73 | +			r.logger.Error(err, "reconcileAppServer error", "task", task.Name)  | 
 | 74 | +			return fmt.Errorf("failed to %s: %w", task.Name, err)  | 
 | 75 | +		}  | 
 | 76 | +	}  | 
 | 77 | + | 
 | 78 | +	r.logger.Info("reconcileAppServer completes")  | 
 | 79 | + | 
 | 80 | +	return nil  | 
 | 81 | +}  | 
 | 82 | + | 
 | 83 | +func (r *OLSConfigReconciler) reconcileLSCConfigMap(ctx context.Context, cr *olsv1alpha1.OLSConfig) error {  | 
 | 84 | + | 
 | 85 | +	return r.reconcileOLSConfigMap(ctx, cr)  | 
 | 86 | +	// TODO: implement LSC configmap reconciliation  | 
 | 87 | +}  | 
 | 88 | + | 
 | 89 | +func (r *OLSConfigReconciler) reconcileLSCDeployment(ctx context.Context, cr *olsv1alpha1.OLSConfig) error {  | 
 | 90 | + | 
 | 91 | +	return r.reconcileDeployment(ctx, cr)  | 
 | 92 | + | 
 | 93 | +	// TODO: implement LSC deployment reconciliation  | 
 | 94 | +}  | 
0 commit comments