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