(webhooksSecretName, namespace string)
| 67 | } |
| 68 | |
| 69 | func getSpecDeployment(webhooksSecretName, namespace string) (*appsv1.Deployment, error) { |
| 70 | var user *int64 |
| 71 | if !infrastructure.IsOpenShift() { |
| 72 | user = pointer.Int64(1234) |
| 73 | } |
| 74 | |
| 75 | resources, err := getWebhooksServerResources() |
| 76 | if err != nil { |
| 77 | return nil, err |
| 78 | } |
| 79 | |
| 80 | controllerSA, err := config.GetWorkspaceControllerSA() |
| 81 | if err != nil { |
| 82 | return nil, err |
| 83 | } |
| 84 | |
| 85 | globalConfig := config.GetGlobalConfig() |
| 86 | if globalConfig.Webhook == nil || globalConfig.Webhook.Replicas == nil { |
| 87 | return nil, fmt.Errorf("the number of webhook server replicas must be specified in the global DWOC") |
| 88 | } |
| 89 | replicas := globalConfig.Webhook.Replicas |
| 90 | |
| 91 | deployment := &appsv1.Deployment{ |
| 92 | ObjectMeta: metav1.ObjectMeta{ |
| 93 | Name: server.WebhookServerDeploymentName, |
| 94 | Namespace: namespace, |
| 95 | Labels: server.WebhookServerAppLabels(), |
| 96 | }, |
| 97 | Spec: appsv1.DeploymentSpec{ |
| 98 | Replicas: replicas, |
| 99 | Selector: &metav1.LabelSelector{ |
| 100 | MatchLabels: server.WebhookServerAppLabels(), |
| 101 | }, |
| 102 | Strategy: appsv1.DeploymentStrategy{ |
| 103 | Type: appsv1.RollingUpdateDeploymentStrategyType, |
| 104 | }, |
| 105 | Template: corev1.PodTemplateSpec{ |
| 106 | ObjectMeta: metav1.ObjectMeta{ |
| 107 | Name: server.WebhookServerDeploymentName, |
| 108 | Namespace: namespace, |
| 109 | Labels: server.WebhookServerAppLabels(), |
| 110 | Annotations: server.WebhookServerAppAnnotations(), |
| 111 | }, |
| 112 | Spec: corev1.PodSpec{ |
| 113 | NodeSelector: globalConfig.Webhook.NodeSelector, |
| 114 | Tolerations: globalConfig.Webhook.Tolerations, |
| 115 | Containers: []corev1.Container{ |
| 116 | { |
| 117 | Name: "webhook-server", |
| 118 | Image: images.GetWebhookServerImage(), |
| 119 | Command: []string{"/usr/local/bin/entrypoint"}, |
| 120 | Args: []string{"/usr/local/bin/webhook-server", "--metrics-addr=0.0.0.0:9443"}, |
| 121 | ImagePullPolicy: corev1.PullAlways, |
| 122 | LivenessProbe: &corev1.Probe{ |
| 123 | ProbeHandler: corev1.ProbeHandler{ |
| 124 | HTTPGet: &corev1.HTTPGetAction{ |
| 125 | Path: "/healthz", |
| 126 | Port: intstr.FromString("liveness-port"), |
no test coverage detected