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