· 6 years ago · May 14, 2019, 03:00 AM
1#!/bin/bash
2
3#-------------------------------------------------------------------------------
4# Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
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
20set -e
21# bash variables
22# bash variables
23k8s_obj_file="deployment.yaml"; NODE_IP=''; str_sec=""
24
25# wso2 subscription variables
26WUMUsername=''; WUMPassword=''
27
28: ${namespace:="wso2"}
29: ${randomPort:=true}; : ${NP_1:=30443}; : ${NP_2:=30243}; : ${NP_3:=30643}
30
31# testgrid directory
32OUTPUT_DIR=$4; INPUT_DIR=$2; TG_PROP="$INPUT_DIR/infrastructure.properties"
33
34#bash functions
35function usage(){
36 echo "Usage: "
37 echo -e "-d, --deploy Deploy WSO2 Enterprise Integrator"
38 echo -e "-u, --undeploy Undeploy WSO2 Enterprise Integrator"
39 echo -e "-h, --help Display usage instrusctions"
40}
41function undeploy(){
42 echoBold "Undeploying WSO2 Enterprise Integrator ... \n"
43 kubectl delete -f deployment.yaml
44 exit 0
45}
46function echoBold () {
47 echo -en $'\e[1m'"${1}"$'\e[0m'
48}
49
50function display_msg(){
51 msg=$@
52 echoBold "${msg}"
53 exit 1
54}
55
56function st(){
57 cycles=${1}
58 i=0
59 while [[ i -lt $cycles ]]
60 do
61 echoBold "* "
62 let "i=i+1"
63 done
64}
65function sp(){
66 cycles=${1}
67 i=0
68 while [[ i -lt $cycles ]]
69 do
70 echoBold " "
71 let "i=i+1"
72 done
73}
74function product_name() {
75 echo -e "\n"
76 #wso2ei
77 st 1; sp 8; st 1; sp 2; sp 1; st 3; sp 3; sp 2; st 3; sp 4; sp 1; st 3; sp 3; sp 8; st 5; sp 2; st 5
78 echo ""
79 st 1; sp 8; st 1; sp 2; st 1; sp 4; st 1; sp 2; st 1; sp 6; st 1; sp 2; st 1; sp 4; st 1; sp 2; sp 8; st 1; sp 8; sp 2; sp 4; st 1
80 echo ""
81 st 1; sp 3; st 1; sp 3; st 1; sp 2; st 1; sp 8; st 1; sp 6; st 1; sp 2; sp 6; st 1; sp 2; sp 8; st 1; sp 8; sp 2; sp 4; st 1
82 echo ""
83 st 1; sp 2; st 1; st 1; sp 2; st 1; sp 2; sp 1; st 3; sp 3; st 1; sp 6; st 1; sp 2; sp 4; st 1; sp 4; st 3; sp 2; st 5; sp 2; sp 4; st 1
84 echo ""
85 st 1; sp 1; st 1; sp 2; st 1; sp 1; st 1; sp 2; sp 6; st 1; sp 2; st 1; sp 6; st 1; sp 2; sp 2; st 1; sp 6; sp 8; st 1; sp 8; sp 2; sp 4; st 1;
86 echo ""
87 st 2; sp 4; st 2; sp 2; st 1; sp 4; st 1; sp 2; st 1; sp 6; st 1; sp 2; st 1; sp 8; sp 8; st 1; sp 8; sp 2; sp 4; st 1;
88 echo ""
89 st 1; sp 8; st 1; sp 2; sp 1; st 3; sp 3; sp 2; st 3; sp 4; st 4; sp 2; sp 8; st 5; sp 2; st 5
90 echo -e "\n\n"
91
92}
93
94function create_yaml(){
95
96cat > ${k8s_obj_file} << "EOF"
97apiVersion: v1
98kind: Namespace
99metadata:
100 name: wso2
101spec:
102 finalizers:
103 - kubernetes
104---
105
106apiVersion: v1
107kind: ServiceAccount
108metadata:
109 name: wso2svc-account
110 namespace: $namespace
111secrets:
112 - name: wso2svc-account-token-t7s49
113---
114
115apiVersion: v1
116data:
117EOF
118
119echo " .dockerconfigjson: $str_sec" >> ${k8s_obj_file}
120
121cat >> ${k8s_obj_file} << "EOF"
122kind: Secret
123metadata:
124 name: wso2creds
125 namespace: $namespace
126type: kubernetes.io/dockerconfigjson
127---
128
129apiVersion: v1
130data:
131 carbon.xml: |
132 <?xml version="1.0" encoding="ISO-8859-1"?>
133 <Server xmlns="http://wso2.org/projects/carbon/carbon.xml">
134 <Name>WSO2 Enterprise Integrator</Name>
135 <ServerKey>EI</ServerKey>
136 <Version>6.4.0</Version>
137EOF
138
139echo " <HostName>$NODE_IP</HostName>" >> ${k8s_obj_file}
140
141cat >> ${k8s_obj_file} << "EOF"
142 <MgtHostName>wso2ei-integrator</MgtHostName>
143 <ServerURL>local:/${carbon.context}/services/</ServerURL>
144 <ServerRoles>
145 <Role>EnterpriseIntegrator</Role>
146 <Role>EnterpriseServiceBus</Role>
147 <Role>DataServicesServer</Role>
148 </ServerRoles>
149 <Package>org.wso2.carbon</Package>
150 <WebContextRoot>/</WebContextRoot>
151 <ItemsPerPage>15</ItemsPerPage>
152 <Ports>
153 <Offset>0</Offset>
154 <JMX>
155 <RMIRegistryPort>9999</RMIRegistryPort>
156 <RMIServerPort>11111</RMIServerPort>
157 </JMX>
158 <EmbeddedLDAP>
159 <LDAPServerPort>10389</LDAPServerPort>
160 <KDCServerPort>8000</KDCServerPort>
161 </EmbeddedLDAP>
162 <ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort>
163 </Ports>
164 <JNDI>
165 <DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory>
166 <Restrictions>
167 <AllTenants>
168 <UrlContexts>
169 <UrlContext>
170 <Scheme>java</Scheme>
171 </UrlContext>
172 </UrlContexts>
173 </AllTenants>
174 </Restrictions>
175 </JNDI>
176 <IsCloudDeployment>false</IsCloudDeployment>
177 <EnableMetering>false</EnableMetering>
178 <MaxThreadExecutionTime>600</MaxThreadExecutionTime>
179 <GhostDeployment>
180 <Enabled>false</Enabled>
181 </GhostDeployment>
182 <Tenant>
183 <LoadingPolicy>
184 <LazyLoading>
185 <IdleTime>30</IdleTime>
186 </LazyLoading>
187 </LoadingPolicy>
188 </Tenant>
189 <Cache>
190 <DefaultCacheTimeout>15</DefaultCacheTimeout>
191 </Cache>
192 <Axis2Config>
193 <RepositoryLocation>${carbon.home}/repository/deployment/server/</RepositoryLocation>
194 <DeploymentUpdateInterval>15</DeploymentUpdateInterval>
195 <ConfigurationFile>${carbon.home}/conf/axis2/axis2.xml</ConfigurationFile>
196 <ServiceGroupContextIdleTime>30000</ServiceGroupContextIdleTime>
197 <ClientRepositoryLocation>${carbon.home}/repository/deployment/client/</ClientRepositoryLocation>
198 <clientAxis2XmlLocation>${carbon.home}/conf/axis2/axis2_client.xml</clientAxis2XmlLocation>
199 <HideAdminServiceWSDLs>true</HideAdminServiceWSDLs>
200 </Axis2Config>
201 <ServiceUserRoles>
202 <Role>
203 <Name>admin</Name>
204 <Description>Default Administrator Role</Description>
205 </Role>
206 <Role>
207 <Name>user</Name>
208 <Description>Default User Role</Description>
209 </Role>
210 </ServiceUserRoles>
211 <CryptoService>
212 <Enabled>true</Enabled>
213 <InternalCryptoProviderClassName>org.wso2.carbon.crypto.provider.KeyStoreBasedInternalCryptoProvider</InternalCryptoProviderClassName>
214 <ExternalCryptoProviderClassName>org.wso2.carbon.core.encryption.KeyStoreBasedExternalCryptoProvider</ExternalCryptoProviderClassName>
215 <KeyResolvers>
216 <KeyResolver className="org.wso2.carbon.crypto.defaultProvider.resolver.ContextIndependentKeyResolver" priority="-1"/>
217 </KeyResolvers>
218 </CryptoService>
219 <Security>
220 <KeyStore>
221 <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
222 <Type>JKS</Type>
223 <Password>wso2carbon</Password>
224 <KeyAlias>wso2carbon</KeyAlias>
225 <KeyPassword>wso2carbon</KeyPassword>
226 </KeyStore>
227 <InternalKeyStore>
228 <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
229 <Type>JKS</Type>
230 <Password>wso2carbon</Password>
231 <KeyAlias>wso2carbon</KeyAlias>
232 <KeyPassword>wso2carbon</KeyPassword>
233 </InternalKeyStore>
234 <TrustStore>
235 <Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location>
236 <Type>JKS</Type>
237 <Password>wso2carbon</Password>
238 </TrustStore>
239 <NetworkAuthenticatorConfig>
240 </NetworkAuthenticatorConfig>
241 <TomcatRealm>UserManager</TomcatRealm>
242 <DisableTokenStore>false</DisableTokenStore>
243 <XSSPreventionConfig>
244 <Enabled>true</Enabled>
245 <Rule>allow</Rule>
246 <Patterns>
247 </Patterns>
248 </XSSPreventionConfig>
249 </Security>
250 <WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>
251 <HouseKeeping>
252 <AutoStart>true</AutoStart>
253 <Interval>10</Interval>
254 <MaxTempFileLifetime>30</MaxTempFileLifetime>
255 </HouseKeeping>
256 <FileUploadConfig>
257 <TotalFileSizeLimit>100</TotalFileSizeLimit>
258 <Mapping>
259 <Actions>
260 <Action>keystore</Action>
261 <Action>certificate</Action>
262 <Action>*</Action>
263 </Actions>
264 <Class>org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor</Class>
265 </Mapping>
266 <Mapping>
267 <Actions>
268 <Action>jarZip</Action>
269 </Actions>
270 <Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
271 </Mapping>
272 <Mapping>
273 <Actions>
274 <Action>dbs</Action>
275 </Actions>
276 <Class>org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor</Class>
277 </Mapping>
278 <Mapping>
279 <Actions>
280 <Action>tools</Action>
281 </Actions>
282 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor</Class>
283 </Mapping>
284 <Mapping>
285 <Actions>
286 <Action>toolsAny</Action>
287 </Actions>
288 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class>
289 </Mapping>
290 </FileUploadConfig>
291 <HttpGetRequestProcessors>
292 <Processor>
293 <Item>info</Item>
294 <Class>org.wso2.carbon.core.transports.util.InfoProcessor</Class>
295 </Processor>
296 <Processor>
297 <Item>wsdl</Item>
298 <Class>org.wso2.carbon.core.transports.util.Wsdl11Processor</Class>
299 </Processor>
300 <Processor>
301 <Item>wsdl2</Item>
302 <Class>org.wso2.carbon.core.transports.util.Wsdl20Processor</Class>
303 </Processor>
304 <Processor>
305 <Item>xsd</Item>
306 <Class>org.wso2.carbon.core.transports.util.XsdProcessor</Class>
307 </Processor>
308 </HttpGetRequestProcessors>
309 <DeploymentSynchronizer>
310 <Enabled>false</Enabled>
311 <AutoCommit>false</AutoCommit>
312 <AutoCheckout>true</AutoCheckout>
313 <RepositoryType>svn</RepositoryType>
314 <SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
315 <SvnUser>username</SvnUser>
316 <SvnPassword>password</SvnPassword>
317 <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
318 </DeploymentSynchronizer>
319 <ServerInitializers>
320 </ServerInitializers>
321 <RequireCarbonServlet>${require.carbon.servlet}</RequireCarbonServlet>
322 <StatisticsReporterDisabled>true</StatisticsReporterDisabled>
323 <FeatureRepository>
324 <RepositoryName>default repository</RepositoryName>
325 <RepositoryURL>http://product-dist.wso2.com/p2/carbon/releases/wilkes/</RepositoryURL>
326 </FeatureRepository>
327 <APIManagement>
328 <Enabled>true</Enabled>
329 <LoadAPIContextsInServerStartup>true</LoadAPIContextsInServerStartup>
330 </APIManagement>
331 </Server>
332 registry.xml: |
333 <?xml version="1.0" encoding="ISO-8859-1"?>
334 <wso2registry>
335 <currentDBConfig>wso2registry</currentDBConfig>
336 <readOnly>false</readOnly>
337 <enableCache>true</enableCache>
338 <registryRoot>/</registryRoot>
339 <dbConfig name="wso2registry">
340 <dataSource>jdbc/WSO2CarbonDB</dataSource>
341 </dbConfig>
342 <dbConfig name="wso2config">
343 <dataSource>jdbc/WSO2ConfigDB</dataSource>
344 </dbConfig>
345 <remoteInstance url="https://localhost:9453/registry">
346 <id>wso2config</id>
347 <dbConfig>wso2config</dbConfig>
348 <readOnly>false</readOnly>
349 <registryRoot>/</registryRoot>
350 </remoteInstance>
351 <mount path="/_system/config" overwrite="true">
352 <instanceId>wso2config</instanceId>
353 <targetPath>/_system/config/integrator</targetPath>
354 </mount>
355 <mount path="/_system/governance" overwrite="true">
356 <instanceId>wso2config</instanceId>
357 <targetPath>/_system/governance/integrator</targetPath>
358 </mount>
359 <indexingConfiguration>
360 <skipCache>false</skipCache>
361 <startIndexing>true</startIndexing>
362 <startingDelayInSeconds>35</startingDelayInSeconds>
363 <indexingFrequencyInSeconds>5</indexingFrequencyInSeconds>
364 <batchSize>10</batchSize>
365 <indexerPoolSize>10</indexerPoolSize>
366 <lastAccessTimeLocation>/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime</lastAccessTimeLocation>
367 <indexers>
368 <indexer class="org.wso2.carbon.registry.indexing.indexer.MSExcelIndexer" mediaTypeRegEx="application/vnd.ms-excel"/>
369 <indexer class="org.wso2.carbon.registry.indexing.indexer.MSPowerpointIndexer" mediaTypeRegEx="application/vnd.ms-powerpoint"/>
370 <indexer class="org.wso2.carbon.registry.indexing.indexer.MSWordIndexer" mediaTypeRegEx="application/msword"/>
371 <indexer class="org.wso2.carbon.registry.indexing.indexer.PDFIndexer" mediaTypeRegEx="application/pdf"/>
372 <indexer class="org.wso2.carbon.registry.indexing.indexer.XMLIndexer" mediaTypeRegEx="application/xml"/>
373 <indexer class="org.wso2.carbon.registry.indexing.indexer.XMLIndexer" mediaTypeRegEx="application/(.)+\+xml"/>
374 <indexer class="org.wso2.carbon.registry.indexing.indexer.PlainTextIndexer" mediaTypeRegEx="application/swagger\+json"/>
375 <indexer class="org.wso2.carbon.registry.indexing.indexer.PlainTextIndexer" mediaTypeRegEx="application/(.)+\+json"/>
376 <indexer class="org.wso2.carbon.registry.indexing.indexer.PlainTextIndexer" mediaTypeRegEx="text/(.)+"/>
377 <indexer class="org.wso2.carbon.registry.indexing.indexer.PlainTextIndexer" mediaTypeRegEx="application/x-javascript"/>
378 </indexers>
379 <exclusions>
380 <exclusion pathRegEx="/_system/config/repository/dashboards/gadgets/swfobject1-5/.*[.]html"/>
381 <exclusion pathRegEx="/_system/local/repository/components/org[.]wso2[.]carbon[.]registry/mount/.*"/>
382 </exclusions>
383 </indexingConfiguration>
384 <versionResourcesOnChange>false</versionResourcesOnChange>
385 <staticConfiguration>
386 <versioningProperties>true</versioningProperties>
387 <versioningComments>true</versioningComments>
388 <versioningTags>true</versioningTags>
389 <versioningRatings>true</versioningRatings>
390 </staticConfiguration>
391 </wso2registry>
392 synapse.properties: |
393 synapse.sal.endpoints.sesssion.timeout.default=600000
394 synapse.global_timeout_interval=120000
395 statistics.clean.enable=true
396 statistics.clean.interval=1000
397 synapse.observers=org.wso2.carbon.mediation.dependency.mgt.DependencyTracker
398 synapse.commons.json.preserve.namespace=false
399 synapse.temp_data.chunk.size=3072
400 synapse.carbon.ext.tenant.info=org.wso2.carbon.mediation.initializer.handler.CarbonTenantInfoConfigurator
401 synapse.carbon.ext.tenant.info.initiator=org.wso2.carbon.mediation.initializer.handler.CarbonTenantInfoInitiator
402 synapse.xpath.func.extensions=org.wso2.carbon.mediation.security.vault.xpath.SecureVaultLookupXPathFunctionProvider
403 synapse.debugger.port.command=9005
404 synapse.debugger.port.event=9006
405 mediation.flow.statistics.enable=true
406 mediation.flow.statistics.tracer.collect.payloads=true
407 mediation.flow.statistics.tracer.collect.properties=true
408 mediation.flow.statistics.event.consume.interval=1000
409 mediation.flow.statistics.event.clean.interval=15000
410 mediation.flow.statistics.collect.all=true
411 user-mgt.xml: |
412 <UserManager>
413 <Realm>
414 <Configuration>
415 <AddAdmin>true</AddAdmin>
416 <AdminRole>admin</AdminRole>
417 <AdminUser>
418 <UserName>admin</UserName>
419 <Password>admin</Password>
420 </AdminUser>
421 <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root -->
422 <Property name="isCascadeDeleteEnabled">true</Property>
423 <Property name="dataSource">jdbc/WSO2UserDB</Property>
424 </Configuration>
425 <UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
426 <Property name="TenantManager">org.wso2.carbon.user.core.tenant.JDBCTenantManager</Property>
427 <Property name="ReadOnly">false</Property>
428 <Property name="ReadGroups">true</Property>
429 <Property name="WriteGroups">true</Property>
430 <Property name="UsernameJavaRegEx">^[\S]{3,30}$</Property>
431 <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
432 <Property name="UsernameJavaRegExViolationErrorMsg">Username pattern policy violated</Property>
433 <Property name="PasswordJavaRegEx">^[\S]{5,30}$</Property>
434 <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
435 <Property name="PasswordJavaRegExViolationErrorMsg">Password length should be within 5 to 30 characters</Property>
436 <Property name="RolenameJavaRegEx">^[\S]{3,30}$</Property>
437 <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
438 <Property name="CaseInsensitiveUsername">true</Property>
439 <Property name="SCIMEnabled">false</Property>
440 <Property name="IsBulkImportSupported">true</Property>
441 <Property name="PasswordDigest">SHA-256</Property>
442 <Property name="StoreSaltedPassword">true</Property>
443 <Property name="MultiAttributeSeparator">,</Property>
444 <Property name="MaxUserNameListLength">100</Property>
445 <Property name="MaxRoleNameListLength">100</Property>
446 <Property name="UserRolesCacheEnabled">true</Property>
447 <Property name="UserNameUniqueAcrossTenants">false</Property>
448 </UserStoreManager>
449 <AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
450 <Property name="AdminRoleManagementPermissions">/permission</Property>
451 <Property name="AuthorizationCacheEnabled">true</Property>
452 <Property name="GetAllRolesOfUserEnabled">false</Property>
453 </AuthorizationManager>
454 </Realm>
455 </UserManager>
456kind: ConfigMap
457metadata:
458 name: integrator-conf
459 namespace: $namespace
460---
461
462apiVersion: v1
463data:
464 axis2.xml: |
465 <axisconfig name="AxisJava2.0">
466 <parameter name="hotdeployment" locked="false">true</parameter>
467 <parameter name="hotupdate" locked="false">true</parameter>
468 <parameter name="enableMTOM" locked="false">false</parameter>
469 <parameter name="enableSwA" locked="false">false</parameter>
470 <parameter name="cacheAttachments" locked="false">false</parameter>
471 <parameter name="attachmentDIR" locked="false">work/mtom</parameter>
472 <parameter name="sizeThreshold" locked="false">4000</parameter>
473 <parameter name="disableREST" locked="false">false</parameter>
474 <parameter name="Sandesha2StorageManager" locked="false">inmemory</parameter>
475 <parameter name="servicePath" locked="false">services</parameter>
476 <parameter name="ServicesDirectory">axis2services</parameter>
477 <parameter name="httpContentNegotiation">true</parameter>
478 <parameter name="ModulesDirectory">axis2modules</parameter>
479 <parameter name="userAgent" locked="true">WSO2 EI 6.4.0</parameter>
480 <parameter name="server" locked="true">WSO2 EI 6.4.0</parameter>
481 <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</parameter>
482 <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
483 <parameter name="manageTransportSession">true</parameter>
484 <parameter name="ConfigContextTimeoutInterval" locked="false">30000</parameter>
485 <parameter name="SynapseConfig.ConfigurationFile" locked="false">repository/deployment/server/synapse-configs</parameter>
486 <parameter name="SynapseConfig.HomeDirectory" locked="false">.</parameter>
487 <parameter name="SynapseConfig.ResolveRoot" locked="false">.</parameter>
488 <parameter name="SynapseConfig.ServerName" locked="false">localhost</parameter>
489 <parameter name="enableBasicAuth" locked="false">true</parameter>
490 <listener class="org.wso2.carbon.core.deployment.DeploymentInterceptor"/>
491 <messageReceivers>
492 <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
493 class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
494 <messageReceiver mep="http://www.w3.org/ns/wsdl/robust-in-only"
495 class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
496 <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
497 class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
498 </messageReceivers>
499 <messageFormatters>
500 <messageFormatter contentType="application/x-www-form-urlencoded"
501 class="org.apache.synapse.commons.formatters.XFormURLEncodedFormatter"/>
502 <messageFormatter contentType="multipart/form-data"
503 class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
504 <messageFormatter contentType="application/xml"
505 class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
506 <messageFormatter contentType="text/xml"
507 class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
508 <messageFormatter contentType="application/soap+xml"
509 class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
510 <messageFormatter contentType="text/plain"
511 class="org.apache.axis2.format.PlainTextFormatter"/>
512 <messageFormatter contentType="application/octet-stream"
513 class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
514 <messageFormatter contentType="application/json"
515 class="org.wso2.carbon.integrator.core.json.JsonStreamFormatter"/>
516 </messageFormatters>
517 <messageBuilders>
518 <messageBuilder contentType="application/xml"
519 class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
520 <messageBuilder contentType="application/x-www-form-urlencoded"
521 class="org.apache.synapse.commons.builders.XFormURLEncodedBuilder"/>
522 <messageBuilder contentType="multipart/form-data"
523 class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
524 <messageBuilder contentType="text/plain"
525 class="org.apache.axis2.format.PlainTextBuilder"/>
526 <messageBuilder contentType="application/octet-stream"
527 class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
528 <messageBuilder contentType="application/json"
529 class="org.wso2.carbon.integrator.core.json.JsonStreamBuilder"/>
530 </messageBuilders>
531 <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
532 <parameter name="port" locked="false">8280</parameter>
533 <parameter name="non-blocking" locked="false">true</parameter>
534EOF
535
536echo ' <parameter name="WSDLEPRPrefix" locked="false">http://'$NODE_IP':30280</parameter>' >> $k8s_obj_file
537
538cat >> ${k8s_obj_file} << "EOF"
539 <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
540 </transportReceiver>
541 <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
542 <parameter name="port" locked="false">8243</parameter>
543 <parameter name="non-blocking" locked="false">true</parameter>
544 <parameter name="HttpsProtocols">TLSv1,TLSv1.1,TLSv1.2</parameter>
545EOF
546
547echo ' <parameter name="WSDLEPRPrefix" locked="false">https://'$NODE_IP':30243</parameter>' >> $k8s_obj_file
548
549cat >> ${k8s_obj_file} << "EOF"
550 <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
551 <parameter name="keystore" locked="false">
552 <KeyStore>
553 <Location>repository/resources/security/wso2carbon.jks</Location>
554 <Type>JKS</Type>
555 <Password>wso2carbon</Password>
556 <KeyPassword>wso2carbon</KeyPassword>
557 </KeyStore>
558 </parameter>
559 <parameter name="truststore" locked="false">
560 <TrustStore>
561 <Location>repository/resources/security/client-truststore.jks</Location>
562 <Type>JKS</Type>
563 <Password>wso2carbon</Password>
564 </TrustStore>
565 </parameter>
566 </transportReceiver>
567 <transportReceiver name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/>
568 <transportSender name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpSender">
569 <parameter name="non-blocking" locked="false">true</parameter>
570 </transportSender>
571 <transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
572 <parameter name="non-blocking" locked="false">true</parameter>
573 <parameter name="keystore" locked="false">
574 <KeyStore>
575 <Location>repository/resources/security/wso2carbon.jks</Location>
576 <Type>JKS</Type>
577 <Password>wso2carbon</Password>
578 <KeyPassword>wso2carbon</KeyPassword>
579 </KeyStore>
580 </parameter>
581 <parameter name="truststore" locked="false">
582 <TrustStore>
583 <Location>repository/resources/security/client-truststore.jks</Location>
584 <Type>JKS</Type>
585 <Password>wso2carbon</Password>
586 </TrustStore>
587 </parameter>
588 </transportSender>
589 <transportSender name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportSender"/>
590 <module ref="addressing"/>
591 <clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
592 enable="false">
593 <parameter name="clusteringPattern">nonWorkerManager</parameter>
594 <parameter name="AvoidInitiation">true</parameter>
595 <parameter name="membershipScheme">kubernetes</parameter>
596 <parameter name="domain">wso2.ei.domain</parameter>
597 <parameter name="mcastPort">45564</parameter>
598 <parameter name="mcastTTL">100</parameter>
599 <parameter name="mcastTimeout">60</parameter>
600 <parameter name="localMemberHost">integrator</parameter>
601 <parameter name="localMemberPort">4100</parameter>
602 <parameter name="properties">
603 <property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
604 <property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
605 </parameter>
606 <parameter name="membershipSchemeClassName">org.wso2.carbon.membership.scheme.kubernetes.KubernetesMembershipScheme</parameter>
607 <parameter name="KUBERNETES_NAMESPACE">wso2</parameter>
608 <parameter name="KUBERNETES_SERVICES">wso2ei-integrator-service</parameter>
609 <parameter name="KUBERNETES_MASTER_SKIP_SSL_VERIFICATION">true</parameter>
610 <parameter name="USE_DNS">false</parameter>
611 <groupManagement enable="false">
612 <applicationDomain name="wso2.esb.domain"
613 description="EI group"
614 agent="org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent"
615 subDomain="worker"
616 port="2222"/>
617 </groupManagement>
618 </clustering>
619 <phaseOrder type="InFlow">
620 <phase name="MsgInObservation">
621 <handler name="TraceMessageBuilderDispatchHandler"
622 class="org.apache.synapse.transport.passthru.util.TraceMessageBuilderDispatchHandler"/>
623 </phase>
624 <phase name="Validation"/>
625 <phase name="Transport">
626 <handler name="IntegratorStatefulHandler" class="org.wso2.carbon.integrator.core.handler.IntegratorStatefulHandler">
627 <order phase="Transport"/>
628 <handler name="JSONMessageHandler"
629 class="org.apache.axis2.json.gson.JSONMessageHandler" />
630 </handler>
631 <handler name="CarbonContextConfigurator"
632 class="org.wso2.carbon.mediation.initializer.handler.CarbonContextConfigurator"/>
633 <handler name="RelaySecuirtyMessageBuilderDispatchandler"
634 class="org.apache.synapse.transport.passthru.util.RelaySecuirtyMessageBuilderDispatchandler"/>
635 <handler name="SOAPActionBasedDispatcher"
636 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
637 <order phase="Transport"/>
638 </handler>
639 </phase>
640 <phase name="Addressing">
641 <handler name="AddressingBasedDispatcher"
642 class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
643 <order phase="Addressing"/>
644 </handler>
645 </phase>
646 <phase name="Security"/>
647 <phase name="PreDispatch">
648 </phase>
649 <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
650 <handler name="IntegratorStatefulHandler" class="org.wso2.carbon.integrator.core.handler.IntegratorStatefulHandler"/>
651 <handler name="JSONMessageHandler" class="org.apache.axis2.json.gson.JSONMessageHandler" />
652 <handler name="SOAPActionBasedDispatcher"
653 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
654 <handler name="RequestURIOperationDispatcher"
655 class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
656 <handler name="SOAPMessageBodyBasedDispatcher"
657 class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
658 <handler name="HTTPLocationBasedDispatcher"
659 class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
660 <handler name="MultitenantDispatcher"
661 class="org.wso2.carbon.tenant.dispatcher.MultitenantDispatcher"/>
662 <handler name="SynapseDispatcher"
663 class="org.apache.synapse.core.axis2.SynapseDispatcher"/>
664 <handler name="SynapseMustUnderstandHandler"
665 class="org.apache.synapse.core.axis2.SynapseMustUnderstandHandler"/>
666 </phase>
667 <phase name="RMPhase"/>
668 <phase name="OpPhase"/>
669 <phase name="AuthPhase"/>
670 <phase name="MUPhase"/>
671 <phase name="OperationInPhase"/>
672 </phaseOrder>
673 <phaseOrder type="OutFlow">
674 <phase name="UEPPhase" />
675 <phase name="RMPhase"/>
676 <phase name="MUPhase"/>
677 <phase name="OpPhase"/>
678 <phase name="OperationOutPhase"/>
679 <phase name="PolicyDetermination"/>
680 <phase name="PTSecurityOutPhase">
681 <handler name="RelaySecuirtyMessageBuilderDispatchandler"
682 class="org.apache.synapse.transport.passthru.util.RelaySecuirtyMessageBuilderDispatchandler"/>
683 </phase>
684 <phase name="MessageOut"/>
685 <phase name="Security"/>
686 <phase name="MsgOutObservation"/>
687 </phaseOrder>
688 <phaseOrder type="InFaultFlow">
689 <phase name="MsgInObservation"/>
690 <phase name="Validation"/>
691 <phase name="Transport">
692 <handler name="IntegratorStatefulHandler" class="org.wso2.carbon.integrator.core.handler.IntegratorStatefulHandler">
693 <order phase="Transport"/>
694 <handler name="JSONMessageHandler"
695 class="org.apache.axis2.json.gson.JSONMessageHandler" />
696 </handler>
697 <handler name="SOAPActionBasedDispatcher"
698 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
699 <order phase="Transport"/>
700 </handler>
701 </phase>
702 <phase name="Addressing">
703 <handler name="AddressingBasedDispatcher"
704 class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
705 <order phase="Addressing"/>
706 </handler>
707 </phase>
708 <phase name="Security"/>
709 <phase name="PreDispatch"/>
710 <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
711 <handler name="IntegratorStatefulHandler" class="org.wso2.carbon.integrator.core.handler.IntegratorStatefulHandler"/>
712 <handler name="SOAPActionBasedDispatcher"
713 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
714 <handler name="RequestURIOperationDispatcher"
715 class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
716 <handler name="SOAPMessageBodyBasedDispatcher"
717 class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
718 <handler name="HTTPLocationBasedDispatcher"
719 class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
720 </phase>
721 <phase name="RMPhase"/>
722 <phase name="OpPhase"/>
723 <phase name="MUPhase"/>
724 <phase name="OperationInFaultPhase"/>
725 </phaseOrder>
726 <phaseOrder type="OutFaultFlow">
727 <phase name="UEPPhase" />
728 <phase name="RMPhase"/>
729 <phase name="MUPhase"/>
730 <phase name="OperationOutFaultPhase"/>
731 <phase name="PolicyDetermination"/>
732 <phase name="MessageOut"/>
733 <phase name="Security"/>
734 <phase name="Transport"/>
735 <phase name="MsgOutObservation"/>
736 </phaseOrder>
737 </axisconfig>
738kind: ConfigMap
739metadata:
740 name: integrator-conf-axis2
741 namespace: $namespace
742---
743
744apiVersion: v1
745data:
746 master-datasources.xml: |
747 <datasources-configuration>
748 <providers>
749 <provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
750 </providers>
751 <datasources>
752 <datasource>
753 <name>WSO2_CARBON_DB</name>
754 <description>The datasource used for local registry of wso2 ei-integrator</description>
755 <jndiConfig>
756 <name>jdbc/WSO2CarbonDB</name>
757 </jndiConfig>
758 <definition type="RDBMS">
759 <configuration>
760 <url>jdbc:h2:./repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000</url>
761 <username>wso2carbon</username>
762 <password>wso2carbon</password>
763 <driverClassName>org.h2.Driver</driverClassName>
764 <maxActive>50</maxActive>
765 <maxWait>60000</maxWait>
766 <testOnBorrow>true</testOnBorrow>
767 <validationQuery>SELECT 1</validationQuery>
768 <validationInterval>30000</validationInterval>
769 <defaultAutoCommit>false</defaultAutoCommit>
770 </configuration>
771 </definition>
772 </datasource>
773 <datasource>
774 <name>WSO2_CONFIG_DB</name>
775 <description>The datasource used for config registry</description>
776 <jndiConfig>
777 <name>jdbc/WSO2ConfigDB</name>
778 </jndiConfig>
779 <definition type="RDBMS">
780 <configuration>
781 <url>jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2EI_INTEGRATOR_CONFIG_GOV_DB?autoReconnect=true&useSSL=false</url>
782 <username>wso2carbon</username>
783 <password>wso2carbon</password>
784 <driverClassName>com.mysql.jdbc.Driver</driverClassName>
785 <maxActive>80</maxActive>
786 <maxWait>60000</maxWait>
787 <testOnBorrow>true</testOnBorrow>
788 <validationQuery>SELECT 1</validationQuery>
789 <validationInterval>30000</validationInterval>
790 </configuration>
791 </definition>
792 </datasource>
793 <datasource>
794 <name>WSO2_USER_DB</name>
795 <description>The datasource is used for user mangement and userstore</description>
796 <jndiConfig>
797 <name>jdbc/WSO2UserDB</name>
798 </jndiConfig>
799 <definition type="RDBMS">
800 <configuration>
801 <url>jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2EI_USER_DB?autoReconnect=true&useSSL=false</url>
802 <username>wso2carbon</username>
803 <password>wso2carbon</password>
804 <driverClassName>com.mysql.jdbc.Driver</driverClassName>
805 <maxActive>50</maxActive>
806 <maxWait>60000</maxWait>
807 <testOnBorrow>true</testOnBorrow>
808 <validationQuery>SELECT 1</validationQuery>
809 <validationInterval>30000</validationInterval>
810 </configuration>
811 </definition>
812 </datasource>
813 </datasources>
814 </datasources-configuration>
815kind: ConfigMap
816metadata:
817 name: integrator-conf-datasources
818 namespace: $namespace
819---
820
821apiVersion: v1
822data:
823 MessageFlowConfigurationPublisher.xml: |
824 <?xml version="1.0" encoding="UTF-8"?>
825 <eventPublisher name="MessageFlowConfigurationPublisher" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
826 <from streamName="org.wso2.esb.analytics.stream.ConfigEntry" version="1.0.0"/>
827 <mapping customMapping="disable" type="wso2event"/>
828 <to eventAdapterType="wso2event">
829 <property name="username">admin</property>
830 <property name="protocol">thrift</property>
831 <property name="publishingMode">blocking</property>
832 <property name="publishTimeout">0</property>
833 <property name="receiverURL">tcp://wso2ei-with-analytics-worker-service:7612</property>
834 <property encrypted="false" name="password">admin</property>
835 </to>
836 </eventPublisher>
837 MessageFlowStatisticsPublisher.xml: |
838 <?xml version="1.0" encoding="UTF-8"?>
839 <eventPublisher name="MessageFlowStatisticsPublisher" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
840 <from streamName="org.wso2.esb.analytics.stream.FlowEntry" version="1.0.0"/>
841 <mapping customMapping="disable" type="wso2event"/>
842 <to eventAdapterType="wso2event">
843 <property name="username">admin</property>
844 <property name="protocol">thrift</property>
845 <property name="publishingMode">non-blocking</property>
846 <property name="publishTimeout">0</property>
847 <property name="receiverURL">tcp://wso2ei-with-analytics-worker-service:7612</property>
848 <property encrypted="false" name="password">admin</property>
849 </to>
850 </eventPublisher>
851kind: ConfigMap
852metadata:
853 name: integrator-conf-event-publishers
854 namespace: $namespace
855---
856
857apiVersion: v1
858data:
859 deployment.yaml: |
860 wso2.carbon:
861 # value to uniquely identify a server
862 id: ${NODE_IP}
863 # server name
864 name: WSO2 EI integrator Analytics
865 # dashboard type
866 # ports used by this server
867 ports:
868 # port offset
869 offset: 0
870 type: wso2-ei-analytics
871 wso2.transport.http:
872 transportProperties:
873 -
874 name: "server.bootstrap.socket.timeout"
875 value: 60
876 -
877 name: "client.bootstrap.socket.timeout"
878 value: 60
879 -
880 name: "latency.metrics.enabled"
881 value: true
882 listenerConfigurations:
883 -
884 id: "default"
885 host: "0.0.0.0"
886 port: 9091
887 -
888 id: "msf4j-https"
889 host: "0.0.0.0"
890 port: 9444
891 scheme: https
892 keyStoreFile: "${carbon.home}/resources/security/wso2carbon.jks"
893 keyStorePassword: wso2carbon
894 certPass: wso2carbon
895 senderConfigurations:
896 -
897 id: "http-sender"
898 siddhi.stores.query.api:
899 transportProperties:
900 -
901 name: "server.bootstrap.socket.timeout"
902 value: 60
903 -
904 name: "client.bootstrap.socket.timeout"
905 value: 60
906 -
907 name: "latency.metrics.enabled"
908 value: true
909 listenerConfigurations:
910 -
911 id: "default"
912 host: "0.0.0.0"
913 port: 7070
914 -
915 id: "msf4j-https"
916 host: "0.0.0.0"
917 port: 7443
918 scheme: https
919 keyStoreFile: "${carbon.home}/resources/security/wso2carbon.jks"
920 keyStorePassword: wso2carbon
921 certPass: wso2carbon
922 # Configuration used for the databridge communication
923 databridge.config:
924 # No of worker threads to consume events
925 # THIS IS A MANDATORY FIELD
926 workerThreads: 10
927 # Maximum amount of messages that can be queued internally in MB
928 # THIS IS A MANDATORY FIELD
929 maxEventBufferCapacity: 10000000
930 # Queue size; the maximum number of events that can be stored in the queue
931 # THIS IS A MANDATORY FIELD
932 eventBufferSize: 2000
933 # Keystore file path
934 # THIS IS A MANDATORY FIELD
935 keyStoreLocation : ${sys:carbon.home}/resources/security/wso2carbon.jks
936 # Keystore password
937 # THIS IS A MANDATORY FIELD
938 keyStorePassword : wso2carbon
939 # Session Timeout value in mins
940 # THIS IS A MANDATORY FIELD
941 clientTimeoutMin: 30
942 # Data receiver configurations
943 # THIS IS A MANDATORY FIELD
944 dataReceivers:
945 -
946 # Data receiver configuration
947 dataReceiver:
948 # Data receiver type
949 # THIS IS A MANDATORY FIELD
950 type: Thrift
951 # Data receiver properties
952 properties:
953 tcpPort: '7612'
954 sslPort: '7712'
955 -
956 # Data receiver configuration
957 dataReceiver:
958 # Data receiver type
959 # THIS IS A MANDATORY FIELD
960 type: Binary
961 # Data receiver properties
962 properties:
963 tcpPort: '9611'
964 sslPort: '9711'
965 tcpReceiverThreadPoolSize: '100'
966 sslReceiverThreadPoolSize: '100'
967 hostName: 0.0.0.0
968 # Configuration of the Data Agents - to publish events through databridge
969 data.agent.config:
970 # Data agent configurations
971 # THIS IS A MANDATORY FIELD
972 agents:
973 -
974 # Data agent configuration
975 agentConfiguration:
976 # Data agent name
977 # THIS IS A MANDATORY FIELD
978 name: Thrift
979 # Data endpoint class
980 # THIS IS A MANDATORY FIELD
981 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint
982 # Data publisher strategy
983 publishingStrategy: async
984 # Trust store path
985 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
986 # Trust store password
987 trustStorePassword: 'wso2carbon'
988 # Queue Size
989 queueSize: 32768
990 # Batch Size
991 batchSize: 200
992 # Core pool size
993 corePoolSize: 1
994 # Socket timeout in milliseconds
995 socketTimeoutMS: 30000
996 # Maximum pool size
997 maxPoolSize: 1
998 # Keep alive time in pool
999 keepAliveTimeInPool: 20
1000 # Reconnection interval
1001 reconnectionInterval: 30
1002 # Max transport pool size
1003 maxTransportPoolSize: 250
1004 # Max idle connections
1005 maxIdleConnections: 250
1006 # Eviction time interval
1007 evictionTimePeriod: 5500
1008 # Min idle time in pool
1009 minIdleTimeInPool: 5000
1010 # Secure max transport pool size
1011 secureMaxTransportPoolSize: 250
1012 # Secure max idle connections
1013 secureMaxIdleConnections: 250
1014 # secure eviction time period
1015 secureEvictionTimePeriod: 5500
1016 # Secure min idle time in pool
1017 secureMinIdleTimeInPool: 5000
1018 # SSL enabled protocols
1019 sslEnabledProtocols: TLSv1.1,TLSv1.2
1020 # Ciphers
1021 ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
1022 -
1023 # Data agent configuration
1024 agentConfiguration:
1025 # Data agent name
1026 # THIS IS A MANDATORY FIELD
1027 name: Binary
1028 # Data endpoint class
1029 # THIS IS A MANDATORY FIELD
1030 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint
1031 # Data publisher strategy
1032 publishingStrategy: async
1033 # Trust store path
1034 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
1035 # Trust store password
1036 trustStorePassword: 'wso2carbon'
1037 # Queue Size
1038 queueSize: 32768
1039 # Batch Size
1040 batchSize: 200
1041 # Core pool size
1042 corePoolSize: 1
1043 # Socket timeout in milliseconds
1044 socketTimeoutMS: 30000
1045 # Maximum pool size
1046 maxPoolSize: 1
1047 # Keep alive time in pool
1048 keepAliveTimeInPool: 20
1049 # Reconnection interval
1050 reconnectionInterval: 30
1051 # Max transport pool size
1052 maxTransportPoolSize: 250
1053 # Max idle connections
1054 maxIdleConnections: 250
1055 # Eviction time interval
1056 evictionTimePeriod: 5500
1057 # Min idle time in pool
1058 minIdleTimeInPool: 5000
1059 # Secure max transport pool size
1060 secureMaxTransportPoolSize: 250
1061 # Secure max idle connections
1062 secureMaxIdleConnections: 250
1063 # secure eviction time period
1064 secureEvictionTimePeriod: 5500
1065 # Secure min idle time in pool
1066 secureMinIdleTimeInPool: 5000
1067 # SSL enabled protocols
1068 sslEnabledProtocols: TLSv1.1,TLSv1.2
1069 # Ciphers
1070 ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
1071 # This is the main configuration for metrics
1072 wso2.metrics:
1073 # Enable Metrics
1074 enabled: false
1075 reporting:
1076 console:
1077 - # The name for the Console Reporter
1078 name: Console
1079 # Enable Console Reporter
1080 enabled: false
1081 # Polling Period in seconds.
1082 # This is the period for polling metrics from the metric registry and printing in the console
1083 pollingPeriod: 5
1084 wso2.metrics.jdbc:
1085 # Data Source Configurations for JDBC Reporters
1086 dataSource:
1087 # Default Data Source Configuration
1088 - &JDBC01
1089 # JNDI name of the data source to be used by the JDBC Reporter.
1090 # This data source should be defined in a *-datasources.xml file in conf/datasources directory.
1091 dataSourceName: java:comp/env/jdbc/WSO2MetricsDB
1092 # Schedule regular deletion of metrics data older than a set number of days.
1093 # It is recommended that you enable this job to ensure your metrics tables do not get extremely large.
1094 # Deleting data older than seven days should be sufficient.
1095 scheduledCleanup:
1096 # Enable scheduled cleanup to delete Metrics data in the database.
1097 enabled: true
1098 # The scheduled job will cleanup all data older than the specified days
1099 daysToKeep: 7
1100 # This is the period for each cleanup operation in seconds.
1101 scheduledCleanupPeriod: 86400
1102 # The JDBC Reporter is in the Metrics JDBC Core feature
1103 reporting:
1104 # The JDBC Reporter configurations will be ignored if the Metrics JDBC Core feature is not available in runtime
1105 jdbc:
1106 - # The name for the JDBC Reporter
1107 name: JDBC
1108 # Enable JDBC Reporter
1109 enabled: true
1110 # Source of Metrics, which will be used to identify each metric in database -->
1111 # Commented to use the hostname by default
1112 # source: Carbon
1113 # Alias referring to the Data Source configuration
1114 dataSource: *JDBC01
1115 # Polling Period in seconds.
1116 # This is the period for polling metrics from the metric registry and updating the database with the values
1117 pollingPeriod: 60
1118 # Deployment configuration parameters
1119 wso2.artifact.deployment:
1120 # Scheduler update interval
1121 updateInterval: 5
1122 # Periodic Persistence Configuration
1123 state.persistence:
1124 enabled: true
1125 intervalInMin: 1
1126 revisionsToKeep: 3
1127 persistenceStore: org.wso2.carbon.stream.processor.core.persistence.DBPersistenceStore
1128 config:
1129 datasource: WSO2_PERSISTENCE_DB
1130 table: PERSISTENCE_TABLE
1131 # Secure Vault Configuration
1132 wso2.securevault:
1133 secretRepository:
1134 type: org.wso2.carbon.secvault.repository.DefaultSecretRepository
1135 parameters:
1136 privateKeyAlias: wso2carbon
1137 keystoreLocation: ${sys:carbon.home}/resources/security/securevault.jks
1138 secretPropertiesFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/secrets.properties
1139 masterKeyReader:
1140 type: org.wso2.carbon.secvault.reader.DefaultMasterKeyReader
1141 parameters:
1142 masterKeyReaderFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/master-keys.yaml
1143 # Datasource Configurations
1144 wso2.datasources:
1145 dataSources:
1146 -
1147 definition:
1148 configuration:
1149 connectionTestQuery: "SELECT 1"
1150 driverClassName: com.mysql.jdbc.Driver
1151 idleTimeout: 60000
1152 isAutoCommit: false
1153 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2_CARBON_DB?useSSL=false'
1154 maxPoolSize: 10
1155 password: wso2carbon
1156 username: wso2carbon
1157 validationTimeout: 30000
1158 type: RDBMS
1159 description: "The datasource used for registry and user manager"
1160 name: WSO2_CARBON_DB
1161 # carbon metrics data source
1162 - name: WSO2_METRICS_DB
1163 description: The datasource used for dashboard feature
1164 jndiConfig:
1165 name: jdbc/WSO2MetricsDB
1166 definition:
1167 type: RDBMS
1168 configuration:
1169 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2_METRICS_DB?useSSL=false'
1170 username: wso2carbon
1171 password: wso2carbon
1172 driverClassName: com.mysql.jdbc.Driver
1173 maxPoolSize: 30
1174 idleTimeout: 60000
1175 connectionTestQuery: SELECT 1
1176 validationTimeout: 30000
1177 isAutoCommit: false
1178 - name: WSO2_CLUSTER_DB
1179 description: The MySQL datasource used for Cluster Coordination
1180 jndiConfig:
1181 name: jdbc/WSO2ClusterDB
1182 definition:
1183 type: RDBMS
1184 configuration:
1185 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2_CLUSTER_DB?useSSL=false'
1186 username: wso2carbon
1187 password: wso2carbon
1188 driverClassName: com.mysql.jdbc.Driver
1189 maxPoolSize: 50
1190 idleTimeout: 60000
1191 connectionTestQuery: SELECT 1
1192 validationTimeout: 30000
1193 isAutoCommit: false
1194 - name: WSO2_PERSISTENCE_DB
1195 description: The MySQL datasource used for system persistence
1196 jndiConfig:
1197 name: jdbc/WSO2PersistenceDB
1198 definition:
1199 type: RDBMS
1200 configuration:
1201 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/WSO2_PERSISTENCE_DB?useSSL=false'
1202 username: wso2carbon
1203 password: wso2carbon
1204 driverClassName: com.mysql.jdbc.Driver
1205 maxPoolSize: 50
1206 idleTimeout: 60000
1207 connectionTestQuery: SELECT 1
1208 validationTimeout: 30000
1209 isAutoCommit: false
1210 - name: WSO2_PERMISSIONS_DB
1211 description: The datasource used for permission feature
1212 jndiConfig:
1213 name: jdbc/PERMISSION_DB
1214 useJndiReference: true
1215 definition:
1216 type: RDBMS
1217 configuration:
1218 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/PERMISSION_DB;IFEXISTS=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1219 username: wso2carbon
1220 password: wso2carbon
1221 driverClassName: org.h2.Driver
1222 maxPoolSize: 10
1223 idleTimeout: 60000
1224 connectionTestQuery: SELECT 1
1225 validationTimeout: 30000
1226 isAutoCommit: false
1227 - name: HTTP_ANALYTICS_DB
1228 description: The datasource used for HTTP Analytics dashboard
1229 jndiConfig:
1230 name: jdbc/HTTP_ANALYTICS_DB
1231 useJndiReference: false
1232 definition:
1233 type: RDBMS
1234 configuration:
1235 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/HTTP_ANALYTICS_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE;AUTO_SERVER=TRUE'
1236 username: wso2carbon
1237 password: wso2carbon
1238 driverClassName: org.h2.Driver
1239 maxPoolSize: 30
1240 idleTimeout: 60000
1241 connectionTestQuery: SELECT 1
1242 validationTimeout: 30000
1243 isAutoCommit: false
1244 # - name: Twitter_Analytics
1245 # description: The datasource used for Twitter Analytics dashboard
1246 # jndiConfig:
1247 # name: jdbc/Twitter_Analytics
1248 # useJndiReference: false
1249 # definition:
1250 # type: RDBMS
1251 # configuration:
1252 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/Twitter_Analytics;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE;AUTO_SERVER=TRUE'
1253 # username: wso2carbon
1254 # password: wso2carbon
1255 # driverClassName: org.h2.Driver
1256 # maxPoolSize: 30
1257 # idleTimeout: 60000
1258 # connectionTestQuery: SELECT 1
1259 # validationTimeout: 30000
1260 # isAutoCommit: false
1261 - name: Message_Tracing_DB
1262 description: "The datasource used for message tracer to store span information."
1263 jndiConfig:
1264 name: jdbc/Message_Tracing_DB
1265 definition:
1266 type: RDBMS
1267 configuration:
1268 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/dashboard/database/MESSAGE_TRACING_DB;AUTO_SERVER=TRUE'
1269 username: wso2carbon
1270 password: wso2carbon
1271 driverClassName: org.h2.Driver
1272 maxPoolSize: 30
1273 idleTimeout: 60000
1274 connectionTestQuery: SELECT 1
1275 validationTimeout: 30000
1276 isAutoCommit: false
1277 - name: EI_ANALYTICS
1278 description: "The datasource used for EI Analytics dashboard feature"
1279 jndiConfig:
1280 name: jdbc/EI_ANALYTICS
1281 definition:
1282 type: RDBMS
1283 configuration:
1284 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/EI_ANALYTICS?useSSL=false'
1285 username: wso2carbon
1286 password: wso2carbon
1287 driverClassName: com.mysql.jdbc.Driver
1288 maxPoolSize: 50
1289 idleTimeout: 60000
1290 validationTimeout: 30000
1291 isAutoCommit: false
1292 # - name: IS_ANALYTICS_DB
1293 # description: "The data source used for WSO2 IS Analytics statistics"
1294 # jndiConfig:
1295 # name: jdbc/IS_ANALYTICS_DB
1296 # definition:
1297 # type: RDBMS
1298 # configuration:
1299 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/IS_ANALYTICS_DB;AUTO_SERVER=TRUE'
1300 # username: wso2carbon
1301 # password: wso2carbon
1302 # driverClassName: org.h2.Driver
1303 # maxPoolSize: 50
1304 # idleTimeout: 60000
1305 # validationTimeout: 30000
1306 # isAutoCommit: false
1307 # - name: GEO_LOCATION_DATA
1308 # description: "The data source used for geo location database"
1309 # jndiConfig:
1310 # name: jdbc/GEO_LOCATION_DATA
1311 # definition:
1312 # type: RDBMS
1313 # configuration:
1314 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/GEO_LOCATION_DATA;AUTO_SERVER=TRUE'
1315 # username: wso2carbon
1316 # password: wso2carbon
1317 # driverClassName: org.h2.Driver
1318 # maxPoolSize: 50
1319 # idleTimeout: 60000
1320 # validationTimeout: 30000
1321 # isAutoCommit: false
1322 # - name: APIM_ANALYTICS_DB
1323 # description: "The datasource used for APIM statistics aggregated data."
1324 # jndiConfig:
1325 # name: jdbc/APIM_ANALYTICS_DB
1326 # definition:
1327 # type: RDBMS
1328 # configuration:
1329 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/WSO2AM_STATS_DB;AUTO_SERVER=TRUE'
1330 # username: wso2carbon
1331 # password: wso2carbon
1332 # driverClassName: org.h2.Driver
1333 # maxPoolSize: 50
1334 # idleTimeout: 60000
1335 # connectionTestQuery: SELECT 1
1336 # validationTimeout: 30000
1337 # isAutoCommit: false
1338 # - name: WSO2AM_MGW_ANALYTICS_DB
1339 # description: "The datasource used for APIM MGW analytics data."
1340 # jndiConfig:
1341 # name: jdbc/WSO2AM_MGW_ANALYTICS_DB
1342 # definition:
1343 # type: RDBMS
1344 # configuration:
1345 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/WSO2AM_MGW_ANALYTICS_DB;AUTO_SERVER=TRUE'
1346 # username: wso2carbon
1347 # password: wso2carbon
1348 # driverClassName: org.h2.Driver
1349 # maxPoolSize: 50
1350 # idleTimeout: 60000
1351 # connectionTestQuery: SELECT 1
1352 # validationTimeout: 30000
1353 # isAutoCommit: false
1354 siddhi:
1355 extensions:
1356 -
1357 extension:
1358 name: 'findCountryFromIP'
1359 namespace: 'geo'
1360 properties:
1361 geoLocationResolverClass: org.wso2.extension.siddhi.execution.geo.internal.impl.DefaultDBBasedGeoLocationResolver
1362 isCacheEnabled: true
1363 cacheSize: 10000
1364 isPersistInDatabase: true
1365 datasource: GEO_LOCATION_DATA
1366 -
1367 extension:
1368 name: 'findCityFromIP'
1369 namespace: 'geo'
1370 properties:
1371 geoLocationResolverClass: org.wso2.extension.siddhi.execution.geo.internal.impl.DefaultDBBasedGeoLocationResolver
1372 isCacheEnabled: true
1373 cacheSize: 10000
1374 isPersistInDatabase: true
1375 datasource: GEO_LOCATION_DATA
1376 # Cluster Configuration
1377 cluster.config:
1378 enabled: false
1379 groupId: ei.analytics
1380 coordinationStrategyClass: org.wso2.carbon.cluster.coordinator.rdbms.RDBMSCoordinationStrategy
1381 strategyConfig:
1382 datasource: WSO2_CLUSTER_DB
1383 heartbeatInterval: 1000
1384 heartbeatMaxRetry: 2
1385 eventPollingInterval: 1000
1386 deployment.config:
1387 type: ha
1388 eventByteBufferQueueCapacity: 20000
1389 byteBufferExtractorThreadPoolSize: 5
1390 eventSyncServer:
1391 host: ${NODE_IP}
1392 port: 9894
1393 bossThreads: 10
1394 workerThreads: 10
1395 eventSyncClientPool:
1396 maxActive: 10
1397 maxTotal: 10
1398 maxIdle: 10
1399 maxWait: 60000
1400 minEvictableIdleTimeMillis: 120000
1401kind: ConfigMap
1402metadata:
1403 name: ei-analytics-conf-worker
1404 namespace: $namespace
1405---
1406apiVersion: v1
1407data:
1408 deployment.yaml: |
1409 wso2.carbon:
1410 # value to uniquely identify a server
1411 id: wso2-sp
1412 # server name
1413 name: WSO2 Stream Processor
1414 # ports used by this server
1415 ports:
1416 # port offset
1417 offset: 2
1418 # Configuration used for the databridge communication
1419 databridge.config:
1420 # No of worker threads to consume events
1421 # THIS IS A MANDATORY FIELD
1422 workerThreads: 10
1423 # Maximum amount of messages that can be queued internally in MB
1424 # THIS IS A MANDATORY FIELD
1425 maxEventBufferCapacity: 10000000
1426 # Queue size; the maximum number of events that can be stored in the queue
1427 # THIS IS A MANDATORY FIELD
1428 eventBufferSize: 2000
1429 # Keystore file path
1430 # THIS IS A MANDATORY FIELD
1431 keyStoreLocation : ${sys:carbon.home}/resources/security/wso2carbon.jks
1432 # Keystore password
1433 # THIS IS A MANDATORY FIELD
1434 keyStorePassword : wso2carbon
1435 # Session Timeout value in mins
1436 # THIS IS A MANDATORY FIELD
1437 clientTimeoutMin: 30
1438 # Data receiver configurations
1439 # THIS IS A MANDATORY FIELD
1440 dataReceivers:
1441 -
1442 # Data receiver configuration
1443 dataReceiver:
1444 # Data receiver type
1445 # THIS IS A MANDATORY FIELD
1446 type: Thrift
1447 # Data receiver properties
1448 properties:
1449 tcpPort: '7611'
1450 sslPort: '7711'
1451 -
1452 # Data receiver configuration
1453 dataReceiver:
1454 # Data receiver type
1455 # THIS IS A MANDATORY FIELD
1456 type: Binary
1457 # Data receiver properties
1458 properties:
1459 tcpPort: '9611'
1460 sslPort: '9711'
1461 tcpReceiverThreadPoolSize: '100'
1462 sslReceiverThreadPoolSize: '100'
1463 hostName: 0.0.0.0
1464 # Configuration of the Data Agents - to publish events through databridge
1465 data.agent.config:
1466 # Data agent configurations
1467 # THIS IS A MANDATORY FIELD
1468 agents:
1469 -
1470 # Data agent configuration
1471 agentConfiguration:
1472 # Data agent name
1473 # THIS IS A MANDATORY FIELD
1474 name: Thrift
1475 # Data endpoint class
1476 # THIS IS A MANDATORY FIELD
1477 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint
1478 # Data publisher strategy
1479 publishingStrategy: async
1480 # Trust store path
1481 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
1482 # Trust store password
1483 trustStorePassword: 'wso2carbon'
1484 # Queue Size
1485 queueSize: 32768
1486 # Batch Size
1487 batchSize: 200
1488 # Core pool size
1489 corePoolSize: 1
1490 # Socket timeout in milliseconds
1491 socketTimeoutMS: 30000
1492 # Maximum pool size
1493 maxPoolSize: 1
1494 # Keep alive time in pool
1495 keepAliveTimeInPool: 20
1496 # Reconnection interval
1497 reconnectionInterval: 30
1498 # Max transport pool size
1499 maxTransportPoolSize: 250
1500 # Max idle connections
1501 maxIdleConnections: 250
1502 # Eviction time interval
1503 evictionTimePeriod: 5500
1504 # Min idle time in pool
1505 minIdleTimeInPool: 5000
1506 # Secure max transport pool size
1507 secureMaxTransportPoolSize: 250
1508 # Secure max idle connections
1509 secureMaxIdleConnections: 250
1510 # secure eviction time period
1511 secureEvictionTimePeriod: 5500
1512 # Secure min idle time in pool
1513 secureMinIdleTimeInPool: 5000
1514 # SSL enabled protocols
1515 sslEnabledProtocols: TLSv1.1,TLSv1.2
1516 # Ciphers
1517 ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
1518 -
1519 # Data agent configuration
1520 agentConfiguration:
1521 # Data agent name
1522 # THIS IS A MANDATORY FIELD
1523 name: Binary
1524 # Data endpoint class
1525 # THIS IS A MANDATORY FIELD
1526 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint
1527 # Data publisher strategy
1528 publishingStrategy: async
1529 # Trust store path
1530 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
1531 # Trust store password
1532 trustStorePassword: 'wso2carbon'
1533 # Queue Size
1534 queueSize: 32768
1535 # Batch Size
1536 batchSize: 200
1537 # Core pool size
1538 corePoolSize: 1
1539 # Socket timeout in milliseconds
1540 socketTimeoutMS: 30000
1541 # Maximum pool size
1542 maxPoolSize: 1
1543 # Keep alive time in pool
1544 keepAliveTimeInPool: 20
1545 # Reconnection interval
1546 reconnectionInterval: 30
1547 # Max transport pool size
1548 maxTransportPoolSize: 250
1549 # Max idle connections
1550 maxIdleConnections: 250
1551 # Eviction time interval
1552 evictionTimePeriod: 5500
1553 # Min idle time in pool
1554 minIdleTimeInPool: 5000
1555 # Secure max transport pool size
1556 secureMaxTransportPoolSize: 250
1557 # Secure max idle connections
1558 secureMaxIdleConnections: 250
1559 # secure eviction time period
1560 secureEvictionTimePeriod: 5500
1561 # Secure min idle time in pool
1562 secureMinIdleTimeInPool: 5000
1563 # SSL enabled protocols
1564 sslEnabledProtocols: TLSv1.1,TLSv1.2
1565 # Ciphers
1566 ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
1567 # Deployment configuration parameters
1568 wso2.artifact.deployment:
1569 # Scheduler update interval
1570 updateInterval: 5
1571 # HA Configuration
1572 state.persistence:
1573 enabled: false
1574 intervalInMin: 1
1575 revisionsToKeep: 2
1576 persistenceStore: org.wso2.carbon.stream.processor.core.persistence.FileSystemPersistenceStore
1577 config:
1578 location: siddhi-app-persistence
1579 # Secure Vault Configuration
1580 wso2.securevault:
1581 secretRepository:
1582 type: org.wso2.carbon.secvault.repository.DefaultSecretRepository
1583 parameters:
1584 privateKeyAlias: wso2carbon
1585 keystoreLocation: ${sys:carbon.home}/resources/security/securevault.jks
1586 secretPropertiesFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/secrets.properties
1587 masterKeyReader:
1588 type: org.wso2.carbon.secvault.reader.DefaultMasterKeyReader
1589 parameters:
1590 masterKeyReaderFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/master-keys.yaml
1591 # Data Sources Configuration
1592 wso2.datasources:
1593 dataSources:
1594 # Dashboard data source
1595 - name: WSO2_DASHBOARD_DB
1596 description: The datasource used for dashboard feature
1597 jndiConfig:
1598 name: jdbc/DASHBOARD_DB
1599 useJndiReference: true
1600 definition:
1601 type: RDBMS
1602 configuration:
1603 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/DASHBOARD_DB;IFEXISTS=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1604 username: wso2carbon
1605 password: wso2carbon
1606 driverClassName: org.h2.Driver
1607 maxPoolSize: 20
1608 idleTimeout: 60000
1609 connectionTestQuery: SELECT 1
1610 validationTimeout: 30000
1611 isAutoCommit: false
1612 - name: BUSINESS_RULES_DB
1613 description: The datasource used for dashboard feature
1614 jndiConfig:
1615 name: jdbc/BUSINESS_RULES_DB
1616 useJndiReference: true
1617 definition:
1618 type: RDBMS
1619 configuration:
1620 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/BUSINESS_RULES_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1621 username: wso2carbon
1622 password: wso2carbon
1623 driverClassName: org.h2.Driver
1624 maxPoolSize: 20
1625 idleTimeout: 60000
1626 connectionTestQuery: SELECT 1
1627 validationTimeout: 30000
1628 isAutoCommit: false
1629 # - name: SAMPLE_DB
1630 # description: Sample datasource used for gadgets generation wizard
1631 # jndiConfig:
1632 # name: jdbc/SAMPLE_DB
1633 # useJndiReference: true
1634 # definition:
1635 # type: RDBMS
1636 # configuration:
1637 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/SAMPLE_DB;IFEXISTS=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1638 # username: wso2carbon
1639 # password: wso2carbon
1640 # driverClassName: org.h2.Driver
1641 # maxPoolSize: 10
1642 # idleTimeout: 60000
1643 # connectionTestQuery: SELECT 1
1644 # validationTimeout: 30000
1645 # isAutoCommit: false
1646 # Dashboard data source
1647 - name: WSO2_STATUS_DASHBOARD_DB
1648 description: The datasource used for dashboard feature
1649 jndiConfig:
1650 name: jdbc/wso2_status_dashboard
1651 useJndiReference: true
1652 definition:
1653 type: RDBMS
1654 configuration:
1655 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/wso2_status_dashboard;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1656 username: wso2carbon
1657 password: wso2carbon
1658 driverClassName: org.h2.Driver
1659 maxPoolSize: 20
1660 idleTimeout: 60000
1661 connectionTestQuery: SELECT 1
1662 validationTimeout: 30000
1663 isAutoCommit: false
1664 # carbon metrics data source
1665 - name: WSO2_METRICS_DB
1666 description: The datasource used for dashboard feature
1667 jndiConfig:
1668 name: jdbc/WSO2MetricsDB
1669 definition:
1670 type: RDBMS
1671 configuration:
1672 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/dashboard/database/metrics;AUTO_SERVER=TRUE'
1673 username: wso2carbon
1674 password: wso2carbon
1675 driverClassName: org.h2.Driver
1676 maxPoolSize: 20
1677 idleTimeout: 60000
1678 connectionTestQuery: SELECT 1
1679 validationTimeout: 30000
1680 isAutoCommit: false
1681 - name: WSO2_PERMISSIONS_DB
1682 description: The datasource used for dashboard feature
1683 jndiConfig:
1684 name: jdbc/PERMISSION_DB
1685 useJndiReference: true
1686 definition:
1687 type: RDBMS
1688 configuration:
1689 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/${sys:wso2.runtime}/database/PERMISSION_DB;IFEXISTS=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE'
1690 username: wso2carbon
1691 password: wso2carbon
1692 driverClassName: org.h2.Driver
1693 maxPoolSize: 10
1694 idleTimeout: 60000
1695 connectionTestQuery: SELECT 1
1696 validationTimeout: 30000
1697 isAutoCommit: false
1698 - name: HTTP_ANALYTICS_DB
1699 description: The datasource used for HTTP Analytics dashboard
1700 jndiConfig:
1701 name: jdbc/HTTP_ANALYTICS_DB
1702 useJndiReference: false
1703 definition:
1704 type: RDBMS
1705 configuration:
1706 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/HTTP_ANALYTICS_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE;AUTO_SERVER=TRUE'
1707 username: wso2carbon
1708 password: wso2carbon
1709 driverClassName: org.h2.Driver
1710 maxPoolSize: 30
1711 idleTimeout: 60000
1712 connectionTestQuery: SELECT 1
1713 validationTimeout: 30000
1714 isAutoCommit: false
1715 # - name: Twitter_Analytics
1716 # description: The datasource used for Twitter Analytics dashboard
1717 # jndiConfig:
1718 # name: jdbc/Twitter_Analytics
1719 # useJndiReference: false
1720 # definition:
1721 # type: RDBMS
1722 # configuration:
1723 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/Twitter_Analytics;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000;MVCC=TRUE;AUTO_SERVER=TRUE'
1724 # username: wso2carbon
1725 # password: wso2carbon
1726 # driverClassName: org.h2.Driver
1727 # maxPoolSize: 30
1728 # idleTimeout: 60000
1729 # connectionTestQuery: SELECT 1
1730 # validationTimeout: 30000
1731 # isAutoCommit: false
1732 - name: Message_Tracing_DB
1733 description: "The datasource used for message tracer to store span information."
1734 jndiConfig:
1735 name: jdbc/Message_Tracing_DB
1736 definition:
1737 type: RDBMS
1738 configuration:
1739 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/dashboard/database/MESSAGE_TRACING_DB;AUTO_SERVER=TRUE'
1740 username: wso2carbon
1741 password: wso2carbon
1742 driverClassName: org.h2.Driver
1743 maxPoolSize: 30
1744 idleTimeout: 60000
1745 connectionTestQuery: SELECT 1
1746 validationTimeout: 30000
1747 isAutoCommit: false
1748 # - name: IS_ANALYTICS_DB
1749 # description: "The data source used for WSO2 IS Analytics statistics"
1750 # jndiConfig:
1751 # name: jdbc/IS_ANALYTICS_DB
1752 # definition:
1753 # type: RDBMS
1754 # configuration:
1755 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/IS_ANALYTICS_DB;AUTO_SERVER=TRUE'
1756 # username: wso2carbon
1757 # password: wso2carbon
1758 # driverClassName: org.h2.Driver
1759 # maxPoolSize: 50
1760 # idleTimeout: 60000
1761 # validationTimeout: 30000
1762 # isAutoCommit: false
1763 - name: EI_ANALYTICS
1764 description: "The datasource used for EI Analytics dashboard feature"
1765 jndiConfig:
1766 name: jdbc/EI_ANALYTICS
1767 definition:
1768 type: RDBMS
1769 configuration:
1770 jdbcUrl: 'jdbc:mysql://wso2ei-integrator-with-analytics-rdbms-service:3306/EI_ANALYTICS?useSSL=false'
1771 username: wso2carbon
1772 password: wso2carbon
1773 driverClassName: com.mysql.jdbc.Driver
1774 maxPoolSize: 50
1775 idleTimeout: 60000
1776 connectionTestQuery: SELECT 1
1777 validationTimeout: 30000
1778 isAutoCommit: false
1779 #Data source for APIM Analytics
1780 # - name: APIM_ANALYTICS_DB
1781 # description: Datasource used for APIM Analytics
1782 # jndiConfig:
1783 # name: jdbc/APIM_ANALYTICS_DB
1784 # definition:
1785 # type: RDBMS
1786 # configuration:
1787 # jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/WSO2AM_STATS_DB;AUTO_SERVER=TRUE'
1788 # username: wso2carbon
1789 # password: wso2carbon
1790 # driverClassName: org.h2.Driver
1791 # maxPoolSize: 50
1792 # idleTimeout: 60000
1793 # connectionTestQuery: SELECT 1
1794 # validationTimeout: 30000
1795 # isAutoCommit: false
1796 wso2.business.rules.manager:
1797 datasource: BUSINESS_RULES_DB
1798 # rule template wise configuration for deploying business rules
1799 deployment_configs:
1800 -
1801 # <IP>:<HTTPS Port> of the Worker node
1802 localhost:9443:
1803 # UUIDs of rule templates that are needed to be deployed on the node
1804 - stock-data-analysis
1805 - stock-exchange-input
1806 - stock-exchange-output
1807 - identifying-continuous-production-decrease
1808 - popular-tweets-analysis
1809 - http-analytics-processing
1810 - message-tracing-source-template
1811 - message-tracing-app-template
1812 # credentials for worker nodes
1813 username: admin
1814 password: admin
1815 wso2.status.dashboard:
1816 pollingInterval: 5
1817 metricsDatasourceName: 'WSO2_METRICS_DB'
1818 dashboardDatasourceName: 'WSO2_STATUS_DASHBOARD_DB'
1819 workerAccessCredentials:
1820 username: 'admin'
1821 password: 'admin'
1822 wso2.transport.http:
1823 transportProperties:
1824 - name: "server.bootstrap.socket.timeout"
1825 value: 60
1826 - name: "client.bootstrap.socket.timeout"
1827 value: 60
1828 - name: "latency.metrics.enabled"
1829 value: true
1830 listenerConfigurations:
1831 - id: "default-https"
1832 host: "0.0.0.0"
1833 port: 9643
1834 scheme: https
1835 keyStoreFile: "${carbon.home}/resources/security/wso2carbon.jks"
1836 keyStorePassword: wso2carbon
1837 certPass: wso2carbon
1838kind: ConfigMap
1839metadata:
1840 name: ei-analytics-dashboard-conf-dashboard
1841 namespace: $namespace
1842---
1843
1844apiVersion: v1
1845data:
1846 init.sql: |
1847 DROP DATABASE IF EXISTS WSO2EI_USER_DB;
1848 DROP DATABASE IF EXISTS WSO2EI_INTEGRATOR_CONFIG_GOV_DB;
1849 DROP DATABASE IF EXISTS WSO2_CLUSTER_DB;
1850 DROP DATABASE IF EXISTS EI_ANALYTICS;
1851 DROP DATABASE IF EXISTS WSO2_CARBON_DB;
1852 DROP DATABASE IF EXISTS WSO2_PERSISTENCE_DB;
1853 DROP DATABASE IF EXISTS WSO2_METRICS_DB;
1854 DROP DATABASE IF EXISTS WSO2_STATUS_DASHBOARD_DB;
1855 CREATE DATABASE WSO2EI_USER_DB;
1856 CREATE DATABASE WSO2EI_INTEGRATOR_CONFIG_GOV_DB;
1857 CREATE DATABASE WSO2_CLUSTER_DB;
1858 CREATE DATABASE EI_ANALYTICS;
1859 CREATE DATABASE WSO2_CARBON_DB;
1860 CREATE DATABASE WSO2_PERSISTENCE_DB;
1861 CREATE DATABASE WSO2_METRICS_DB;
1862 CREATE DATABASE WSO2_STATUS_DASHBOARD_DB;
1863 CREATE USER IF NOT EXISTS 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1864 GRANT ALL ON WSO2EI_USER_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1865 GRANT ALL ON WSO2EI_INTEGRATOR_CONFIG_GOV_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1866 GRANT ALL ON WSO2_CLUSTER_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1867 GRANT ALL ON EI_ANALYTICS.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1868 GRANT ALL ON WSO2_CARBON_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1869 GRANT ALL ON WSO2_PERSISTENCE_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1870 GRANT ALL ON WSO2_METRICS_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1871 GRANT ALL ON WSO2_STATUS_DASHBOARD_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1872 USE WSO2EI_USER_DB;
1873 CREATE TABLE UM_TENANT (
1874 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1875 UM_DOMAIN_NAME VARCHAR(255) NOT NULL,
1876 UM_EMAIL VARCHAR(255),
1877 UM_ACTIVE BOOLEAN DEFAULT FALSE,
1878 UM_CREATED_DATE TIMESTAMP NOT NULL,
1879 UM_USER_CONFIG LONGBLOB,
1880 PRIMARY KEY (UM_ID),
1881 UNIQUE(UM_DOMAIN_NAME)
1882 )ENGINE INNODB;
1883 CREATE TABLE UM_DOMAIN(
1884 UM_DOMAIN_ID INTEGER NOT NULL AUTO_INCREMENT,
1885 UM_DOMAIN_NAME VARCHAR(255),
1886 UM_TENANT_ID INTEGER DEFAULT 0,
1887 PRIMARY KEY (UM_DOMAIN_ID, UM_TENANT_ID)
1888 )ENGINE INNODB;
1889 CREATE UNIQUE INDEX INDEX_UM_TENANT_UM_DOMAIN_NAME
1890 ON UM_TENANT (UM_DOMAIN_NAME);
1891 CREATE TABLE UM_USER (
1892 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1893 UM_USER_NAME VARCHAR(255) NOT NULL,
1894 UM_USER_PASSWORD VARCHAR(255) NOT NULL,
1895 UM_SALT_VALUE VARCHAR(31),
1896 UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE,
1897 UM_CHANGED_TIME TIMESTAMP NOT NULL,
1898 UM_TENANT_ID INTEGER DEFAULT 0,
1899 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1900 UNIQUE(UM_USER_NAME, UM_TENANT_ID)
1901 )ENGINE INNODB;
1902 CREATE TABLE UM_SYSTEM_USER (
1903 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1904 UM_USER_NAME VARCHAR(255) NOT NULL,
1905 UM_USER_PASSWORD VARCHAR(255) NOT NULL,
1906 UM_SALT_VALUE VARCHAR(31),
1907 UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE,
1908 UM_CHANGED_TIME TIMESTAMP NOT NULL,
1909 UM_TENANT_ID INTEGER DEFAULT 0,
1910 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1911 UNIQUE(UM_USER_NAME, UM_TENANT_ID)
1912 )ENGINE INNODB;
1913 CREATE TABLE UM_ROLE (
1914 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1915 UM_ROLE_NAME VARCHAR(255) NOT NULL,
1916 UM_TENANT_ID INTEGER DEFAULT 0,
1917 UM_SHARED_ROLE BOOLEAN DEFAULT FALSE,
1918 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1919 UNIQUE(UM_ROLE_NAME, UM_TENANT_ID)
1920 )ENGINE INNODB;
1921 CREATE TABLE UM_MODULE(
1922 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1923 UM_MODULE_NAME VARCHAR(100),
1924 UNIQUE(UM_MODULE_NAME),
1925 PRIMARY KEY(UM_ID)
1926 )ENGINE INNODB;
1927 CREATE TABLE UM_MODULE_ACTIONS(
1928 UM_ACTION VARCHAR(255) NOT NULL,
1929 UM_MODULE_ID INTEGER NOT NULL,
1930 PRIMARY KEY(UM_ACTION, UM_MODULE_ID),
1931 FOREIGN KEY (UM_MODULE_ID) REFERENCES UM_MODULE(UM_ID) ON DELETE CASCADE
1932 )ENGINE INNODB;
1933 CREATE TABLE UM_PERMISSION (
1934 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1935 UM_RESOURCE_ID VARCHAR(255) NOT NULL,
1936 UM_ACTION VARCHAR(255) NOT NULL,
1937 UM_TENANT_ID INTEGER DEFAULT 0,
1938 UM_MODULE_ID INTEGER DEFAULT 0,
1939 UNIQUE(UM_RESOURCE_ID,UM_ACTION, UM_TENANT_ID),
1940 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1941 )ENGINE INNODB;
1942 CREATE INDEX INDEX_UM_PERMISSION_UM_RESOURCE_ID_UM_ACTION ON UM_PERMISSION (UM_RESOURCE_ID, UM_ACTION, UM_TENANT_ID);
1943 CREATE TABLE UM_ROLE_PERMISSION (
1944 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1945 UM_PERMISSION_ID INTEGER NOT NULL,
1946 UM_ROLE_NAME VARCHAR(255) NOT NULL,
1947 UM_IS_ALLOWED SMALLINT NOT NULL,
1948 UM_TENANT_ID INTEGER DEFAULT 0,
1949 UM_DOMAIN_ID INTEGER,
1950 UNIQUE (UM_PERMISSION_ID, UM_ROLE_NAME, UM_TENANT_ID, UM_DOMAIN_ID),
1951 FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
1952 FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE,
1953 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1954 )ENGINE INNODB;
1955 -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_ROLE_ID)
1956 CREATE TABLE UM_USER_PERMISSION (
1957 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1958 UM_PERMISSION_ID INTEGER NOT NULL,
1959 UM_USER_NAME VARCHAR(255) NOT NULL,
1960 UM_IS_ALLOWED SMALLINT NOT NULL,
1961 UM_TENANT_ID INTEGER DEFAULT 0,
1962 FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
1963 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1964 )ENGINE INNODB;
1965 -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_USER_ID)
1966 CREATE TABLE UM_USER_ROLE (
1967 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1968 UM_ROLE_ID INTEGER NOT NULL,
1969 UM_USER_ID INTEGER NOT NULL,
1970 UM_TENANT_ID INTEGER DEFAULT 0,
1971 UNIQUE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID),
1972 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_ROLE(UM_ID, UM_TENANT_ID),
1973 FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID),
1974 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1975 )ENGINE INNODB;
1976 CREATE TABLE UM_SHARED_USER_ROLE(
1977 UM_ROLE_ID INTEGER NOT NULL,
1978 UM_USER_ID INTEGER NOT NULL,
1979 UM_USER_TENANT_ID INTEGER NOT NULL,
1980 UM_ROLE_TENANT_ID INTEGER NOT NULL,
1981 UNIQUE(UM_USER_ID,UM_ROLE_ID,UM_USER_TENANT_ID, UM_ROLE_TENANT_ID),
1982 FOREIGN KEY(UM_ROLE_ID,UM_ROLE_TENANT_ID) REFERENCES UM_ROLE(UM_ID,UM_TENANT_ID) ON DELETE CASCADE,
1983 FOREIGN KEY(UM_USER_ID,UM_USER_TENANT_ID) REFERENCES UM_USER(UM_ID,UM_TENANT_ID) ON DELETE CASCADE
1984 )ENGINE INNODB;
1985 CREATE TABLE UM_ACCOUNT_MAPPING(
1986 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1987 UM_USER_NAME VARCHAR(255) NOT NULL,
1988 UM_TENANT_ID INTEGER NOT NULL,
1989 UM_USER_STORE_DOMAIN VARCHAR(100),
1990 UM_ACC_LINK_ID INTEGER NOT NULL,
1991 UNIQUE(UM_USER_NAME, UM_TENANT_ID, UM_USER_STORE_DOMAIN, UM_ACC_LINK_ID),
1992 FOREIGN KEY (UM_TENANT_ID) REFERENCES UM_TENANT(UM_ID) ON DELETE CASCADE,
1993 PRIMARY KEY (UM_ID)
1994 )ENGINE INNODB;
1995 CREATE TABLE UM_USER_ATTRIBUTE (
1996 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1997 UM_ATTR_NAME VARCHAR(255) NOT NULL,
1998 UM_ATTR_VALUE VARCHAR(1024),
1999 UM_PROFILE_ID VARCHAR(255),
2000 UM_USER_ID INTEGER,
2001 UM_TENANT_ID INTEGER DEFAULT 0,
2002 FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID),
2003 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2004 )ENGINE INNODB;
2005 CREATE INDEX UM_USER_ID_INDEX ON UM_USER_ATTRIBUTE(UM_USER_ID);
2006 CREATE TABLE UM_DIALECT(
2007 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2008 UM_DIALECT_URI VARCHAR(255) NOT NULL,
2009 UM_TENANT_ID INTEGER DEFAULT 0,
2010 UNIQUE(UM_DIALECT_URI, UM_TENANT_ID),
2011 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2012 )ENGINE INNODB;
2013 CREATE TABLE UM_CLAIM(
2014 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2015 UM_DIALECT_ID INTEGER NOT NULL,
2016 UM_CLAIM_URI VARCHAR(255) NOT NULL,
2017 UM_DISPLAY_TAG VARCHAR(255),
2018 UM_DESCRIPTION VARCHAR(255),
2019 UM_MAPPED_ATTRIBUTE_DOMAIN VARCHAR(255),
2020 UM_MAPPED_ATTRIBUTE VARCHAR(255),
2021 UM_REG_EX VARCHAR(255),
2022 UM_SUPPORTED SMALLINT,
2023 UM_REQUIRED SMALLINT,
2024 UM_DISPLAY_ORDER INTEGER,
2025 UM_CHECKED_ATTRIBUTE SMALLINT,
2026 UM_READ_ONLY SMALLINT,
2027 UM_TENANT_ID INTEGER DEFAULT 0,
2028 UNIQUE(UM_DIALECT_ID, UM_CLAIM_URI, UM_TENANT_ID,UM_MAPPED_ATTRIBUTE_DOMAIN),
2029 FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID),
2030 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2031 )ENGINE INNODB;
2032 CREATE TABLE UM_PROFILE_CONFIG(
2033 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2034 UM_DIALECT_ID INTEGER NOT NULL,
2035 UM_PROFILE_NAME VARCHAR(255),
2036 UM_TENANT_ID INTEGER DEFAULT 0,
2037 FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID),
2038 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2039 )ENGINE INNODB;
2040 CREATE TABLE IF NOT EXISTS UM_CLAIM_BEHAVIOR(
2041 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2042 UM_PROFILE_ID INTEGER,
2043 UM_CLAIM_ID INTEGER,
2044 UM_BEHAVIOUR SMALLINT,
2045 UM_TENANT_ID INTEGER DEFAULT 0,
2046 FOREIGN KEY(UM_PROFILE_ID, UM_TENANT_ID) REFERENCES UM_PROFILE_CONFIG(UM_ID,UM_TENANT_ID),
2047 FOREIGN KEY(UM_CLAIM_ID, UM_TENANT_ID) REFERENCES UM_CLAIM(UM_ID,UM_TENANT_ID),
2048 PRIMARY KEY(UM_ID, UM_TENANT_ID)
2049 )ENGINE INNODB;
2050 CREATE TABLE UM_HYBRID_ROLE(
2051 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2052 UM_ROLE_NAME VARCHAR(255),
2053 UM_TENANT_ID INTEGER DEFAULT 0,
2054 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2055 )ENGINE INNODB;
2056 CREATE TABLE UM_HYBRID_USER_ROLE(
2057 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2058 UM_USER_NAME VARCHAR(255),
2059 UM_ROLE_ID INTEGER NOT NULL,
2060 UM_TENANT_ID INTEGER DEFAULT 0,
2061 UM_DOMAIN_ID INTEGER,
2062 UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID, UM_DOMAIN_ID),
2063 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
2064 FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE,
2065 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2066 )ENGINE INNODB;
2067 CREATE TABLE UM_SYSTEM_ROLE(
2068 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2069 UM_ROLE_NAME VARCHAR(255),
2070 UM_TENANT_ID INTEGER DEFAULT 0,
2071 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2072 )ENGINE INNODB;
2073 CREATE INDEX SYSTEM_ROLE_IND_BY_RN_TI ON UM_SYSTEM_ROLE(UM_ROLE_NAME, UM_TENANT_ID);
2074 CREATE TABLE UM_SYSTEM_USER_ROLE(
2075 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2076 UM_USER_NAME VARCHAR(255),
2077 UM_ROLE_ID INTEGER NOT NULL,
2078 UM_TENANT_ID INTEGER DEFAULT 0,
2079 UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID),
2080 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_SYSTEM_ROLE(UM_ID, UM_TENANT_ID),
2081 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2082 )ENGINE INNODB;
2083 CREATE TABLE UM_HYBRID_REMEMBER_ME(
2084 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
2085 UM_USER_NAME VARCHAR(255) NOT NULL,
2086 UM_COOKIE_VALUE VARCHAR(1024),
2087 UM_CREATED_TIME TIMESTAMP,
2088 UM_TENANT_ID INTEGER DEFAULT 0,
2089 PRIMARY KEY (UM_ID, UM_TENANT_ID)
2090 )ENGINE INNODB;
2091 USE WSO2EI_INTEGRATOR_CONFIG_GOV_DB;
2092 CREATE TABLE IF NOT EXISTS REG_CLUSTER_LOCK (
2093 REG_LOCK_NAME VARCHAR (20),
2094 REG_LOCK_STATUS VARCHAR (20),
2095 REG_LOCKED_TIME TIMESTAMP,
2096 REG_TENANT_ID INTEGER DEFAULT 0,
2097 PRIMARY KEY (REG_LOCK_NAME)
2098 )ENGINE INNODB;
2099 CREATE TABLE IF NOT EXISTS REG_LOG (
2100 REG_LOG_ID INTEGER AUTO_INCREMENT,
2101 REG_PATH VARCHAR (750),
2102 REG_USER_ID VARCHAR (31) NOT NULL,
2103 REG_LOGGED_TIME TIMESTAMP NOT NULL,
2104 REG_ACTION INTEGER NOT NULL,
2105 REG_ACTION_DATA VARCHAR (500),
2106 REG_TENANT_ID INTEGER DEFAULT 0,
2107 PRIMARY KEY (REG_LOG_ID, REG_TENANT_ID)
2108 )ENGINE INNODB;
2109 CREATE INDEX REG_LOG_IND_BY_REGLOG USING HASH ON REG_LOG(REG_LOGGED_TIME, REG_TENANT_ID);
2110 -- The REG_PATH_VALUE should be less than 767 bytes, and hence was fixed at 750.
2111 -- See CARBON-5917.
2112 CREATE TABLE IF NOT EXISTS REG_PATH(
2113 REG_PATH_ID INTEGER NOT NULL AUTO_INCREMENT,
2114 REG_PATH_VALUE VARCHAR(750) NOT NULL,
2115 REG_PATH_PARENT_ID INTEGER,
2116 REG_TENANT_ID INTEGER DEFAULT 0,
2117 CONSTRAINT PK_REG_PATH PRIMARY KEY(REG_PATH_ID, REG_TENANT_ID)
2118 )ENGINE INNODB;
2119 CREATE INDEX REG_PATH_IND_BY_PATH_VALUE USING HASH ON REG_PATH(REG_PATH_VALUE, REG_TENANT_ID);
2120 CREATE INDEX REG_PATH_IND_BY_PATH_PARENT_ID USING HASH ON REG_PATH(REG_PATH_PARENT_ID, REG_TENANT_ID);
2121 CREATE TABLE IF NOT EXISTS REG_CONTENT (
2122 REG_CONTENT_ID INTEGER NOT NULL AUTO_INCREMENT,
2123 REG_CONTENT_DATA LONGBLOB,
2124 REG_TENANT_ID INTEGER DEFAULT 0,
2125 CONSTRAINT PK_REG_CONTENT PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID)
2126 )ENGINE INNODB;
2127 CREATE TABLE IF NOT EXISTS REG_CONTENT_HISTORY (
2128 REG_CONTENT_ID INTEGER NOT NULL,
2129 REG_CONTENT_DATA LONGBLOB,
2130 REG_DELETED SMALLINT,
2131 REG_TENANT_ID INTEGER DEFAULT 0,
2132 CONSTRAINT PK_REG_CONTENT_HISTORY PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID)
2133 )ENGINE INNODB;
2134 CREATE TABLE IF NOT EXISTS REG_RESOURCE (
2135 REG_PATH_ID INTEGER NOT NULL,
2136 REG_NAME VARCHAR(256),
2137 REG_VERSION INTEGER NOT NULL AUTO_INCREMENT,
2138 REG_MEDIA_TYPE VARCHAR(500),
2139 REG_CREATOR VARCHAR(31) NOT NULL,
2140 REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2141 REG_LAST_UPDATOR VARCHAR(31),
2142 REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2143 REG_DESCRIPTION VARCHAR(1000),
2144 REG_CONTENT_ID INTEGER,
2145 REG_TENANT_ID INTEGER DEFAULT 0,
2146 REG_UUID VARCHAR(100) NOT NULL,
2147 CONSTRAINT PK_REG_RESOURCE PRIMARY KEY(REG_VERSION, REG_TENANT_ID)
2148 )ENGINE INNODB;
2149 ALTER TABLE REG_RESOURCE ADD CONSTRAINT REG_RESOURCE_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2150 ALTER TABLE REG_RESOURCE ADD CONSTRAINT REG_RESOURCE_FK_BY_CONTENT_ID FOREIGN KEY (REG_CONTENT_ID, REG_TENANT_ID) REFERENCES REG_CONTENT (REG_CONTENT_ID, REG_TENANT_ID);
2151 CREATE INDEX REG_RESOURCE_IND_BY_NAME USING HASH ON REG_RESOURCE(REG_NAME, REG_TENANT_ID);
2152 CREATE INDEX REG_RESOURCE_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID);
2153 CREATE INDEX REG_RESOURCE_IND_BY_UUID USING HASH ON REG_RESOURCE(REG_UUID);
2154 CREATE INDEX REG_RESOURCE_IND_BY_TENAN USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_UUID);
2155 CREATE INDEX REG_RESOURCE_IND_BY_TYPE USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_MEDIA_TYPE);
2156 CREATE TABLE IF NOT EXISTS REG_RESOURCE_HISTORY (
2157 REG_PATH_ID INTEGER NOT NULL,
2158 REG_NAME VARCHAR(256),
2159 REG_VERSION INTEGER NOT NULL,
2160 REG_MEDIA_TYPE VARCHAR(500),
2161 REG_CREATOR VARCHAR(31) NOT NULL,
2162 REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2163 REG_LAST_UPDATOR VARCHAR(31),
2164 REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2165 REG_DESCRIPTION VARCHAR(1000),
2166 REG_CONTENT_ID INTEGER,
2167 REG_DELETED SMALLINT,
2168 REG_TENANT_ID INTEGER DEFAULT 0,
2169 REG_UUID VARCHAR(100) NOT NULL,
2170 CONSTRAINT PK_REG_RESOURCE_HISTORY PRIMARY KEY(REG_VERSION, REG_TENANT_ID)
2171 )ENGINE INNODB;
2172 ALTER TABLE REG_RESOURCE_HISTORY ADD CONSTRAINT REG_RESOURCE_HIST_FK_BY_PATHID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2173 ALTER TABLE REG_RESOURCE_HISTORY ADD CONSTRAINT REG_RESOURCE_HIST_FK_BY_CONTENT_ID FOREIGN KEY (REG_CONTENT_ID, REG_TENANT_ID) REFERENCES REG_CONTENT_HISTORY (REG_CONTENT_ID, REG_TENANT_ID);
2174 CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_NAME USING HASH ON REG_RESOURCE_HISTORY(REG_NAME, REG_TENANT_ID);
2175 CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID);
2176 CREATE TABLE IF NOT EXISTS REG_COMMENT (
2177 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
2178 REG_COMMENT_TEXT VARCHAR(500) NOT NULL,
2179 REG_USER_ID VARCHAR(31) NOT NULL,
2180 REG_COMMENTED_TIME TIMESTAMP NOT NULL,
2181 REG_TENANT_ID INTEGER DEFAULT 0,
2182 CONSTRAINT PK_REG_COMMENT PRIMARY KEY(REG_ID, REG_TENANT_ID)
2183 )ENGINE INNODB;
2184 CREATE TABLE IF NOT EXISTS REG_RESOURCE_COMMENT (
2185 REG_COMMENT_ID INTEGER NOT NULL,
2186 REG_VERSION INTEGER,
2187 REG_PATH_ID INTEGER,
2188 REG_RESOURCE_NAME VARCHAR(256),
2189 REG_TENANT_ID INTEGER DEFAULT 0
2190 )ENGINE INNODB;
2191 ALTER TABLE REG_RESOURCE_COMMENT ADD CONSTRAINT REG_RESOURCE_COMMENT_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2192 ALTER TABLE REG_RESOURCE_COMMENT ADD CONSTRAINT REG_RESOURCE_COMMENT_FK_BY_COMMENT_ID FOREIGN KEY (REG_COMMENT_ID, REG_TENANT_ID) REFERENCES REG_COMMENT (REG_ID, REG_TENANT_ID);
2193 CREATE INDEX REG_RESOURCE_COMMENT_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_COMMENT(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID);
2194 CREATE INDEX REG_RESOURCE_COMMENT_IND_BY_VERSION USING HASH ON REG_RESOURCE_COMMENT(REG_VERSION, REG_TENANT_ID);
2195 CREATE TABLE IF NOT EXISTS REG_RATING (
2196 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
2197 REG_RATING INTEGER NOT NULL,
2198 REG_USER_ID VARCHAR(31) NOT NULL,
2199 REG_RATED_TIME TIMESTAMP NOT NULL,
2200 REG_TENANT_ID INTEGER DEFAULT 0,
2201 CONSTRAINT PK_REG_RATING PRIMARY KEY(REG_ID, REG_TENANT_ID)
2202 )ENGINE INNODB;
2203 CREATE TABLE IF NOT EXISTS REG_RESOURCE_RATING (
2204 REG_RATING_ID INTEGER NOT NULL,
2205 REG_VERSION INTEGER,
2206 REG_PATH_ID INTEGER,
2207 REG_RESOURCE_NAME VARCHAR(256),
2208 REG_TENANT_ID INTEGER DEFAULT 0
2209 )ENGINE INNODB;
2210 ALTER TABLE REG_RESOURCE_RATING ADD CONSTRAINT REG_RESOURCE_RATING_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2211 ALTER TABLE REG_RESOURCE_RATING ADD CONSTRAINT REG_RESOURCE_RATING_FK_BY_RATING_ID FOREIGN KEY (REG_RATING_ID, REG_TENANT_ID) REFERENCES REG_RATING (REG_ID, REG_TENANT_ID);
2212 CREATE INDEX REG_RESOURCE_RATING_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_RATING(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID);
2213 CREATE INDEX REG_RESOURCE_RATING_IND_BY_VERSION USING HASH ON REG_RESOURCE_RATING(REG_VERSION, REG_TENANT_ID);
2214 CREATE TABLE IF NOT EXISTS REG_TAG (
2215 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
2216 REG_TAG_NAME VARCHAR(500) NOT NULL,
2217 REG_USER_ID VARCHAR(31) NOT NULL,
2218 REG_TAGGED_TIME TIMESTAMP NOT NULL,
2219 REG_TENANT_ID INTEGER DEFAULT 0,
2220 CONSTRAINT PK_REG_TAG PRIMARY KEY(REG_ID, REG_TENANT_ID)
2221 )ENGINE INNODB;
2222 CREATE TABLE IF NOT EXISTS REG_RESOURCE_TAG (
2223 REG_TAG_ID INTEGER NOT NULL,
2224 REG_VERSION INTEGER,
2225 REG_PATH_ID INTEGER,
2226 REG_RESOURCE_NAME VARCHAR(256),
2227 REG_TENANT_ID INTEGER DEFAULT 0
2228 )ENGINE INNODB;
2229 ALTER TABLE REG_RESOURCE_TAG ADD CONSTRAINT REG_RESOURCE_TAG_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2230 ALTER TABLE REG_RESOURCE_TAG ADD CONSTRAINT REG_RESOURCE_TAG_FK_BY_TAG_ID FOREIGN KEY (REG_TAG_ID, REG_TENANT_ID) REFERENCES REG_TAG (REG_ID, REG_TENANT_ID);
2231 CREATE INDEX REG_RESOURCE_TAG_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_TAG(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID);
2232 CREATE INDEX REG_RESOURCE_TAG_IND_BY_VERSION USING HASH ON REG_RESOURCE_TAG(REG_VERSION, REG_TENANT_ID);
2233 CREATE TABLE IF NOT EXISTS REG_PROPERTY (
2234 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
2235 REG_NAME VARCHAR(100) NOT NULL,
2236 REG_VALUE VARCHAR(1000),
2237 REG_TENANT_ID INTEGER DEFAULT 0,
2238 CONSTRAINT PK_REG_PROPERTY PRIMARY KEY(REG_ID, REG_TENANT_ID)
2239 )ENGINE INNODB;
2240 CREATE TABLE IF NOT EXISTS REG_RESOURCE_PROPERTY (
2241 REG_PROPERTY_ID INTEGER NOT NULL,
2242 REG_VERSION INTEGER,
2243 REG_PATH_ID INTEGER,
2244 REG_RESOURCE_NAME VARCHAR(256),
2245 REG_TENANT_ID INTEGER DEFAULT 0
2246 )ENGINE INNODB;
2247 ALTER TABLE REG_RESOURCE_PROPERTY ADD CONSTRAINT REG_RESOURCE_PROPERTY_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2248 ALTER TABLE REG_RESOURCE_PROPERTY ADD CONSTRAINT REG_RESOURCE_PROPERTY_FK_BY_TAG_ID FOREIGN KEY (REG_PROPERTY_ID, REG_TENANT_ID) REFERENCES REG_PROPERTY (REG_ID, REG_TENANT_ID);
2249 CREATE INDEX REG_RESOURCE_PROPERTY_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_PROPERTY(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID);
2250 CREATE INDEX REG_RESOURCE_PROPERTY_IND_BY_VERSION USING HASH ON REG_RESOURCE_PROPERTY(REG_VERSION, REG_TENANT_ID);
2251 CREATE TABLE IF NOT EXISTS REG_ASSOCIATION (
2252 REG_ASSOCIATION_ID INTEGER AUTO_INCREMENT,
2253 REG_SOURCEPATH VARCHAR (750) NOT NULL,
2254 REG_TARGETPATH VARCHAR (750) NOT NULL,
2255 REG_ASSOCIATION_TYPE VARCHAR (2000) NOT NULL,
2256 REG_TENANT_ID INTEGER DEFAULT 0,
2257 PRIMARY KEY (REG_ASSOCIATION_ID, REG_TENANT_ID)
2258 )ENGINE INNODB;
2259 CREATE TABLE IF NOT EXISTS REG_SNAPSHOT (
2260 REG_SNAPSHOT_ID INTEGER NOT NULL AUTO_INCREMENT,
2261 REG_PATH_ID INTEGER NOT NULL,
2262 REG_RESOURCE_NAME VARCHAR(255),
2263 REG_RESOURCE_VIDS LONGBLOB NOT NULL,
2264 REG_TENANT_ID INTEGER DEFAULT 0,
2265 CONSTRAINT PK_REG_SNAPSHOT PRIMARY KEY(REG_SNAPSHOT_ID, REG_TENANT_ID)
2266 )ENGINE INNODB;
2267 CREATE INDEX REG_SNAPSHOT_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_SNAPSHOT(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID);
2268 ALTER TABLE REG_SNAPSHOT ADD CONSTRAINT REG_SNAPSHOT_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID);
2269 USE WSO2_METRICS_DB;
2270 CREATE TABLE IF NOT EXISTS METRIC_GAUGE (
2271 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2272 SOURCE VARCHAR(255) NOT NULL,
2273 TIMESTAMP BIGINT NOT NULL,
2274 NAME VARCHAR(255) NOT NULL,
2275 VALUE VARCHAR(100) NOT NULL
2276 );
2277 CREATE TABLE IF NOT EXISTS METRIC_COUNTER (
2278 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2279 SOURCE VARCHAR(255) NOT NULL,
2280 TIMESTAMP BIGINT NOT NULL,
2281 NAME VARCHAR(255) NOT NULL,
2282 COUNT BIGINT NOT NULL
2283 );
2284 CREATE TABLE IF NOT EXISTS METRIC_METER (
2285 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2286 SOURCE VARCHAR(255) NOT NULL,
2287 TIMESTAMP BIGINT NOT NULL,
2288 NAME VARCHAR(255) NOT NULL,
2289 COUNT BIGINT NOT NULL,
2290 MEAN_RATE DECIMAL NOT NULL,
2291 M1_RATE DECIMAL NOT NULL,
2292 M5_RATE DECIMAL NOT NULL,
2293 M15_RATE DECIMAL NOT NULL,
2294 RATE_UNIT VARCHAR(50) NOT NULL
2295 );
2296 CREATE TABLE IF NOT EXISTS METRIC_HISTOGRAM (
2297 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2298 SOURCE VARCHAR(255) NOT NULL,
2299 TIMESTAMP BIGINT NOT NULL,
2300 NAME VARCHAR(255) NOT NULL,
2301 COUNT BIGINT NOT NULL,
2302 MAX DECIMAL NOT NULL,
2303 MEAN DECIMAL NOT NULL,
2304 MIN DECIMAL NOT NULL,
2305 STDDEV DECIMAL NOT NULL,
2306 P50 DECIMAL NOT NULL,
2307 P75 DECIMAL NOT NULL,
2308 P95 DECIMAL NOT NULL,
2309 P98 DECIMAL NOT NULL,
2310 P99 DECIMAL NOT NULL,
2311 P999 DECIMAL NOT NULL
2312 );
2313 CREATE TABLE IF NOT EXISTS METRIC_TIMER (
2314 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2315 SOURCE VARCHAR(255) NOT NULL,
2316 TIMESTAMP BIGINT NOT NULL,
2317 NAME VARCHAR(255) NOT NULL,
2318 COUNT BIGINT NOT NULL,
2319 MAX DECIMAL NOT NULL,
2320 MEAN DECIMAL NOT NULL,
2321 MIN DECIMAL NOT NULL,
2322 STDDEV DECIMAL NOT NULL,
2323 P50 DECIMAL NOT NULL,
2324 P75 DECIMAL NOT NULL,
2325 P95 DECIMAL NOT NULL,
2326 P98 DECIMAL NOT NULL,
2327 P99 DECIMAL NOT NULL,
2328 P999 DECIMAL NOT NULL,
2329 MEAN_RATE DECIMAL NOT NULL,
2330 M1_RATE DECIMAL NOT NULL,
2331 M5_RATE DECIMAL NOT NULL,
2332 M15_RATE DECIMAL NOT NULL,
2333 RATE_UNIT VARCHAR(50) NOT NULL,
2334 DURATION_UNIT VARCHAR(50) NOT NULL
2335 );
2336 CREATE INDEX IDX_TIMESTAMP_GAUGE ON METRIC_GAUGE (TIMESTAMP);
2337 CREATE INDEX IDX_TIMESTAMP_COUNTER ON METRIC_COUNTER (TIMESTAMP);
2338 CREATE INDEX IDX_TIMESTAMP_METER ON METRIC_METER (TIMESTAMP);
2339 CREATE INDEX IDX_TIMESTAMP_HISTOGRAM ON METRIC_HISTOGRAM (TIMESTAMP);
2340 CREATE INDEX IDX_TIMESTAMP_TIMER ON METRIC_TIMER (TIMESTAMP);
2341 USE WSO2_STATUS_DASHBOARD_DB;
2342 CREATE TABLE IF NOT EXISTS METRIC_GAUGE (
2343 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2344 SOURCE VARCHAR(255) NOT NULL,
2345 TIMESTAMP BIGINT NOT NULL,
2346 NAME VARCHAR(255) NOT NULL,
2347 VALUE VARCHAR(100) NOT NULL
2348 );
2349 CREATE TABLE IF NOT EXISTS METRIC_COUNTER (
2350 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2351 SOURCE VARCHAR(255) NOT NULL,
2352 TIMESTAMP BIGINT NOT NULL,
2353 NAME VARCHAR(255) NOT NULL,
2354 COUNT BIGINT NOT NULL
2355 );
2356 CREATE TABLE IF NOT EXISTS METRIC_METER (
2357 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2358 SOURCE VARCHAR(255) NOT NULL,
2359 TIMESTAMP BIGINT NOT NULL,
2360 NAME VARCHAR(255) NOT NULL,
2361 COUNT BIGINT NOT NULL,
2362 MEAN_RATE DECIMAL NOT NULL,
2363 M1_RATE DECIMAL NOT NULL,
2364 M5_RATE DECIMAL NOT NULL,
2365 M15_RATE DECIMAL NOT NULL,
2366 RATE_UNIT VARCHAR(50) NOT NULL
2367 );
2368 CREATE TABLE IF NOT EXISTS METRIC_HISTOGRAM (
2369 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2370 SOURCE VARCHAR(255) NOT NULL,
2371 TIMESTAMP BIGINT NOT NULL,
2372 NAME VARCHAR(255) NOT NULL,
2373 COUNT BIGINT NOT NULL,
2374 MAX DECIMAL NOT NULL,
2375 MEAN DECIMAL NOT NULL,
2376 MIN DECIMAL NOT NULL,
2377 STDDEV DECIMAL NOT NULL,
2378 P50 DECIMAL NOT NULL,
2379 P75 DECIMAL NOT NULL,
2380 P95 DECIMAL NOT NULL,
2381 P98 DECIMAL NOT NULL,
2382 P99 DECIMAL NOT NULL,
2383 P999 DECIMAL NOT NULL
2384 );
2385 CREATE TABLE IF NOT EXISTS METRIC_TIMER (
2386 ID BIGINT AUTO_INCREMENT PRIMARY KEY,
2387 SOURCE VARCHAR(255) NOT NULL,
2388 TIMESTAMP BIGINT NOT NULL,
2389 NAME VARCHAR(255) NOT NULL,
2390 COUNT BIGINT NOT NULL,
2391 MAX DECIMAL NOT NULL,
2392 MEAN DECIMAL NOT NULL,
2393 MIN DECIMAL NOT NULL,
2394 STDDEV DECIMAL NOT NULL,
2395 P50 DECIMAL NOT NULL,
2396 P75 DECIMAL NOT NULL,
2397 P95 DECIMAL NOT NULL,
2398 P98 DECIMAL NOT NULL,
2399 P99 DECIMAL NOT NULL,
2400 P999 DECIMAL NOT NULL,
2401 MEAN_RATE DECIMAL NOT NULL,
2402 M1_RATE DECIMAL NOT NULL,
2403 M5_RATE DECIMAL NOT NULL,
2404 M15_RATE DECIMAL NOT NULL,
2405 RATE_UNIT VARCHAR(50) NOT NULL,
2406 DURATION_UNIT VARCHAR(50) NOT NULL
2407 );
2408 CREATE INDEX IDX_TIMESTAMP_GAUGE ON METRIC_GAUGE (TIMESTAMP);
2409 CREATE INDEX IDX_TIMESTAMP_COUNTER ON METRIC_COUNTER (TIMESTAMP);
2410 CREATE INDEX IDX_TIMESTAMP_METER ON METRIC_METER (TIMESTAMP);
2411 CREATE INDEX IDX_TIMESTAMP_HISTOGRAM ON METRIC_HISTOGRAM (TIMESTAMP);
2412 CREATE INDEX IDX_TIMESTAMP_TIMER ON METRIC_TIMER (TIMESTAMP);
2413kind: ConfigMap
2414metadata:
2415 name: mysql-dbscripts
2416 namespace: $namespace
2417---
2418
2419apiVersion: v1
2420kind: Service
2421metadata:
2422 name: wso2ei-integrator-with-analytics-rdbms-service
2423 namespace: $namespace
2424spec:
2425 type: ClusterIP
2426 selector:
2427 deployment: wso2ei-with-analytics-mysql
2428 product: wso2ei
2429 ports:
2430 - name: mysql-port
2431 port: 3306
2432 targetPort: 3306
2433 protocol: TCP
2434---
2435
2436apiVersion: v1
2437kind: Service
2438metadata:
2439 name: wso2ei-with-analytics-worker-service
2440 namespace: $namespace
2441spec:
2442 selector:
2443 deployment: wso2ei-with-analytics-worker
2444 product: wso2ei
2445 ports:
2446 - name: data-receiver-2
2447 port: 7612
2448 targetPort: 7612
2449 protocol: TCP
2450 - name: http-default
2451 port: 9091
2452 targetPort: 9091
2453 protocol: TCP
2454 - name: siddhi-defaul
2455 port: 7070
2456 targetPort: 8082
2457 protocol: TCP
2458 - name: siddhi-msf4j-https
2459 port: 7443
2460 targetPort: 11501
2461 protocol: TCP
2462 - name: data-receiver-1
2463 port: 7712
2464 targetPort: 7712
2465 protocol: TCP
2466 - name: http-msf4j-https
2467 port: 9444
2468 targetPort: 9444
2469 protocol: TCP
2470 - name: data-receiver-binary-1
2471 port: 9711
2472 targetPort: 9711
2473 protocol: TCP
2474 - name: data-receiver-binary-2
2475 port: 9611
2476 targetPort: 9611
2477 protocol: TCP
2478---
2479
2480apiVersion: v1
2481kind: Service
2482metadata:
2483 name: wso2ei-with-analytics-ei-dashboard-service
2484 namespace: $namespace
2485 labels:
2486 deployment: wso2ei-with-analytics-dashboard
2487 product: wso2ei
2488spec:
2489 selector:
2490 deployment: wso2ei-with-analytics-dashboard
2491 product: wso2ei
2492 type: NodePort
2493 ports:
2494 -
2495 name: 'https'
2496 port: 9643
2497 protocol: TCP
2498 nodePort: $NP_3
2499 selector:
2500 deployment: wso2ei-with-analytics-dashboard
2501---
2502
2503apiVersion: v1
2504kind: Service
2505metadata:
2506 name: wso2ei-integrator-service
2507 namespace: $namespace
2508 labels:
2509 deployment: wso2ei-integrator
2510 product: wso2ei
2511spec:
2512 selector:
2513 deployment: wso2ei-integrator
2514 product: wso2ei
2515 type: NodePort
2516 ports:
2517 - name: servlet-http
2518 port: 9763
2519 targetPort: 9763
2520 protocol: TCP
2521 - name: servlet-https
2522 port: 9443
2523 targetPort: 9443
2524 protocol: TCP
2525 nodePort: $NP_1
2526---
2527
2528apiVersion: v1
2529kind: Service
2530metadata:
2531 name: wso2ei-integrator-gateway-service
2532 namespace: $namespace
2533 labels:
2534 deployment: wso2ei-integrator
2535 product: wso2ei
2536spec:
2537 selector:
2538 deployment: wso2ei-integrator
2539 product: wso2ei
2540 type: NodePort
2541 ports:
2542 - name: pass-through-http
2543 port: 8280
2544 targetPort: 8280
2545 protocol: TCP
2546 - name: pass-through-https
2547 port: 8243
2548 targetPort: 8243
2549 protocol: TCP
2550 nodePort: $NP_2
2551---
2552
2553apiVersion: apps/v1
2554kind: Deployment
2555metadata:
2556 name: wso2ei-with-analytics-mysql-deployment
2557 namespace: $namespace
2558spec:
2559 replicas: 1
2560 selector:
2561 matchLabels:
2562 deployment: wso2ei-with-analytics-mysql
2563 product: wso2ei
2564 template:
2565 metadata:
2566 labels:
2567 deployment: wso2ei-with-analytics-mysql
2568 product: wso2ei
2569 spec:
2570 containers:
2571 - name: wso2ei-integrator-mysql
2572 image: mysql:5.7
2573 imagePullPolicy: IfNotPresent
2574 securityContext:
2575 runAsUser: 999
2576 env:
2577 - name: MYSQL_ROOT_PASSWORD
2578 value: root
2579 - name: MYSQL_USER
2580 value: wso2carbon
2581 - name: MYSQL_PASSWORD
2582 value: wso2carbon
2583 ports:
2584 - containerPort: 3306
2585 protocol: TCP
2586 volumeMounts:
2587 - name: mysql-dbscripts
2588 mountPath: /docker-entrypoint-initdb.d
2589 args: ["--max-connections", "10000"]
2590 volumes:
2591 - name: mysql-dbscripts
2592 configMap:
2593 name: mysql-dbscripts
2594---
2595
2596apiVersion: apps/v1
2597kind: Deployment
2598metadata:
2599 name: wso2ei-with-analytics-worker-deployment
2600 namespace: $namespace
2601spec:
2602 replicas: 1
2603 minReadySeconds: 30
2604 strategy:
2605 rollingUpdate:
2606 maxSurge: 1
2607 maxUnavailable: 0
2608 type: RollingUpdate
2609 selector:
2610 matchLabels:
2611 deployment: wso2ei-with-analytics-worker
2612 node: wso2ei-with-analytics-worker
2613 product: wso2ei
2614 template:
2615 metadata:
2616 labels:
2617 deployment: wso2ei-with-analytics-worker
2618 node: wso2ei-with-analytics-worker
2619 product: wso2ei
2620 spec:
2621 containers:
2622 - name: wso2ei-with-analytics-worker
2623 image: docker.wso2.com/wso2ei-analytics-worker:6.4.0
2624 env:
2625 -
2626 name: NODE_IP
2627 valueFrom:
2628 fieldRef:
2629 fieldPath: status.podIP
2630 resources:
2631 limits:
2632 memory: "2Gi"
2633 requests:
2634 memory: "2Gi"
2635 livenessProbe:
2636 exec:
2637 command:
2638 - /bin/sh
2639 - -c
2640 - nc -z localhost 9091
2641 initialDelaySeconds: 10
2642 periodSeconds: 10
2643 readinessProbe:
2644 exec:
2645 command:
2646 - /bin/sh
2647 - -c
2648 - nc -z localhost 7712
2649 initialDelaySeconds: 10
2650 periodSeconds: 10
2651 lifecycle:
2652 preStop:
2653 exec:
2654 command: ['sh', '-c', '${WSO2_SERVER_HOME}/bin/analytics-worker.sh stop']
2655 imagePullPolicy: Always
2656 securityContext:
2657 runAsUser: 802
2658 ports:
2659 -
2660 containerPort: 9444
2661 protocol: TCP
2662 -
2663 containerPort: 9091
2664 protocol: TCP
2665 -
2666 containerPort: 9711
2667 protocol: TCP
2668 -
2669 containerPort: 9611
2670 protocol: TCP
2671 -
2672 containerPort: 7712
2673 protocol: TCP
2674 -
2675 containerPort: 7612
2676 protocol: TCP
2677 -
2678 containerPort: 7070
2679 protocol: TCP
2680 -
2681 containerPort: 7443
2682 protocol: TCP
2683 -
2684 containerPort: 9894
2685 protocol: TCP
2686 volumeMounts:
2687 - name: ei-analytics-conf-worker
2688 mountPath: /home/wso2carbon/wso2-config-volume/wso2/analytics/conf/worker
2689 initContainers:
2690 - name: init-ei-with-analytics
2691 image: busybox
2692 command: ['sh', '-c', 'echo -e "checking for the availability of MySQL"; while ! nc -z wso2ei-integrator-with-analytics-rdbms-service 3306; do sleep 1; printf "-"; done; echo -e " >> MySQL server started";']
2693 serviceAccountName: "wso2svc-account"
2694 imagePullSecrets:
2695 - name: wso2creds
2696 volumes:
2697 - name: ei-analytics-conf-worker
2698 configMap:
2699 name: ei-analytics-conf-worker
2700---
2701
2702apiVersion: apps/v1
2703kind: Deployment
2704metadata:
2705 name: wso2ei-with-analytics-dashboard-deployment
2706 namespace: $namespace
2707 labels:
2708 deployment: wso2ei-with-analytics-dashboard
2709 product: wso2ei
2710spec:
2711 replicas: 1
2712 minReadySeconds: 30
2713 strategy:
2714 type: Recreate
2715 selector:
2716 matchLabels:
2717 deployment: wso2ei-with-analytics-dashboard
2718 product: wso2ei
2719 template:
2720 metadata:
2721 labels:
2722 deployment: wso2ei-with-analytics-dashboard
2723 product: wso2ei
2724 spec:
2725 containers:
2726 - image: docker.wso2.com/wso2ei-analytics-dashboard:6.4.0
2727 name: wso2ei-with-analytics-dashboard
2728 imagePullPolicy: Always
2729 ports:
2730 -
2731 containerPort: 9643
2732 protocol: "TCP"
2733 livenessProbe:
2734 exec:
2735 command:
2736 - /bin/sh
2737 - -c
2738 - nc -z localhost 9643
2739 volumeMounts:
2740 - name: ei-analytics-dashboard-conf-dashboard
2741 mountPath: "/home/wso2carbon/wso2-config-volume/wso2/analytics/conf/dashboard"
2742 lifecycle:
2743 preStop:
2744 exec:
2745 command: ['sh', '-c', '${WSO2_SERVER_HOME}/bin/analytics-dashboard.sh stop']
2746 initContainers:
2747 - name: init-ei-dashboard
2748 image: busybox
2749 command: ['sh', '-c', 'echo -e "checking for the availability of Enterprise Integrator Analytics"; while ! nc -z wso2ei-with-analytics-worker-service 7712; do sleep 1; printf "-"; done; echo -e " >> Enterprise Integrator Analytics started";']
2750 imagePullSecrets:
2751 - name: wso2creds
2752 securityContext:
2753 runAsUser: 802
2754 volumes:
2755 - name: ei-analytics-dashboard-conf-dashboard
2756 configMap:
2757 name: ei-analytics-dashboard-conf-dashboard
2758 serviceAccountName: "wso2svc-account"
2759---
2760
2761apiVersion: apps/v1
2762kind: Deployment
2763metadata:
2764 name: wso2ei-with-analytics-integrator-deployment
2765 namespace: $namespace
2766spec:
2767 replicas: 1
2768 minReadySeconds: 30
2769 strategy:
2770 rollingUpdate:
2771 maxSurge: 1
2772 maxUnavailable: 0
2773 type: RollingUpdate
2774 selector:
2775 matchLabels:
2776 deployment: wso2ei-integrator
2777 product: wso2ei
2778 template:
2779 metadata:
2780 labels:
2781 deployment: wso2ei-integrator
2782 product: wso2ei
2783 spec:
2784 containers:
2785 - name: wso2ei-integrator
2786 image: docker.wso2.com/wso2ei-integrator:6.4.0
2787 livenessProbe:
2788 exec:
2789 command:
2790 - /bin/bash
2791 - -c
2792 - nc -z localhost 9443
2793 initialDelaySeconds: 60
2794 periodSeconds: 10
2795 readinessProbe:
2796 exec:
2797 command:
2798 - /bin/bash
2799 - -c
2800 - nc -z localhost 9443
2801 initialDelaySeconds: 60
2802 periodSeconds: 10
2803 imagePullPolicy: Always
2804 ports:
2805 - containerPort: 8280
2806 protocol: TCP
2807 - containerPort: 8243
2808 protocol: TCP
2809 - containerPort: 9763
2810 protocol: TCP
2811 - containerPort: 9443
2812 protocol: TCP
2813 volumeMounts:
2814 - name: integrator-conf
2815 mountPath: /home/wso2carbon/wso2-config-volume/conf
2816 - name: integrator-conf-axis2
2817 mountPath: /home/wso2carbon/wso2-config-volume/conf/axis2
2818 - name: integrator-conf-datasources
2819 mountPath: /home/wso2carbon/wso2-config-volume/conf/datasources
2820 - name: integrator-conf-event-publishers
2821 mountPath: /home/wso2carbon/wso2-config-volume/repository/deployment/server/eventpublishers
2822 initContainers:
2823 - name: init-ei
2824 image: busybox
2825 command: ['sh', '-c', 'echo -e "checking for the availability of Enterprise Integrator Analytics"; while ! nc -z wso2ei-with-analytics-worker-service 7712; do sleep 1; printf "-"; done; echo -e " >> Enterprise Integrator Analytics started";']
2826 serviceAccountName: "wso2svc-account"
2827 imagePullSecrets:
2828 - name: wso2creds
2829 volumes:
2830 - name: integrator-conf
2831 configMap:
2832 name: integrator-conf
2833 - name: integrator-conf-axis2
2834 configMap:
2835 name: integrator-conf-axis2
2836 - name: integrator-conf-datasources
2837 configMap:
2838 name: integrator-conf-datasources
2839 - name: integrator-conf-event-publishers
2840 configMap:
2841 name: integrator-conf-event-publishers
2842---
2843EOF
2844}
2845
2846function get_creds(){
2847 while [[ -z "$WSO2_SUBSCRIPTION_USERNAME" ]]
2848 do
2849 read -p "$(echoBold "Enter your WSO2 subscription username: ")" WSO2_SUBSCRIPTION_USERNAME
2850 if [[ -z "$WSO2_SUBSCRIPTION_USERNAME" ]]
2851 then
2852 echo "wso2-subscription-username cannot be empty"
2853 fi
2854 done
2855
2856 while [[ -z "$WSO2_SUBSCRIPTION_PASSWORD" ]]
2857 do
2858 read -sp "$(echoBold "Enter your WSO2 subscription password: ")" WSO2_SUBSCRIPTION_PASSWORD
2859 echo ""
2860 if [[ -z "$WSO2_SUBSCRIPTION_PASSWORD" ]]
2861 then
2862 echo "wso2-subscription-password cannot be empty"
2863 fi
2864 done
2865}
2866function validate_ip(){
2867 ip_check=$1
2868 if [[ $ip_check =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
2869 IFS='.'
2870 ip=$ip_check
2871 set -- $ip
2872 if [[ $1 -le 255 ]] && [[ $2 -le 255 ]] && [[ $3 -le 255 ]] && [[ $4 -le 255 ]]; then
2873 IFS=''
2874 NODE_IP=$ip_check
2875 else
2876 IFS=''
2877 echo "Invalid IP. Please try again."
2878 NODE_IP=""
2879 fi
2880 else
2881 echo "Invalid IP. Please try again."
2882 NODE_IP=""
2883 fi
2884}
2885function get_node_ip(){
2886 NODE_IP=$(kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}')
2887
2888 if [[ -z $NODE_IP ]]
2889 then
2890 if [[ $(kubectl config current-context)="minikube" ]]
2891 then
2892 NODE_IP=$(minikube ip)
2893 else
2894 echo "We could not find your cluster node-ip."
2895 while [[ -z "$NODE_IP" ]]
2896 do
2897 read -p "$(echo "Enter one of your cluster Node IPs to provision instant access to server: ")" NODE_IP
2898 if [[ -z "$NODE_IP" ]]
2899 then
2900 echo "cluster node ip cannot be empty"
2901 else
2902 validate_ip $NODE_IP
2903 fi
2904 done
2905 fi
2906 fi
2907 set -- $NODE_IP; NODE_IP=$1
2908}
2909function get_nodePorts(){
2910 LOWER=30000; UPPER=32767;
2911 if [ "$randomPort" == "True" ]; then
2912 NP_1=0; NP_2=0;; NP_3=0
2913 while [ $NP_1 -lt $LOWER ] || [ $NP_2 -lt $LOWER ] || [ $NP_3 -lt $LOWER ]
2914 do
2915 NP_1=$RANDOM; NP_2=$RANDOM; NP_3=$RANDOM
2916 let "NP_1 %= $UPPER"; let "NP_2 %= $UPPER"; let "NP_3 %= $UPPER"
2917 done
2918 fi
2919 echo -e "[INFO] nodePorts are set to $NP_1/ $NP_2/ $NP_3"
2920}
2921function progress_bar(){
2922 dep_status=$(kubectl get deployments -n wso2 -o jsonpath='{.items[?(@.spec.selector.matchLabels.product=="wso2ei")].status.conditions[?(@.type=="Available")].status}')
2923 pod_status=$(kubectl get pods -n wso2 -o jsonpath='{.items[?(@.metadata.labels.product=="wso2ei")].status.conditions[*].status}')
2924
2925 num_true_const=0; progress_unit="";num_true=0; time_proc=0;
2926
2927 arr_dep=($dep_status); arr_pod=($pod_status)
2928
2929 let "length_total= ${#arr_pod[@]} + ${#arr_dep[@]}";
2930
2931 echo ""
2932
2933 while [[ $num_true -lt $length_total ]]
2934 do
2935
2936 sleep 3
2937
2938 num_true=0
2939 dep_status=$(kubectl get deployments -n wso2 -o jsonpath='{.items[?(@.spec.selector.matchLabels.product=="wso2ei")].status.conditions[?(@.type=="Available")].status}')
2940 pod_status=$(kubectl get pods -n wso2 -o jsonpath='{.items[?(@.metadata.labels.product=="wso2ei")].status.conditions[*].status}')
2941
2942 arr_dep=($dep_status); arr_pod=($pod_status); let "length_total= ${#arr_pod[@]} + ${#arr_dep[@]}";
2943
2944 for ele_dep in $dep_status
2945 do
2946 if [ "$ele_dep" = "True" ]
2947 then
2948 let "num_true=num_true+1"
2949 fi
2950 done
2951
2952 for ele_pod in $pod_status
2953 do
2954 if [ "$ele_pod" = "True" ]
2955 then
2956 let "num_true=num_true+1"
2957 fi
2958 done
2959 printf "Processing WSO2 Enterprise Integrator ... |"
2960
2961 printf "%-$((5 * ${length_total-1}))s| $(($num_true_const * 100/ $length_total))"; echo -en ' %\r'
2962
2963 printf "Processing WSO2 Enterprise Integrator ... |"
2964 s=$(printf "%-$((5 * ${num_true_const}))s" "H")
2965 echo -en "${s// /H}"
2966
2967 printf "%-$((5 * $(($length_total - $num_true_const))))s| $((100 * $(($num_true_const))/ $length_total))"; echo -en ' %\r'
2968
2969 if [ $num_true -ne $num_true_const ]
2970 then
2971 i=0
2972 while [[ $i -lt $((5 * $((${num_true} - ${num_true_const})))) ]]
2973 do
2974 let "i=i+1"
2975 progress_unit=$progress_unit"H"
2976 printf "Processing WSO2 Enterprise Integrator ... |"
2977 echo -n $progress_unit
2978 printf "%-$((5 * $((${length_total} - ${num_true_const})) - $i))s| $(($(( 100 * $(($num_true_const))/ $length_total)) + $((20 * $i/$length_total)) ))"; echo -en ' %\r'
2979 sleep 0.25
2980 done
2981 num_true_const=$num_true
2982 time_proc=0
2983 else
2984 let "time_proc=time_proc + 5"
2985 fi
2986
2987 printf "Processing WSO2 Enterprise Integrator ... |"
2988
2989 printf "%-$((5 * ${length_total-1}))s| $(($num_true_const * 100/ $length_total))"; echo -en ' %\r'
2990
2991 printf "Processing WSO2 Enterprise Integrator ... |"
2992 s=$(printf "%-$((5 * ${num_true_const}))s" "H")
2993 echo -en "${s// /H}"
2994
2995 printf "%-$((5 * $(($length_total - $num_true_const))))s| $((100 * $(($num_true_const))/ $length_total))"; echo -en ' %\r'
2996
2997 sleep 1
2998 if [[ $time_proc -gt 250 ]]
2999 then
3000 echoBold "\n\nSomething went wrong! Please Follow < FAQ-Link > for more information\n"
3001 exit 2
3002 fi
3003 done
3004
3005 echo -e "\n"
3006
3007}
3008
3009function deploy(){
3010 # checking for required tools
3011 if [[ ! $(which kubectl) ]]
3012 then
3013 display_msg "Please install Kubernetes command-line tool (kubectl) before you start the setup\n"
3014 fi
3015
3016 if [[ ! $(which base64) ]]
3017 then
3018 display_msg "Please install base64 before you start the setup\n"
3019 fi
3020 echoBold "Checking for an enabled cluster... Your patience is appreciated..."
3021 cluster_isReady=$(kubectl cluster-info) > /dev/null 2>&1 || true
3022
3023 if [[ ! $cluster_isReady == *"KubeDNS"* ]]
3024 then
3025 display_msg "\nPlease enable your cluster before running the setup.\n\nIf you don't have a kubernetes cluster, follow: https://kubernetes.io/docs/setup/\n\n"
3026 fi
3027 echoBold "Done.\n"
3028
3029 #displaying wso2 product name
3030 product_name
3031
3032 # check if testgrid
3033 if test -f $TG_PROP; then
3034 source $TG_PROP
3035 else
3036 get_creds # get wso2 subscription parameters
3037 fi
3038
3039 # checking if inputs are empty
3040 get_node_ip
3041
3042 # create and encode username/password pair
3043 auth="$WSO2_SUBSCRIPTION_USERNAME:$WSO2_SUBSCRIPTION_PASSWORD"
3044 authb64=`echo -n $auth | base64`
3045
3046 # create authorisation code
3047 authstring='{"auths":{"docker.wso2.com": {"username":"'${WSO2_SUBSCRIPTION_USERNAME}'","password":"'${WSO2_SUBSCRIPTION_PASSWORD}'","email":"'${WSO2_SUBSCRIPTION_USERNAME}'","auth":"'${authb64}'"}}}'
3048
3049 # encode in base64
3050 secdata=`echo -n $authstring | base64`
3051
3052 for i in $secdata; do
3053 str_sec=$str_sec$i
3054 done
3055
3056 # If TG random nodePort else default nodePort
3057 get_nodePorts
3058
3059 # create kubernetes object yaml
3060 create_yaml
3061
3062 if ! test -f $TG_PROP; then
3063 echoBold "\nDeploying wso2 Enterprise Integrator ... \n"
3064
3065 # create kubernetes deployment
3066 kubectl create -f ${k8s_obj_file}
3067
3068 # waiting until deployment is ready
3069 progress_bar
3070
3071 echoBold "Successfully deployed WSO2 Enterprise Integrator.\n\n"
3072
3073 echoBold "1. Try navigating to https://$NODE_IP:30443/carbon/ and https://$NODE_IP:30643/portal/ from your favourite browser using\n"
3074 echoBold "\tusername: admin\n"
3075 echoBold "\tpassword: admin\n"
3076 echoBold "2. Follow [ https://docs.wso2.com/display/AM260/Quick+Start+Guide ] to start using WSO2 Enterprise Integrator.\n\n"
3077 fi
3078}
3079
3080deploy
3081
3082# arg=$1
3083# if [[ -z $arg ]]; then
3084# echoBold "Expected parameter is missing\n"
3085# usage
3086# else
3087# case $arg in
3088# -d|--deploy)
3089# deploy
3090# ;;
3091# -u|--undeploy)
3092# undeploy
3093# ;;
3094# -h|--help)
3095# usage
3096# ;;
3097# *)
3098# echoBold "Invalid parameter : $arg\n"
3099# usage
3100# ;;
3101# esac
3102# fi