MCPcopy Create free account
hub / github.com/devfile/devworkspace-operator / getSpecDeployment

Function getSpecDeployment

pkg/webhook/deployment.go:69–219  ·  view source on GitHub ↗
(webhooksSecretName, namespace string)

Source from the content-addressed store, hash-verified

67}
68
69func 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"),

Callers 1

Calls 5

IsOpenShiftFunction · 0.92
GetWorkspaceControllerSAFunction · 0.92
GetGlobalConfigFunction · 0.92
GetWebhookServerImageFunction · 0.92

Tested by

no test coverage detected