github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/apis/console/v1/console.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 v1 20 21 type DBCustomNames struct { 22 Components string `json:"DB_COMPONENTS"` 23 Sessions string `json:"DB_SESSIONS"` 24 System string `json:"DB_SYSTEM"` 25 } 26 27 type FabricCapabilites struct { 28 Application []string `json:"application"` 29 Channel []string `json:"channel"` 30 Orderer []string `json:"orderer"` 31 } 32 33 type IBMID struct { 34 URL string `json:"url,omitempty"` 35 ClientID string `json:"client_id,omitempty"` 36 ClientSecret string `json:"client_secret,omitempty"` 37 } 38 39 // IBPConsoleStructureData provides the clsuter info the console 40 // +k8s:openapi-gen=true 41 // +k8s:deepcopy-gen=true 42 type IBPConsoleClusterData struct { 43 // Zones provides the zones available 44 Zones []string `json:"zones,omitempty"` 45 46 // Type provides the type of cluster 47 Type string `json:"type,omitempty"` 48 49 Namespace string `json:"namespace,omitempty"` 50 } 51 52 // +k8s:deepcopy-gen=true 53 type InfraImportOptions struct { 54 Platform string `json:"platform,omitempty"` 55 SupportedCAs []string `json:"supported_cas,omitempty"` 56 SupportedOrderers []string `json:"supported_orderers,omitempty"` 57 SupportedPeers []string `json:"supported_peers,omitempty"` 58 } 59 60 // +k8s:deepcopy-gen=true 61 type FeatureFlags struct { 62 ImportOnlyEnabled *bool `json:"import_only_enabled,omitempty"` 63 ReadOnlyEnabled *bool `json:"read_only_enabled,omitempty"` 64 CreateChannelEnabled bool `json:"create_channel_enabled,omitempty"` 65 RemotePeerConfigEnabled bool `json:"remote_peer_config_enabled,omitempty"` 66 SaasEnabled bool `json:"saas_enabled,omitempty"` 67 TemplatesEnabled bool `json:"templates_enabled,omitempty"` 68 CapabilitiesEnabled bool `json:"capabilities_enabled,omitempty"` 69 HighAvailability bool `json:"high_availability,omitempty"` 70 EnableNodeOU bool `json:"enable_ou_identifier,omitempty"` 71 HSMEnabled bool `json:"hsm_enabled,omitempty"` 72 ScaleRaftNodesEnabled bool `json:"scale_raft_nodes_enabled,omitempty"` 73 InfraImportOptions *InfraImportOptions `json:"infra_import_options,omitempty"` 74 Lifecycle20Enabled bool `json:"lifecycle2_0_enabled,omitempty"` 75 Patch14to20Enabled bool `json:"patch_1_4to2_x_enabled,omitempty"` 76 DevMode bool `json:"dev_mode,omitempty"` 77 MustgatherEnabled bool `json:"mustgather_enabled,omitempty"` 78 } 79 80 // Added here to avoid the Circular dependency 81 type CRN struct { 82 Version string `json:"version,omitempty"` 83 CName string `json:"c_name,omitempty"` 84 CType string `json:"c_type,omitempty"` 85 Servicename string `json:"service_name,omitempty"` 86 Location string `json:"location,omitempty"` 87 AccountID string `json:"account_id,omitempty"` 88 InstanceID string `json:"instance_id,omitempty"` 89 ResourceType string `json:"resource_type,omitempty"` 90 ResourceID string `json:"resource_id,omitempty"` 91 } 92 93 type ConsoleSettingsConfig struct { 94 Version string `json:"version"` 95 Email string `json:"initial_admin"` 96 AuthScheme string `json:"auth_scheme"` 97 AllowDefaultPassword bool `json:"allow_default_password"` 98 Configtxlator string `json:"configtxlator"` 99 DeployerURL string `json:"deployer_url"` 100 DeployerTimeout int32 `json:"deployer_timeout"` 101 HSM string `json:"hsm"` 102 SegmentWriteKey string `json:"segment_write_key"` 103 DBCustomNames DBCustomNames `json:"db_custom_names"` 104 EnforceBackendSSL bool `json:"enforce_backend_ssl"` 105 SystemChannelID string `json:"system_channel_id"` 106 DynamicTLS bool `json:"dynamic_tls"` 107 DynamicConfig bool `json:"dynamic_config"` 108 Zone string `json:"zone"` 109 Infrastructure string `json:"infrastructure"` 110 FabricCapabilites FabricCapabilites `json:"fabric_capabilities"` 111 ClusterData *IBPConsoleClusterData `json:"cluster_data"` 112 ProxyTLSReqs string `json:"proxy_tls_fabric_reqs"` 113 ProxyTLSUrl string `json:"proxy_tls_ws_url"` 114 Featureflags *FeatureFlags `json:"feature_flags"` 115 IBMID *IBMID `json:"ibmid,omitempty"` 116 IAMApiKey string `json:"iam_api_key,omitempty"` 117 CRN *CRN `json:"crn,omitempty"` 118 CRNString string `json:"crn_string,omitempty"` 119 ActivityTrackerPath string `json:"activity_tracker_path,omitempty"` 120 TrustProxy string `json:"trust_proxy,omitempty"` 121 }