func()

in pkg/service/platform/kubernetes/k8s.go [239:271]


func (s *K8SService) CreateConfigMap(instance *jenkinsApi.Jenkins, name string, data map[string]string,
	labels ...map[string]string,
) (*coreV1Api.ConfigMap, error) {
	currentConfigMap, err := s.getConfigMap(name, instance.Namespace)
	if err != nil {
		if k8sErrors.IsNotFound(err) {
			resultLabels := platformHelper.GenerateLabels(instance.Name)

			if len(labels) != 0 {
				resultLabels = labels[0]
			}

			currentConfigMap = &coreV1Api.ConfigMap{
				ObjectMeta: metav1.ObjectMeta{
					Name:      name,
					Namespace: instance.Namespace,
					Labels:    resultLabels,
				},
				Data: data,
			}

			if createMapErr := s.createConfigMapInK8S(instance, currentConfigMap); createMapErr != nil {
				return nil, fmt.Errorf("failed to create config map: %w", err)
			}

			return currentConfigMap, nil
		}

		return nil, fmt.Errorf("failed to get ConfigMap %v object: %w", name, err)
	}

	return currentConfigMap, nil
}