...

Source file src/edge-infra.dev/pkg/edge/datasync/controllers/couchctl/configmap.go

Documentation: edge-infra.dev/pkg/edge/datasync/controllers/couchctl

     1  package couchctl
     2  
     3  import (
     4  	"edge-infra.dev/pkg/edge/constants"
     5  	dsapi "edge-infra.dev/pkg/edge/datasync/apis/v1alpha1"
     6  
     7  	corev1 "k8s.io/api/core/v1"
     8  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     9  )
    10  
    11  const (
    12  	IniFileKey = "inifile"
    13  )
    14  
    15  // ConfigMap dynamically build couchdb config ini
    16  func ConfigMap(server dsapi.CouchDBServer) (*corev1.ConfigMap, error) {
    17  	iniConfig, err := server.ToINIString() // convert server spec to INI config for couchdb
    18  	if err != nil {
    19  		return nil, err
    20  	}
    21  	ref := server.ConfigMapRef()
    22  	cm := &corev1.ConfigMap{
    23  		TypeMeta: metav1.TypeMeta{
    24  			Kind:       "ConfigMap",
    25  			APIVersion: "v1",
    26  		},
    27  		ObjectMeta: metav1.ObjectMeta{
    28  			Name:      ref.Name,
    29  			Namespace: ref.Namespace,
    30  			Labels: map[string]string{
    31  				constants.PlatformComponent: server.Namespace,
    32  			},
    33  		},
    34  		Data: map[string]string{
    35  			IniFileKey: iniConfig,
    36  		},
    37  	}
    38  	return cm, nil
    39  }
    40  

View as plain text