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