Documentation
¶
Overview ¶
Package appserver provides reconciliation logic for the OpenShift Lightspeed application server component.
This package handles the complete lifecycle of the OLS application server, including:
- Deployment and pod management
- Service account and RBAC configuration
- ConfigMap generation for application configuration
- Service and networking setup
- TLS certificate management
- Service monitors and Prometheus rules for observability
- Network policies for security
- LLM provider secret handling
The main entry point is ReconcileAppServer, which orchestrates all sub-tasks required to ensure the application server is running with the correct configuration.
Index ¶
- Constants
- func GenerateAppServerNetworkPolicy(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*networkingv1.NetworkPolicy, error)
- func GenerateMetricsReaderSecret(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.Secret, error)
- func GenerateOLSConfigMap(r reconciler.Reconciler, ctx context.Context, cr *olsv1alpha1.OLSConfig) (*corev1.ConfigMap, error)
- func GenerateOLSDeployment(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*appsv1.Deployment, error)
- func GeneratePrometheusRule(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*monv1.PrometheusRule, error)
- func GenerateRAGInitContainers(cr *olsv1alpha1.OLSConfig) []corev1.Container
- func GenerateSARClusterRole(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*rbacv1.ClusterRole, error)
- func GenerateService(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.Service, error)
- func GenerateServiceAccount(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.ServiceAccount, error)
- func GenerateServiceMonitor(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*monv1.ServiceMonitor, error)
- func ReconcileAppServer(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
- func ReconcileAppServerDeployment(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
- func ReconcileAppServerResources(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
- func ReconcileTLSSecret(r reconciler.Reconciler, ctx context.Context, cr *olsv1alpha1.OLSConfig) error
- func RestartAppServer(r reconciler.Reconciler, ctx context.Context, deployment ...*appsv1.Deployment) error
Constants ¶
const ( SSEField int = iota StreamableHTTPField )
Variables ¶
This section is empty.
Functions ¶
func GenerateAppServerNetworkPolicy ¶
func GenerateAppServerNetworkPolicy(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*networkingv1.NetworkPolicy, error)
func GenerateMetricsReaderSecret ¶
func GenerateMetricsReaderSecret(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.Secret, error)
func GenerateOLSConfigMap ¶
func GenerateOLSConfigMap(r reconciler.Reconciler, ctx context.Context, cr *olsv1alpha1.OLSConfig) (*corev1.ConfigMap, error)
func GenerateOLSDeployment ¶
func GenerateOLSDeployment(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*appsv1.Deployment, error)
func GeneratePrometheusRule ¶
func GeneratePrometheusRule(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*monv1.PrometheusRule, error)
func GenerateRAGInitContainers ¶
func GenerateRAGInitContainers(cr *olsv1alpha1.OLSConfig) []corev1.Container
func GenerateSARClusterRole ¶
func GenerateSARClusterRole(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*rbacv1.ClusterRole, error)
func GenerateService ¶
func GenerateService(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.Service, error)
func GenerateServiceAccount ¶
func GenerateServiceAccount(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*corev1.ServiceAccount, error)
func GenerateServiceMonitor ¶
func GenerateServiceMonitor(r reconciler.Reconciler, cr *olsv1alpha1.OLSConfig) (*monv1.ServiceMonitor, error)
func ReconcileAppServer ¶
func ReconcileAppServer(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
ReconcileAppServer reconciles all app server resources in the original order. This function is maintained for backward compatibility with existing tests. New code should call ReconcileAppServerResources and ReconcileAppServerDeployment separately.
func ReconcileAppServerDeployment ¶
func ReconcileAppServerDeployment(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
ReconcileAppServerDeployment reconciles the deployment and related resources (Phase 2)
func ReconcileAppServerResources ¶
func ReconcileAppServerResources(r reconciler.Reconciler, ctx context.Context, olsconfig *olsv1alpha1.OLSConfig) error
ReconcileAppServerResources reconciles all resources except the deployment (Phase 1) Uses continue-on-error pattern since these resources are independent
func ReconcileTLSSecret ¶
func ReconcileTLSSecret(r reconciler.Reconciler, ctx context.Context, cr *olsv1alpha1.OLSConfig) error
func RestartAppServer ¶
func RestartAppServer(r reconciler.Reconciler, ctx context.Context, deployment ...*appsv1.Deployment) error
RestartAppServer triggers a rolling restart of the app server deployment by updating its pod template annotation. This is useful when configuration changes require a pod restart (e.g., ConfigMap or Secret updates).
Types ¶
This section is empty.