github.com/IBM-Blockchain/fabric-operator@v1.0.4/api/v1beta1/ibpconsole.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 v1beta1
    20  
    21  import (
    22  	"encoding/json"
    23  	"strings"
    24  )
    25  
    26  func (s *IBPConsole) ResetRestart() {
    27  	s.Spec.Action.Restart = false
    28  }
    29  
    30  // GetMSPID returns empty string as no orgs are
    31  // associated with console (implemented for the
    32  // restart manager logic)
    33  func (s *IBPConsole) GetMSPID() string {
    34  	// no-op
    35  	return ""
    36  }
    37  
    38  func (s *IBPConsole) UseTags() bool {
    39  	useTags := false
    40  	if s.Spec.UseTags != nil && *(s.Spec.UseTags) {
    41  		useTags = *s.Spec.UseTags
    42  	}
    43  	return useTags
    44  }
    45  
    46  func (s *IBPConsoleSpec) GetOverridesConsole() (*ConsoleOverridesConsole, error) {
    47  	override := &ConsoleOverridesConsole{}
    48  	if s.ConfigOverride != nil && s.ConfigOverride.Console != nil {
    49  		err := json.Unmarshal(s.ConfigOverride.Console.Raw, override)
    50  		if err != nil {
    51  			return nil, err
    52  		}
    53  	}
    54  	return override, nil
    55  }
    56  
    57  func (s *IBPConsoleSpec) GetOverridesDeployer() (*ConsoleOverridesDeployer, error) {
    58  	override := &ConsoleOverridesDeployer{}
    59  	if s.ConfigOverride != nil && s.ConfigOverride.Deployer != nil {
    60  		err := json.Unmarshal(s.ConfigOverride.Deployer.Raw, override)
    61  		if err != nil {
    62  			return nil, err
    63  		}
    64  	}
    65  	return override, nil
    66  }
    67  
    68  func (s *IBPConsoleSpec) UsingRemoteDB() bool {
    69  	if strings.Contains(s.ConnectionString, "localhost") || s.ConnectionString == "" {
    70  		return false
    71  	}
    72  
    73  	return true
    74  }
    75  
    76  func (v *Versions) Override(requestedVersions *Versions, registryURL string, arch string) {
    77  	if requestedVersions == nil {
    78  		return
    79  	}
    80  
    81  	if len(requestedVersions.CA) != 0 {
    82  		CAVersions := map[string]VersionCA{}
    83  		for key, _ := range requestedVersions.CA {
    84  			var caConfig VersionCA
    85  			requestedCAVersion := requestedVersions.CA[key]
    86  			caConfig.Image.Override(&requestedCAVersion.Image, registryURL, arch)
    87  			caConfig.Default = requestedCAVersion.Default
    88  			caConfig.Version = requestedCAVersion.Version
    89  			CAVersions[key] = caConfig
    90  		}
    91  		v.CA = CAVersions
    92  	}
    93  
    94  	if len(requestedVersions.Peer) != 0 {
    95  		PeerVersions := map[string]VersionPeer{}
    96  		for key, _ := range requestedVersions.Peer {
    97  			var peerConfig VersionPeer
    98  			requestedPeerVersion := requestedVersions.Peer[key]
    99  			peerConfig.Image.Override(&requestedPeerVersion.Image, registryURL, arch)
   100  			peerConfig.Default = requestedPeerVersion.Default
   101  			peerConfig.Version = requestedPeerVersion.Version
   102  			PeerVersions[key] = peerConfig
   103  		}
   104  		v.Peer = PeerVersions
   105  	}
   106  
   107  	if len(requestedVersions.Orderer) != 0 {
   108  		OrdererVersions := map[string]VersionOrderer{}
   109  		for key, _ := range requestedVersions.Orderer {
   110  			var ordererConfig VersionOrderer
   111  			requestedOrdererVersion := requestedVersions.Orderer[key]
   112  			ordererConfig.Image.Override(&requestedOrdererVersion.Image, registryURL, arch)
   113  			ordererConfig.Default = requestedOrdererVersion.Default
   114  			ordererConfig.Version = requestedOrdererVersion.Version
   115  			OrdererVersions[key] = ordererConfig
   116  		}
   117  		v.Orderer = OrdererVersions
   118  	}
   119  }
   120  
   121  func init() {
   122  	SchemeBuilder.Register(&IBPConsole{}, &IBPConsoleList{})
   123  }
   124  
   125  func (c *IBPConsoleStatus) HasType() bool {
   126  	if c.CRStatus.Type != "" {
   127  		return true
   128  	}
   129  	return false
   130  }