github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/offering/base/console/override/envcm.go (about)

     1  /*
     2   * Copyright contributors to the Hyperledger Fabric Operator project
     3   *
     4   * SPDX-License-Identifier: Apache-2.0
     5   *
     6   * Licensed under the Apache License, Version 2.0 (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at:
     9   *
    10   * 	  http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an "AS IS" BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  
    19  package override
    20  
    21  import (
    22  	current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1"
    23  	"github.com/IBM-Blockchain/fabric-operator/pkg/manager/resources"
    24  	corev1 "k8s.io/api/core/v1"
    25  	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    26  )
    27  
    28  func (o *Override) CM(object v1.Object, cm *corev1.ConfigMap, action resources.Action, options map[string]interface{}) error {
    29  	instance := object.(*current.IBPConsole)
    30  	switch action {
    31  	case resources.Create:
    32  		return o.CreateCM(instance, cm)
    33  	case resources.Update:
    34  		return o.UpdateCM(instance, cm)
    35  	}
    36  
    37  	return nil
    38  }
    39  
    40  func (o *Override) CreateCM(instance *current.IBPConsole, cm *corev1.ConfigMap) error {
    41  	cm.Data["HOST_URL"] = "https://" + instance.Spec.NetworkInfo.Domain + ":443"
    42  
    43  	err := o.CommonCM(instance, cm)
    44  	if err != nil {
    45  		return err
    46  	}
    47  
    48  	return nil
    49  }
    50  
    51  func (o *Override) UpdateCM(instance *current.IBPConsole, cm *corev1.ConfigMap) error {
    52  	err := o.CommonCM(instance, cm)
    53  	if err != nil {
    54  		return err
    55  	}
    56  
    57  	return nil
    58  }
    59  
    60  func (o *Override) CommonCM(instance *current.IBPConsole, cm *corev1.ConfigMap) error {
    61  	if instance.Spec.ConnectionString != "" {
    62  		connectionString := instance.Spec.ConnectionString
    63  		cm.Data["DB_CONNECTION_STRING"] = connectionString
    64  	}
    65  
    66  	if instance.Spec.System != "" {
    67  		system := instance.Spec.System
    68  		cm.Data["DB_SYSTEM"] = system
    69  	}
    70  
    71  	if instance.Spec.TLSSecretName != "" {
    72  		cm.Data["KEY_FILE_PATH"] = "/certs/tls/tls.key"
    73  		cm.Data["PEM_FILE_PATH"] = "/certs/tls/tls.crt"
    74  	} else {
    75  		cm.Data["KEY_FILE_PATH"] = "/certs/tls.key"
    76  		cm.Data["PEM_FILE_PATH"] = "/certs/tls.crt"
    77  	}
    78  
    79  	return nil
    80  }