· 6 years ago · May 30, 2019, 09:54 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
19set -e
20
21# bash variables
22k8s_obj_file="deployment.yaml"; NODE_IP=''; str_sec=""
23
24# wso2 subscription variables
25WUMUsername=''; WUMPassword=''
26
27: ${namespace:="wso2"}
28: ${randomPort:=False}; : ${NP_1:=30243}; : ${NP_2:=30443}
29
30# testgrid directory
31OUTPUT_DIR=$4; INPUT_DIR=$2
32
33# bash functions
34function usage(){
35 echo "Usage: "
36 echo -e "-d, --deploy Deploy WSO2 API Manager"
37 echo -e "-u, --undeploy Undeploy WSO2 API Manager"
38 echo -e "-h, --help Display usage instrusctions"
39}
40function undeploy(){
41 echoBold "Undeploying WSO2 API Manager ... \n"
42 kubectl delete -f deployment.yaml
43 exit 0
44}
45function echoBold () {
46 echo -en $'\e[1m'"${1}"$'\e[0m'
47}
48
49function display_msg(){
50 msg=$@
51 echoBold "${msg}"
52 exit 1
53}
54
55function st(){
56 cycles=${1}
57 i=0
58 while [[ i -lt $cycles ]]
59 do
60 echoBold "* "
61 let "i=i+1"
62 done
63}
64function sp(){
65 cycles=${1}
66 i=0
67 while [[ i -lt $cycles ]]
68 do
69 echoBold " "
70 let "i=i+1"
71 done
72}
73function product_name(){
74 #wso2apim
75 echo -e "\n"
76 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; sp 2; st 3; sp 1; sp 3; st 3; sp 3; st 5; sp 2; st 1; sp 8; st 1;
77 echo ""
78 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; sp 1; st 1; sp 4; st 1; sp 3; st 1; sp 4; st 1; sp 2; sp 3; st 1; sp 6; st 2; sp 4; st 2;
79 echo ""
80 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 6; st 1; sp 2; st 1; sp 4; st 1; sp 2; sp 3; st 1; sp 6; st 1; sp 1; st 1; sp 2; st 1; sp 1; st 1;
81 echo ""
82 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; st 3; sp 3; sp 4; st 1; sp 6; st 1; sp 2; st 2; sp 2; st 1;
83 echo ""
84 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 6; st 1; sp 2; st 1; sp 7; sp 4; st 1; sp 6; st 1; sp 3; st 1; sp 3; st 1;
85 echo ""
86 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 6; st 1; sp 2; st 1; sp 7; sp 4; st 1; sp 6; st 1; sp 8; st 1;
87 echo ""
88 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 1; sp 6; st 1; sp 2; st 1; sp 7; st 5; sp 2; st 1; sp 8; st 1;
89 echo -e "\n"
90}
91function create_yaml(){
92
93cat > $k8s_obj_file << "EOF"
94EOF
95if [ "$namespace" == "wso2" ]; then
96cat >> $k8s_obj_file << "EOF"
97apiVersion: v1
98kind: Namespace
99metadata:
100 name: wso2
101spec:
102 finalizers:
103 - kubernetes
104---
105EOF
106fi
107cat >> $k8s_obj_file << EOF
108apiVersion: v1
109kind: ServiceAccount
110metadata:
111 name: wso2svc-account
112 namespace: $namespace
113secrets:
114 - name: wso2svc-account-token-t7s49
115---
116
117apiVersion: v1
118data:
119 .dockerconfigjson: $str_sec
120kind: Secret
121metadata:
122 name: wso2creds
123 namespace: $namespace
124type: kubernetes.io/dockerconfigjson
125---
126EOF
127cat >> $k8s_obj_file << "EOF"
128apiVersion: v1
129data:
130 axis2.xml: |
131 <?xml version="1.0" encoding="ISO-8859-1"?>
132 <axisconfig name="AxisJava2.0">
133 <parameter name="hotdeployment" locked="false">true</parameter>
134 <parameter name="hotupdate" locked="false">true</parameter>
135 <parameter name="enableMTOM" locked="false">false</parameter>
136 <parameter name="enableSwA" locked="false">false</parameter>
137 <parameter name="cacheAttachments" locked="false">false</parameter>
138 <parameter name="attachmentDIR" locked="false">work/mtom</parameter>
139 <parameter name="sizeThreshold" locked="false">4000</parameter>
140 <parameter name="disableREST" locked="false">false</parameter>
141 <parameter name="Sandesha2StorageManager" locked="false">inmemory</parameter>
142 <parameter name="servicePath" locked="false">services</parameter>
143 <parameter name="ServicesDirectory">axis2services</parameter>
144 <parameter name="ModulesDirectory">axis2modules</parameter>
145 <parameter name="userAgent" locked="true">WSO2 AM 2.1.0</parameter>
146 <parameter name="server" locked="true">WSO2 AM 2.1.0</parameter>
147 <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</parameter>
148 <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
149 <parameter name="manageTransportSession" locked="false">true</parameter>
150 <parameter name="ConfigContextTimeoutInterval" locked="false">30000</parameter>
151 <parameter name="SynapseConfig.ConfigurationFile" locked="false">repository/deployment/server/synapse-configs</parameter>
152 <parameter name="SynapseConfig.HomeDirectory" locked="false">.</parameter>
153 <parameter name="SynapseConfig.ResolveRoot" locked="false">.</parameter>
154 <parameter name="SynapseConfig.ServerName" locked="false">localhost</parameter>
155 <listener class="org.wso2.carbon.core.deployment.DeploymentInterceptor"/>
156 <messageReceivers>
157 <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
158 class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
159 <messageReceiver mep="http://www.w3.org/ns/wsdl/robust-in-only"
160 class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
161 <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
162 class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
163 </messageReceivers>
164 <messageFormatters>
165 <messageFormatter contentType="application/x-www-form-urlencoded"
166 class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
167 <messageFormatter contentType="multipart/form-data"
168 class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
169 <messageFormatter contentType="text/html"
170 class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
171 <messageFormatter contentType="application/xml"
172 class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
173 <messageFormatter contentType="text/xml"
174 class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
175 <messageFormatter contentType="application/soap+xml"
176 class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
177 <messageFormatter contentType="text/plain"
178 class="org.apache.axis2.format.PlainTextFormatter"/>
179 <messageFormatter contentType="application/json"
180 class="org.apache.synapse.commons.json.JsonStreamFormatter"/>
181 <messageFormatter contentType="application/json/badgerfish"
182 class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/>
183 <messageFormatter contentType="text/javascript"
184 class="org.apache.axis2.json.JSONMessageFormatter"/>
185 <messageFormatter contentType="application/octet-stream"
186 class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
187 </messageFormatters>
188 <messageBuilders>
189 <messageBuilder contentType="application/xml"
190 class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
191 <messageBuilder contentType="text/html"
192 class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
193 <messageBuilder contentType="application/x-www-form-urlencoded"
194 class="org.apache.synapse.commons.builders.XFormURLEncodedBuilder"/>
195 <messageBuilder contentType="multipart/form-data"
196 class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
197 <messageBuilder contentType="text/plain"
198 class="org.apache.axis2.format.PlainTextBuilder"/>
199 <messageBuilder contentType="application/json"
200 class="org.apache.synapse.commons.json.JsonStreamBuilder"/>
201 <messageBuilder contentType="application/json/badgerfish"
202 class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/>
203 <messageBuilder contentType="text/javascript"
204 class="org.apache.axis2.json.JSONBuilder"/>
205 <messageBuilder contentType="application/octet-stream"
206 class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
207 </messageBuilders>
208 <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
209 <parameter name="port" locked="false">8280</parameter>
210 <parameter name="non-blocking" locked="false">true</parameter>
211 <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
212 </transportReceiver>
213 <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
214 <parameter name="port" locked="false">8243</parameter>
215 <parameter name="non-blocking" locked="false">true</parameter>
216 <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
217 <parameter name="keystore" locked="false">
218 <KeyStore>
219 <Location>repository/resources/security/wso2carbon.jks</Location>
220 <Type>JKS</Type>
221 <Password>wso2carbon</Password>
222 <KeyPassword>wso2carbon</KeyPassword>
223 </KeyStore>
224 </parameter>
225 <parameter name="truststore" locked="false">
226 <TrustStore>
227 <Location>repository/resources/security/client-truststore.jks</Location>
228 <Type>JKS</Type>
229 <Password>wso2carbon</Password>
230 </TrustStore>
231 </parameter>
232 </transportReceiver>
233 <transportReceiver name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/>
234 <transportSender name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpSender">
235 <parameter name="non-blocking" locked="false">true</parameter>
236 </transportSender>
237 <transportSender name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportSender"/>
238 <transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
239 <parameter name="non-blocking" locked="false">true</parameter>
240 <parameter name="keystore" locked="false">
241 <KeyStore>
242 <Location>repository/resources/security/wso2carbon.jks</Location>
243 <Type>JKS</Type>
244 <Password>wso2carbon</Password>
245 <KeyPassword>wso2carbon</KeyPassword>
246 </KeyStore>
247 </parameter>
248 <parameter name="truststore" locked="false">
249 <TrustStore>
250 <Location>repository/resources/security/client-truststore.jks</Location>
251 <Type>JKS</Type>
252 <Password>wso2carbon</Password>
253 </TrustStore>
254 </parameter>
255 <parameter name="dynamicSSLProfilesConfig">
256 <filePath>repository/resources/security/sslprofiles.xml</filePath>
257 <fileReadInterval>600000</fileReadInterval>
258 </parameter>
259 <parameter name="HostnameVerifier">AllowAll</parameter>
260 </transportSender>
261 <transportSender name="ws" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">
262 <parameter name="ws.outflow.dispatch.sequence" locked="false">outflowDispatchSeq</parameter>
263 <parameter name="ws.outflow.dispatch.fault.sequence" locked="false">outflowFaultSeq</parameter>
264 </transportSender>
265
266 <transportSender name="wss" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">
267 <parameter name="ws.outflow.dispatch.sequence" locked="false">outflowDispatchSeq</parameter>
268 <parameter name="ws.outflow.dispatch.fault.sequence" locked="false">outflowFaultSeq</parameter>
269 <parameter name="ws.trust.store" locked="false">
270 <ws.trust.store.location>repository/resources/security/client-truststore.jks</ws.trust.store.location>
271 <ws.trust.store.Password>wso2carbon</ws.trust.store.Password>
272 </parameter>
273 </transportSender>
274 <module ref="addressing"/>
275 <clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
276 enable="false">
277 <parameter name="AvoidInitiation">true</parameter>
278 <parameter name="membershipScheme">multicast</parameter>
279 <parameter name="domain">wso2.carbon.domain</parameter>
280 <parameter name="mcastPort">45564</parameter>
281
282 <parameter name="mcastTTL">100</parameter>
283
284 <parameter name="mcastTimeout">60</parameter>
285 <parameter name="localMemberHost">10.12.5.129</parameter>
286 <parameter name="localMemberPort">4000</parameter>
287 <parameter name="properties">
288 <property name="backendServerURL" value="https://${hostName}:${httpsPort}/services/"/>
289 <property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
290 <property name="subDomain" value="worker"/>
291 </parameter>
292 <members>
293 <member>
294 <hostName>127.0.0.1</hostName>
295 <port>4000</port>
296 </member>
297 </members>
298 <groupManagement enable="false">
299 <applicationDomain name="wso2.apim.domain"
300 description="APIM group"
301 agent="org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent"
302 subDomain="worker"
303 port="2222"/>
304 </groupManagement>
305 </clustering>
306 <phaseOrder type="InFlow">
307 <phase name="MsgInObservation">
308 <handler name="TraceMessageBuilderDispatchHandler"
309 class="org.apache.synapse.transport.passthru.util.TraceMessageBuilderDispatchHandler"/>
310 </phase>
311 <phase name="Validation"/>
312 <phase name="Transport">
313 <handler name="RequestURIBasedDispatcher"
314 class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
315 <order phase="Transport"/>
316 </handler>
317 <handler name="CarbonContextConfigurator"
318 class="org.wso2.carbon.mediation.initializer.handler.CarbonContextConfigurator"/>
319 <handler name="SOAPActionBasedDispatcher"
320 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
321 <order phase="Transport"/>
322 </handler>
323 <handler name="CarbonContentConfigurator"
324 class="org.wso2.carbon.mediation.initializer.handler.CarbonContextConfigurator"/>
325 </phase>
326 <phase name="Addressing">
327 <handler name="AddressingBasedDispatcher"
328 class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
329 <order phase="Addressing"/>
330 </handler>
331
332 </phase>
333 <phase name="Security"/>
334 <phase name="PreDispatch"/>
335 <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
336 <handler name="RequestURIBasedDispatcher"
337 class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
338 <handler name="SOAPActionBasedDispatcher"
339 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
340 <handler name="RequestURIOperationDispatcher"
341 class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
342 <handler name="SOAPMessageBodyBasedDispatcher"
343 class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
344
345 <handler name="HTTPLocationBasedDispatcher"
346 class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
347 <handler name="MultitenantDispatcher"
348 class="org.wso2.carbon.tenant.dispatcher.MultitenantDispatcher"/>
349 <handler name="SynapseDispatcher"
350 class="org.apache.synapse.core.axis2.SynapseDispatcher"/>
351 <handler name="SynapseMustUnderstandHandler"
352 class="org.apache.synapse.core.axis2.SynapseMustUnderstandHandler"/>
353 </phase>
354 <phase name="RMPhase"/>
355 <phase name="OpPhase"/>
356 <phase name="AuthPhase"/>
357 <phase name="MUPhase"/>
358 <phase name="OperationInPhase"/>
359 </phaseOrder>
360
361 <phaseOrder type="OutFlow">
362 <phase name="UEPPhase" />
363 <phase name="RMPhase"/>
364 <phase name="MUPhase"/>
365 <phase name="OpPhase"/>
366 <phase name="OperationOutPhase"/>
367 <phase name="PolicyDetermination"/>
368 <phase name="PTSecurityOutPhase">
369 <handler name="RelaySecuirtyMessageBuilderDispatchandler"
370 class="org.apache.synapse.transport.passthru.util.RelaySecuirtyMessageBuilderDispatchandler"/>
371 </phase>
372 <phase name="MessageOut"/>
373 <phase name="Security"/>
374 <phase name="MsgOutObservation"/>
375 </phaseOrder>
376
377 <phaseOrder type="InFaultFlow">
378 <phase name="MsgInObservation"/>
379 <phase name="Validation"/>
380
381 <phase name="Transport">
382 <handler name="RequestURIBasedDispatcher"
383 class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
384 <order phase="Transport"/>
385 </handler>
386 <handler name="SOAPActionBasedDispatcher"
387 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
388 <order phase="Transport"/>
389 </handler>
390 <handler name="CarbonContentConfigurator"
391 class="org.wso2.carbon.mediation.initializer.handler.CarbonContextConfigurator"/>
392 </phase>
393
394 <phase name="Addressing">
395 <handler name="AddressingBasedDispatcher"
396 class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
397 <order phase="Addressing"/>
398 </handler>
399 </phase>
400
401 <phase name="Security"/>
402 <phase name="PreDispatch"/>
403 <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
404 <handler name="RequestURIBasedDispatcher"
405 class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
406 <handler name="SOAPActionBasedDispatcher"
407 class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
408 <handler name="RequestURIOperationDispatcher"
409 class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
410 <handler name="SOAPMessageBodyBasedDispatcher"
411 class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
412
413 <handler name="HTTPLocationBasedDispatcher"
414 class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
415 </phase>
416 <phase name="RMPhase"/>
417 <phase name="OpPhase"/>
418 <phase name="MUPhase"/>
419 <phase name="OperationInFaultPhase"/>
420 </phaseOrder>
421
422 <phaseOrder type="OutFaultFlow">
423 <phase name="UEPPhase" />
424 <phase name="RMPhase"/>
425 <phase name="MUPhase"/>
426 <phase name="OperationOutFaultPhase"/>
427 <phase name="PolicyDetermination"/>
428 <phase name="MessageOut"/>
429 <phase name="Security"/>
430 <phase name="Transport"/>
431 <phase name="MsgOutObservation"/>
432 </phaseOrder>
433
434 </axisconfig>
435kind: ConfigMap
436metadata:
437 name: apim-conf-axis2
438EOF
439
440cat >> $k8s_obj_file << EOF
441 namespace: $namespace
442---
443EOF
444
445cat >> $k8s_obj_file << "EOF"
446apiVersion: v1
447data:
448 api-manager.xml: |
449 <APIManager>
450 <DataSourceName>jdbc/WSO2AM_DB</DataSourceName>
451 <GatewayType>Synapse</GatewayType>
452 <EnableSecureVault>false</EnableSecureVault>
453 <AuthManager>
454 <ServerURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServerURL>
455 <Username>${admin.username}</Username>
456 <Password>${admin.password}</Password>
457 <CheckPermissionsRemotely>false</CheckPermissionsRemotely>
458 </AuthManager>
459 <JWTConfiguration>
460 <JWTHeader>X-JWT-Assertion</JWTHeader>
461 <JWTGeneratorImpl>org.wso2.carbon.apimgt.keymgt.token.JWTGenerator</JWTGeneratorImpl>
462 </JWTConfiguration>
463 <APIGateway>
464 <Environments>
465 <Environment type="hybrid" api-console="true">
466 <Name>Production and Sandbox</Name>
467 <Description>This is a hybrid gateway that handles both production and sandbox token traffic.</Description>
468 <ServerURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServerURL>
469 <Username>${admin.username}</Username>
470 <Password>${admin.password}</Password>
471EOF
472
473
474echo " <GatewayEndpoint>http://'$NODE_IP':30243,https://'$NODE_IP':30243</GatewayEndpoint>" >> $k8s_obj_file
475
476cat >> $k8s_obj_file << "EOF"
477 <GatewayWSEndpoint>ws://${carbon.local.ip}:9099</GatewayWSEndpoint>
478 </Environment>
479 </Environments>
480 </APIGateway>
481 <CacheConfigurations>
482 <EnableGatewayTokenCache>true</EnableGatewayTokenCache>
483 <EnableGatewayResourceCache>true</EnableGatewayResourceCache>
484 <EnableKeyManagerTokenCache>false</EnableKeyManagerTokenCache>
485 <EnableRecentlyAddedAPICache>false</EnableRecentlyAddedAPICache>
486 <EnableScopeCache>true</EnableScopeCache>
487 <EnablePublisherRoleCache>true</EnablePublisherRoleCache>
488 <EnableJWTClaimCache>true</EnableJWTClaimCache>
489 </CacheConfigurations>
490 <Analytics>
491 <Enabled>true</Enabled>
492 <StreamProcessorServerURL>tcp://wso2apim-with-analytics-apim-analytics-service:7612</StreamProcessorServerURL>
493 <StreamProcessorAuthServerURL>ssl://wso2apim-with-analytics-apim-analytics-service:7712</StreamProcessorAuthServerURL>
494 <StreamProcessorUsername>${admin.username}</StreamProcessorUsername>
495 <StreamProcessorPassword>${admin.password}</StreamProcessorPassword>
496 <StatsProviderImpl>org.wso2.carbon.apimgt.usage.client.impl.APIUsageStatisticsRestClientImpl</StatsProviderImpl>
497 <StreamProcessorRestApiURL>https://wso2apim-with-analytics-apim-analytics-service:7444</StreamProcessorRestApiURL>
498 <StreamProcessorRestApiUsername>${admin.username}</StreamProcessorRestApiUsername>
499 <StreamProcessorRestApiPassword>${admin.password}</StreamProcessorRestApiPassword>
500 <SkipEventReceiverConnection>false</SkipEventReceiverConnection>
501 <SkipWorkflowEventPublisher>false</SkipWorkflowEventPublisher>
502 <PublisherClass>org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher</PublisherClass>
503 <PublishResponseMessageSize>false</PublishResponseMessageSize>
504 <Streams>
505 <Request>
506 <Name>org.wso2.apimgt.statistics.request</Name>
507 <Version>3.0.0</Version>
508 </Request>
509 <Fault>
510 <Name>org.wso2.apimgt.statistics.fault</Name>
511 <Version>3.0.0</Version>
512 </Fault>
513 <Throttle>
514 <Name>org.wso2.apimgt.statistics.throttle</Name>
515 <Version>3.0.0</Version>
516 </Throttle>
517 <Workflow>
518 <Name>org.wso2.apimgt.statistics.workflow</Name>
519 <Version>1.0.0</Version>
520 </Workflow>
521 <AlertTypes>
522 <Name>org.wso2.analytics.apim.alertStakeholderInfo</Name>
523 <Version>1.0.1</Version>
524 </AlertTypes>
525 </Streams>
526 </Analytics>
527 <APIKeyValidator>
528 <ServerURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServerURL>
529 <Username>${admin.username}</Username>
530 <Password>${admin.password}</Password>
531 <KeyValidatorClientType>ThriftClient</KeyValidatorClientType>
532 <ThriftClientConnectionTimeOut>10000</ThriftClientConnectionTimeOut>
533 <EnableThriftServer>true</EnableThriftServer>
534 <ThriftServerHost>localhost</ThriftServerHost>
535 <KeyValidationHandlerClassName>org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler</KeyValidationHandlerClassName>
536 </APIKeyValidator>
537 <OAuthConfigurations>
538 <ApplicationTokenScope>am_application_scope</ApplicationTokenScope>
539 <TokenEndPointName>/oauth2/token</TokenEndPointName>
540 <RevokeAPIURL>https://localhost:${https.nio.port}/revoke</RevokeAPIURL>
541 <EncryptPersistedTokens>false</EncryptPersistedTokens>
542 <EnableTokenHashMode>false</EnableTokenHashMode>
543 </OAuthConfigurations>
544 <TierManagement>
545 <EnableUnlimitedTier>true</EnableUnlimitedTier>
546 </TierManagement>
547 <APIStore>
548 <CompareCaseInsensitively>true</CompareCaseInsensitively>
549 <DisplayURL>false</DisplayURL>
550EOF
551
552echo " <URL>https://$NODE_IP:30443/store</URL>" >> $k8s_obj_file
553echo " <ServerURL>https://localhost:9443/services/</ServerURL>" >> $k8s_obj_file
554
555cat >> $k8s_obj_file << "EOF"
556 <Username>${admin.username}</Username>
557 <Password>${admin.password}</Password>
558 <DisplayMultipleVersions>false</DisplayMultipleVersions>
559 <DisplayAllAPIs>false</DisplayAllAPIs>
560 <DisplayComments>true</DisplayComments>
561 <DisplayRatings>true</DisplayRatings>
562 </APIStore>
563 <APIPublisher>
564 <DisplayURL>false</DisplayURL>
565 <URL>https://localhost:${mgt.transport.https.port}/publisher</URL>
566 <EnableAccessControl>true</EnableAccessControl>
567 </APIPublisher>
568 <CORSConfiguration>
569 <Enabled>true</Enabled>
570 <Access-Control-Allow-Origin>*</Access-Control-Allow-Origin>
571 <Access-Control-Allow-Methods>GET,PUT,POST,DELETE,PATCH,OPTIONS</Access-Control-Allow-Methods>
572 <Access-Control-Allow-Headers>authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction</Access-Control-Allow-Headers>
573 <Access-Control-Allow-Credentials>false</Access-Control-Allow-Credentials>
574 </CORSConfiguration>
575 <RESTAPI>
576 <WhiteListedURIs>
577 <WhiteListedURI>
578 <URI>/api/am/publisher/{version}/swagger.json</URI>
579 <HTTPMethods>GET,HEAD</HTTPMethods>
580 </WhiteListedURI>
581 <WhiteListedURI>
582 <URI>/api/am/store/{version}/swagger.json</URI>
583 <HTTPMethods>GET,HEAD</HTTPMethods>
584 </WhiteListedURI>
585 <WhiteListedURI>
586 <URI>/api/am/admin/{version}/swagger.json</URI>
587 <HTTPMethods>GET,HEAD</HTTPMethods>
588 </WhiteListedURI>
589 <WhiteListedURI>
590 <URI>/api/am/store/{version}/apis</URI>
591 <HTTPMethods>GET,HEAD</HTTPMethods>
592 </WhiteListedURI>
593 <WhiteListedURI>
594 <URI>/api/am/store/{version}/apis/{apiId}</URI>
595 <HTTPMethods>GET,HEAD</HTTPMethods>
596 </WhiteListedURI>
597 <WhiteListedURI>
598 <URI>/api/am/store/{version}/apis/{apiId}/swagger</URI>
599 <HTTPMethods>GET,HEAD</HTTPMethods>
600 </WhiteListedURI>
601 <WhiteListedURI>
602 <URI>/api/am/store/{version}/apis/{apiId}/documents</URI>
603 <HTTPMethods>GET,HEAD</HTTPMethods>
604 </WhiteListedURI>
605 <WhiteListedURI>
606 <URI>/api/am/store/{version}/apis/{apiId}/documents/{documentId}</URI>
607 <HTTPMethods>GET,HEAD</HTTPMethods>
608 </WhiteListedURI>
609 <WhiteListedURI>
610 <URI>/api/am/store/{version}/apis/{apiId}/documents/{documentId}/content</URI>
611 <HTTPMethods>GET,HEAD</HTTPMethods>
612 </WhiteListedURI>
613 <WhiteListedURI>
614 <URI>/api/am/store/{version}/apis/{apiId}/thumbnail</URI>
615 <HTTPMethods>GET,HEAD</HTTPMethods>
616 </WhiteListedURI>
617 <WhiteListedURI>
618 <URI>/api/am/store/{version}/tags</URI>
619 <HTTPMethods>GET,HEAD</HTTPMethods>
620 </WhiteListedURI>
621 <WhiteListedURI>
622 <URI>/api/am/store/{version}/tiers/{tierLevel}</URI>
623 <HTTPMethods>GET,HEAD</HTTPMethods>
624 </WhiteListedURI>
625 <WhiteListedURI>
626 <URI>/api/am/store/{version}/tiers/{tierLevel}/{tierName}</URI>
627 <HTTPMethods>GET,HEAD</HTTPMethods>
628 </WhiteListedURI>
629 </WhiteListedURIs>
630 <ETagSkipList>
631 <ETagSkipURI>
632 <URI>/api/am/store/{version}/apis</URI>
633 <HTTPMethods>GET</HTTPMethods>
634 </ETagSkipURI>
635 <ETagSkipURI>
636 <URI>/api/am/store/{version}/apis/generate-sdk</URI>
637 <HTTPMethods>POST</HTTPMethods>
638 </ETagSkipURI>
639 <ETagSkipURI>
640 <URI>/api/am/store/{version}/apis/{apiId}/documents</URI>
641 <HTTPMethods>GET</HTTPMethods>
642 </ETagSkipURI>
643 <ETagSkipURI>
644 <URI>/api/am/store/{version}/applications</URI>
645 <HTTPMethods>GET</HTTPMethods>
646 </ETagSkipURI>
647 <ETagSkipURI>
648 <URI>/api/am/store/{version}/applications/generate-keys</URI>
649 <HTTPMethods>POST</HTTPMethods>
650 </ETagSkipURI>
651 <ETagSkipURI>
652 <URI>/api/am/store/{version}/subscriptions</URI>
653 <HTTPMethods>GET,POST</HTTPMethods>
654 </ETagSkipURI>
655 <ETagSkipURI>
656 <URI>/api/am/store/{version}/tags</URI>
657 <HTTPMethods>GET</HTTPMethods>
658 </ETagSkipURI>
659 <ETagSkipURI>
660 <URI>/api/am/store/{version}/tiers/{tierLevel}</URI>
661 <HTTPMethods>GET</HTTPMethods>
662 </ETagSkipURI>
663 <ETagSkipURI>
664 <URI>/api/am/store/{version}/tiers/{tierLevel}/{tierName}</URI>
665 <HTTPMethods>GET</HTTPMethods>
666 </ETagSkipURI>
667 <ETagSkipURI>
668 <URI>/api/am/publisher/{version}/apis</URI>
669 <HTTPMethods>GET,POST</HTTPMethods>
670 </ETagSkipURI>
671 <ETagSkipURI>
672 <URI>/api/am/publisher/{version}/apis/{apiId}</URI>
673 <HTTPMethods>GET,DELETE,PUT</HTTPMethods>
674 </ETagSkipURI>
675 <ETagSkipURI>
676 <URI>/api/am/publisher/{version}/apis/{apiId}/swagger</URI>
677 <HTTPMethods>GET,PUT</HTTPMethods>
678 </ETagSkipURI>
679 <ETagSkipURI>
680 <URI>/api/am/publisher/{version}/apis/{apiId}/thumbnail</URI>
681 <HTTPMethods>GET,POST</HTTPMethods>
682 </ETagSkipURI>
683 <ETagSkipURI>
684 <URI>/api/am/publisher/{version}/apis/{apiId}/change-lifecycle</URI>
685 <HTTPMethods>POST</HTTPMethods>
686 </ETagSkipURI>
687 <ETagSkipURI>
688 <URI>/api/am/publisher/{version}/apis/{apiId}/copy-api</URI>
689 <HTTPMethods>POST</HTTPMethods>
690 </ETagSkipURI>
691 <ETagSkipURI>
692 <URI>/api/am/publisher/{version}/applications/{applicationId}</URI>
693 <HTTPMethods>GET</HTTPMethods>
694 </ETagSkipURI>
695 <ETagSkipURI>
696 <URI>/api/am/publisher/{version}/apis/{apiId}/documents</URI>
697 <HTTPMethods>GET,POST</HTTPMethods>
698 </ETagSkipURI>
699 <ETagSkipURI>
700 <URI>/api/am/publisher/{version}/apis/{apiId}/documents/{documentId}/content</URI>
701 <HTTPMethods>GET,POST</HTTPMethods>
702 </ETagSkipURI>
703 <ETagSkipURI>
704 <URI>/api/am/publisher/{version}/apis/{apiId}/documents/{documentId}</URI>
705 <HTTPMethods>GET,PUT,DELETE</HTTPMethods>
706 </ETagSkipURI>
707 <ETagSkipURI>
708 <URI>/api/am/publisher/{version}/environments</URI>
709 <HTTPMethods>GET</HTTPMethods>
710 </ETagSkipURI>
711 <ETagSkipURI>
712 <URI>/api/am/publisher/{version}/subscriptions</URI>
713 <HTTPMethods>GET</HTTPMethods>
714 </ETagSkipURI>
715 <ETagSkipURI>
716 <URI>/api/am/publisher/{version}/subscriptions/block-subscription</URI>
717 <HTTPMethods>POST</HTTPMethods>
718 </ETagSkipURI>
719 <ETagSkipURI>
720 <URI>/api/am/publisher/{version}/subscriptions/{subscriptionId}</URI>
721 <HTTPMethods>GET</HTTPMethods>
722 </ETagSkipURI>
723 <ETagSkipURI>
724 <URI>/api/am/publisher/{version}/subscriptions/unblock-subscription</URI>
725 <HTTPMethods>POST</HTTPMethods>
726 </ETagSkipURI>
727 <ETagSkipURI>
728 <URI>/api/am/publisher/{version}/tiers/{tierLevel}</URI>
729 <HTTPMethods>GET,POST</HTTPMethods>
730 </ETagSkipURI>
731 <ETagSkipURI>
732 <URI>/api/am/publisher/{version}/tiers/{tierLevel}/{tierName}</URI>
733 <HTTPMethods>GET,PUT,DELETE</HTTPMethods>
734 </ETagSkipURI>
735 <ETagSkipURI>
736 <URI>/api/am/publisher/{version}/tiers/update-permission</URI>
737 <HTTPMethods>POST</HTTPMethods>
738 </ETagSkipURI>
739 </ETagSkipList>
740 </RESTAPI>
741 <ThrottlingConfigurations>
742 <EnableAdvanceThrottling>true</EnableAdvanceThrottling>
743 <TrafficManager>
744 <Type>Binary</Type>
745 <ReceiverUrlGroup>tcp://${carbon.local.ip}:${receiver.url.port}</ReceiverUrlGroup>
746 <AuthUrlGroup>ssl://${carbon.local.ip}:${auth.url.port}</AuthUrlGroup>
747 <Username>${admin.username}</Username>
748 <Password>${admin.password}</Password>
749 </TrafficManager>
750 <DataPublisher>
751 <Enabled>true</Enabled>
752 <DataPublisherPool>
753 <MaxIdle>1000</MaxIdle>
754 <InitIdleCapacity>200</InitIdleCapacity>
755 </DataPublisherPool>
756 <DataPublisherThreadPool>
757 <CorePoolSize>200</CorePoolSize>
758 <MaxmimumPoolSize>1000</MaxmimumPoolSize>
759 <KeepAliveTime>200</KeepAliveTime>
760 </DataPublisherThreadPool>
761 </DataPublisher>
762 <PolicyDeployer>
763 <Enabled>true</Enabled>
764 <ServiceURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServiceURL>
765 <Username>${admin.username}</Username>
766 <Password>${admin.password}</Password>
767 </PolicyDeployer>
768 <BlockCondition>
769 <Enabled>true</Enabled>
770 </BlockCondition>
771 <JMSConnectionDetails>
772 <Enabled>true</Enabled>
773 <JMSConnectionParameters>
774 <transport.jms.ConnectionFactoryJNDIName>TopicConnectionFactory</transport.jms.ConnectionFactoryJNDIName>
775 <transport.jms.DestinationType>topic</transport.jms.DestinationType>
776 <java.naming.factory.initial>org.wso2.andes.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial>
777 <connectionfactory.TopicConnectionFactory>amqp://${admin.username}:${admin.password}@clientid/carbon?brokerlist='tcp://${carbon.local.ip}:${jms.port}'</connectionfactory.TopicConnectionFactory>
778 </JMSConnectionParameters>
779 </JMSConnectionDetails>=
780 <EnableUnlimitedTier>true</EnableUnlimitedTier>
781 <EnableHeaderConditions>false</EnableHeaderConditions>
782 <EnableJWTClaimConditions>false</EnableJWTClaimConditions>
783 <EnableQueryParamConditions>false</EnableQueryParamConditions>
784 </ThrottlingConfigurations>
785 <WorkflowConfigurations>
786 <Enabled>false</Enabled>
787 <ServerUrl>https://localhost:9445/bpmn</ServerUrl>
788 <ServerUser>${admin.username}</ServerUser>
789 <ServerPassword>${admin.password}</ServerPassword>
790 <WorkflowCallbackAPI>https://localhost:${mgt.transport.https.port}/api/am/publisher/v0.14/workflows/update-workflow-status</WorkflowCallbackAPI>
791 <TokenEndPoint>https://localhost:${https.nio.port}/token</TokenEndPoint>
792 <DCREndPoint>https://localhost:${mgt.transport.https.port}/client-registration/v0.14/register</DCREndPoint>
793 <DCREndPointUser>${admin.username}</DCREndPointUser>
794 <DCREndPointPassword>${admin.password}</DCREndPointPassword>
795 </WorkflowConfigurations>
796 <SwaggerCodegen>
797 <ClientGeneration>
798 <GroupId>org.wso2</GroupId>
799 <ArtifactId>org.wso2.client.</ArtifactId>
800 <ModelPackage>org.wso2.client.model.</ModelPackage>
801 <ApiPackage>org.wso2.client.api.</ApiPackage>
802 <SupportedLanguages>java,android</SupportedLanguages>
803 </ClientGeneration>
804 </SwaggerCodegen>
805 </APIManager>
806 carbon.xml: |
807 <?xml version="1.0" encoding="ISO-8859-1"?>
808 <Server xmlns="http://wso2.org/projects/carbon/carbon.xml">
809 <Name>WSO2 API Manager</Name>
810 <ServerKey>AM</ServerKey>
811 <Version>2.6.0</Version>
812EOF
813
814echo " <HostName>$NODE_IP</HostName>" >> $k8s_obj_file
815
816echo " <MgtHostName>$NODE_IP</MgtHostName>" >> $k8s_obj_file
817
818cat >> $k8s_obj_file << "EOF"
819 <ServerURL>local:/${carbon.context}/services/</ServerURL>
820 <ServerRoles>
821 <Role>APIManager</Role>
822 </ServerRoles>
823 <Package>org.wso2.carbon</Package>
824 <WebContextRoot>/</WebContextRoot>
825 <ItemsPerPage>15</ItemsPerPage>
826 <Ports>
827 <Offset>0</Offset>
828 <JMX>
829 <RMIRegistryPort>9999</RMIRegistryPort>
830 <RMIServerPort>11111</RMIServerPort>
831 </JMX>
832 <EmbeddedLDAP>
833 <LDAPServerPort>10389</LDAPServerPort>
834 <KDCServerPort>8000</KDCServerPort>
835 </EmbeddedLDAP>
836 <ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort>
837 </Ports>
838 <JNDI>
839 <DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory>
840 <Restrictions>
841 <AllTenants>
842 <UrlContexts>
843 <UrlContext>
844 <Scheme>java</Scheme>
845 </UrlContext>
846 </UrlContexts>
847 </AllTenants>
848 </Restrictions>
849 </JNDI>
850 <IsCloudDeployment>false</IsCloudDeployment>
851 <EnableMetering>false</EnableMetering>
852 <MaxThreadExecutionTime>600</MaxThreadExecutionTime>
853 <GhostDeployment>
854 <Enabled>false</Enabled>
855 </GhostDeployment>
856 <Tenant>
857 <LoadingPolicy>
858 <LazyLoading>
859 <IdleTime>30</IdleTime>
860 </LazyLoading>
861 </LoadingPolicy>
862 </Tenant>
863 <Cache>
864 <DefaultCacheTimeout>15</DefaultCacheTimeout>
865 <ForceLocalCache>false</ForceLocalCache>
866 </Cache>
867 <Axis2Config>
868 <RepositoryLocation>${carbon.home}/repository/deployment/server/</RepositoryLocation>
869 <DeploymentUpdateInterval>15</DeploymentUpdateInterval>
870 <ConfigurationFile>${carbon.home}/repository/conf/axis2/axis2.xml</ConfigurationFile>
871 <ServiceGroupContextIdleTime>30000</ServiceGroupContextIdleTime>
872 <ClientRepositoryLocation>${carbon.home}/repository/deployment/client/</ClientRepositoryLocation>
873 <clientAxis2XmlLocation>${carbon.home}/repository/conf/axis2/axis2_client.xml</clientAxis2XmlLocation>
874 <HideAdminServiceWSDLs>true</HideAdminServiceWSDLs>
875 </Axis2Config>
876 <ServiceUserRoles>
877 <Role>
878 <Name>admin</Name>
879 <Description>Default Administrator Role</Description>
880 </Role>
881 <Role>
882 <Name>user</Name>
883 <Description>Default User Role</Description>
884 </Role>
885 </ServiceUserRoles>
886 <CryptoService>
887 <Enabled>true</Enabled>
888 <InternalCryptoProviderClassName>org.wso2.carbon.crypto.provider.KeyStoreBasedInternalCryptoProvider</InternalCryptoProviderClassName>
889 <ExternalCryptoProviderClassName>org.wso2.carbon.core.encryption.KeyStoreBasedExternalCryptoProvider</ExternalCryptoProviderClassName>
890 <KeyResolvers>
891 <KeyResolver className="org.wso2.carbon.crypto.defaultProvider.resolver.ContextIndependentKeyResolver" priority="-1"/>
892 </KeyResolvers>
893 </CryptoService>
894 <Security>
895 <KeyStore>
896 <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
897 <Type>JKS</Type>
898 <Password>wso2carbon</Password>
899 <KeyAlias>wso2carbon</KeyAlias>
900 <KeyPassword>wso2carbon</KeyPassword>
901 </KeyStore>
902 <InternalKeyStore>
903 <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
904 <Type>JKS</Type>
905 <Password>wso2carbon</Password>
906 <KeyAlias>wso2carbon</KeyAlias>
907 <KeyPassword>wso2carbon</KeyPassword>
908 </InternalKeyStore>
909 <TrustStore>
910 <Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location>
911 <Type>JKS</Type>
912 <Password>wso2carbon</Password>
913 </TrustStore>
914 <NetworkAuthenticatorConfig>
915 </NetworkAuthenticatorConfig>
916 <TomcatRealm>UserManager</TomcatRealm>
917 <DisableTokenStore>false</DisableTokenStore>
918 <XSSPreventionConfig>
919 <Enabled>true</Enabled>
920 <Rule>allow</Rule>
921 <Patterns>
922 </Patterns>
923 </XSSPreventionConfig>
924 </Security>
925 <HideMenuItemIds>
926 <HideMenuItemId>claim_mgt_menu</HideMenuItemId>
927 <HideMenuItemId>identity_mgt_emailtemplate_menu</HideMenuItemId>
928 <HideMenuItemId>identity_security_questions_menu</HideMenuItemId>
929 </HideMenuItemIds>
930 <WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>
931 <HouseKeeping>
932 <AutoStart>true</AutoStart>
933 <Interval>10</Interval>
934 <MaxTempFileLifetime>30</MaxTempFileLifetime>
935 </HouseKeeping>
936 <FileUploadConfig>
937 <TotalFileSizeLimit>100</TotalFileSizeLimit>
938 <Mapping>
939 <Actions>
940 <Action>keystore</Action>
941 <Action>certificate</Action>
942 <Action>*</Action>
943 </Actions>
944 <Class>org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor</Class>
945 </Mapping>
946 <Mapping>
947 <Actions>
948 <Action>jarZip</Action>
949 </Actions>
950 <Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
951 </Mapping>
952 <Mapping>
953 <Actions>
954 <Action>dbs</Action>
955 </Actions>
956 <Class>org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor</Class>
957 </Mapping>
958 <Mapping>
959 <Actions>
960 <Action>tools</Action>
961 </Actions>
962 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor</Class>
963 </Mapping>
964 <Mapping>
965 <Actions>
966 <Action>toolsAny</Action>
967 </Actions>
968 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class>
969 </Mapping>
970 </FileUploadConfig>
971 <HttpGetRequestProcessors>
972 <Processor>
973 <Item>info</Item>
974 <Class>org.wso2.carbon.core.transports.util.InfoProcessor</Class>
975 </Processor>
976 <Processor>
977 <Item>wsdl</Item>
978 <Class>org.wso2.carbon.core.transports.util.Wsdl11Processor</Class>
979 </Processor>
980 <Processor>
981 <Item>wsdl2</Item>
982 <Class>org.wso2.carbon.core.transports.util.Wsdl20Processor</Class>
983 </Processor>
984 <Processor>
985 <Item>xsd</Item>
986 <Class>org.wso2.carbon.core.transports.util.XsdProcessor</Class>
987 </Processor>
988 </HttpGetRequestProcessors>
989 <DeploymentSynchronizer>
990 <Enabled>false</Enabled>
991 <AutoCommit>false</AutoCommit>
992 <AutoCheckout>true</AutoCheckout>
993 <RepositoryType>svn</RepositoryType>
994 <SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
995 <SvnUser>username</SvnUser>
996 <SvnPassword>password</SvnPassword>
997 <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
998 </DeploymentSynchronizer>
999 <ServerInitializers>
1000 </ServerInitializers>
1001 <RequireCarbonServlet>${require.carbon.servlet}</RequireCarbonServlet>
1002 <StatisticsReporterDisabled>true</StatisticsReporterDisabled>
1003 <FeatureRepository>
1004 <RepositoryName>default repository</RepositoryName>
1005 <RepositoryURL>http://product-dist.wso2.com/p2/carbon/releases/wilkes/</RepositoryURL>
1006 </FeatureRepository>
1007 <APIManagement>
1008 <Enabled>true</Enabled>
1009 <LoadAPIContextsInServerStartup>true</LoadAPIContextsInServerStartup>
1010 </APIManagement>
1011 </Server>
1012 user-mgt.xml: |
1013 <?xml version="1.0" encoding="UTF-8"?>
1014 <UserManager>
1015 <Realm>
1016 <Configuration>
1017 <AddAdmin>true</AddAdmin>
1018 <AdminRole>admin</AdminRole>
1019 <AdminUser>
1020 <UserName>admin</UserName>
1021 <Password>admin</Password>
1022 </AdminUser>
1023 <EveryOneRoleName>everyone</EveryOneRoleName>
1024 <Property name="isCascadeDeleteEnabled">true</Property>
1025 <Property name="initializeNewClaimManager">true</Property>
1026 <Property name="dataSource">jdbc/WSO2UM_DB</Property>
1027 </Configuration>
1028 <UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
1029 <Property name="TenantManager">org.wso2.carbon.user.core.tenant.JDBCTenantManager</Property>
1030 <Property name="ReadOnly">false</Property>
1031 <Property name="ReadGroups">true</Property>
1032 <Property name="WriteGroups">true</Property>
1033 <Property name="UsernameJavaRegEx">^[\S]{3,30}$</Property>
1034 <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
1035 <Property name="UsernameJavaRegExViolationErrorMsg">Username pattern policy violated</Property>
1036 <Property name="PasswordJavaRegEx">^[\S]{5,30}$</Property>
1037 <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
1038 <Property name="PasswordJavaRegExViolationErrorMsg">Password length should be within 5 to 30 characters</Property>
1039 <Property name="RolenameJavaRegEx">^[\S]{3,30}$</Property>
1040 <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
1041 <Property name="CaseInsensitiveUsername">true</Property>
1042 <Property name="SCIMEnabled">false</Property>
1043 <Property name="IsBulkImportSupported">true</Property>
1044 <Property name="PasswordDigest">SHA-256</Property>
1045 <Property name="StoreSaltedPassword">true</Property>
1046 <Property name="MultiAttributeSeparator">,</Property>
1047 <Property name="MaxUserNameListLength">100</Property>
1048 <Property name="MaxRoleNameListLength">100</Property>
1049 <Property name="UserRolesCacheEnabled">true</Property>
1050 <Property name="UserNameUniqueAcrossTenants">false</Property>
1051 </UserStoreManager>
1052 <AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
1053 <Property name="AdminRoleManagementPermissions">/permission</Property>
1054 <Property name="AuthorizationCacheEnabled">true</Property>
1055 <Property name="GetAllRolesOfUserEnabled">false</Property>
1056 </AuthorizationManager>
1057 </Realm>
1058 </UserManager>
1059kind: ConfigMap
1060metadata:
1061 name: apim-conf
1062EOF
1063
1064cat >> $k8s_obj_file << EOF
1065 namespace: $namespace
1066---
1067
1068apiVersion: v1
1069data:
1070 master-datasources.xml: |
1071 <datasources-configuration xmlns:svns="http://org.wso2.securevault/configuration">
1072 <providers>
1073 <provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
1074 </providers>
1075 <datasources>
1076 <datasource>
1077 <name>WSO2_CARBON_DB</name>
1078 <description>The datasource used for registry and user manager</description>
1079 <jndiConfig>
1080 <name>jdbc/WSO2CarbonDB</name>
1081 </jndiConfig>
1082 <definition type="RDBMS">
1083 <configuration>
1084 <url>jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE</url>
1085 <username>wso2carbon</username>
1086 <password>wso2carbon</password>
1087 <driverClassName>org.h2.Driver</driverClassName>
1088 <maxActive>50</maxActive>
1089 <maxWait>60000</maxWait>
1090 <testOnBorrow>true</testOnBorrow>
1091 <validationQuery>SELECT 1</validationQuery>
1092 <validationInterval>30000</validationInterval>
1093 <defaultAutoCommit>true</defaultAutoCommit>
1094 </configuration>
1095 </definition>
1096 </datasource>
1097 <datasource>
1098 <name>WSO2AM_DB</name>
1099 <description>The datasource used for API Manager database</description>
1100 <jndiConfig>
1101 <name>jdbc/WSO2AM_DB</name>
1102 </jndiConfig>
1103 <definition type="RDBMS">
1104 <configuration>
1105 <url>jdbc:mysql://wso2apim-with-analytics-rdbms-service:3306/WSO2AM_APIMGT_DB?autoReconnect=true&useSSL=false</url>
1106 <username>wso2carbon</username>
1107 <password>wso2carbon</password>
1108 <defaultAutoCommit>false</defaultAutoCommit>
1109 <driverClassName>com.mysql.jdbc.Driver</driverClassName>
1110 <maxActive>50</maxActive>
1111 <maxWait>60000</maxWait>
1112 <testOnBorrow>true</testOnBorrow>
1113 <validationQuery>SELECT 1</validationQuery>
1114 <validationInterval>30000</validationInterval>
1115 </configuration>
1116 </definition>
1117 </datasource>
1118 <datasource>
1119 <name>WSO2UM_DB</name>
1120 <description>The datasource used by user manager</description>
1121 <jndiConfig>
1122 <name>jdbc/WSO2UM_DB</name>
1123 </jndiConfig>
1124 <definition type="RDBMS">
1125 <configuration>
1126 <url>jdbc:mysql://wso2apim-with-analytics-rdbms-service:3306/WSO2AM_COMMON_DB?autoReconnect=true&useSSL=false</url>
1127 <username>wso2carbon</username>
1128 <password>wso2carbon</password>
1129 <driverClassName>com.mysql.jdbc.Driver</driverClassName>
1130 <maxActive>50</maxActive>
1131 <maxWait>60000</maxWait>
1132 <testOnBorrow>true</testOnBorrow>
1133 <validationQuery>SELECT 1</validationQuery>
1134 <validationInterval>30000</validationInterval>
1135 </configuration>
1136 </definition>
1137 </datasource>
1138 <datasource>
1139 <name>WSO2REG_DB</name>
1140 <description>The datasource used by the registry</description>
1141 <jndiConfig>
1142 <name>jdbc/WSO2REG_DB</name>
1143 </jndiConfig>
1144 <definition type="RDBMS">
1145 <configuration>
1146 <url>jdbc:mysql://wso2apim-with-analytics-rdbms-service:3306/WSO2AM_COMMON_DB?autoReconnect=true&useSSL=false</url>
1147 <username>wso2carbon</username>
1148 <password>wso2carbon</password>
1149 <driverClassName>com.mysql.jdbc.Driver</driverClassName>
1150 <maxActive>50</maxActive>
1151 <maxWait>60000</maxWait>
1152 <testOnBorrow>true</testOnBorrow>
1153 <validationQuery>SELECT 1</validationQuery>
1154 <validationInterval>30000</validationInterval>
1155 <defaultAutoCommit>true</defaultAutoCommit>
1156 </configuration>
1157 </definition>
1158 </datasource>
1159 <datasource>
1160 <name>WSO2_MB_STORE_DB</name>
1161 <description>The datasource used for message broker database</description>
1162 <jndiConfig>
1163 <name>WSO2MBStoreDB</name>
1164 </jndiConfig>
1165 <definition type="RDBMS">
1166 <configuration>
1167 <url>jdbc:h2:repository/database/WSO2MB_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000</url>
1168 <username>wso2carbon</username>
1169 <password>wso2carbon</password>
1170 <driverClassName>org.h2.Driver</driverClassName>
1171 <maxActive>50</maxActive>
1172 <maxWait>60000</maxWait>
1173 <testOnBorrow>true</testOnBorrow>
1174 <validationQuery>SELECT 1</validationQuery>
1175 <validationInterval>30000</validationInterval>
1176 <defaultAutoCommit>false</defaultAutoCommit>
1177 </configuration>
1178 </definition>
1179 </datasource>
1180 </datasources>
1181 </datasources-configuration>
1182kind: ConfigMap
1183metadata:
1184 name: apim-conf-datasources
1185 namespace: $namespace
1186---
1187EOF
1188
1189cat >> $k8s_obj_file << "EOF"
1190apiVersion: v1
1191data:
1192 deployment.yaml: |
1193 wso2.carbon:
1194 type: wso2-apim-analytics
1195 id: wso2-am-analytics
1196 name: WSO2 API Manager Analytics Server
1197 ports:
1198 offset: 1
1199 wso2.transport.http:
1200 transportProperties:
1201 -
1202 name: "server.bootstrap.socket.timeout"
1203 value: 60
1204 -
1205 name: "client.bootstrap.socket.timeout"
1206 value: 60
1207 -
1208 name: "latency.metrics.enabled"
1209 value: true
1210 listenerConfigurations:
1211 -
1212 id: "default"
1213 host: "0.0.0.0"
1214 port: 9091
1215 -
1216 id: "msf4j-https"
1217 host: "0.0.0.0"
1218 port: 9444
1219 scheme: https
1220 keyStoreFile: "${carbon.home}/resources/security/wso2carbon.jks"
1221 keyStorePassword: wso2carbon
1222 certPass: wso2carbon
1223 senderConfigurations:
1224 -
1225 id: "http-sender"
1226 siddhi.stores.query.api:
1227 transportProperties:
1228 -
1229 name: "server.bootstrap.socket.timeout"
1230 value: 60
1231 -
1232 name: "client.bootstrap.socket.timeout"
1233 value: 60
1234 -
1235 name: "latency.metrics.enabled"
1236 value: true
1237 listenerConfigurations:
1238 -
1239 id: "default"
1240 host: "0.0.0.0"
1241 port: 7071
1242 -
1243 id: "msf4j-https"
1244 host: "0.0.0.0"
1245 port: 7444
1246 scheme: https
1247 keyStoreFile: "${carbon.home}/resources/security/wso2carbon.jks"
1248 keyStorePassword: wso2carbon
1249 certPass: wso2carbon
1250 databridge.config:
1251 workerThreads: 10
1252 maxEventBufferCapacity: 10000000
1253 eventBufferSize: 2000
1254 keyStoreLocation : ${sys:carbon.home}/resources/security/wso2carbon.jks
1255 keyStorePassword : wso2carbon
1256 clientTimeoutMin: 30
1257 dataReceivers:
1258 -
1259 dataReceiver:
1260 type: Thrift
1261 properties:
1262 tcpPort: '7611'
1263 sslPort: '7711'
1264 -
1265 dataReceiver:
1266 type: Binary
1267 properties:
1268 tcpPort: '9611'
1269 sslPort: '9711'
1270 tcpReceiverThreadPoolSize: '100'
1271 sslReceiverThreadPoolSize: '100'
1272 hostName: 0.0.0.0
1273 data.agent.config:
1274 agents:
1275 -
1276 agentConfiguration:
1277 name: Thrift
1278 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint
1279 publishingStrategy: async
1280 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
1281 trustStorePassword: 'wso2carbon'
1282 queueSize: 32768
1283 batchSize: 200
1284 corePoolSize: 1
1285 socketTimeoutMS: 30000
1286 maxPoolSize: 1
1287 keepAliveTimeInPool: 20
1288 reconnectionInterval: 30
1289 maxTransportPoolSize: 250
1290 maxIdleConnections: 250
1291 evictionTimePeriod: 5500
1292 minIdleTimeInPool: 5000
1293 secureMaxTransportPoolSize: 250
1294 secureMaxIdleConnections: 250
1295 secureEvictionTimePeriod: 5500
1296 secureMinIdleTimeInPool: 5000
1297 sslEnabledProtocols: TLSv1.1,TLSv1.2
1298 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
1299 -
1300 agentConfiguration:
1301 name: Binary
1302 dataEndpointClass: org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint
1303 publishingStrategy: async
1304 trustStorePath: '${sys:carbon.home}/resources/security/client-truststore.jks'
1305 trustStorePassword: 'wso2carbon'
1306 queueSize: 32768
1307 batchSize: 200
1308 corePoolSize: 1
1309 socketTimeoutMS: 30000
1310 maxPoolSize: 1
1311 keepAliveTimeInPool: 20
1312 reconnectionInterval: 30
1313 maxTransportPoolSize: 250
1314 maxIdleConnections: 250
1315 evictionTimePeriod: 5500
1316 minIdleTimeInPool: 5000
1317 secureMaxTransportPoolSize: 250
1318 secureMaxIdleConnections: 250
1319 secureEvictionTimePeriod: 5500
1320 secureMinIdleTimeInPool: 5000
1321 sslEnabledProtocols: TLSv1.1,TLSv1.2
1322 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
1323 wso2.metrics:
1324 enabled: false
1325 reporting:
1326 console:
1327 -
1328 name: Console
1329 enabled: false
1330 pollingPeriod: 5
1331 wso2.metrics.jdbc:
1332 dataSource:
1333 - &JDBC01
1334 dataSourceName: java:comp/env/jdbc/WSO2MetricsDB
1335 scheduledCleanup:
1336 enabled: true
1337 daysToKeep: 3
1338 scheduledCleanupPeriod: 86400
1339 reporting:
1340 jdbc:
1341 -
1342 name: JDBC
1343 enabled: true
1344 dataSource: *JDBC01
1345 pollingPeriod: 60
1346 wso2.artifact.deployment:
1347 updateInterval: 5
1348 state.persistence:
1349 enabled: false
1350 intervalInMin: 1
1351 revisionsToKeep: 2
1352 persistenceStore: org.wso2.carbon.stream.processor.core.persistence.FileSystemPersistenceStore
1353 config:
1354 location: siddhi-app-persistence
1355 wso2.securevault:
1356 secretRepository:
1357 type: org.wso2.carbon.secvault.repository.DefaultSecretRepository
1358 parameters:
1359 privateKeyAlias: wso2carbon
1360 keystoreLocation: ${sys:carbon.home}/resources/security/securevault.jks
1361 secretPropertiesFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/secrets.properties
1362 masterKeyReader:
1363 type: org.wso2.carbon.secvault.reader.DefaultMasterKeyReader
1364 parameters:
1365 masterKeyReaderFile: ${sys:carbon.home}/conf/${sys:wso2.runtime}/master-keys.yaml
1366 wso2.datasources:
1367 dataSources:
1368 -
1369 definition:
1370 configuration:
1371 connectionTestQuery: "SELECT 1"
1372 driverClassName: com.mysql.jdbc.Driver
1373 idleTimeout: 60000
1374 isAutoCommit: false
1375 jdbcUrl: 'jdbc:mysql://wso2apim-with-analytics-rdbms-service:3306/WSO2AM_COMMON_DB?useSSL=false'
1376 maxPoolSize: 50
1377 password: wso2carbon
1378 username: wso2carbon
1379 validationTimeout: 30000
1380 type: RDBMS
1381 description: "The datasource used for registry and user manager"
1382 name: WSO2_CARBON_DB
1383 - name: WSO2_METRICS_DB
1384 description: The datasource used for dashboard feature
1385 jndiConfig:
1386 name: jdbc/WSO2MetricsDB
1387 definition:
1388 type: RDBMS
1389 configuration:
1390 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/dashboard/database/metrics;AUTO_SERVER=TRUE'
1391 username: wso2carbon
1392 password: wso2carbon
1393 driverClassName: org.h2.Driver
1394 maxPoolSize: 30
1395 idleTimeout: 60000
1396 connectionTestQuery: SELECT 1
1397 validationTimeout: 30000
1398 isAutoCommit: false
1399 - name: WSO2_PERMISSIONS_DB
1400 description: The datasource used for permission feature
1401 jndiConfig:
1402 name: jdbc/PERMISSION_DB
1403 useJndiReference: true
1404 definition:
1405 type: RDBMS
1406 configuration:
1407 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'
1408 username: wso2carbon
1409 password: wso2carbon
1410 driverClassName: org.h2.Driver
1411 maxPoolSize: 10
1412 idleTimeout: 60000
1413 connectionTestQuery: SELECT 1
1414 validationTimeout: 30000
1415 isAutoCommit: false
1416 - name: Message_Tracing_DB
1417 description: "The datasource used for message tracer to store span information."
1418 jndiConfig:
1419 name: jdbc/Message_Tracing_DB
1420 definition:
1421 type: RDBMS
1422 configuration:
1423 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/dashboard/database/MESSAGE_TRACING_DB;AUTO_SERVER=TRUE'
1424 username: wso2carbon
1425 password: wso2carbon
1426 driverClassName: org.h2.Driver
1427 maxPoolSize: 50
1428 idleTimeout: 60000
1429 connectionTestQuery: SELECT 1
1430 validationTimeout: 30000
1431 isAutoCommit: false
1432 - name: GEO_LOCATION_DATA
1433 description: "The data source used for geo location database"
1434 jndiConfig:
1435 name: jdbc/GEO_LOCATION_DATA
1436 definition:
1437 type: RDBMS
1438 configuration:
1439 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/GEO_LOCATION_DATA;AUTO_SERVER=TRUE'
1440 username: wso2carbon
1441 password: wso2carbon
1442 driverClassName: org.h2.Driver
1443 maxPoolSize: 50
1444 idleTimeout: 60000
1445 validationTimeout: 30000
1446 isAutoCommit: false
1447 - name: APIM_ANALYTICS_DB
1448 description: "The datasource used for APIM statistics aggregated data."
1449 jndiConfig:
1450 name: jdbc/APIM_ANALYTICS_DB
1451 definition:
1452 type: RDBMS
1453 configuration:
1454 jdbcUrl: 'jdbc:mysql://wso2apim-with-analytics-rdbms-service:3306/WSO2AM_STAT_DB?useSSL=false'
1455 username: wso2carbon
1456 password: wso2carbon
1457 driverClassName: com.mysql.jdbc.Driver
1458 maxPoolSize: 50
1459 idleTimeout: 60000
1460 connectionTestQuery: SELECT 1
1461 validationTimeout: 30000
1462 isAutoCommit: false
1463 - name: WSO2AM_MGW_ANALYTICS_DB
1464 description: "The datasource used for APIM MGW analytics data."
1465 jndiConfig:
1466 name: jdbc/WSO2AM_MGW_ANALYTICS_DB
1467 definition:
1468 type: RDBMS
1469 configuration:
1470 jdbcUrl: 'jdbc:h2:${sys:carbon.home}/wso2/worker/database/WSO2AM_MGW_ANALYTICS_DB;AUTO_SERVER=TRUE'
1471 username: wso2carbon
1472 password: wso2carbon
1473 driverClassName: org.h2.Driver
1474 maxPoolSize: 50
1475 idleTimeout: 60000
1476 connectionTestQuery: SELECT 1
1477 validationTimeout: 30000
1478 isAutoCommit: false
1479 siddhi:
1480 extensions:
1481 -
1482 extension:
1483 name: 'findCountryFromIP'
1484 namespace: 'geo'
1485 properties:
1486 geoLocationResolverClass: org.wso2.extension.siddhi.execution.geo.internal.impl.DefaultDBBasedGeoLocationResolver
1487 isCacheEnabled: true
1488 cacheSize: 10000
1489 isPersistInDatabase: true
1490 datasource: GEO_LOCATION_DATA
1491 -
1492 extension:
1493 name: 'findCityFromIP'
1494 namespace: 'geo'
1495 properties:
1496 geoLocationResolverClass: org.wso2.extension.siddhi.execution.geo.internal.impl.DefaultDBBasedGeoLocationResolver
1497 isCacheEnabled: true
1498 cacheSize: 10000
1499 isPersistInDatabase: true
1500 datasource: GEO_LOCATION_DATA
1501 cluster.config:
1502 enabled: false
1503 groupId: sp
1504 coordinationStrategyClass: org.wso2.carbon.cluster.coordinator.rdbms.RDBMSCoordinationStrategy
1505 strategyConfig:
1506 datasource: WSO2_CARBON_DB
1507 heartbeatInterval: 1000
1508 heartbeatMaxRetry: 2
1509 eventPollingInterval: 1000
1510kind: ConfigMap
1511metadata:
1512 name: apim-analytics-conf-worker
1513EOF
1514
1515cat >> $k8s_obj_file << EOF
1516 namespace: $namespace
1517---
1518EOF
1519
1520cat >> $k8s_obj_file << "EOF"
1521apiVersion: v1
1522data:
1523 init.sql: |
1524 DROP DATABASE IF EXISTS WSO2AM_COMMON_DB;
1525 DROP DATABASE IF EXISTS WSO2AM_APIMGT_DB;
1526 DROP DATABASE IF EXISTS WSO2AM_STAT_DB;
1527 CREATE DATABASE WSO2AM_COMMON_DB;
1528 CREATE DATABASE WSO2AM_APIMGT_DB;
1529 CREATE DATABASE WSO2AM_STAT_DB;
1530 CREATE USER IF NOT EXISTS 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1531 GRANT ALL ON WSO2AM_COMMON_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1532 GRANT ALL ON WSO2AM_APIMGT_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1533 GRANT ALL ON WSO2AM_STAT_DB.* TO 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon';
1534 USE WSO2AM_COMMON_DB;
1535 CREATE TABLE IF NOT EXISTS REG_CLUSTER_LOCK (
1536 REG_LOCK_NAME VARCHAR (20),
1537 REG_LOCK_STATUS VARCHAR (20),
1538 REG_LOCKED_TIME TIMESTAMP,
1539 REG_TENANT_ID INTEGER DEFAULT 0,
1540 PRIMARY KEY (REG_LOCK_NAME)
1541 )ENGINE INNODB;
1542 CREATE TABLE IF NOT EXISTS REG_LOG (
1543 REG_LOG_ID INTEGER AUTO_INCREMENT,
1544 REG_PATH VARCHAR (750),
1545 REG_USER_ID VARCHAR (31) NOT NULL,
1546 REG_LOGGED_TIME TIMESTAMP NOT NULL,
1547 REG_ACTION INTEGER NOT NULL,
1548 REG_ACTION_DATA VARCHAR (500),
1549 REG_TENANT_ID INTEGER DEFAULT 0,
1550 PRIMARY KEY (REG_LOG_ID, REG_TENANT_ID)
1551 )ENGINE INNODB;
1552 CREATE INDEX REG_LOG_IND_BY_REGLOG USING HASH ON REG_LOG(REG_LOGGED_TIME, REG_TENANT_ID);
1553 CREATE TABLE IF NOT EXISTS REG_PATH(
1554 REG_PATH_ID INTEGER NOT NULL AUTO_INCREMENT,
1555 REG_PATH_VALUE VARCHAR(750) NOT NULL,
1556 REG_PATH_PARENT_ID INTEGER,
1557 REG_TENANT_ID INTEGER DEFAULT 0,
1558 CONSTRAINT PK_REG_PATH PRIMARY KEY(REG_PATH_ID, REG_TENANT_ID)
1559 )ENGINE INNODB;
1560 CREATE INDEX REG_PATH_IND_BY_PATH_VALUE USING HASH ON REG_PATH(REG_PATH_VALUE, REG_TENANT_ID);
1561 CREATE INDEX REG_PATH_IND_BY_PATH_PARENT_ID USING HASH ON REG_PATH(REG_PATH_PARENT_ID, REG_TENANT_ID);
1562 CREATE TABLE IF NOT EXISTS REG_CONTENT (
1563 REG_CONTENT_ID INTEGER NOT NULL AUTO_INCREMENT,
1564 REG_CONTENT_DATA LONGBLOB,
1565 REG_TENANT_ID INTEGER DEFAULT 0,
1566 CONSTRAINT PK_REG_CONTENT PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID)
1567 )ENGINE INNODB;
1568 CREATE TABLE IF NOT EXISTS REG_CONTENT_HISTORY (
1569 REG_CONTENT_ID INTEGER NOT NULL,
1570 REG_CONTENT_DATA LONGBLOB,
1571 REG_DELETED SMALLINT,
1572 REG_TENANT_ID INTEGER DEFAULT 0,
1573 CONSTRAINT PK_REG_CONTENT_HISTORY PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID)
1574 )ENGINE INNODB;
1575 CREATE TABLE IF NOT EXISTS REG_RESOURCE (
1576 REG_PATH_ID INTEGER NOT NULL,
1577 REG_NAME VARCHAR(256),
1578 REG_VERSION INTEGER NOT NULL AUTO_INCREMENT,
1579 REG_MEDIA_TYPE VARCHAR(500),
1580 REG_CREATOR VARCHAR(31) NOT NULL,
1581 REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1582 REG_LAST_UPDATOR VARCHAR(31),
1583 REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1584 REG_DESCRIPTION VARCHAR(1000),
1585 REG_CONTENT_ID INTEGER,
1586 REG_TENANT_ID INTEGER DEFAULT 0,
1587 REG_UUID VARCHAR(100) NOT NULL,
1588 CONSTRAINT PK_REG_RESOURCE PRIMARY KEY(REG_VERSION, REG_TENANT_ID)
1589 )ENGINE INNODB;
1590 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);
1591 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);
1592 CREATE INDEX REG_RESOURCE_IND_BY_NAME USING HASH ON REG_RESOURCE(REG_NAME, REG_TENANT_ID);
1593 CREATE INDEX REG_RESOURCE_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID);
1594 CREATE INDEX REG_RESOURCE_IND_BY_UUID USING HASH ON REG_RESOURCE(REG_UUID);
1595 CREATE INDEX REG_RESOURCE_IND_BY_TENAN USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_UUID);
1596 CREATE INDEX REG_RESOURCE_IND_BY_TYPE USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_MEDIA_TYPE);
1597 CREATE TABLE IF NOT EXISTS REG_RESOURCE_HISTORY (
1598 REG_PATH_ID INTEGER NOT NULL,
1599 REG_NAME VARCHAR(256),
1600 REG_VERSION INTEGER NOT NULL,
1601 REG_MEDIA_TYPE VARCHAR(500),
1602 REG_CREATOR VARCHAR(31) NOT NULL,
1603 REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1604 REG_LAST_UPDATOR VARCHAR(31),
1605 REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1606 REG_DESCRIPTION VARCHAR(1000),
1607 REG_CONTENT_ID INTEGER,
1608 REG_DELETED SMALLINT,
1609 REG_TENANT_ID INTEGER DEFAULT 0,
1610 REG_UUID VARCHAR(100) NOT NULL,
1611 CONSTRAINT PK_REG_RESOURCE_HISTORY PRIMARY KEY(REG_VERSION, REG_TENANT_ID)
1612 )ENGINE INNODB;
1613 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);
1614 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);
1615 CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_NAME USING HASH ON REG_RESOURCE_HISTORY(REG_NAME, REG_TENANT_ID);
1616 CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID);
1617 CREATE TABLE IF NOT EXISTS REG_COMMENT (
1618 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
1619 REG_COMMENT_TEXT VARCHAR(500) NOT NULL,
1620 REG_USER_ID VARCHAR(31) NOT NULL,
1621 REG_COMMENTED_TIME TIMESTAMP NOT NULL,
1622 REG_TENANT_ID INTEGER DEFAULT 0,
1623 CONSTRAINT PK_REG_COMMENT PRIMARY KEY(REG_ID, REG_TENANT_ID)
1624 )ENGINE INNODB;
1625 CREATE TABLE IF NOT EXISTS REG_RESOURCE_COMMENT (
1626 REG_COMMENT_ID INTEGER NOT NULL,
1627 REG_VERSION INTEGER,
1628 REG_PATH_ID INTEGER,
1629 REG_RESOURCE_NAME VARCHAR(256),
1630 REG_TENANT_ID INTEGER DEFAULT 0
1631 )ENGINE INNODB;
1632 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);
1633 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);
1634 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);
1635 CREATE INDEX REG_RESOURCE_COMMENT_IND_BY_VERSION USING HASH ON REG_RESOURCE_COMMENT(REG_VERSION, REG_TENANT_ID);
1636 CREATE TABLE IF NOT EXISTS REG_RATING (
1637 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
1638 REG_RATING INTEGER NOT NULL,
1639 REG_USER_ID VARCHAR(31) NOT NULL,
1640 REG_RATED_TIME TIMESTAMP NOT NULL,
1641 REG_TENANT_ID INTEGER DEFAULT 0,
1642 CONSTRAINT PK_REG_RATING PRIMARY KEY(REG_ID, REG_TENANT_ID)
1643 )ENGINE INNODB;
1644 CREATE TABLE IF NOT EXISTS REG_RESOURCE_RATING (
1645 REG_RATING_ID INTEGER NOT NULL,
1646 REG_VERSION INTEGER,
1647 REG_PATH_ID INTEGER,
1648 REG_RESOURCE_NAME VARCHAR(256),
1649 REG_TENANT_ID INTEGER DEFAULT 0
1650 )ENGINE INNODB;
1651 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);
1652 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);
1653 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);
1654 CREATE INDEX REG_RESOURCE_RATING_IND_BY_VERSION USING HASH ON REG_RESOURCE_RATING(REG_VERSION, REG_TENANT_ID);
1655 CREATE TABLE IF NOT EXISTS REG_TAG (
1656 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
1657 REG_TAG_NAME VARCHAR(500) NOT NULL,
1658 REG_USER_ID VARCHAR(31) NOT NULL,
1659 REG_TAGGED_TIME TIMESTAMP NOT NULL,
1660 REG_TENANT_ID INTEGER DEFAULT 0,
1661 CONSTRAINT PK_REG_TAG PRIMARY KEY(REG_ID, REG_TENANT_ID)
1662 )ENGINE INNODB;
1663 CREATE TABLE IF NOT EXISTS REG_RESOURCE_TAG (
1664 REG_TAG_ID INTEGER NOT NULL,
1665 REG_VERSION INTEGER,
1666 REG_PATH_ID INTEGER,
1667 REG_RESOURCE_NAME VARCHAR(256),
1668 REG_TENANT_ID INTEGER DEFAULT 0
1669 )ENGINE INNODB;
1670 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);
1671 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);
1672 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);
1673 CREATE INDEX REG_RESOURCE_TAG_IND_BY_VERSION USING HASH ON REG_RESOURCE_TAG(REG_VERSION, REG_TENANT_ID);
1674 CREATE TABLE IF NOT EXISTS REG_PROPERTY (
1675 REG_ID INTEGER NOT NULL AUTO_INCREMENT,
1676 REG_NAME VARCHAR(100) NOT NULL,
1677 REG_VALUE VARCHAR(1000),
1678 REG_TENANT_ID INTEGER DEFAULT 0,
1679 CONSTRAINT PK_REG_PROPERTY PRIMARY KEY(REG_ID, REG_TENANT_ID)
1680 )ENGINE INNODB;
1681 CREATE TABLE IF NOT EXISTS REG_RESOURCE_PROPERTY (
1682 REG_PROPERTY_ID INTEGER NOT NULL,
1683 REG_VERSION INTEGER,
1684 REG_PATH_ID INTEGER,
1685 REG_RESOURCE_NAME VARCHAR(256),
1686 REG_TENANT_ID INTEGER DEFAULT 0
1687 )ENGINE INNODB;
1688 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);
1689 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);
1690 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);
1691 CREATE INDEX REG_RESOURCE_PROPERTY_IND_BY_VERSION USING HASH ON REG_RESOURCE_PROPERTY(REG_VERSION, REG_TENANT_ID);
1692 CREATE TABLE IF NOT EXISTS REG_ASSOCIATION (
1693 REG_ASSOCIATION_ID INTEGER AUTO_INCREMENT,
1694 REG_SOURCEPATH VARCHAR (750) NOT NULL,
1695 REG_TARGETPATH VARCHAR (750) NOT NULL,
1696 REG_ASSOCIATION_TYPE VARCHAR (2000) NOT NULL,
1697 REG_TENANT_ID INTEGER DEFAULT 0,
1698 PRIMARY KEY (REG_ASSOCIATION_ID, REG_TENANT_ID)
1699 )ENGINE INNODB;
1700 CREATE TABLE IF NOT EXISTS REG_SNAPSHOT (
1701 REG_SNAPSHOT_ID INTEGER NOT NULL AUTO_INCREMENT,
1702 REG_PATH_ID INTEGER NOT NULL,
1703 REG_RESOURCE_NAME VARCHAR(255),
1704 REG_RESOURCE_VIDS LONGBLOB NOT NULL,
1705 REG_TENANT_ID INTEGER DEFAULT 0,
1706 CONSTRAINT PK_REG_SNAPSHOT PRIMARY KEY(REG_SNAPSHOT_ID, REG_TENANT_ID)
1707 )ENGINE INNODB;
1708 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);
1709 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);
1710 CREATE TABLE UM_TENANT (
1711 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1712 UM_DOMAIN_NAME VARCHAR(255) NOT NULL,
1713 UM_EMAIL VARCHAR(255),
1714 UM_ACTIVE BOOLEAN DEFAULT FALSE,
1715 UM_CREATED_DATE TIMESTAMP NOT NULL,
1716 UM_USER_CONFIG LONGBLOB,
1717 PRIMARY KEY (UM_ID),
1718 UNIQUE(UM_DOMAIN_NAME)
1719 )ENGINE INNODB;
1720 CREATE TABLE UM_DOMAIN(
1721 UM_DOMAIN_ID INTEGER NOT NULL AUTO_INCREMENT,
1722 UM_DOMAIN_NAME VARCHAR(255),
1723 UM_TENANT_ID INTEGER DEFAULT 0,
1724 PRIMARY KEY (UM_DOMAIN_ID, UM_TENANT_ID)
1725 )ENGINE INNODB;
1726 CREATE UNIQUE INDEX INDEX_UM_TENANT_UM_DOMAIN_NAME
1727 ON UM_TENANT (UM_DOMAIN_NAME);
1728 CREATE TABLE UM_USER (
1729 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1730 UM_USER_NAME VARCHAR(255) NOT NULL,
1731 UM_USER_PASSWORD VARCHAR(255) NOT NULL,
1732 UM_SALT_VALUE VARCHAR(31),
1733 UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE,
1734 UM_CHANGED_TIME TIMESTAMP NOT NULL,
1735 UM_TENANT_ID INTEGER DEFAULT 0,
1736 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1737 UNIQUE(UM_USER_NAME, UM_TENANT_ID)
1738 )ENGINE INNODB;
1739 CREATE TABLE UM_SYSTEM_USER (
1740 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1741 UM_USER_NAME VARCHAR(255) NOT NULL,
1742 UM_USER_PASSWORD VARCHAR(255) NOT NULL,
1743 UM_SALT_VALUE VARCHAR(31),
1744 UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE,
1745 UM_CHANGED_TIME TIMESTAMP NOT NULL,
1746 UM_TENANT_ID INTEGER DEFAULT 0,
1747 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1748 UNIQUE(UM_USER_NAME, UM_TENANT_ID)
1749 )ENGINE INNODB;
1750 CREATE TABLE UM_ROLE (
1751 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1752 UM_ROLE_NAME VARCHAR(255) NOT NULL,
1753 UM_TENANT_ID INTEGER DEFAULT 0,
1754 UM_SHARED_ROLE BOOLEAN DEFAULT FALSE,
1755 PRIMARY KEY (UM_ID, UM_TENANT_ID),
1756 UNIQUE(UM_ROLE_NAME, UM_TENANT_ID)
1757 )ENGINE INNODB;
1758 CREATE TABLE UM_MODULE(
1759 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1760 UM_MODULE_NAME VARCHAR(100),
1761 UNIQUE(UM_MODULE_NAME),
1762 PRIMARY KEY(UM_ID)
1763 )ENGINE INNODB;
1764 CREATE TABLE UM_MODULE_ACTIONS(
1765 UM_ACTION VARCHAR(255) NOT NULL,
1766 UM_MODULE_ID INTEGER NOT NULL,
1767 PRIMARY KEY(UM_ACTION, UM_MODULE_ID),
1768 FOREIGN KEY (UM_MODULE_ID) REFERENCES UM_MODULE(UM_ID) ON DELETE CASCADE
1769 )ENGINE INNODB;
1770 CREATE TABLE UM_PERMISSION (
1771 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1772 UM_RESOURCE_ID VARCHAR(255) NOT NULL,
1773 UM_ACTION VARCHAR(255) NOT NULL,
1774 UM_TENANT_ID INTEGER DEFAULT 0,
1775 UM_MODULE_ID INTEGER DEFAULT 0,
1776 UNIQUE(UM_RESOURCE_ID,UM_ACTION, UM_TENANT_ID),
1777 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1778 )ENGINE INNODB;
1779 CREATE INDEX INDEX_UM_PERMISSION_UM_RESOURCE_ID_UM_ACTION ON UM_PERMISSION (UM_RESOURCE_ID, UM_ACTION, UM_TENANT_ID);
1780 CREATE TABLE UM_ROLE_PERMISSION (
1781 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1782 UM_PERMISSION_ID INTEGER NOT NULL,
1783 UM_ROLE_NAME VARCHAR(255) NOT NULL,
1784 UM_IS_ALLOWED SMALLINT NOT NULL,
1785 UM_TENANT_ID INTEGER DEFAULT 0,
1786 UM_DOMAIN_ID INTEGER,
1787 UNIQUE (UM_PERMISSION_ID, UM_ROLE_NAME, UM_TENANT_ID, UM_DOMAIN_ID),
1788 FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
1789 FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE,
1790 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1791 )ENGINE INNODB;
1792 -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_ROLE_ID)
1793 CREATE TABLE UM_USER_PERMISSION (
1794 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1795 UM_PERMISSION_ID INTEGER NOT NULL,
1796 UM_USER_NAME VARCHAR(255) NOT NULL,
1797 UM_IS_ALLOWED SMALLINT NOT NULL,
1798 UM_TENANT_ID INTEGER DEFAULT 0,
1799 FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
1800 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1801 )ENGINE INNODB;
1802 -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_USER_ID)
1803 CREATE TABLE UM_USER_ROLE (
1804 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1805 UM_ROLE_ID INTEGER NOT NULL,
1806 UM_USER_ID INTEGER NOT NULL,
1807 UM_TENANT_ID INTEGER DEFAULT 0,
1808 UNIQUE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID),
1809 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_ROLE(UM_ID, UM_TENANT_ID),
1810 FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID),
1811 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1812 )ENGINE INNODB;
1813 CREATE TABLE UM_SHARED_USER_ROLE(
1814 UM_ROLE_ID INTEGER NOT NULL,
1815 UM_USER_ID INTEGER NOT NULL,
1816 UM_USER_TENANT_ID INTEGER NOT NULL,
1817 UM_ROLE_TENANT_ID INTEGER NOT NULL,
1818 UNIQUE(UM_USER_ID,UM_ROLE_ID,UM_USER_TENANT_ID, UM_ROLE_TENANT_ID),
1819 FOREIGN KEY(UM_ROLE_ID,UM_ROLE_TENANT_ID) REFERENCES UM_ROLE(UM_ID,UM_TENANT_ID) ON DELETE CASCADE,
1820 FOREIGN KEY(UM_USER_ID,UM_USER_TENANT_ID) REFERENCES UM_USER(UM_ID,UM_TENANT_ID) ON DELETE CASCADE
1821 )ENGINE INNODB;
1822 CREATE TABLE UM_ACCOUNT_MAPPING(
1823 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1824 UM_USER_NAME VARCHAR(255) NOT NULL,
1825 UM_TENANT_ID INTEGER NOT NULL,
1826 UM_USER_STORE_DOMAIN VARCHAR(100),
1827 UM_ACC_LINK_ID INTEGER NOT NULL,
1828 UNIQUE(UM_USER_NAME, UM_TENANT_ID, UM_USER_STORE_DOMAIN, UM_ACC_LINK_ID),
1829 FOREIGN KEY (UM_TENANT_ID) REFERENCES UM_TENANT(UM_ID) ON DELETE CASCADE,
1830 PRIMARY KEY (UM_ID)
1831 )ENGINE INNODB;
1832 CREATE TABLE UM_USER_ATTRIBUTE (
1833 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1834 UM_ATTR_NAME VARCHAR(255) NOT NULL,
1835 UM_ATTR_VALUE VARCHAR(1024),
1836 UM_PROFILE_ID VARCHAR(255),
1837 UM_USER_ID INTEGER,
1838 UM_TENANT_ID INTEGER DEFAULT 0,
1839 FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID),
1840 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1841 )ENGINE INNODB;
1842 CREATE INDEX UM_USER_ID_INDEX ON UM_USER_ATTRIBUTE(UM_USER_ID);
1843 CREATE TABLE UM_DIALECT(
1844 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1845 UM_DIALECT_URI VARCHAR(255) NOT NULL,
1846 UM_TENANT_ID INTEGER DEFAULT 0,
1847 UNIQUE(UM_DIALECT_URI, UM_TENANT_ID),
1848 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1849 )ENGINE INNODB;
1850 CREATE TABLE UM_CLAIM(
1851 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1852 UM_DIALECT_ID INTEGER NOT NULL,
1853 UM_CLAIM_URI VARCHAR(255) NOT NULL,
1854 UM_DISPLAY_TAG VARCHAR(255),
1855 UM_DESCRIPTION VARCHAR(255),
1856 UM_MAPPED_ATTRIBUTE_DOMAIN VARCHAR(255),
1857 UM_MAPPED_ATTRIBUTE VARCHAR(255),
1858 UM_REG_EX VARCHAR(255),
1859 UM_SUPPORTED SMALLINT,
1860 UM_REQUIRED SMALLINT,
1861 UM_DISPLAY_ORDER INTEGER,
1862 UM_CHECKED_ATTRIBUTE SMALLINT,
1863 UM_READ_ONLY SMALLINT,
1864 UM_TENANT_ID INTEGER DEFAULT 0,
1865 UNIQUE(UM_DIALECT_ID, UM_CLAIM_URI, UM_TENANT_ID,UM_MAPPED_ATTRIBUTE_DOMAIN),
1866 FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID),
1867 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1868 )ENGINE INNODB;
1869 CREATE TABLE UM_PROFILE_CONFIG(
1870 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1871 UM_DIALECT_ID INTEGER NOT NULL,
1872 UM_PROFILE_NAME VARCHAR(255),
1873 UM_TENANT_ID INTEGER DEFAULT 0,
1874 FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID),
1875 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1876 )ENGINE INNODB;
1877 CREATE TABLE IF NOT EXISTS UM_CLAIM_BEHAVIOR(
1878 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1879 UM_PROFILE_ID INTEGER,
1880 UM_CLAIM_ID INTEGER,
1881 UM_BEHAVIOUR SMALLINT,
1882 UM_TENANT_ID INTEGER DEFAULT 0,
1883 FOREIGN KEY(UM_PROFILE_ID, UM_TENANT_ID) REFERENCES UM_PROFILE_CONFIG(UM_ID,UM_TENANT_ID),
1884 FOREIGN KEY(UM_CLAIM_ID, UM_TENANT_ID) REFERENCES UM_CLAIM(UM_ID,UM_TENANT_ID),
1885 PRIMARY KEY(UM_ID, UM_TENANT_ID)
1886 )ENGINE INNODB;
1887 CREATE TABLE UM_HYBRID_ROLE(
1888 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1889 UM_ROLE_NAME VARCHAR(255),
1890 UM_TENANT_ID INTEGER DEFAULT 0,
1891 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1892 )ENGINE INNODB;
1893 CREATE TABLE UM_HYBRID_USER_ROLE(
1894 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1895 UM_USER_NAME VARCHAR(255),
1896 UM_ROLE_ID INTEGER NOT NULL,
1897 UM_TENANT_ID INTEGER DEFAULT 0,
1898 UM_DOMAIN_ID INTEGER,
1899 UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID, UM_DOMAIN_ID),
1900 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE,
1901 FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE,
1902 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1903 )ENGINE INNODB;
1904 CREATE TABLE UM_SYSTEM_ROLE(
1905 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1906 UM_ROLE_NAME VARCHAR(255),
1907 UM_TENANT_ID INTEGER DEFAULT 0,
1908 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1909 )ENGINE INNODB;
1910 CREATE INDEX SYSTEM_ROLE_IND_BY_RN_TI ON UM_SYSTEM_ROLE(UM_ROLE_NAME, UM_TENANT_ID);
1911 CREATE TABLE UM_SYSTEM_USER_ROLE(
1912 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1913 UM_USER_NAME VARCHAR(255),
1914 UM_ROLE_ID INTEGER NOT NULL,
1915 UM_TENANT_ID INTEGER DEFAULT 0,
1916 UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID),
1917 FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_SYSTEM_ROLE(UM_ID, UM_TENANT_ID),
1918 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1919 )ENGINE INNODB;
1920 CREATE TABLE UM_HYBRID_REMEMBER_ME(
1921 UM_ID INTEGER NOT NULL AUTO_INCREMENT,
1922 UM_USER_NAME VARCHAR(255) NOT NULL,
1923 UM_COOKIE_VALUE VARCHAR(1024),
1924 UM_CREATED_TIME TIMESTAMP,
1925 UM_TENANT_ID INTEGER DEFAULT 0,
1926 PRIMARY KEY (UM_ID, UM_TENANT_ID)
1927 )ENGINE INNODB;
1928 USE WSO2AM_APIMGT_DB;
1929 -- Start of IDENTITY Tables--
1930 CREATE TABLE IF NOT EXISTS IDN_BASE_TABLE (
1931 PRODUCT_NAME VARCHAR(20),
1932 PRIMARY KEY (PRODUCT_NAME)
1933 )ENGINE INNODB;
1934 INSERT INTO IDN_BASE_TABLE values ('WSO2 Identity Server');
1935 CREATE TABLE IF NOT EXISTS IDN_OAUTH_CONSUMER_APPS (
1936 ID INTEGER NOT NULL AUTO_INCREMENT,
1937 CONSUMER_KEY VARCHAR(255),
1938 CONSUMER_SECRET VARCHAR(2048),
1939 USERNAME VARCHAR(255),
1940 TENANT_ID INTEGER DEFAULT 0,
1941 USER_DOMAIN VARCHAR(50),
1942 APP_NAME VARCHAR(255),
1943 OAUTH_VERSION VARCHAR(128),
1944 CALLBACK_URL VARCHAR(1024),
1945 GRANT_TYPES VARCHAR (1024),
1946 PKCE_MANDATORY CHAR(1) DEFAULT '0',
1947 PKCE_SUPPORT_PLAIN CHAR(1) DEFAULT '0',
1948 APP_STATE VARCHAR (25) DEFAULT 'ACTIVE',
1949 USER_ACCESS_TOKEN_EXPIRE_TIME BIGINT DEFAULT 3600,
1950 APP_ACCESS_TOKEN_EXPIRE_TIME BIGINT DEFAULT 3600,
1951 REFRESH_TOKEN_EXPIRE_TIME BIGINT DEFAULT 84600,
1952 ID_TOKEN_EXPIRE_TIME BIGINT DEFAULT 3600,
1953 CONSTRAINT CONSUMER_KEY_CONSTRAINT UNIQUE (CONSUMER_KEY),
1954 PRIMARY KEY (ID)
1955 )ENGINE INNODB;
1956 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_SCOPE_VALIDATORS (
1957 APP_ID INTEGER NOT NULL,
1958 SCOPE_VALIDATOR VARCHAR (128) NOT NULL,
1959 PRIMARY KEY (APP_ID,SCOPE_VALIDATOR),
1960 FOREIGN KEY (APP_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
1961 )ENGINE INNODB;
1962 CREATE TABLE IF NOT EXISTS IDN_OAUTH1A_REQUEST_TOKEN (
1963 REQUEST_TOKEN VARCHAR(255),
1964 REQUEST_TOKEN_SECRET VARCHAR(512),
1965 CONSUMER_KEY_ID INTEGER,
1966 CALLBACK_URL VARCHAR(1024),
1967 SCOPE VARCHAR(2048),
1968 AUTHORIZED VARCHAR(128),
1969 OAUTH_VERIFIER VARCHAR(512),
1970 AUTHZ_USER VARCHAR(512),
1971 TENANT_ID INTEGER DEFAULT -1,
1972 PRIMARY KEY (REQUEST_TOKEN),
1973 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
1974 )ENGINE INNODB;
1975 CREATE TABLE IF NOT EXISTS IDN_OAUTH1A_ACCESS_TOKEN (
1976 ACCESS_TOKEN VARCHAR(255),
1977 ACCESS_TOKEN_SECRET VARCHAR(512),
1978 CONSUMER_KEY_ID INTEGER,
1979 SCOPE VARCHAR(2048),
1980 AUTHZ_USER VARCHAR(512),
1981 TENANT_ID INTEGER DEFAULT -1,
1982 PRIMARY KEY (ACCESS_TOKEN),
1983 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
1984 )ENGINE INNODB;
1985 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_ACCESS_TOKEN (
1986 TOKEN_ID VARCHAR (255),
1987 ACCESS_TOKEN VARCHAR(2048),
1988 REFRESH_TOKEN VARCHAR(2048),
1989 CONSUMER_KEY_ID INTEGER,
1990 AUTHZ_USER VARCHAR (100),
1991 TENANT_ID INTEGER,
1992 USER_DOMAIN VARCHAR(50),
1993 USER_TYPE VARCHAR (25),
1994 GRANT_TYPE VARCHAR (50),
1995 TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1996 REFRESH_TOKEN_TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
1997 VALIDITY_PERIOD BIGINT,
1998 REFRESH_TOKEN_VALIDITY_PERIOD BIGINT,
1999 TOKEN_SCOPE_HASH VARCHAR(32),
2000 TOKEN_STATE VARCHAR(25) DEFAULT 'ACTIVE',
2001 TOKEN_STATE_ID VARCHAR (128) DEFAULT 'NONE',
2002 SUBJECT_IDENTIFIER VARCHAR(255),
2003 ACCESS_TOKEN_HASH VARCHAR(512),
2004 REFRESH_TOKEN_HASH VARCHAR(512),
2005 PRIMARY KEY (TOKEN_ID),
2006 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE,
2007 CONSTRAINT CON_APP_KEY UNIQUE (CONSUMER_KEY_ID,AUTHZ_USER,TENANT_ID,USER_DOMAIN,USER_TYPE,TOKEN_SCOPE_HASH,
2008 TOKEN_STATE,TOKEN_STATE_ID)
2009 )ENGINE INNODB;
2010 CREATE INDEX IDX_AT_CK_AU ON IDN_OAUTH2_ACCESS_TOKEN(CONSUMER_KEY_ID, AUTHZ_USER, TOKEN_STATE, USER_TYPE);
2011 CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED);
2012 CREATE INDEX IDX_ATH ON IDN_OAUTH2_ACCESS_TOKEN(ACCESS_TOKEN_HASH);
2013 CREATE INDEX IDX_AT_TI_UD ON IDN_OAUTH2_ACCESS_TOKEN(AUTHZ_USER, TENANT_ID, TOKEN_STATE, USER_DOMAIN);
2014 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_ACCESS_TOKEN_AUDIT (
2015 TOKEN_ID VARCHAR (255),
2016 ACCESS_TOKEN VARCHAR(2048),
2017 REFRESH_TOKEN VARCHAR(2048),
2018 CONSUMER_KEY_ID INTEGER,
2019 AUTHZ_USER VARCHAR (100),
2020 TENANT_ID INTEGER,
2021 USER_DOMAIN VARCHAR(50),
2022 USER_TYPE VARCHAR (25),
2023 GRANT_TYPE VARCHAR (50),
2024 TIME_CREATED TIMESTAMP NULL,
2025 REFRESH_TOKEN_TIME_CREATED TIMESTAMP NULL,
2026 VALIDITY_PERIOD BIGINT,
2027 REFRESH_TOKEN_VALIDITY_PERIOD BIGINT,
2028 TOKEN_SCOPE_HASH VARCHAR(32),
2029 TOKEN_STATE VARCHAR(25),
2030 TOKEN_STATE_ID VARCHAR (128) ,
2031 SUBJECT_IDENTIFIER VARCHAR(255),
2032 ACCESS_TOKEN_HASH VARCHAR(512),
2033 REFRESH_TOKEN_HASH VARCHAR(512),
2034 INVALIDATED_TIME TIMESTAMP NULL
2035 );
2036 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_AUTHORIZATION_CODE (
2037 CODE_ID VARCHAR (255),
2038 AUTHORIZATION_CODE VARCHAR(2048),
2039 CONSUMER_KEY_ID INTEGER,
2040 CALLBACK_URL VARCHAR(1024),
2041 SCOPE VARCHAR(2048),
2042 AUTHZ_USER VARCHAR (100),
2043 TENANT_ID INTEGER,
2044 USER_DOMAIN VARCHAR(50),
2045 TIME_CREATED TIMESTAMP,
2046 VALIDITY_PERIOD BIGINT,
2047 STATE VARCHAR (25) DEFAULT 'ACTIVE',
2048 TOKEN_ID VARCHAR(255),
2049 SUBJECT_IDENTIFIER VARCHAR(255),
2050 PKCE_CODE_CHALLENGE VARCHAR(255),
2051 PKCE_CODE_CHALLENGE_METHOD VARCHAR(128),
2052 AUTHORIZATION_CODE_HASH VARCHAR(512),
2053 PRIMARY KEY (CODE_ID),
2054 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
2055 )ENGINE INNODB;
2056 CREATE INDEX IDX_AUTHORIZATION_CODE_HASH ON IDN_OAUTH2_AUTHORIZATION_CODE (AUTHORIZATION_CODE_HASH,CONSUMER_KEY_ID);
2057 CREATE INDEX IDX_AUTHORIZATION_CODE_AU_TI ON IDN_OAUTH2_AUTHORIZATION_CODE (AUTHZ_USER,TENANT_ID, USER_DOMAIN, STATE);
2058 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_ACCESS_TOKEN_SCOPE (
2059 TOKEN_ID VARCHAR (255),
2060 TOKEN_SCOPE VARCHAR (60),
2061 TENANT_ID INTEGER DEFAULT -1,
2062 PRIMARY KEY (TOKEN_ID, TOKEN_SCOPE),
2063 FOREIGN KEY (TOKEN_ID) REFERENCES IDN_OAUTH2_ACCESS_TOKEN(TOKEN_ID) ON DELETE CASCADE
2064 )ENGINE INNODB;
2065 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_SCOPE (
2066 SCOPE_ID INTEGER NOT NULL AUTO_INCREMENT,
2067 NAME VARCHAR(255) NOT NULL,
2068 DISPLAY_NAME VARCHAR(255) NOT NULL,
2069 DESCRIPTION VARCHAR(512),
2070 TENANT_ID INTEGER NOT NULL DEFAULT -1,
2071 PRIMARY KEY (SCOPE_ID)
2072 )ENGINE INNODB;
2073 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_SCOPE_BINDING (
2074 SCOPE_ID INTEGER NOT NULL,
2075 SCOPE_BINDING VARCHAR(255),
2076 FOREIGN KEY (SCOPE_ID) REFERENCES IDN_OAUTH2_SCOPE(SCOPE_ID) ON DELETE CASCADE
2077 )ENGINE INNODB;
2078 CREATE TABLE IF NOT EXISTS IDN_OAUTH2_RESOURCE_SCOPE (
2079 RESOURCE_PATH VARCHAR(255) NOT NULL,
2080 SCOPE_ID INTEGER NOT NULL,
2081 TENANT_ID INTEGER DEFAULT -1,
2082 PRIMARY KEY (RESOURCE_PATH),
2083 FOREIGN KEY (SCOPE_ID) REFERENCES IDN_OAUTH2_SCOPE (SCOPE_ID) ON DELETE CASCADE
2084 )ENGINE INNODB;
2085 CREATE TABLE IF NOT EXISTS IDN_SCIM_GROUP (
2086 ID INTEGER AUTO_INCREMENT,
2087 TENANT_ID INTEGER NOT NULL,
2088 ROLE_NAME VARCHAR(255) NOT NULL,
2089 ATTR_NAME VARCHAR(1024) NOT NULL,
2090 ATTR_VALUE VARCHAR(1024),
2091 PRIMARY KEY (ID)
2092 )ENGINE INNODB;
2093 CREATE INDEX IDX_IDN_SCIM_GROUP_TI_RN ON IDN_SCIM_GROUP (TENANT_ID, ROLE_NAME);
2094 CREATE INDEX IDX_IDN_SCIM_GROUP_TI_RN_AN ON IDN_SCIM_GROUP (TENANT_ID, ROLE_NAME, ATTR_NAME);
2095 CREATE TABLE IF NOT EXISTS IDN_OPENID_REMEMBER_ME (
2096 USER_NAME VARCHAR(255) NOT NULL,
2097 TENANT_ID INTEGER DEFAULT 0,
2098 COOKIE_VALUE VARCHAR(1024),
2099 CREATED_TIME TIMESTAMP,
2100 PRIMARY KEY (USER_NAME, TENANT_ID)
2101 )ENGINE INNODB;
2102 CREATE TABLE IF NOT EXISTS IDN_OPENID_USER_RPS (
2103 USER_NAME VARCHAR(255) NOT NULL,
2104 TENANT_ID INTEGER DEFAULT 0,
2105 RP_URL VARCHAR(255) NOT NULL,
2106 TRUSTED_ALWAYS VARCHAR(128) DEFAULT 'FALSE',
2107 LAST_VISIT DATE NOT NULL,
2108 VISIT_COUNT INTEGER DEFAULT 0,
2109 DEFAULT_PROFILE_NAME VARCHAR(255) DEFAULT 'DEFAULT',
2110 PRIMARY KEY (USER_NAME, TENANT_ID, RP_URL)
2111 )ENGINE INNODB;
2112 CREATE TABLE IF NOT EXISTS IDN_OPENID_ASSOCIATIONS (
2113 HANDLE VARCHAR(255) NOT NULL,
2114 ASSOC_TYPE VARCHAR(255) NOT NULL,
2115 EXPIRE_IN TIMESTAMP NOT NULL,
2116 MAC_KEY VARCHAR(255) NOT NULL,
2117 ASSOC_STORE VARCHAR(128) DEFAULT 'SHARED',
2118 TENANT_ID INTEGER DEFAULT -1,
2119 PRIMARY KEY (HANDLE)
2120 )ENGINE INNODB;
2121 CREATE TABLE IF NOT EXISTS IDN_STS_STORE (
2122 ID INTEGER AUTO_INCREMENT,
2123 TOKEN_ID VARCHAR(255) NOT NULL,
2124 TOKEN_CONTENT BLOB(1024) NOT NULL,
2125 CREATE_DATE TIMESTAMP NOT NULL,
2126 EXPIRE_DATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2127 STATE INTEGER DEFAULT 0,
2128 PRIMARY KEY (ID)
2129 )ENGINE INNODB;
2130 CREATE TABLE IF NOT EXISTS IDN_IDENTITY_USER_DATA (
2131 TENANT_ID INTEGER DEFAULT -1234,
2132 USER_NAME VARCHAR(255) NOT NULL,
2133 DATA_KEY VARCHAR(255) NOT NULL,
2134 DATA_VALUE VARCHAR(2048),
2135 PRIMARY KEY (TENANT_ID, USER_NAME, DATA_KEY)
2136 )ENGINE INNODB;
2137 CREATE TABLE IF NOT EXISTS IDN_IDENTITY_META_DATA (
2138 USER_NAME VARCHAR(255) NOT NULL,
2139 TENANT_ID INTEGER DEFAULT -1234,
2140 METADATA_TYPE VARCHAR(255) NOT NULL,
2141 METADATA VARCHAR(255) NOT NULL,
2142 VALID VARCHAR(255) NOT NULL,
2143 PRIMARY KEY (TENANT_ID, USER_NAME, METADATA_TYPE,METADATA)
2144 )ENGINE INNODB;
2145 CREATE TABLE IF NOT EXISTS IDN_THRIFT_SESSION (
2146 SESSION_ID VARCHAR(255) NOT NULL,
2147 USER_NAME VARCHAR(255) NOT NULL,
2148 CREATED_TIME VARCHAR(255) NOT NULL,
2149 LAST_MODIFIED_TIME VARCHAR(255) NOT NULL,
2150 TENANT_ID INTEGER DEFAULT -1,
2151 PRIMARY KEY (SESSION_ID)
2152 )ENGINE INNODB;
2153 CREATE TABLE IF NOT EXISTS IDN_AUTH_SESSION_STORE (
2154 SESSION_ID VARCHAR (100) NOT NULL,
2155 SESSION_TYPE VARCHAR(100) NOT NULL,
2156 OPERATION VARCHAR(10) NOT NULL,
2157 SESSION_OBJECT BLOB,
2158 TIME_CREATED BIGINT,
2159 TENANT_ID INTEGER DEFAULT -1,
2160 EXPIRY_TIME BIGINT,
2161 PRIMARY KEY (SESSION_ID, SESSION_TYPE, TIME_CREATED, OPERATION)
2162 )ENGINE INNODB;
2163 CREATE INDEX IDX_IDN_AUTH_SESSION_TIME ON IDN_AUTH_SESSION_STORE (TIME_CREATED);
2164 CREATE TABLE IF NOT EXISTS IDN_AUTH_TEMP_SESSION_STORE (
2165 SESSION_ID VARCHAR (100) NOT NULL,
2166 SESSION_TYPE VARCHAR(100) NOT NULL,
2167 OPERATION VARCHAR(10) NOT NULL,
2168 SESSION_OBJECT BLOB,
2169 TIME_CREATED BIGINT,
2170 TENANT_ID INTEGER DEFAULT -1,
2171 EXPIRY_TIME BIGINT,
2172 PRIMARY KEY (SESSION_ID, SESSION_TYPE, TIME_CREATED, OPERATION)
2173 )ENGINE INNODB;
2174 CREATE INDEX IDX_IDN_AUTH_TMP_SESSION_TIME ON IDN_AUTH_TEMP_SESSION_STORE (TIME_CREATED);
2175 CREATE TABLE IF NOT EXISTS SP_APP (
2176 ID INTEGER NOT NULL AUTO_INCREMENT,
2177 TENANT_ID INTEGER NOT NULL,
2178 APP_NAME VARCHAR (255) NOT NULL ,
2179 USER_STORE VARCHAR (255) NOT NULL,
2180 USERNAME VARCHAR (255) NOT NULL ,
2181 DESCRIPTION VARCHAR (1024),
2182 ROLE_CLAIM VARCHAR (512),
2183 AUTH_TYPE VARCHAR (255) NOT NULL,
2184 PROVISIONING_USERSTORE_DOMAIN VARCHAR (512),
2185 IS_LOCAL_CLAIM_DIALECT CHAR(1) DEFAULT '1',
2186 IS_SEND_LOCAL_SUBJECT_ID CHAR(1) DEFAULT '0',
2187 IS_SEND_AUTH_LIST_OF_IDPS CHAR(1) DEFAULT '0',
2188 IS_USE_TENANT_DOMAIN_SUBJECT CHAR(1) DEFAULT '1',
2189 IS_USE_USER_DOMAIN_SUBJECT CHAR(1) DEFAULT '1',
2190 ENABLE_AUTHORIZATION CHAR(1) DEFAULT '0',
2191 SUBJECT_CLAIM_URI VARCHAR (512),
2192 IS_SAAS_APP CHAR(1) DEFAULT '0',
2193 IS_DUMB_MODE CHAR(1) DEFAULT '0',
2194 PRIMARY KEY (ID)
2195 )ENGINE INNODB;
2196 ALTER TABLE SP_APP ADD CONSTRAINT APPLICATION_NAME_CONSTRAINT UNIQUE(APP_NAME, TENANT_ID);
2197 CREATE TABLE IF NOT EXISTS SP_METADATA (
2198 ID INTEGER AUTO_INCREMENT,
2199 SP_ID INTEGER,
2200 NAME VARCHAR(255) NOT NULL,
2201 VALUE VARCHAR(255) NOT NULL,
2202 DISPLAY_NAME VARCHAR(255),
2203 TENANT_ID INTEGER DEFAULT -1,
2204 PRIMARY KEY (ID),
2205 CONSTRAINT SP_METADATA_CONSTRAINT UNIQUE (SP_ID, NAME),
2206 FOREIGN KEY (SP_ID) REFERENCES SP_APP(ID) ON DELETE CASCADE
2207 )ENGINE INNODB;
2208 CREATE TABLE IF NOT EXISTS SP_INBOUND_AUTH (
2209 ID INTEGER NOT NULL AUTO_INCREMENT,
2210 TENANT_ID INTEGER NOT NULL,
2211 INBOUND_AUTH_KEY VARCHAR (255),
2212 INBOUND_AUTH_TYPE VARCHAR (255) NOT NULL,
2213 INBOUND_CONFIG_TYPE VARCHAR (255) NOT NULL,
2214 PROP_NAME VARCHAR (255),
2215 PROP_VALUE VARCHAR (1024) ,
2216 APP_ID INTEGER NOT NULL,
2217 PRIMARY KEY (ID)
2218 )ENGINE INNODB;
2219 ALTER TABLE SP_INBOUND_AUTH ADD CONSTRAINT APPLICATION_ID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2220 CREATE TABLE IF NOT EXISTS SP_AUTH_STEP (
2221 ID INTEGER NOT NULL AUTO_INCREMENT,
2222 TENANT_ID INTEGER NOT NULL,
2223 STEP_ORDER INTEGER DEFAULT 1,
2224 APP_ID INTEGER NOT NULL ,
2225 IS_SUBJECT_STEP CHAR(1) DEFAULT '0',
2226 IS_ATTRIBUTE_STEP CHAR(1) DEFAULT '0',
2227 PRIMARY KEY (ID)
2228 )ENGINE INNODB;
2229 ALTER TABLE SP_AUTH_STEP ADD CONSTRAINT APPLICATION_ID_CONSTRAINT_STEP FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2230 CREATE TABLE IF NOT EXISTS SP_FEDERATED_IDP (
2231 ID INTEGER NOT NULL,
2232 TENANT_ID INTEGER NOT NULL,
2233 AUTHENTICATOR_ID INTEGER NOT NULL,
2234 PRIMARY KEY (ID, AUTHENTICATOR_ID)
2235 )ENGINE INNODB;
2236 ALTER TABLE SP_FEDERATED_IDP ADD CONSTRAINT STEP_ID_CONSTRAINT FOREIGN KEY (ID) REFERENCES SP_AUTH_STEP (ID) ON DELETE CASCADE;
2237 CREATE TABLE IF NOT EXISTS SP_CLAIM_DIALECT (
2238 ID INTEGER NOT NULL AUTO_INCREMENT,
2239 TENANT_ID INTEGER NOT NULL,
2240 SP_DIALECT VARCHAR (512) NOT NULL,
2241 APP_ID INTEGER NOT NULL,
2242 PRIMARY KEY (ID));
2243 ALTER TABLE SP_CLAIM_DIALECT ADD CONSTRAINT DIALECTID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2244 CREATE TABLE IF NOT EXISTS SP_CLAIM_MAPPING (
2245 ID INTEGER NOT NULL AUTO_INCREMENT,
2246 TENANT_ID INTEGER NOT NULL,
2247 IDP_CLAIM VARCHAR (512) NOT NULL ,
2248 SP_CLAIM VARCHAR (512) NOT NULL ,
2249 APP_ID INTEGER NOT NULL,
2250 IS_REQUESTED VARCHAR(128) DEFAULT '0',
2251 IS_MANDATORY VARCHAR(128) DEFAULT '0',
2252 DEFAULT_VALUE VARCHAR(255),
2253 PRIMARY KEY (ID)
2254 )ENGINE INNODB;
2255 ALTER TABLE SP_CLAIM_MAPPING ADD CONSTRAINT CLAIMID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2256 CREATE TABLE IF NOT EXISTS SP_ROLE_MAPPING (
2257 ID INTEGER NOT NULL AUTO_INCREMENT,
2258 TENANT_ID INTEGER NOT NULL,
2259 IDP_ROLE VARCHAR (255) NOT NULL ,
2260 SP_ROLE VARCHAR (255) NOT NULL ,
2261 APP_ID INTEGER NOT NULL,
2262 PRIMARY KEY (ID)
2263 )ENGINE INNODB;
2264 ALTER TABLE SP_ROLE_MAPPING ADD CONSTRAINT ROLEID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2265 CREATE TABLE IF NOT EXISTS SP_REQ_PATH_AUTHENTICATOR (
2266 ID INTEGER NOT NULL AUTO_INCREMENT,
2267 TENANT_ID INTEGER NOT NULL,
2268 AUTHENTICATOR_NAME VARCHAR (255) NOT NULL ,
2269 APP_ID INTEGER NOT NULL,
2270 PRIMARY KEY (ID)
2271 )ENGINE INNODB;
2272 ALTER TABLE SP_REQ_PATH_AUTHENTICATOR ADD CONSTRAINT REQ_AUTH_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2273 CREATE TABLE IF NOT EXISTS SP_PROVISIONING_CONNECTOR (
2274 ID INTEGER NOT NULL AUTO_INCREMENT,
2275 TENANT_ID INTEGER NOT NULL,
2276 IDP_NAME VARCHAR (255) NOT NULL ,
2277 CONNECTOR_NAME VARCHAR (255) NOT NULL ,
2278 APP_ID INTEGER NOT NULL,
2279 IS_JIT_ENABLED CHAR(1) NOT NULL DEFAULT '0',
2280 BLOCKING CHAR(1) NOT NULL DEFAULT '0',
2281 RULE_ENABLED CHAR(1) NOT NULL DEFAULT '0',
2282 PRIMARY KEY (ID)
2283 )ENGINE INNODB;
2284 ALTER TABLE SP_PROVISIONING_CONNECTOR ADD CONSTRAINT PRO_CONNECTOR_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
2285 CREATE TABLE SP_AUTH_SCRIPT (
2286 ID INTEGER AUTO_INCREMENT NOT NULL,
2287 TENANT_ID INTEGER NOT NULL,
2288 APP_ID INTEGER NOT NULL,
2289 TYPE VARCHAR(255) NOT NULL,
2290 CONTENT BLOB DEFAULT NULL,
2291 IS_ENABLED CHAR(1) NOT NULL DEFAULT '0',
2292 PRIMARY KEY (ID));
2293 CREATE TABLE IF NOT EXISTS SP_TEMPLATE (
2294 ID INTEGER AUTO_INCREMENT NOT NULL,
2295 TENANT_ID INTEGER NOT NULL,
2296 NAME VARCHAR(255) NOT NULL,
2297 DESCRIPTION VARCHAR(1023),
2298 CONTENT BLOB DEFAULT NULL,
2299 PRIMARY KEY (ID),
2300 CONSTRAINT SP_TEMPLATE_CONSTRAINT UNIQUE (TENANT_ID, NAME));
2301 CREATE INDEX IDX_SP_TEMPLATE ON SP_TEMPLATE (TENANT_ID, NAME);
2302 CREATE TABLE IF NOT EXISTS IDN_AUTH_WAIT_STATUS (
2303 ID INTEGER AUTO_INCREMENT NOT NULL,
2304 TENANT_ID INTEGER NOT NULL,
2305 LONG_WAIT_KEY VARCHAR(255) NOT NULL,
2306 WAIT_STATUS CHAR(1) NOT NULL DEFAULT '1',
2307 TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2308 EXPIRE_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2309 PRIMARY KEY (ID),
2310 CONSTRAINT IDN_AUTH_WAIT_STATUS_KEY UNIQUE (LONG_WAIT_KEY));
2311 CREATE TABLE IF NOT EXISTS IDP (
2312 ID INTEGER AUTO_INCREMENT,
2313 TENANT_ID INTEGER,
2314 NAME VARCHAR(254) NOT NULL,
2315 IS_ENABLED CHAR(1) NOT NULL DEFAULT '1',
2316 IS_PRIMARY CHAR(1) NOT NULL DEFAULT '0',
2317 HOME_REALM_ID VARCHAR(254),
2318 IMAGE MEDIUMBLOB,
2319 CERTIFICATE BLOB,
2320 ALIAS VARCHAR(254),
2321 INBOUND_PROV_ENABLED CHAR (1) NOT NULL DEFAULT '0',
2322 INBOUND_PROV_USER_STORE_ID VARCHAR(254),
2323 USER_CLAIM_URI VARCHAR(254),
2324 ROLE_CLAIM_URI VARCHAR(254),
2325 DESCRIPTION VARCHAR (1024),
2326 DEFAULT_AUTHENTICATOR_NAME VARCHAR(254),
2327 DEFAULT_PRO_CONNECTOR_NAME VARCHAR(254),
2328 PROVISIONING_ROLE VARCHAR(128),
2329 IS_FEDERATION_HUB CHAR(1) NOT NULL DEFAULT '0',
2330 IS_LOCAL_CLAIM_DIALECT CHAR(1) NOT NULL DEFAULT '0',
2331 DISPLAY_NAME VARCHAR(255),
2332 PRIMARY KEY (ID),
2333 UNIQUE (TENANT_ID, NAME)
2334 )ENGINE INNODB;
2335 CREATE TABLE IF NOT EXISTS IDP_ROLE (
2336 ID INTEGER AUTO_INCREMENT,
2337 IDP_ID INTEGER,
2338 TENANT_ID INTEGER,
2339 ROLE VARCHAR(254),
2340 PRIMARY KEY (ID),
2341 UNIQUE (IDP_ID, ROLE),
2342 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2343 )ENGINE INNODB;
2344 CREATE TABLE IF NOT EXISTS IDP_ROLE_MAPPING (
2345 ID INTEGER AUTO_INCREMENT,
2346 IDP_ROLE_ID INTEGER,
2347 TENANT_ID INTEGER,
2348 USER_STORE_ID VARCHAR (253),
2349 LOCAL_ROLE VARCHAR(253),
2350 PRIMARY KEY (ID),
2351 UNIQUE (IDP_ROLE_ID, TENANT_ID, USER_STORE_ID, LOCAL_ROLE),
2352 FOREIGN KEY (IDP_ROLE_ID) REFERENCES IDP_ROLE(ID) ON DELETE CASCADE
2353 )ENGINE INNODB;
2354 CREATE TABLE IF NOT EXISTS IDP_CLAIM (
2355 ID INTEGER AUTO_INCREMENT,
2356 IDP_ID INTEGER,
2357 TENANT_ID INTEGER,
2358 CLAIM VARCHAR(254),
2359 PRIMARY KEY (ID),
2360 UNIQUE (IDP_ID, CLAIM),
2361 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2362 )ENGINE INNODB;
2363 CREATE TABLE IF NOT EXISTS IDP_CLAIM_MAPPING (
2364 ID INTEGER AUTO_INCREMENT,
2365 IDP_CLAIM_ID INTEGER,
2366 TENANT_ID INTEGER,
2367 LOCAL_CLAIM VARCHAR(253),
2368 DEFAULT_VALUE VARCHAR(255),
2369 IS_REQUESTED VARCHAR(128) DEFAULT '0',
2370 PRIMARY KEY (ID),
2371 UNIQUE (IDP_CLAIM_ID, TENANT_ID, LOCAL_CLAIM),
2372 FOREIGN KEY (IDP_CLAIM_ID) REFERENCES IDP_CLAIM(ID) ON DELETE CASCADE
2373 )ENGINE INNODB;
2374 CREATE TABLE IF NOT EXISTS IDP_AUTHENTICATOR (
2375 ID INTEGER AUTO_INCREMENT,
2376 TENANT_ID INTEGER,
2377 IDP_ID INTEGER,
2378 NAME VARCHAR(255) NOT NULL,
2379 IS_ENABLED CHAR (1) DEFAULT '1',
2380 DISPLAY_NAME VARCHAR(255),
2381 PRIMARY KEY (ID),
2382 UNIQUE (TENANT_ID, IDP_ID, NAME),
2383 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2384 )ENGINE INNODB;
2385 CREATE TABLE IF NOT EXISTS IDP_METADATA (
2386 ID INTEGER AUTO_INCREMENT,
2387 IDP_ID INTEGER,
2388 NAME VARCHAR(255) NOT NULL,
2389 VALUE VARCHAR(255) NOT NULL,
2390 DISPLAY_NAME VARCHAR(255),
2391 TENANT_ID INTEGER DEFAULT -1,
2392 PRIMARY KEY (ID),
2393 CONSTRAINT IDP_METADATA_CONSTRAINT UNIQUE (IDP_ID, NAME),
2394 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2395 )ENGINE INNODB;
2396 CREATE TABLE IF NOT EXISTS IDP_AUTHENTICATOR_PROPERTY (
2397 ID INTEGER AUTO_INCREMENT,
2398 TENANT_ID INTEGER,
2399 AUTHENTICATOR_ID INTEGER,
2400 PROPERTY_KEY VARCHAR(255) NOT NULL,
2401 PROPERTY_VALUE VARCHAR(2047),
2402 IS_SECRET CHAR (1) DEFAULT '0',
2403 PRIMARY KEY (ID),
2404 UNIQUE (TENANT_ID, AUTHENTICATOR_ID, PROPERTY_KEY),
2405 FOREIGN KEY (AUTHENTICATOR_ID) REFERENCES IDP_AUTHENTICATOR(ID) ON DELETE CASCADE
2406 )ENGINE INNODB;
2407 CREATE TABLE IF NOT EXISTS IDP_PROVISIONING_CONFIG (
2408 ID INTEGER AUTO_INCREMENT,
2409 TENANT_ID INTEGER,
2410 IDP_ID INTEGER,
2411 PROVISIONING_CONNECTOR_TYPE VARCHAR(255) NOT NULL,
2412 IS_ENABLED CHAR (1) DEFAULT '0',
2413 IS_BLOCKING CHAR (1) DEFAULT '0',
2414 IS_RULES_ENABLED CHAR (1) DEFAULT '0',
2415 PRIMARY KEY (ID),
2416 UNIQUE (TENANT_ID, IDP_ID, PROVISIONING_CONNECTOR_TYPE),
2417 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2418 )ENGINE INNODB;
2419 CREATE TABLE IF NOT EXISTS IDP_PROV_CONFIG_PROPERTY (
2420 ID INTEGER AUTO_INCREMENT,
2421 TENANT_ID INTEGER,
2422 PROVISIONING_CONFIG_ID INTEGER,
2423 PROPERTY_KEY VARCHAR(255) NOT NULL,
2424 PROPERTY_VALUE VARCHAR(2048),
2425 PROPERTY_BLOB_VALUE BLOB,
2426 PROPERTY_TYPE CHAR(32) NOT NULL,
2427 IS_SECRET CHAR (1) DEFAULT '0',
2428 PRIMARY KEY (ID),
2429 UNIQUE (TENANT_ID, PROVISIONING_CONFIG_ID, PROPERTY_KEY),
2430 FOREIGN KEY (PROVISIONING_CONFIG_ID) REFERENCES IDP_PROVISIONING_CONFIG(ID) ON DELETE CASCADE
2431 )ENGINE INNODB;
2432 CREATE TABLE IF NOT EXISTS IDP_PROVISIONING_ENTITY (
2433 ID INTEGER AUTO_INCREMENT,
2434 PROVISIONING_CONFIG_ID INTEGER,
2435 ENTITY_TYPE VARCHAR(255) NOT NULL,
2436 ENTITY_LOCAL_USERSTORE VARCHAR(255) NOT NULL,
2437 ENTITY_NAME VARCHAR(255) NOT NULL,
2438 ENTITY_VALUE VARCHAR(255),
2439 TENANT_ID INTEGER,
2440 ENTITY_LOCAL_ID VARCHAR(255),
2441 PRIMARY KEY (ID),
2442 UNIQUE (ENTITY_TYPE, TENANT_ID, ENTITY_LOCAL_USERSTORE, ENTITY_NAME, PROVISIONING_CONFIG_ID),
2443 UNIQUE (PROVISIONING_CONFIG_ID, ENTITY_TYPE, ENTITY_VALUE),
2444 FOREIGN KEY (PROVISIONING_CONFIG_ID) REFERENCES IDP_PROVISIONING_CONFIG(ID) ON DELETE CASCADE
2445 )ENGINE INNODB;
2446 CREATE TABLE IF NOT EXISTS IDP_LOCAL_CLAIM (
2447 ID INTEGER AUTO_INCREMENT,
2448 TENANT_ID INTEGER,
2449 IDP_ID INTEGER,
2450 CLAIM_URI VARCHAR(255) NOT NULL,
2451 DEFAULT_VALUE VARCHAR(255),
2452 IS_REQUESTED VARCHAR(128) DEFAULT '0',
2453 PRIMARY KEY (ID),
2454 UNIQUE (TENANT_ID, IDP_ID, CLAIM_URI),
2455 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2456 )ENGINE INNODB;
2457 CREATE TABLE IF NOT EXISTS IDN_ASSOCIATED_ID (
2458 ID INTEGER AUTO_INCREMENT,
2459 IDP_USER_ID VARCHAR(255) NOT NULL,
2460 TENANT_ID INTEGER DEFAULT -1234,
2461 IDP_ID INTEGER NOT NULL,
2462 DOMAIN_NAME VARCHAR(255) NOT NULL,
2463 USER_NAME VARCHAR(255) NOT NULL,
2464 PRIMARY KEY (ID),
2465 UNIQUE(IDP_USER_ID, TENANT_ID, IDP_ID),
2466 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
2467 )ENGINE INNODB;
2468 CREATE TABLE IF NOT EXISTS IDN_USER_ACCOUNT_ASSOCIATION (
2469 ASSOCIATION_KEY VARCHAR(255) NOT NULL,
2470 TENANT_ID INTEGER,
2471 DOMAIN_NAME VARCHAR(255) NOT NULL,
2472 USER_NAME VARCHAR(255) NOT NULL,
2473 PRIMARY KEY (TENANT_ID, DOMAIN_NAME, USER_NAME)
2474 )ENGINE INNODB;
2475 CREATE TABLE IF NOT EXISTS FIDO_DEVICE_STORE (
2476 TENANT_ID INTEGER,
2477 DOMAIN_NAME VARCHAR(255) NOT NULL,
2478 USER_NAME VARCHAR(45) NOT NULL,
2479 TIME_REGISTERED TIMESTAMP,
2480 KEY_HANDLE VARCHAR(200) NOT NULL,
2481 DEVICE_DATA VARCHAR(2048) NOT NULL,
2482 PRIMARY KEY (TENANT_ID, DOMAIN_NAME, USER_NAME, KEY_HANDLE)
2483 )ENGINE INNODB;
2484 CREATE TABLE IF NOT EXISTS WF_REQUEST (
2485 UUID VARCHAR (45),
2486 CREATED_BY VARCHAR (255),
2487 TENANT_ID INTEGER DEFAULT -1,
2488 OPERATION_TYPE VARCHAR (50),
2489 CREATED_AT TIMESTAMP,
2490 UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2491 STATUS VARCHAR (30),
2492 REQUEST BLOB,
2493 PRIMARY KEY (UUID)
2494 )ENGINE INNODB;
2495 CREATE TABLE IF NOT EXISTS WF_BPS_PROFILE (
2496 PROFILE_NAME VARCHAR(45),
2497 HOST_URL_MANAGER VARCHAR(255),
2498 HOST_URL_WORKER VARCHAR(255),
2499 USERNAME VARCHAR(45),
2500 PASSWORD VARCHAR(1023),
2501 CALLBACK_HOST VARCHAR (45),
2502 CALLBACK_USERNAME VARCHAR (45),
2503 CALLBACK_PASSWORD VARCHAR (255),
2504 TENANT_ID INTEGER DEFAULT -1,
2505 PRIMARY KEY (PROFILE_NAME, TENANT_ID)
2506 )ENGINE INNODB;
2507 CREATE TABLE IF NOT EXISTS WF_WORKFLOW(
2508 ID VARCHAR (45),
2509 WF_NAME VARCHAR (45),
2510 DESCRIPTION VARCHAR (255),
2511 TEMPLATE_ID VARCHAR (45),
2512 IMPL_ID VARCHAR (45),
2513 TENANT_ID INTEGER DEFAULT -1,
2514 PRIMARY KEY (ID)
2515 )ENGINE INNODB;
2516 CREATE TABLE IF NOT EXISTS WF_WORKFLOW_ASSOCIATION(
2517 ID INTEGER NOT NULL AUTO_INCREMENT,
2518 ASSOC_NAME VARCHAR (45),
2519 EVENT_ID VARCHAR(45),
2520 ASSOC_CONDITION VARCHAR (2000),
2521 WORKFLOW_ID VARCHAR (45),
2522 IS_ENABLED CHAR (1) DEFAULT '1',
2523 TENANT_ID INTEGER DEFAULT -1,
2524 PRIMARY KEY(ID),
2525 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE
2526 )ENGINE INNODB;
2527 CREATE TABLE IF NOT EXISTS WF_WORKFLOW_CONFIG_PARAM(
2528 WORKFLOW_ID VARCHAR (45),
2529 PARAM_NAME VARCHAR (45),
2530 PARAM_VALUE VARCHAR (1000),
2531 PARAM_QNAME VARCHAR (45),
2532 PARAM_HOLDER VARCHAR (45),
2533 TENANT_ID INTEGER DEFAULT -1,
2534 PRIMARY KEY (WORKFLOW_ID, PARAM_NAME, PARAM_QNAME, PARAM_HOLDER),
2535 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE
2536 )ENGINE INNODB;
2537 CREATE TABLE IF NOT EXISTS WF_REQUEST_ENTITY_RELATIONSHIP(
2538 REQUEST_ID VARCHAR (45),
2539 ENTITY_NAME VARCHAR (255),
2540 ENTITY_TYPE VARCHAR (50),
2541 TENANT_ID INTEGER DEFAULT -1,
2542 PRIMARY KEY(REQUEST_ID, ENTITY_NAME, ENTITY_TYPE, TENANT_ID),
2543 FOREIGN KEY (REQUEST_ID) REFERENCES WF_REQUEST(UUID)ON DELETE CASCADE
2544 )ENGINE INNODB;
2545 CREATE TABLE IF NOT EXISTS WF_WORKFLOW_REQUEST_RELATION(
2546 RELATIONSHIP_ID VARCHAR (45),
2547 WORKFLOW_ID VARCHAR (45),
2548 REQUEST_ID VARCHAR (45),
2549 UPDATED_AT TIMESTAMP,
2550 STATUS VARCHAR (30),
2551 TENANT_ID INTEGER DEFAULT -1,
2552 PRIMARY KEY (RELATIONSHIP_ID),
2553 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE,
2554 FOREIGN KEY (REQUEST_ID) REFERENCES WF_REQUEST(UUID)ON DELETE CASCADE
2555 )ENGINE INNODB;
2556 CREATE TABLE IF NOT EXISTS IDN_RECOVERY_DATA (
2557 USER_NAME VARCHAR(255) NOT NULL,
2558 USER_DOMAIN VARCHAR(127) NOT NULL,
2559 TENANT_ID INTEGER DEFAULT -1,
2560 CODE VARCHAR(255) NOT NULL,
2561 SCENARIO VARCHAR(255) NOT NULL,
2562 STEP VARCHAR(127) NOT NULL,
2563 TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2564 REMAINING_SETS VARCHAR(2500) DEFAULT NULL,
2565 PRIMARY KEY(USER_NAME, USER_DOMAIN, TENANT_ID, SCENARIO,STEP),
2566 UNIQUE(CODE)
2567 )ENGINE INNODB;
2568 CREATE TABLE IF NOT EXISTS IDN_PASSWORD_HISTORY_DATA (
2569 ID INTEGER NOT NULL AUTO_INCREMENT,
2570 USER_NAME VARCHAR(255) NOT NULL,
2571 USER_DOMAIN VARCHAR(127) NOT NULL,
2572 TENANT_ID INTEGER DEFAULT -1,
2573 SALT_VALUE VARCHAR(255),
2574 HASH VARCHAR(255) NOT NULL,
2575 TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2576 PRIMARY KEY(ID),
2577 UNIQUE (USER_NAME,USER_DOMAIN,TENANT_ID,SALT_VALUE,HASH)
2578 )ENGINE INNODB;
2579 CREATE TABLE IF NOT EXISTS IDN_CLAIM_DIALECT (
2580 ID INTEGER NOT NULL AUTO_INCREMENT,
2581 DIALECT_URI VARCHAR (255) NOT NULL,
2582 TENANT_ID INTEGER NOT NULL,
2583 PRIMARY KEY (ID),
2584 CONSTRAINT DIALECT_URI_CONSTRAINT UNIQUE (DIALECT_URI, TENANT_ID)
2585 )ENGINE INNODB;
2586 CREATE TABLE IF NOT EXISTS IDN_CLAIM (
2587 ID INTEGER NOT NULL AUTO_INCREMENT,
2588 DIALECT_ID INTEGER,
2589 CLAIM_URI VARCHAR (255) NOT NULL,
2590 TENANT_ID INTEGER NOT NULL,
2591 PRIMARY KEY (ID),
2592 FOREIGN KEY (DIALECT_ID) REFERENCES IDN_CLAIM_DIALECT(ID) ON DELETE CASCADE,
2593 CONSTRAINT CLAIM_URI_CONSTRAINT UNIQUE (DIALECT_ID, CLAIM_URI, TENANT_ID)
2594 )ENGINE INNODB;
2595 CREATE TABLE IF NOT EXISTS IDN_CLAIM_MAPPED_ATTRIBUTE (
2596 ID INTEGER NOT NULL AUTO_INCREMENT,
2597 LOCAL_CLAIM_ID INTEGER,
2598 USER_STORE_DOMAIN_NAME VARCHAR (255) NOT NULL,
2599 ATTRIBUTE_NAME VARCHAR (255) NOT NULL,
2600 TENANT_ID INTEGER NOT NULL,
2601 PRIMARY KEY (ID),
2602 FOREIGN KEY (LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
2603 CONSTRAINT USER_STORE_DOMAIN_CONSTRAINT UNIQUE (LOCAL_CLAIM_ID, USER_STORE_DOMAIN_NAME, TENANT_ID)
2604 )ENGINE INNODB;
2605 CREATE TABLE IF NOT EXISTS IDN_CLAIM_PROPERTY (
2606 ID INTEGER NOT NULL AUTO_INCREMENT,
2607 LOCAL_CLAIM_ID INTEGER,
2608 PROPERTY_NAME VARCHAR (255) NOT NULL,
2609 PROPERTY_VALUE VARCHAR (255) NOT NULL,
2610 TENANT_ID INTEGER NOT NULL,
2611 PRIMARY KEY (ID),
2612 FOREIGN KEY (LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
2613 CONSTRAINT PROPERTY_NAME_CONSTRAINT UNIQUE (LOCAL_CLAIM_ID, PROPERTY_NAME, TENANT_ID)
2614 )ENGINE INNODB;
2615 CREATE TABLE IF NOT EXISTS IDN_CLAIM_MAPPING (
2616 ID INTEGER NOT NULL AUTO_INCREMENT,
2617 EXT_CLAIM_ID INTEGER NOT NULL,
2618 MAPPED_LOCAL_CLAIM_ID INTEGER NOT NULL,
2619 TENANT_ID INTEGER NOT NULL,
2620 PRIMARY KEY (ID),
2621 FOREIGN KEY (EXT_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
2622 FOREIGN KEY (MAPPED_LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
2623 CONSTRAINT EXT_TO_LOC_MAPPING_CONSTRN UNIQUE (EXT_CLAIM_ID, TENANT_ID)
2624 )ENGINE INNODB;
2625 CREATE TABLE IF NOT EXISTS IDN_SAML2_ASSERTION_STORE (
2626 ID INTEGER NOT NULL AUTO_INCREMENT,
2627 SAML2_ID VARCHAR(255) ,
2628 SAML2_ISSUER VARCHAR(255) ,
2629 SAML2_SUBJECT VARCHAR(255) ,
2630 SAML2_SESSION_INDEX VARCHAR(255) ,
2631 SAML2_AUTHN_CONTEXT_CLASS_REF VARCHAR(255) ,
2632 SAML2_ASSERTION VARCHAR(4096) ,
2633 PRIMARY KEY (ID)
2634 )ENGINE INNODB;
2635 CREATE TABLE IDN_SAML2_ARTIFACT_STORE (
2636 ID INT(11) NOT NULL AUTO_INCREMENT,
2637 SOURCE_ID VARCHAR(255) NOT NULL,
2638 MESSAGE_HANDLER VARCHAR(255) NOT NULL,
2639 AUTHN_REQ_DTO BLOB NOT NULL,
2640 SESSION_ID VARCHAR(255) NOT NULL,
2641 EXP_TIMESTAMP TIMESTAMP NOT NULL,
2642 INIT_TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
2643 ASSERTION_ID VARCHAR(255),
2644 PRIMARY KEY (`ID`)
2645 )ENGINE INNODB;
2646 CREATE TABLE IF NOT EXISTS IDN_OIDC_JTI (
2647 JWT_ID VARCHAR(255) NOT NULL,
2648 EXP_TIME TIMESTAMP NOT NULL ,
2649 TIME_CREATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
2650 PRIMARY KEY (JWT_ID)
2651 )ENGINE INNODB;
2652 CREATE TABLE IF NOT EXISTS IDN_OIDC_PROPERTY (
2653 ID INTEGER NOT NULL AUTO_INCREMENT,
2654 TENANT_ID INTEGER,
2655 CONSUMER_KEY VARCHAR(255) ,
2656 PROPERTY_KEY VARCHAR(255) NOT NULL,
2657 PROPERTY_VALUE VARCHAR(2047) ,
2658 PRIMARY KEY (ID),
2659 FOREIGN KEY (CONSUMER_KEY) REFERENCES IDN_OAUTH_CONSUMER_APPS(CONSUMER_KEY) ON DELETE CASCADE
2660 )ENGINE INNODB;
2661 CREATE TABLE IF NOT EXISTS IDN_OIDC_REQ_OBJECT_REFERENCE (
2662 ID INTEGER NOT NULL AUTO_INCREMENT,
2663 CONSUMER_KEY_ID INTEGER ,
2664 CODE_ID VARCHAR(255) ,
2665 TOKEN_ID VARCHAR(255) ,
2666 SESSION_DATA_KEY VARCHAR(255),
2667 PRIMARY KEY (ID),
2668 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE,
2669 FOREIGN KEY (TOKEN_ID) REFERENCES IDN_OAUTH2_ACCESS_TOKEN(TOKEN_ID) ON DELETE CASCADE,
2670 FOREIGN KEY (CODE_ID) REFERENCES IDN_OAUTH2_AUTHORIZATION_CODE(CODE_ID) ON DELETE CASCADE
2671 )ENGINE INNODB;
2672 CREATE TABLE IF NOT EXISTS IDN_OIDC_REQ_OBJECT_CLAIMS (
2673 ID INTEGER NOT NULL AUTO_INCREMENT,
2674 REQ_OBJECT_ID INTEGER,
2675 CLAIM_ATTRIBUTE VARCHAR(255) ,
2676 ESSENTIAL CHAR(1) NOT NULL DEFAULT '0' ,
2677 VALUE VARCHAR(255) ,
2678 IS_USERINFO CHAR(1) NOT NULL DEFAULT '0',
2679 PRIMARY KEY (ID),
2680 FOREIGN KEY (REQ_OBJECT_ID) REFERENCES IDN_OIDC_REQ_OBJECT_REFERENCE (ID) ON DELETE CASCADE
2681 )ENGINE INNODB;
2682 CREATE TABLE IF NOT EXISTS IDN_OIDC_REQ_OBJ_CLAIM_VALUES (
2683 ID INTEGER NOT NULL AUTO_INCREMENT,
2684 REQ_OBJECT_CLAIMS_ID INTEGER ,
2685 CLAIM_VALUES VARCHAR(255) ,
2686 PRIMARY KEY (ID),
2687 FOREIGN KEY (REQ_OBJECT_CLAIMS_ID) REFERENCES IDN_OIDC_REQ_OBJECT_CLAIMS(ID) ON DELETE CASCADE
2688 )ENGINE INNODB;
2689 CREATE TABLE IF NOT EXISTS IDN_CERTIFICATE (
2690 ID INTEGER NOT NULL AUTO_INCREMENT,
2691 NAME VARCHAR(100),
2692 CERTIFICATE_IN_PEM BLOB,
2693 TENANT_ID INTEGER DEFAULT 0,
2694 PRIMARY KEY(ID),
2695 CONSTRAINT CERTIFICATE_UNIQUE_KEY UNIQUE (NAME, TENANT_ID)
2696 )ENGINE INNODB;
2697 CREATE TABLE IF NOT EXISTS IDN_OIDC_SCOPE (
2698 ID INTEGER NOT NULL AUTO_INCREMENT,
2699 NAME VARCHAR(255) NOT NULL,
2700 TENANT_ID INTEGER DEFAULT -1,
2701 PRIMARY KEY (ID)
2702 )ENGINE INNODB;
2703 CREATE TABLE IF NOT EXISTS IDN_OIDC_SCOPE_CLAIM_MAPPING (
2704 ID INTEGER NOT NULL AUTO_INCREMENT,
2705 SCOPE_ID INTEGER,
2706 EXTERNAL_CLAIM_ID INTEGER,
2707 PRIMARY KEY (ID),
2708 FOREIGN KEY (SCOPE_ID) REFERENCES IDN_OIDC_SCOPE(ID) ON DELETE CASCADE,
2709 FOREIGN KEY (EXTERNAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE
2710 )ENGINE INNODB;
2711 CREATE INDEX IDX_AT_SI_ECI ON IDN_OIDC_SCOPE_CLAIM_MAPPING(SCOPE_ID, EXTERNAL_CLAIM_ID);
2712 CREATE TABLE CM_PII_CATEGORY (
2713 ID INTEGER AUTO_INCREMENT,
2714 NAME VARCHAR(255) NOT NULL,
2715 DESCRIPTION VARCHAR(1023),
2716 DISPLAY_NAME VARCHAR(255),
2717 IS_SENSITIVE INTEGER NOT NULL,
2718 TENANT_ID INTEGER DEFAULT '-1234',
2719 UNIQUE KEY (NAME, TENANT_ID),
2720 PRIMARY KEY (ID)
2721 );
2722 CREATE TABLE CM_RECEIPT (
2723 CONSENT_RECEIPT_ID VARCHAR(255) NOT NULL,
2724 VERSION VARCHAR(255) NOT NULL,
2725 JURISDICTION VARCHAR(255) NOT NULL,
2726 CONSENT_TIMESTAMP TIMESTAMP NOT NULL,
2727 COLLECTION_METHOD VARCHAR(255) NOT NULL,
2728 LANGUAGE VARCHAR(255) NOT NULL,
2729 PII_PRINCIPAL_ID VARCHAR(255) NOT NULL,
2730 PRINCIPAL_TENANT_ID INTEGER DEFAULT '-1234',
2731 POLICY_URL VARCHAR(255) NOT NULL,
2732 STATE VARCHAR(255) NOT NULL,
2733 PII_CONTROLLER VARCHAR(2048) NOT NULL,
2734 PRIMARY KEY (CONSENT_RECEIPT_ID)
2735 );
2736 CREATE TABLE CM_PURPOSE (
2737 ID INTEGER AUTO_INCREMENT,
2738 NAME VARCHAR(255) NOT NULL,
2739 DESCRIPTION VARCHAR(1023),
2740 PURPOSE_GROUP VARCHAR(255) NOT NULL,
2741 GROUP_TYPE VARCHAR(255) NOT NULL,
2742 TENANT_ID INTEGER DEFAULT '-1234',
2743 UNIQUE KEY (NAME, TENANT_ID, PURPOSE_GROUP, GROUP_TYPE),
2744 PRIMARY KEY (ID)
2745 );
2746 CREATE TABLE CM_PURPOSE_CATEGORY (
2747 ID INTEGER AUTO_INCREMENT,
2748 NAME VARCHAR(255) NOT NULL,
2749 DESCRIPTION VARCHAR(1023),
2750 TENANT_ID INTEGER DEFAULT '-1234',
2751 UNIQUE KEY (NAME, TENANT_ID),
2752 PRIMARY KEY (ID)
2753 );
2754 CREATE TABLE CM_RECEIPT_SP_ASSOC (
2755 ID INTEGER AUTO_INCREMENT,
2756 CONSENT_RECEIPT_ID VARCHAR(255) NOT NULL,
2757 SP_NAME VARCHAR(255) NOT NULL,
2758 SP_DISPLAY_NAME VARCHAR(255),
2759 SP_DESCRIPTION VARCHAR(255),
2760 SP_TENANT_ID INTEGER DEFAULT '-1234',
2761 UNIQUE KEY (CONSENT_RECEIPT_ID, SP_NAME, SP_TENANT_ID),
2762 PRIMARY KEY (ID)
2763 );
2764 CREATE TABLE CM_SP_PURPOSE_ASSOC (
2765 ID INTEGER AUTO_INCREMENT,
2766 RECEIPT_SP_ASSOC INTEGER NOT NULL,
2767 PURPOSE_ID INTEGER NOT NULL,
2768 CONSENT_TYPE VARCHAR(255) NOT NULL,
2769 IS_PRIMARY_PURPOSE INTEGER NOT NULL,
2770 TERMINATION VARCHAR(255) NOT NULL,
2771 THIRD_PARTY_DISCLOSURE INTEGER NOT NULL,
2772 THIRD_PARTY_NAME VARCHAR(255),
2773 UNIQUE KEY (RECEIPT_SP_ASSOC, PURPOSE_ID),
2774 PRIMARY KEY (ID)
2775 );
2776 CREATE TABLE CM_SP_PURPOSE_PURPOSE_CAT_ASSC (
2777 SP_PURPOSE_ASSOC_ID INTEGER NOT NULL,
2778 PURPOSE_CATEGORY_ID INTEGER NOT NULL,
2779 UNIQUE KEY (SP_PURPOSE_ASSOC_ID, PURPOSE_CATEGORY_ID)
2780 );
2781 CREATE TABLE CM_PURPOSE_PII_CAT_ASSOC (
2782 PURPOSE_ID INTEGER NOT NULL,
2783 CM_PII_CATEGORY_ID INTEGER NOT NULL,
2784 IS_MANDATORY INTEGER NOT NULL,
2785 UNIQUE KEY (PURPOSE_ID, CM_PII_CATEGORY_ID)
2786 );
2787 CREATE TABLE CM_SP_PURPOSE_PII_CAT_ASSOC (
2788 SP_PURPOSE_ASSOC_ID INTEGER NOT NULL,
2789 PII_CATEGORY_ID INTEGER NOT NULL,
2790 VALIDITY VARCHAR(1023),
2791 UNIQUE KEY (SP_PURPOSE_ASSOC_ID, PII_CATEGORY_ID)
2792 );
2793 CREATE TABLE CM_CONSENT_RECEIPT_PROPERTY (
2794 CONSENT_RECEIPT_ID VARCHAR(255) NOT NULL,
2795 NAME VARCHAR(255) NOT NULL,
2796 VALUE VARCHAR(1023) NOT NULL,
2797 UNIQUE KEY (CONSENT_RECEIPT_ID, NAME)
2798 );
2799 ALTER TABLE CM_RECEIPT_SP_ASSOC
2800 ADD CONSTRAINT CM_RECEIPT_SP_ASSOC_fk0 FOREIGN KEY (CONSENT_RECEIPT_ID) REFERENCES CM_RECEIPT (CONSENT_RECEIPT_ID);
2801 ALTER TABLE CM_SP_PURPOSE_ASSOC
2802 ADD CONSTRAINT CM_SP_PURPOSE_ASSOC_fk0 FOREIGN KEY (RECEIPT_SP_ASSOC) REFERENCES CM_RECEIPT_SP_ASSOC (ID);
2803 ALTER TABLE CM_SP_PURPOSE_ASSOC
2804 ADD CONSTRAINT CM_SP_PURPOSE_ASSOC_fk1 FOREIGN KEY (PURPOSE_ID) REFERENCES CM_PURPOSE (ID);
2805 ALTER TABLE CM_SP_PURPOSE_PURPOSE_CAT_ASSC
2806 ADD CONSTRAINT CM_SP_P_P_CAT_ASSOC_fk0 FOREIGN KEY (SP_PURPOSE_ASSOC_ID) REFERENCES CM_SP_PURPOSE_ASSOC (ID);
2807 ALTER TABLE CM_SP_PURPOSE_PURPOSE_CAT_ASSC
2808 ADD CONSTRAINT CM_SP_P_P_CAT_ASSOC_fk1 FOREIGN KEY (PURPOSE_CATEGORY_ID) REFERENCES CM_PURPOSE_CATEGORY (ID);
2809 ALTER TABLE CM_SP_PURPOSE_PII_CAT_ASSOC
2810 ADD CONSTRAINT CM_SP_P_PII_CAT_ASSOC_fk0 FOREIGN KEY (SP_PURPOSE_ASSOC_ID) REFERENCES CM_SP_PURPOSE_ASSOC (ID);
2811 ALTER TABLE CM_SP_PURPOSE_PII_CAT_ASSOC
2812 ADD CONSTRAINT CM_SP_P_PII_CAT_ASSOC_fk1 FOREIGN KEY (PII_CATEGORY_ID) REFERENCES CM_PII_CATEGORY (ID);
2813 ALTER TABLE CM_CONSENT_RECEIPT_PROPERTY
2814 ADD CONSTRAINT CM_CONSENT_RECEIPT_PRT_fk0 FOREIGN KEY (CONSENT_RECEIPT_ID) REFERENCES CM_RECEIPT (CONSENT_RECEIPT_ID);
2815 INSERT INTO CM_PURPOSE (NAME, DESCRIPTION, PURPOSE_GROUP, GROUP_TYPE, TENANT_ID) VALUES ('DEFAULT', 'For core functionalities of the product', 'DEFAULT', 'SP', '-1234');
2816 INSERT INTO CM_PURPOSE_CATEGORY (NAME, DESCRIPTION, TENANT_ID) VALUES ('DEFAULT','For core functionalities of the product', '-1234');
2817 CREATE TABLE IF NOT EXISTS AM_SUBSCRIBER (
2818 SUBSCRIBER_ID INTEGER AUTO_INCREMENT,
2819 USER_ID VARCHAR(255) NOT NULL,
2820 TENANT_ID INTEGER NOT NULL,
2821 EMAIL_ADDRESS VARCHAR(256) NULL,
2822 DATE_SUBSCRIBED TIMESTAMP NOT NULL,
2823 PRIMARY KEY (SUBSCRIBER_ID),
2824 CREATED_BY VARCHAR(100),
2825 CREATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2826 UPDATED_BY VARCHAR(100),
2827 UPDATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2828 UNIQUE (TENANT_ID,USER_ID)
2829 )ENGINE INNODB;
2830 CREATE TABLE IF NOT EXISTS AM_APPLICATION (
2831 APPLICATION_ID INTEGER AUTO_INCREMENT,
2832 NAME VARCHAR(100),
2833 SUBSCRIBER_ID INTEGER,
2834 APPLICATION_TIER VARCHAR(50) DEFAULT 'Unlimited',
2835 CALLBACK_URL VARCHAR(512),
2836 DESCRIPTION VARCHAR(512),
2837 APPLICATION_STATUS VARCHAR(50) DEFAULT 'APPROVED',
2838 GROUP_ID VARCHAR(100),
2839 CREATED_BY VARCHAR(100),
2840 CREATED_TIME TIMESTAMP,
2841 UPDATED_BY VARCHAR(100),
2842 UPDATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2843 UUID VARCHAR(256),
2844 TOKEN_TYPE VARCHAR(10),
2845 FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2846 PRIMARY KEY(APPLICATION_ID),
2847 UNIQUE (NAME,SUBSCRIBER_ID),
2848 UNIQUE (UUID)
2849 )ENGINE INNODB;
2850 CREATE TABLE IF NOT EXISTS AM_API (
2851 API_ID INTEGER AUTO_INCREMENT,
2852 API_PROVIDER VARCHAR(200),
2853 API_NAME VARCHAR(200),
2854 API_VERSION VARCHAR(30),
2855 CONTEXT VARCHAR(256),
2856 CONTEXT_TEMPLATE VARCHAR(256),
2857 API_TIER VARCHAR(256),
2858 CREATED_BY VARCHAR(100),
2859 CREATED_TIME TIMESTAMP,
2860 UPDATED_BY VARCHAR(100),
2861 UPDATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2862 PRIMARY KEY(API_ID),
2863 UNIQUE (API_PROVIDER,API_NAME,API_VERSION)
2864 )ENGINE INNODB;
2865 CREATE TABLE IF NOT EXISTS AM_API_URL_MAPPING (
2866 URL_MAPPING_ID INTEGER AUTO_INCREMENT,
2867 API_ID INTEGER NOT NULL,
2868 HTTP_METHOD VARCHAR(20) NULL,
2869 AUTH_SCHEME VARCHAR(50) NULL,
2870 URL_PATTERN VARCHAR(512) NULL,
2871 THROTTLING_TIER varchar(512) DEFAULT NULL,
2872 MEDIATION_SCRIPT BLOB,
2873 PRIMARY KEY (URL_MAPPING_ID)
2874 )ENGINE INNODB;
2875 CREATE TABLE IF NOT EXISTS AM_SUBSCRIPTION (
2876 SUBSCRIPTION_ID INTEGER AUTO_INCREMENT,
2877 TIER_ID VARCHAR(50),
2878 API_ID INTEGER,
2879 LAST_ACCESSED TIMESTAMP NULL,
2880 APPLICATION_ID INTEGER,
2881 SUB_STATUS VARCHAR(50),
2882 SUBS_CREATE_STATE VARCHAR(50) DEFAULT 'SUBSCRIBE',
2883 CREATED_BY VARCHAR(100),
2884 CREATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2885 UPDATED_BY VARCHAR(100),
2886 UPDATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
2887 UUID VARCHAR(256),
2888 FOREIGN KEY(APPLICATION_ID) REFERENCES AM_APPLICATION(APPLICATION_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2889 FOREIGN KEY(API_ID) REFERENCES AM_API(API_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2890 PRIMARY KEY (SUBSCRIPTION_ID),
2891 UNIQUE (UUID)
2892 )ENGINE INNODB;
2893 CREATE TABLE IF NOT EXISTS AM_SUBSCRIPTION_KEY_MAPPING (
2894 SUBSCRIPTION_ID INTEGER,
2895 ACCESS_TOKEN VARCHAR(512),
2896 KEY_TYPE VARCHAR(512) NOT NULL,
2897 FOREIGN KEY(SUBSCRIPTION_ID) REFERENCES AM_SUBSCRIPTION(SUBSCRIPTION_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2898 PRIMARY KEY(SUBSCRIPTION_ID,ACCESS_TOKEN)
2899 )ENGINE INNODB;
2900 CREATE TABLE IF NOT EXISTS AM_APPLICATION_KEY_MAPPING (
2901 APPLICATION_ID INTEGER,
2902 CONSUMER_KEY VARCHAR(255),
2903 KEY_TYPE VARCHAR(512) NOT NULL,
2904 STATE VARCHAR(30) NOT NULL,
2905 CREATE_MODE VARCHAR(30) DEFAULT 'CREATED',
2906 FOREIGN KEY(APPLICATION_ID) REFERENCES AM_APPLICATION(APPLICATION_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2907 PRIMARY KEY(APPLICATION_ID,KEY_TYPE)
2908 )ENGINE INNODB;
2909 CREATE TABLE IF NOT EXISTS AM_API_LC_EVENT (
2910 EVENT_ID INTEGER AUTO_INCREMENT,
2911 API_ID INTEGER NOT NULL,
2912 PREVIOUS_STATE VARCHAR(50),
2913 NEW_STATE VARCHAR(50) NOT NULL,
2914 USER_ID VARCHAR(255) NOT NULL,
2915 TENANT_ID INTEGER NOT NULL,
2916 EVENT_DATE TIMESTAMP NOT NULL,
2917 FOREIGN KEY(API_ID) REFERENCES AM_API(API_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2918 PRIMARY KEY (EVENT_ID)
2919 )ENGINE INNODB;
2920 CREATE TABLE AM_APP_KEY_DOMAIN_MAPPING (
2921 CONSUMER_KEY VARCHAR(255),
2922 AUTHZ_DOMAIN VARCHAR(255) DEFAULT 'ALL',
2923 PRIMARY KEY (CONSUMER_KEY,AUTHZ_DOMAIN)
2924 )ENGINE INNODB;
2925 CREATE TABLE IF NOT EXISTS AM_API_COMMENTS (
2926 COMMENT_ID INTEGER AUTO_INCREMENT,
2927 COMMENT_TEXT VARCHAR(512),
2928 COMMENTED_USER VARCHAR(255),
2929 DATE_COMMENTED TIMESTAMP NOT NULL,
2930 API_ID INTEGER NOT NULL,
2931 FOREIGN KEY(API_ID) REFERENCES AM_API(API_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2932 PRIMARY KEY (COMMENT_ID)
2933 )ENGINE INNODB;
2934 CREATE TABLE IF NOT EXISTS AM_API_RATINGS (
2935 RATING_ID INTEGER AUTO_INCREMENT,
2936 API_ID INTEGER,
2937 RATING INTEGER,
2938 SUBSCRIBER_ID INTEGER,
2939 FOREIGN KEY(API_ID) REFERENCES AM_API(API_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2940 FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2941 PRIMARY KEY (RATING_ID)
2942 )ENGINE INNODB;
2943 CREATE TABLE IF NOT EXISTS AM_TIER_PERMISSIONS (
2944 TIER_PERMISSIONS_ID INTEGER AUTO_INCREMENT,
2945 TIER VARCHAR(50) NOT NULL,
2946 PERMISSIONS_TYPE VARCHAR(50) NOT NULL,
2947 ROLES VARCHAR(512) NOT NULL,
2948 TENANT_ID INTEGER NOT NULL,
2949 PRIMARY KEY(TIER_PERMISSIONS_ID)
2950 )ENGINE INNODB;
2951 CREATE TABLE IF NOT EXISTS AM_EXTERNAL_STORES (
2952 APISTORE_ID INTEGER AUTO_INCREMENT,
2953 API_ID INTEGER,
2954 STORE_ID VARCHAR(255) NOT NULL,
2955 STORE_DISPLAY_NAME VARCHAR(255) NOT NULL,
2956 STORE_ENDPOINT VARCHAR(255) NOT NULL,
2957 STORE_TYPE VARCHAR(255) NOT NULL,
2958 FOREIGN KEY(API_ID) REFERENCES AM_API(API_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2959 PRIMARY KEY (APISTORE_ID)
2960 )ENGINE INNODB;
2961 CREATE TABLE IF NOT EXISTS AM_WORKFLOWS(
2962 WF_ID INTEGER AUTO_INCREMENT,
2963 WF_REFERENCE VARCHAR(255) NOT NULL,
2964 WF_TYPE VARCHAR(255) NOT NULL,
2965 WF_STATUS VARCHAR(255) NOT NULL,
2966 WF_CREATED_TIME TIMESTAMP,
2967 WF_UPDATED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
2968 WF_STATUS_DESC VARCHAR(1000),
2969 TENANT_ID INTEGER,
2970 TENANT_DOMAIN VARCHAR(255),
2971 WF_EXTERNAL_REFERENCE VARCHAR(255) NOT NULL,
2972 PRIMARY KEY (WF_ID),
2973 UNIQUE (WF_EXTERNAL_REFERENCE)
2974 )ENGINE INNODB;
2975 CREATE TABLE IF NOT EXISTS AM_APPLICATION_REGISTRATION (
2976 REG_ID INT AUTO_INCREMENT,
2977 SUBSCRIBER_ID INT,
2978 WF_REF VARCHAR(255) NOT NULL,
2979 APP_ID INT,
2980 TOKEN_TYPE VARCHAR(30),
2981 TOKEN_SCOPE VARCHAR(1500) DEFAULT 'default',
2982 INPUTS VARCHAR(1000),
2983 ALLOWED_DOMAINS VARCHAR(256),
2984 VALIDITY_PERIOD BIGINT,
2985 UNIQUE (SUBSCRIBER_ID,APP_ID,TOKEN_TYPE),
2986 FOREIGN KEY(SUBSCRIBER_ID) REFERENCES AM_SUBSCRIBER(SUBSCRIBER_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2987 FOREIGN KEY(APP_ID) REFERENCES AM_APPLICATION(APPLICATION_ID) ON UPDATE CASCADE ON DELETE RESTRICT,
2988 PRIMARY KEY (REG_ID)
2989 )ENGINE INNODB;
2990 CREATE TABLE IF NOT EXISTS AM_API_SCOPES (
2991 API_ID INTEGER NOT NULL,
2992 SCOPE_ID INTEGER NOT NULL,
2993 FOREIGN KEY (API_ID) REFERENCES AM_API (API_ID) ON DELETE CASCADE ON UPDATE CASCADE,
2994 FOREIGN KEY (SCOPE_ID) REFERENCES IDN_OAUTH2_SCOPE (SCOPE_ID) ON DELETE CASCADE ON UPDATE CASCADE,
2995 PRIMARY KEY (API_ID, SCOPE_ID)
2996 )ENGINE = INNODB;
2997 CREATE TABLE IF NOT EXISTS AM_API_DEFAULT_VERSION (
2998 DEFAULT_VERSION_ID INT AUTO_INCREMENT,
2999 API_NAME VARCHAR(256) NOT NULL ,
3000 API_PROVIDER VARCHAR(256) NOT NULL ,
3001 DEFAULT_API_VERSION VARCHAR(30) ,
3002 PUBLISHED_DEFAULT_API_VERSION VARCHAR(30) ,
3003 PRIMARY KEY (DEFAULT_VERSION_ID)
3004 )ENGINE = INNODB;
3005 CREATE INDEX IDX_SUB_APP_ID ON AM_SUBSCRIPTION (APPLICATION_ID, SUBSCRIPTION_ID);
3006 CREATE TABLE IF NOT EXISTS AM_ALERT_TYPES (
3007 ALERT_TYPE_ID INTEGER AUTO_INCREMENT,
3008 ALERT_TYPE_NAME VARCHAR(255) NOT NULL ,
3009 STAKE_HOLDER VARCHAR(100) NOT NULL,
3010 PRIMARY KEY (ALERT_TYPE_ID)
3011 )ENGINE = INNODB;
3012 CREATE TABLE IF NOT EXISTS AM_ALERT_TYPES_VALUES (
3013 ALERT_TYPE_ID INTEGER,
3014 USER_NAME VARCHAR(255) NOT NULL ,
3015 STAKE_HOLDER VARCHAR(100) NOT NULL ,
3016 PRIMARY KEY (ALERT_TYPE_ID,USER_NAME,STAKE_HOLDER)
3017 )ENGINE = INNODB;
3018 CREATE TABLE IF NOT EXISTS AM_ALERT_EMAILLIST (
3019 EMAIL_LIST_ID INTEGER AUTO_INCREMENT,
3020 USER_NAME VARCHAR(255) NOT NULL ,
3021 STAKE_HOLDER VARCHAR(100) NOT NULL ,
3022 PRIMARY KEY (EMAIL_LIST_ID,USER_NAME,STAKE_HOLDER)
3023 )ENGINE = INNODB;
3024 CREATE TABLE IF NOT EXISTS AM_ALERT_EMAILLIST_DETAILS (
3025 EMAIL_LIST_ID INTEGER,
3026 EMAIL VARCHAR(255),
3027 PRIMARY KEY (EMAIL_LIST_ID,EMAIL)
3028 )ENGINE = INNODB;
3029 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('AbnormalResponseTime', 'publisher');
3030 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('AbnormalBackendTime', 'publisher');
3031 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('AbnormalRequestsPerMin', 'subscriber');
3032 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('AbnormalRequestPattern', 'subscriber');
3033 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('UnusualIPAccess', 'subscriber');
3034 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('FrequentTierLimitHitting', 'subscriber');
3035 INSERT INTO AM_ALERT_TYPES (ALERT_TYPE_NAME, STAKE_HOLDER) VALUES ('ApiHealthMonitor', 'publisher');
3036 CREATE TABLE IF NOT EXISTS AM_POLICY_SUBSCRIPTION (
3037 POLICY_ID INT(11) NOT NULL AUTO_INCREMENT,
3038 NAME VARCHAR(512) NOT NULL,
3039 DISPLAY_NAME VARCHAR(512) NULL DEFAULT NULL,
3040 TENANT_ID INT(11) NOT NULL,
3041 DESCRIPTION VARCHAR(1024) NULL DEFAULT NULL,
3042 QUOTA_TYPE VARCHAR(25) NOT NULL,
3043 QUOTA INT(11) NOT NULL,
3044 QUOTA_UNIT VARCHAR(10) NULL,
3045 UNIT_TIME INT(11) NOT NULL,
3046 TIME_UNIT VARCHAR(25) NOT NULL,
3047 RATE_LIMIT_COUNT INT(11) NULL DEFAULT NULL,
3048 RATE_LIMIT_TIME_UNIT VARCHAR(25) NULL DEFAULT NULL,
3049 IS_DEPLOYED TINYINT(1) NOT NULL DEFAULT 0,
3050 CUSTOM_ATTRIBUTES BLOB DEFAULT NULL,
3051 STOP_ON_QUOTA_REACH BOOLEAN NOT NULL DEFAULT 0,
3052 BILLING_PLAN VARCHAR(20) NOT NULL,
3053 UUID VARCHAR(256),
3054 PRIMARY KEY (POLICY_ID),
3055 UNIQUE INDEX AM_POLICY_SUBSCRIPTION_NAME_TENANT (NAME, TENANT_ID),
3056 UNIQUE (UUID)
3057 )ENGINE = InnoDB;
3058 CREATE TABLE IF NOT EXISTS AM_POLICY_APPLICATION (
3059 POLICY_ID INT(11) NOT NULL AUTO_INCREMENT,
3060 NAME VARCHAR(512) NOT NULL,
3061 DISPLAY_NAME VARCHAR(512) NULL DEFAULT NULL,
3062 TENANT_ID INT(11) NOT NULL,
3063 DESCRIPTION VARCHAR(1024) NULL DEFAULT NULL,
3064 QUOTA_TYPE VARCHAR(25) NOT NULL,
3065 QUOTA INT(11) NOT NULL,
3066 QUOTA_UNIT VARCHAR(10) NULL DEFAULT NULL,
3067 UNIT_TIME INT(11) NOT NULL,
3068 TIME_UNIT VARCHAR(25) NOT NULL,
3069 IS_DEPLOYED TINYINT(1) NOT NULL DEFAULT 0,
3070 CUSTOM_ATTRIBUTES BLOB DEFAULT NULL,
3071 UUID VARCHAR(256),
3072 PRIMARY KEY (POLICY_ID),
3073 UNIQUE INDEX APP_NAME_TENANT (NAME, TENANT_ID),
3074 UNIQUE (UUID)
3075 )ENGINE = InnoDB;
3076 CREATE TABLE IF NOT EXISTS AM_POLICY_HARD_THROTTLING (
3077 POLICY_ID INT(11) NOT NULL AUTO_INCREMENT,
3078 NAME VARCHAR(512) NOT NULL,
3079 TENANT_ID INT(11) NOT NULL,
3080 DESCRIPTION VARCHAR(1024) NULL DEFAULT NULL,
3081 QUOTA_TYPE VARCHAR(25) NOT NULL,
3082 QUOTA INT(11) NOT NULL,
3083 QUOTA_UNIT VARCHAR(10) NULL DEFAULT NULL,
3084 UNIT_TIME INT(11) NOT NULL,
3085 TIME_UNIT VARCHAR(25) NOT NULL,
3086 IS_DEPLOYED TINYINT(1) NOT NULL DEFAULT 0,
3087 PRIMARY KEY (POLICY_ID),
3088 UNIQUE INDEX POLICY_HARD_NAME_TENANT (NAME, TENANT_ID)
3089 )ENGINE = InnoDB;
3090 CREATE TABLE IF NOT EXISTS AM_API_THROTTLE_POLICY (
3091 POLICY_ID INT(11) NOT NULL AUTO_INCREMENT,
3092 NAME VARCHAR(512) NOT NULL,
3093 DISPLAY_NAME VARCHAR(512) NULL DEFAULT NULL,
3094 TENANT_ID INT(11) NOT NULL,
3095 DESCRIPTION VARCHAR (1024),
3096 DEFAULT_QUOTA_TYPE VARCHAR(25) NOT NULL,
3097 DEFAULT_QUOTA INTEGER NOT NULL,
3098 DEFAULT_QUOTA_UNIT VARCHAR(10) NULL,
3099 DEFAULT_UNIT_TIME INTEGER NOT NULL,
3100 DEFAULT_TIME_UNIT VARCHAR(25) NOT NULL,
3101 APPLICABLE_LEVEL VARCHAR(25) NOT NULL,
3102 IS_DEPLOYED TINYINT(1) NOT NULL DEFAULT 0,
3103 UUID VARCHAR(256),
3104 PRIMARY KEY (POLICY_ID),
3105 UNIQUE INDEX API_NAME_TENANT (NAME, TENANT_ID),
3106 UNIQUE (UUID)
3107 )ENGINE INNODB;
3108 CREATE TABLE IF NOT EXISTS AM_CONDITION_GROUP (
3109 CONDITION_GROUP_ID INTEGER NOT NULL AUTO_INCREMENT,
3110 POLICY_ID INTEGER NOT NULL,
3111 QUOTA_TYPE VARCHAR(25),
3112 QUOTA INTEGER NOT NULL,
3113 QUOTA_UNIT VARCHAR(10) NULL DEFAULT NULL,
3114 UNIT_TIME INTEGER NOT NULL,
3115 TIME_UNIT VARCHAR(25) NOT NULL,
3116 DESCRIPTION VARCHAR (1024) NULL DEFAULT NULL,
3117 PRIMARY KEY (CONDITION_GROUP_ID),
3118 FOREIGN KEY (POLICY_ID) REFERENCES AM_API_THROTTLE_POLICY(POLICY_ID) ON DELETE CASCADE ON UPDATE CASCADE
3119 )ENGINE INNODB;
3120 CREATE TABLE IF NOT EXISTS AM_QUERY_PARAMETER_CONDITION (
3121 QUERY_PARAMETER_ID INTEGER NOT NULL AUTO_INCREMENT,
3122 CONDITION_GROUP_ID INTEGER NOT NULL,
3123 PARAMETER_NAME VARCHAR(255) DEFAULT NULL,
3124 PARAMETER_VALUE VARCHAR(255) DEFAULT NULL,
3125 IS_PARAM_MAPPING BOOLEAN DEFAULT 1,
3126 PRIMARY KEY (QUERY_PARAMETER_ID),
3127 FOREIGN KEY (CONDITION_GROUP_ID) REFERENCES AM_CONDITION_GROUP(CONDITION_GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE
3128 )ENGINE INNODB;
3129 CREATE TABLE IF NOT EXISTS AM_HEADER_FIELD_CONDITION (
3130 HEADER_FIELD_ID INTEGER NOT NULL AUTO_INCREMENT,
3131 CONDITION_GROUP_ID INTEGER NOT NULL,
3132 HEADER_FIELD_NAME VARCHAR(255) DEFAULT NULL,
3133 HEADER_FIELD_VALUE VARCHAR(255) DEFAULT NULL,
3134 IS_HEADER_FIELD_MAPPING BOOLEAN DEFAULT 1,
3135 PRIMARY KEY (HEADER_FIELD_ID),
3136 FOREIGN KEY (CONDITION_GROUP_ID) REFERENCES AM_CONDITION_GROUP(CONDITION_GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE
3137 )ENGINE INNODB;
3138 CREATE TABLE IF NOT EXISTS AM_JWT_CLAIM_CONDITION (
3139 JWT_CLAIM_ID INTEGER NOT NULL AUTO_INCREMENT,
3140 CONDITION_GROUP_ID INTEGER NOT NULL,
3141 CLAIM_URI VARCHAR(512) DEFAULT NULL,
3142 CLAIM_ATTRIB VARCHAR(1024) DEFAULT NULL,
3143 IS_CLAIM_MAPPING BOOLEAN DEFAULT 1,
3144 PRIMARY KEY (JWT_CLAIM_ID),
3145 FOREIGN KEY (CONDITION_GROUP_ID) REFERENCES AM_CONDITION_GROUP(CONDITION_GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE
3146 )ENGINE INNODB;
3147 CREATE TABLE IF NOT EXISTS AM_IP_CONDITION (
3148 AM_IP_CONDITION_ID INT NOT NULL AUTO_INCREMENT,
3149 STARTING_IP VARCHAR(45) NULL,
3150 ENDING_IP VARCHAR(45) NULL,
3151 SPECIFIC_IP VARCHAR(45) NULL,
3152 WITHIN_IP_RANGE BOOLEAN DEFAULT 1,
3153 CONDITION_GROUP_ID INT NULL,
3154 PRIMARY KEY (AM_IP_CONDITION_ID),
3155 INDEX fk_AM_IP_CONDITION_1_idx (CONDITION_GROUP_ID ASC), CONSTRAINT fk_AM_IP_CONDITION_1 FOREIGN KEY (CONDITION_GROUP_ID)
3156 REFERENCES AM_CONDITION_GROUP (CONDITION_GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE)
3157 ENGINE = InnoDB;
3158 CREATE TABLE IF NOT EXISTS AM_POLICY_GLOBAL (
3159 POLICY_ID INT(11) NOT NULL AUTO_INCREMENT,
3160 NAME VARCHAR(512) NOT NULL,
3161 KEY_TEMPLATE VARCHAR(512) NOT NULL,
3162 TENANT_ID INT(11) NOT NULL,
3163 DESCRIPTION VARCHAR(1024) NULL DEFAULT NULL,
3164 SIDDHI_QUERY BLOB DEFAULT NULL,
3165 IS_DEPLOYED TINYINT(1) NOT NULL DEFAULT 0,
3166 UUID VARCHAR(256),
3167 PRIMARY KEY (POLICY_ID),
3168 UNIQUE (UUID)
3169 )ENGINE INNODB;
3170 CREATE TABLE IF NOT EXISTS AM_THROTTLE_TIER_PERMISSIONS (
3171 THROTTLE_TIER_PERMISSIONS_ID INT NOT NULL AUTO_INCREMENT,
3172 TIER VARCHAR(50) NULL,
3173 PERMISSIONS_TYPE VARCHAR(50) NULL,
3174 ROLES VARCHAR(512) NULL,
3175 TENANT_ID INT(11) NULL,
3176 PRIMARY KEY (THROTTLE_TIER_PERMISSIONS_ID))
3177 ENGINE = InnoDB;
3178 CREATE TABLE `AM_BLOCK_CONDITIONS` (
3179 `CONDITION_ID` int(11) NOT NULL AUTO_INCREMENT,
3180 `TYPE` varchar(45) DEFAULT NULL,
3181 `VALUE` varchar(512) DEFAULT NULL,
3182 `ENABLED` varchar(45) DEFAULT NULL,
3183 `DOMAIN` varchar(45) DEFAULT NULL,
3184 `UUID` VARCHAR(256),
3185 PRIMARY KEY (`CONDITION_ID`),
3186 UNIQUE (`UUID`)
3187 ) ENGINE=InnoDB;
3188 CREATE TABLE IF NOT EXISTS `AM_CERTIFICATE_METADATA` (
3189 `TENANT_ID` INT(11) NOT NULL,
3190 `ALIAS` VARCHAR(45) NOT NULL,
3191 `END_POINT` VARCHAR(100) NOT NULL,
3192 CONSTRAINT PK_ALIAS PRIMARY KEY (`ALIAS`)
3193 ) ENGINE=InnoDB;
3194 CREATE TABLE IF NOT EXISTS AM_APPLICATION_GROUP_MAPPING (
3195 APPLICATION_ID INTEGER NOT NULL,
3196 GROUP_ID VARCHAR(512) NOT NULL,
3197 TENANT VARCHAR(255),
3198 PRIMARY KEY (APPLICATION_ID,GROUP_ID,TENANT),
3199 FOREIGN KEY (APPLICATION_ID) REFERENCES AM_APPLICATION(APPLICATION_ID) ON DELETE CASCADE ON UPDATE CASCADE
3200 ) ENGINE=InnoDB;
3201 CREATE TABLE IF NOT EXISTS AM_USAGE_UPLOADED_FILES (
3202 TENANT_DOMAIN varchar(255) NOT NULL,
3203 FILE_NAME varchar(255) NOT NULL,
3204 FILE_TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
3205 FILE_PROCESSED tinyint(1) DEFAULT FALSE,
3206 FILE_CONTENT MEDIUMBLOB DEFAULT NULL,
3207 PRIMARY KEY (TENANT_DOMAIN, FILE_NAME, FILE_TIMESTAMP)
3208 ) ENGINE=InnoDB;
3209 CREATE TABLE IF NOT EXISTS AM_API_LC_PUBLISH_EVENTS (
3210 ID INTEGER(11) NOT NULL AUTO_INCREMENT,
3211 TENANT_DOMAIN VARCHAR(500) NOT NULL,
3212 API_ID VARCHAR(500) NOT NULL,
3213 EVENT_TIME TIMESTAMP NOT NULL,
3214 PRIMARY KEY (ID)
3215 ) ENGINE=InnoDB;
3216 CREATE TABLE IF NOT EXISTS AM_APPLICATION_ATTRIBUTES (
3217 APPLICATION_ID int(11) NOT NULL,
3218 NAME varchar(255) NOT NULL,
3219 VALUE varchar(1024) NOT NULL,
3220 TENANT_ID int(11) NOT NULL,
3221 PRIMARY KEY (APPLICATION_ID,NAME),
3222 FOREIGN KEY (APPLICATION_ID) REFERENCES AM_APPLICATION (APPLICATION_ID) ON DELETE CASCADE ON UPDATE CASCADE
3223 ) ENGINE=InnoDB;
3224 CREATE TABLE IF NOT EXISTS AM_LABELS (
3225 LABEL_ID VARCHAR(50),
3226 NAME VARCHAR(255),
3227 DESCRIPTION VARCHAR(1024),
3228 TENANT_DOMAIN VARCHAR(255),
3229 UNIQUE (NAME,TENANT_DOMAIN),
3230 PRIMARY KEY (LABEL_ID)
3231 ) ENGINE=InnoDB;
3232 CREATE TABLE IF NOT EXISTS AM_LABEL_URLS (
3233 LABEL_ID VARCHAR(50),
3234 ACCESS_URL VARCHAR(255),
3235 PRIMARY KEY (LABEL_ID,ACCESS_URL),
3236 FOREIGN KEY (LABEL_ID) REFERENCES AM_LABELS(LABEL_ID) ON UPDATE CASCADE ON DELETE CASCADE
3237 ) ENGINE=InnoDB;
3238 create index IDX_ITS_LMT on IDN_THRIFT_SESSION (LAST_MODIFIED_TIME);
3239 create index IDX_IOAT_UT on IDN_OAUTH2_ACCESS_TOKEN (USER_TYPE);
3240 create index IDX_AAI_CTX on AM_API (CONTEXT);
3241 create index IDX_AAKM_CK on AM_APPLICATION_KEY_MAPPING (CONSUMER_KEY);
3242 create index IDX_AAUM_AI on AM_API_URL_MAPPING (API_ID);
3243 create index IDX_AAUM_TT on AM_API_URL_MAPPING (THROTTLING_TIER);
3244 create index IDX_AATP_DQT on AM_API_THROTTLE_POLICY (DEFAULT_QUOTA_TYPE);
3245 create index IDX_ACG_QT on AM_CONDITION_GROUP (QUOTA_TYPE);
3246 create index IDX_APS_QT on AM_POLICY_SUBSCRIPTION (QUOTA_TYPE);
3247 create index IDX_AS_AITIAI on AM_SUBSCRIPTION (API_ID,TIER_ID,APPLICATION_ID);
3248 create index IDX_APA_QT on AM_POLICY_APPLICATION (QUOTA_TYPE);
3249 create index IDX_AA_AT_CB on AM_APPLICATION (APPLICATION_TIER,CREATED_BY);
3250kind: ConfigMap
3251metadata:
3252 name: mysql-dbscripts
3253EOF
3254
3255cat >> $k8s_obj_file << EOF
3256 namespace: $namespace
3257---
3258
3259apiVersion: v1
3260kind: Service
3261metadata:
3262 name: wso2apim-with-analytics-rdbms-service
3263 namespace: $namespace
3264spec:
3265 type: ClusterIP
3266 selector:
3267 deployment: wso2apim-with-analytics-mysql
3268 ports:
3269 - name: mysql-port
3270 port: 3306
3271 targetPort: 3306
3272 protocol: TCP
3273---
3274
3275apiVersion: v1
3276kind: Service
3277metadata:
3278 name: wso2apim-with-analytics-apim-analytics-service
3279 namespace: $namespace
3280spec:
3281 selector:
3282 deployment: wso2apim-with-analytics-apim-analytics
3283 ports:
3284 -
3285 name: 'thrift'
3286 port: 7612
3287 protocol: TCP
3288 -
3289 name: 'thrift-ssl'
3290 port: 7712
3291 protocol: TCP
3292 -
3293 name: 'rest-api-port-1'
3294 protocol: TCP
3295 port: 9444
3296 -
3297 name: 'rest-api-port-2'
3298 protocol: TCP
3299 port: 9091
3300 -
3301 name: 'rest-api-port-3'
3302 protocol: TCP
3303 port: 7071
3304 -
3305 name: 'rest-api-port-4'
3306 protocol: TCP
3307 port: 7444
3308---
3309
3310apiVersion: v1
3311kind: Service
3312metadata:
3313 name: wso2apim-with-analytics-apim-service
3314 namespace: $namespace
3315 labels:
3316 deployment: wso2apim-with-analytics-apim
3317spec:
3318 selector:
3319 deployment: wso2apim-with-analytics-apim
3320 type: NodePort
3321 ports:
3322 -
3323 name: pass-through-http
3324 protocol: TCP
3325 port: 8280
3326 -
3327 name: pass-through-https
3328 protocol: TCP
3329 port: 8243
3330 nodePort: $NP_1
3331 -
3332 name: servlet-http
3333 protocol: TCP
3334 port: 9763
3335 -
3336 name: servlet-https
3337 protocol: TCP
3338 nodePort: $NP_2
3339 port: 9443
3340---
3341
3342apiVersion: apps/v1
3343kind: Deployment
3344metadata:
3345 name: wso2apim-with-analytics-mysql-deployment
3346 namespace: $namespace
3347spec:
3348 replicas: 1
3349 selector:
3350 matchLabels:
3351 deployment: wso2apim-with-analytics-mysql
3352 product: wso2am
3353 template:
3354 metadata:
3355 labels:
3356 deployment: wso2apim-with-analytics-mysql
3357 product: wso2am
3358 spec:
3359 containers:
3360 - name: wso2apim-with-analytics-mysql
3361 image: mysql:5.7
3362 imagePullPolicy: IfNotPresent
3363 securityContext:
3364 runAsUser: 999
3365 env:
3366 - name: MYSQL_ROOT_PASSWORD
3367 value: root
3368 - name: MYSQL_USER
3369 value: wso2carbon
3370 - name: MYSQL_PASSWORD
3371 value: wso2carbon
3372 ports:
3373 - containerPort: 3306
3374 protocol: TCP
3375 volumeMounts:
3376 - name: mysql-dbscripts
3377 mountPath: /docker-entrypoint-initdb.d
3378 args: ['--max-connections', '10000']
3379 volumes:
3380 - name: mysql-dbscripts
3381 configMap:
3382 name: mysql-dbscripts
3383 serviceAccountName: 'wso2svc-account'
3384---
3385
3386apiVersion: apps/v1
3387kind: Deployment
3388metadata:
3389 name: wso2apim-with-analytics-apim-analytics-deployment
3390 namespace: $namespace
3391spec:
3392 replicas: 1
3393 minReadySeconds: 30
3394 selector:
3395 matchLabels:
3396 deployment: wso2apim-with-analytics-apim-analytics
3397 product: wso2am
3398 strategy:
3399 rollingUpdate:
3400 maxSurge: 1
3401 maxUnavailable: 0
3402 type: RollingUpdate
3403 template:
3404 metadata:
3405 labels:
3406 deployment: wso2apim-with-analytics-apim-analytics
3407 product: wso2am
3408 spec:
3409 containers:
3410 - name: wso2apim-with-analytics-apim-analytics
3411 image: docker.wso2.com/wso2am-analytics-worker:2.6.0
3412 resources:
3413 limits:
3414 memory: '2Gi'
3415 requests:
3416 memory: '2Gi'
3417 livenessProbe:
3418 exec:
3419 command:
3420 - /bin/sh
3421 - -c
3422 - nc -z localhost 7712
3423 initialDelaySeconds: 10
3424 periodSeconds: 10
3425 readinessProbe:
3426 exec:
3427 command:
3428 - /bin/sh
3429 - -c
3430 - nc -z localhost 7712
3431 initialDelaySeconds: 10
3432 periodSeconds: 10
3433 lifecycle:
3434 preStop:
3435 exec:
3436 command: ['sh', '-c', '/bin/worker.sh stop']
3437 imagePullPolicy: Always
3438 securityContext:
3439 runAsUser: 802
3440 ports:
3441 -
3442 containerPort: 9764
3443 protocol: 'TCP'
3444 -
3445 containerPort: 9444
3446 protocol: 'TCP'
3447 -
3448 containerPort: 7612
3449 protocol: 'TCP'
3450 -
3451 containerPort: 7712
3452 protocol: 'TCP'
3453 -
3454 containerPort: 9091
3455 protocol: 'TCP'
3456 -
3457 containerPort: 7071
3458 protocol: 'TCP'
3459 -
3460 containerPort: 7444
3461 protocol: 'TCP'
3462 volumeMounts:
3463 - name: apim-analytics-conf-worker
3464 mountPath: /home/wso2carbon/wso2-config-volume/conf/worker
3465 initContainers:
3466 - name: init-apim-with-analytics
3467 image: busybox
3468 command: ['sh', '-c', 'echo -e "checking for the availability of MySQL"; while ! nc -z wso2apim-with-analytics-rdbms-service 3306; do sleep 1; printf "-"; done; echo -e " >> MySQL started";']
3469 serviceAccountName: 'wso2svc-account'
3470 imagePullSecrets:
3471 - name: wso2creds
3472 volumes:
3473 - name: apim-analytics-conf-worker
3474 configMap:
3475 name: apim-analytics-conf-worker
3476---
3477
3478apiVersion: apps/v1
3479kind: Deployment
3480metadata:
3481 name: wso2apim-with-analytics-apim
3482 namespace: $namespace
3483spec:
3484 replicas: 1
3485 minReadySeconds: 30
3486 selector:
3487 matchLabels:
3488 deployment: wso2apim-with-analytics-apim
3489 product: wso2am
3490 strategy:
3491 rollingUpdate:
3492 maxSurge: 1
3493 maxUnavailable: 0
3494 type: RollingUpdate
3495 template:
3496 metadata:
3497 labels:
3498 deployment: wso2apim-with-analytics-apim
3499 product: wso2am
3500 spec:
3501 containers:
3502 - name: wso2apim-with-analytics-apim-worker
3503 image: docker.wso2.com/wso2am:2.6.0
3504 resources:
3505 limits:
3506 memory: '3Gi'
3507 cpu: 3000m
3508 requests:
3509 memory: '2Gi'
3510 cpu: 2000m
3511 livenessProbe:
3512 exec:
3513 command:
3514 - /bin/bash
3515 - -c
3516 - nc -z localhost 9443
3517 initialDelaySeconds: 60
3518 periodSeconds: 10
3519 readinessProbe:
3520 exec:
3521 command:
3522 - /bin/bash
3523 - -c
3524 - nc -z localhost 9443
3525 initialDelaySeconds: 60
3526 periodSeconds: 10
3527 imagePullPolicy: Always
3528 ports:
3529 -
3530 containerPort: 8280
3531 protocol: 'TCP'
3532 -
3533 containerPort: 8243
3534 protocol: 'TCP'
3535 -
3536 containerPort: 9763
3537 protocol: 'TCP'
3538 -
3539 containerPort: 9443
3540 protocol: 'TCP'
3541 -
3542 containerPort: 5672
3543 protocol: 'TCP'
3544 -
3545 containerPort: 9711
3546 protocol: 'TCP'
3547 -
3548 containerPort: 9611
3549 protocol: 'TCP'
3550 -
3551 containerPort: 7711
3552 protocol: 'TCP'
3553 -
3554 containerPort: 7611
3555 protocol: 'TCP'
3556 volumeMounts:
3557 - name: apim-conf
3558 mountPath: /home/wso2carbon/wso2-config-volume/repository/conf
3559 - name: apim-conf-axis2
3560 mountPath: /home/wso2carbon/wso2-config-volume/repository/conf/axis2
3561 - name: apim-conf-datasources
3562 mountPath: /home/wso2carbon/wso2-config-volume/repository/conf/datasources
3563 initContainers:
3564 - name: init-apim
3565 image: busybox
3566 command: ['sh', '-c', 'echo -e "checking for the availability of wso2apim-with-analytics-apim-analytics"; while ! nc -z wso2apim-with-analytics-apim-analytics-service 7712; do sleep 1; printf "-"; done; echo -e " >> wso2is-with-analytics-is-analytics started";']
3567 serviceAccountName: 'wso2svc-account'
3568 imagePullSecrets:
3569 - name: wso2creds
3570 volumes:
3571 - name: apim-conf
3572 configMap:
3573 name: apim-conf
3574 - name: apim-conf-axis2
3575 configMap:
3576 name: apim-conf-axis2
3577 - name: apim-conf-datasources
3578 configMap:
3579 name: apim-conf-datasources
3580---
3581EOF
3582
3583}
3584function get_creds(){
3585 while [[ -z "$WUMUsername" ]]
3586 do
3587 read -p "$(echoBold "Enter your WSO2 subscription username: ")" WUMUsername
3588 if [[ -z "$WUMUsername" ]]
3589 then
3590 echo "wso2-subscription-username cannot be empty"
3591 fi
3592 done
3593
3594 while [[ -z "$WUMPassword" ]]
3595 do
3596 read -sp "$(echoBold "Enter your WSO2 subscription password: ")" WUMPassword
3597 echo ""
3598 if [[ -z "$WUMPassword" ]]
3599 then
3600 echo "wso2-subscription-password cannot be empty"
3601 fi
3602 done
3603}
3604function validate_ip(){
3605 ip_check=$1
3606 if [[ $ip_check =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
3607 IFS='.'
3608 ip=$ip_check
3609 set -- $ip
3610 if [[ $1 -le 255 ]] && [[ $2 -le 255 ]] && [[ $3 -le 255 ]] && [[ $4 -le 255 ]]; then
3611 IFS=''
3612 NODE_IP=$ip_check
3613 else
3614 IFS=''
3615 echo "Invalid IP. Please try again."
3616 NODE_IP=""
3617 fi
3618 else
3619 echo "Invalid IP. Please try again."
3620 NODE_IP=""
3621 fi
3622}
3623function get_node_ip(){
3624 NODE_IP=$(kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}')
3625
3626 if [[ -z $NODE_IP ]]
3627 then
3628 if [[ $(kubectl config current-context)="minikube" ]]
3629 then
3630 NODE_IP=$(minikube ip)
3631 else
3632 echo "We could not find your cluster node-ip."
3633 while [[ -z "$NODE_IP" ]]
3634 do
3635 read -p "$(echo "Enter one of your cluster Node IPs to provision instant access to server: ")" NODE_IP
3636 if [[ -z "$NODE_IP" ]]
3637 then
3638 echo "cluster node ip cannot be empty"
3639 else
3640 validate_ip $NODE_IP
3641 fi
3642 done
3643 fi
3644 fi
3645 set -- $NODE_IP; NODE_IP=$1
3646}
3647
3648function get_nodeports(){
3649 LOWER=30000; UPPER=32767;
3650 if [ "$randomPort" == "True" ]; then
3651 NP_1=0; NP_2=0;
3652 while [ $NP_1 -lt $LOWER ] || [ $NP_2 -lt $LOWER ]
3653 do
3654 NP_1=$RANDOM; NP_2=$RANDOM
3655 let "NP_1 %= $UPPER"; let "NP_2 %= $UPPER"
3656 done
3657 fi
3658 echo -e "[INFO] nodePorts are set to $NP_1 and $NP_2"
3659}
3660function progress_bar(){
3661
3662 dep_status=$(kubectl get deployments -n wso2 -o jsonpath='{.items[?(@.spec.selector.matchLabels.product=="wso2am")].status.conditions[?(@.type=="Available")].status}')
3663 pod_status=$(kubectl get pods -n wso2 -o jsonpath='{.items[?(@.metadata.labels.product=="wso2am")].status.conditions[*].status}')
3664
3665 num_true_const=0; progress_unit="";num_true=0; time_proc=0;
3666
3667 arr_dep=($dep_status); arr_pod=($pod_status)
3668
3669 let "length_total= ${#arr_pod[@]} + ${#arr_dep[@]}";
3670
3671 echo ""
3672
3673 while [[ $num_true -lt $length_total ]]
3674 do
3675
3676 sleep 4
3677
3678 num_true=0
3679 dep_status=$(kubectl get deployments -n wso2 -o jsonpath='{.items[?(@.spec.selector.matchLabels.product=="wso2am")].status.conditions[?(@.type=="Available")].status}')
3680 pod_status=$(kubectl get pods -n wso2 -o jsonpath='{.items[?(@.metadata.labels.product=="wso2am")].status.conditions[*].status}')
3681
3682 arr_dep=($dep_status); arr_pod=($pod_status); let "length_total= ${#arr_pod[@]} + ${#arr_dep[@]}";
3683
3684 for ele_dep in $dep_status
3685 do
3686 if [ "$ele_dep" = "True" ]
3687 then
3688 let "num_true=num_true+1"
3689 fi
3690 done
3691
3692 for ele_pod in $pod_status
3693 do
3694 if [ "$ele_pod" = "True" ]
3695 then
3696 let "num_true=num_true+1"
3697 fi
3698 done
3699
3700 printf "Processing WSO2 API Manager ... |"
3701
3702 printf "%-$((5 * ${length_total-1}))s| $(($num_true_const * 100/ $length_total))"; echo -en ' % \r'
3703
3704 printf "Processing WSO2 API Manager ... |"
3705 s=$(printf "%-$((5 * ${num_true_const}))s" "H")
3706 echo -en "${s// /H}"
3707
3708 printf "%-$((5 * $(($length_total - $num_true_const))))s| $((100 * $(($num_true_const))/ $length_total))"; echo -en ' %\r '
3709
3710 if [ $num_true -ne $num_true_const ]
3711 then
3712 i=0
3713 while [[ $i -lt $((5 * $((${num_true} - ${num_true_const})))) ]]
3714 do
3715 let "i=i+1"
3716 progress_unit=$progress_unit"H"
3717 printf "Processing WSO2 API Manager ... |"
3718 echo -n $progress_unit
3719 printf "%-$((5 * $((${length_total} - ${num_true_const})) - $i))s| $(($(( 100 * $(($num_true_const))/ $length_total)) + $((20 * $i/$length_total)) ))"; echo -en ' %\r '
3720 sleep 0.25
3721 done
3722 num_true_const=$num_true
3723 time_proc=0
3724 else
3725 let "time_proc=time_proc + 5"
3726 fi
3727
3728 printf "Processing WSO2 API Manager ... |"
3729
3730 printf "%-$((5 * ${length_total-1}))s| $(($num_true_const * 100/ $length_total))"; echo -en ' %\r '
3731
3732 printf "Processing WSO2 API Manager ... |"
3733 s=$(printf "%-$((5 * ${num_true_const}))s" "H")
3734 echo -en "${s// /H}"
3735
3736 printf "%-$((5 * $(($length_total - $num_true_const))))s| $((100 * $(($num_true_const))/ $length_total))"; echo -en ' %\r '
3737
3738 sleep 1
3739
3740 if [[ $time_proc -gt 250 ]]
3741 then
3742 echoBold "\n\nSomething went wrong! Please Follow < FAQ-Link > for more information\n"
3743 exit 2
3744 fi
3745
3746 done
3747
3748 echo -e "\n"
3749
3750}
3751
3752function deploy(){
3753 #checking for required command line tools
3754 if [[ ! $(which kubectl) ]]
3755 then
3756 display_msg "Please install Kubernetes command-line tool (kubectl) before you start with the setup\n"
3757 fi
3758
3759 if [[ ! $(which base64) ]]
3760 then
3761 display_msg "Please install base64 before you start with the setup\n"
3762 fi
3763
3764 echoBold "Checking for an enabled cluster... Your patience is appreciated... "
3765 cluster_isReady=$(kubectl cluster-info) > /dev/null 2>&1 || true
3766
3767 if [[ ! $cluster_isReady == *"KubeDNS"* ]]
3768 then
3769 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"
3770 fi
3771
3772 echoBold "Done\n"
3773
3774 #displaying wso2 product name
3775 product_name
3776
3777 # check if testgrid
3778 if test -f "$INPUT_DIR/infrastructure.properties"; then
3779 file=$INPUT_DIR/infrastructure.properties
3780 WUMUsername=$(cat $file | grep "WUMUsername" | cut -d'=' -f2)
3781 WUMPassword=$(cat $file | grep "WUMPassword" | cut -c 13- | tr -d '\')
3782 randomPort=$(cat $file | grep "randomPort" | cut -d'=' -f2)
3783 namespace=$(cat $file | grep "namespace" | cut -d'=' -f2)
3784 echo $WUMUsername
3785 echo $WUMPassword
3786 echo $randomPort
3787 echo $namespace
3788 else
3789 get_creds
3790 fi
3791
3792 # get node-ip
3793 get_node_ip
3794
3795 # create and encode username/password pair
3796 auth="$WUMUsername:$WUMPassword"
3797 authb64=`echo -n $auth | base64`
3798
3799 # create authorisation code
3800 authstring='{"auths":{"docker.wso2.com":{"username":"'${WUMUsername}'","password":"'${WUMPassword}'","email":"'${WUMUsername}'","auth":"'${authb64}'"}}}'
3801
3802 # encode in base64
3803 secdata=`echo -n $authstring | base64`
3804
3805 for i in $secdata; do
3806 str_sec=$str_sec$i
3807 done
3808
3809 get_nodeports
3810
3811 # create kubernetes object yaml
3812 create_yaml
3813
3814 if ! test -f "$INPUT_DIR/infrastructure.properties"; then
3815 echoBold "\nDeploying WSO2 API Manager ....\n"
3816
3817 # Deploy wso2am
3818 kubectl create -f $k8s_obj_file
3819
3820 # waiting until deployment is ready
3821 progress_bar
3822 echoBold "Successfully deployed WSO2 API Manager.\n\n"
3823
3824 echoBold "1. Try navigating to https://$NODE_IP:30443/carbon/ from your favourite browser using \n"
3825 echoBold "\tusername: admin\n"
3826 echoBold "\tpassword: admin\n"
3827 echoBold "2. Follow <getting-started-link> to start using WSO2 API Manager.\n\n"
3828 fi
3829}
3830
3831deploy