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