in pkg/service/platform/k8s/k8s.go [88:120]
func (s *K8SService) PatchDeploymentEnv(gerrit *gerritApi.Gerrit, env []coreV1Api.EnvVar) error {
ctx := context.Background()
d, err := s.appsV1Client.Deployments(gerrit.Namespace).Get(ctx, gerrit.Name, metaV1.GetOptions{})
if err != nil {
return fmt.Errorf("failed to Get Deployment %q: %w", gerrit.Name, err)
}
if len(env) == 0 {
return nil
}
container, err := platformHelper.SelectContainer(d.Spec.Template.Spec.Containers, gerrit.Name)
if err != nil {
return fmt.Errorf("not containers found for gerrit resource %q: %w", gerrit.Name, err)
}
container.Env = platformHelper.UpdateEnv(container.Env, env)
d.Spec.Template.Spec.Containers = append(d.Spec.Template.Spec.Containers, container)
jsonDc, err := json.Marshal(d)
if err != nil {
return fmt.Errorf("failed encode to json gerrit deployment k8s object %q: %w", gerrit.Name, err)
}
_, err = s.appsV1Client.Deployments(d.Namespace).Patch(ctx, d.Name, types.StrategicMergePatchType, jsonDc, metaV1.PatchOptions{})
if err != nil {
return fmt.Errorf("failed to Patch Deployment %q: %w", d.Name, err)
}
return nil
}