forked from community/device-mgt-core
parent
d5c85980e1
commit
23b25fb540
@ -0,0 +1,56 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ you may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
This configuration file represents the configuration that are needed
|
||||||
|
when publishing APIs to API Manager
|
||||||
|
-->
|
||||||
|
<WebappPublisherConfigs>
|
||||||
|
|
||||||
|
<!-- This host is used to define the host address which is used to publish APIs -->
|
||||||
|
{% if webapp_publisher_configs.host is defined %}
|
||||||
|
<Host>{{webapp_publisher_configs.host}}</Host>
|
||||||
|
{% else %}
|
||||||
|
<Host>https://${iot.core.host}:${iot.core.https.port}</Host>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- If it is true, the APIs of this instance will be published to the defined host -->
|
||||||
|
{% if webapp_publisher_configs.publish_api is defined %}
|
||||||
|
<PublishAPI>{{webapp_publisher_configs.publish_api}}</PublishAPI>
|
||||||
|
{% else %}
|
||||||
|
<PublishAPI>true</PublishAPI>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- If it is true, the APIs of this instance will be updated when the webapps are redeployed -->
|
||||||
|
{% if webapp_publisher_configs.enable_update_api is defined %}
|
||||||
|
<EnabledUpdateApi>{{webapp_publisher_configs.enable_update_api}}</EnabledUpdateApi>
|
||||||
|
{% else %}
|
||||||
|
<EnabledUpdateApi>true</EnabledUpdateApi>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!--Webapp will be published only when running below profiles-->
|
||||||
|
<Profiles>
|
||||||
|
<Profile>default</Profile>
|
||||||
|
{% if webapp_publisher_configs.profiles is defined %}
|
||||||
|
{%- for profile in webapp_publisher_configs.profiles -%}
|
||||||
|
<Profile>{{profile}}</Profile>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</Profiles>
|
||||||
|
</WebappPublisherConfigs>
|
@ -1,2 +1,3 @@
|
|||||||
instructions.configure = \
|
instructions.configure = \
|
||||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.apimgt.webapp.publisher_${feature.version}/conf/webapp-publisher-config.xml,target:${installFolder}/../../conf/etc/webapp-publisher-config.xml,overwrite:true);\
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.apimgt.webapp.publisher_${feature.version}/conf/webapp-publisher-config.xml,target:${installFolder}/../../conf/etc/webapp-publisher-config.xml,overwrite:true);\
|
||||||
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.apimgt.webapp.publisher_${feature.version}/conf_templates/,target:${installFolder}/../../resources/conf/,overwrite:true);\
|
||||||
|
@ -0,0 +1,231 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Entgra (pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
<ApplicationManagementConfiguration>
|
||||||
|
|
||||||
|
<!-- Application Mgt DB schema -->
|
||||||
|
<DatasourceName>jdbc/APPM_DS</DatasourceName>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
<Extension name="ApplicationManager">
|
||||||
|
{% if application_mgt_conf.extension.application_manager is defined %}
|
||||||
|
<ClassName>{{application_mgt_conf.extension.application_manager}}</ClassName>
|
||||||
|
{% else %}
|
||||||
|
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.ApplicationManagerImpl</ClassName>
|
||||||
|
{% endif %}
|
||||||
|
</Extension>
|
||||||
|
<Extension name="ReviewManager">
|
||||||
|
{% if application_mgt_conf.extension.review_manager is defined %}
|
||||||
|
<ClassName>{{application_mgt_conf.extension.review_manager}}</ClassName>
|
||||||
|
{% else %}
|
||||||
|
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.ReviewManagerImpl</ClassName>
|
||||||
|
{% endif %}
|
||||||
|
</Extension>
|
||||||
|
<Extension name="LifecycleStateManager">
|
||||||
|
{% if application_mgt_conf.extension.life_cycle_state_manager is defined %}
|
||||||
|
<ClassName>{{application_mgt_conf.extension.life_cycle_state_manager}}</ClassName>
|
||||||
|
{% else %}
|
||||||
|
<ClassName>org.wso2.carbon.device.application.mgt.core.lifecycle.LifecycleStateManager</ClassName>
|
||||||
|
{% endif %}
|
||||||
|
</Extension>
|
||||||
|
<Extension name="SubscriptionManager">
|
||||||
|
{% if application_mgt_conf.extension.subscription_manager is defined %}
|
||||||
|
<ClassName>{{application_mgt_conf.extension.subscription_manager}}</ClassName>
|
||||||
|
{% else %}
|
||||||
|
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.SubscriptionManagerImpl</ClassName>
|
||||||
|
{% endif %}
|
||||||
|
</Extension>
|
||||||
|
<Extension name="ApplicationStorageManager">
|
||||||
|
{% if application_mgt_conf.extension.application_storage_manager is defined %}
|
||||||
|
<ClassName>{{application_mgt_conf.extension.application_storage_manager}}</ClassName>
|
||||||
|
{% if application_mgt_conf.extension.application_storage_manager.parameter_options is defined %}
|
||||||
|
<Parameters>
|
||||||
|
{% for property_name,property_value in application_mgt_conf.extension.application_storage_manager.parameter_options.items() %}
|
||||||
|
<Parameter name="{{property_name}}">{{property_value}}</Parameter>
|
||||||
|
{% endfor %}
|
||||||
|
</Parameters>
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.ApplicationStorageManagerImpl</ClassName>
|
||||||
|
<Parameters>
|
||||||
|
<Parameter name="StoragePath">repository/resources/apps/</Parameter>
|
||||||
|
<Parameter name="MaxScreenShotCount">6</Parameter>
|
||||||
|
</Parameters>
|
||||||
|
{% endif %}
|
||||||
|
</Extension>
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
<!-- This is for publisher lifecycle -->
|
||||||
|
<!-- The current lifecycle as follows
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
[Created] -> [In-Review] -> [Approved] -> [Published] -> [Unpublished] -> [Removed]
|
||||||
|
^ | ^
|
||||||
|
| | |
|
||||||
|
| |-> [Deprecated] - - - - - - - -|
|
||||||
|
| |
|
||||||
|
|-> [Rejected] - - - - - - - - - - - - - - - - - - - - - - - - |
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
If there is a requirement to introduce a new state to the lifecycle, please refer above
|
||||||
|
diagram and add relevant state to the below configuration appropriately.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- a lifecyclestate can have following properties
|
||||||
|
<LifecycleState name="In-Review">
|
||||||
|
<IsAppInstallable>false</IsAppInstallable>
|
||||||
|
<IsAppUpdatable>true</IsAppUpdatable>
|
||||||
|
<IsInitialState>false</IsInitialState>
|
||||||
|
<IsEndState>false</IsEndState>
|
||||||
|
<Permission>
|
||||||
|
/device-mgt/applications/life-cycle/in-review
|
||||||
|
</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>Rejected</State>
|
||||||
|
<State>Approved</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
-->
|
||||||
|
<LifecycleStates>
|
||||||
|
<LifecycleState name="Created">
|
||||||
|
<IsAppUpdatable>true</IsAppUpdatable>
|
||||||
|
<IsInitialState>true</IsInitialState>
|
||||||
|
<IsDeletableState>true</IsDeletableState>
|
||||||
|
<Permission>/app-mgt/life-cycle/application/create</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>In-Review</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="In-Review">
|
||||||
|
<Permission>/app-mgt/life-cycle/application/review</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>Rejected</State>
|
||||||
|
<State>Approved</State>
|
||||||
|
<State>Created</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Approved">
|
||||||
|
<Permission>/app-mgt/life-cycle/application/approve</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>In-Review</State>
|
||||||
|
<State>Published</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Rejected">
|
||||||
|
<IsDeletableState>true</IsDeletableState>
|
||||||
|
<Permission>/app-mgt/life-cycle/application/reject</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>In-Review</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Published">
|
||||||
|
<IsAppInstallable>true</IsAppInstallable>
|
||||||
|
<Permission>/app-mgt/life-cycle/application/publish</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>Blocked</State>
|
||||||
|
<State>Deprecated</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Blocked">
|
||||||
|
<Permission>/app-mgt/life-cycle/application/block</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>Published</State>
|
||||||
|
<State>Deprecated</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Deprecated">
|
||||||
|
<Permission>/app-mgt/life-cycle/application/deprecate</Permission>
|
||||||
|
<ProceedingStates>
|
||||||
|
<State>Published</State>
|
||||||
|
<State>Retired</State>
|
||||||
|
</ProceedingStates>
|
||||||
|
</LifecycleState>
|
||||||
|
<LifecycleState name="Retired">
|
||||||
|
<IsEndState>true</IsEndState>
|
||||||
|
<Permission>/app-mgt/life-cycle/application/retire</Permission>
|
||||||
|
</LifecycleState>
|
||||||
|
</LifecycleStates>
|
||||||
|
|
||||||
|
<AppCategories>
|
||||||
|
<Category>EMM</Category>
|
||||||
|
<Category>IoT</Category>
|
||||||
|
<Category>Art & Design</Category>
|
||||||
|
<Category>Auto & Vehicles</Category>
|
||||||
|
<Category>Beauty</Category>
|
||||||
|
<Category>Books & Reference</Category>
|
||||||
|
<Category>Business</Category>
|
||||||
|
<Category>Comics</Category>
|
||||||
|
<Category>Communications</Category>
|
||||||
|
<Category>Dating</Category>
|
||||||
|
<Category>Education</Category>
|
||||||
|
<Category>Entertainment</Category>
|
||||||
|
<Category>Events</Category>
|
||||||
|
<Category>Finance</Category>
|
||||||
|
<Category>Food & Drink</Category>
|
||||||
|
<Category>Health & Fitness</Category>
|
||||||
|
<Category>House & Home</Category>
|
||||||
|
<Category>Libraries & Demo</Category>
|
||||||
|
<Category>Lifestyle</Category>
|
||||||
|
<Category>Maps & Navigation</Category>
|
||||||
|
<Category>Medical</Category>
|
||||||
|
<Category>Music & Audio</Category>
|
||||||
|
<Category>News & Magazines</Category>
|
||||||
|
<Category>Parenting</Category>
|
||||||
|
<Category>Personalization</Category>
|
||||||
|
<Category>Photography</Category>
|
||||||
|
<Category>Productivity</Category>
|
||||||
|
<Category>Shopping</Category>
|
||||||
|
<Category>Social</Category>
|
||||||
|
<Category>Sports</Category>
|
||||||
|
<Category>Tools</Category>
|
||||||
|
<Category>Travel & Local</Category>
|
||||||
|
<Category>Video Players & Editors</Category>
|
||||||
|
<Category>Weather</Category>
|
||||||
|
<Category>GooglePlaySyncedApp</Category>
|
||||||
|
{% if application_mgt_conf.app_categories is defined %}
|
||||||
|
{%- for app_category in application_mgt_conf.app_categories -%}
|
||||||
|
<Category>{{app_category}}</Category>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</AppCategories>
|
||||||
|
|
||||||
|
<RatingConfig>
|
||||||
|
{% if application_mgt_conf.rating_conf.min_rating_value is defined %}
|
||||||
|
<MinRatingValue>{{application_mgt_conf.rating_conf.min_rating_value}}</MinRatingValue>
|
||||||
|
{% else %}
|
||||||
|
<MinRatingValue>1</MinRatingValue>
|
||||||
|
{% endif %}
|
||||||
|
{% if application_mgt_conf.rating_conf.max_rating_value is defined %}
|
||||||
|
<MaxRatingValue>{{application_mgt_conf.rating_conf.max_rating_value}}</MaxRatingValue>
|
||||||
|
{% else %}
|
||||||
|
<MaxRatingValue>10</MaxRatingValue>
|
||||||
|
{% endif %}
|
||||||
|
</RatingConfig>
|
||||||
|
|
||||||
|
<MDMConfig>
|
||||||
|
{% if application_mgt_conf.mdm_conf.artifact_download_protocol is defined %}
|
||||||
|
<ArtifactDownloadProtocol>{{application_mgt_conf.mdm_conf.artifact_download_protocol}}</ArtifactDownloadProtocol>
|
||||||
|
{% else %}
|
||||||
|
<ArtifactDownloadProtocol>http</ArtifactDownloadProtocol>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if application_mgt_conf.mdm_conf.artifact_download_endpoint is defined %}
|
||||||
|
<ArtifactDownloadEndpoint>{{application_mgt_conf.mdm_conf.artifact_download_endpoint}}</ArtifactDownloadEndpoint>
|
||||||
|
{% else %}
|
||||||
|
<ArtifactDownloadEndpoint>/api/application-mgt/v1.0/artifact</ArtifactDownloadEndpoint>
|
||||||
|
{% endif %}
|
||||||
|
</MDMConfig>
|
||||||
|
</ApplicationManagementConfiguration>
|
@ -0,0 +1,59 @@
|
|||||||
|
<!--
|
||||||
|
~ Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Entgra (pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<datasources-configuration xmlns:svns="http://org.wso2.securevault/configuration">
|
||||||
|
<providers>
|
||||||
|
<provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
|
||||||
|
</providers>
|
||||||
|
|
||||||
|
<datasources>
|
||||||
|
|
||||||
|
<datasource>
|
||||||
|
<name>APPM_DS</name>
|
||||||
|
<description>The datasource used for CDM Application Management</description>
|
||||||
|
<jndiConfig>
|
||||||
|
<name>jdbc/APPM_DS</name>
|
||||||
|
</jndiConfig>
|
||||||
|
<definition type="RDBMS">
|
||||||
|
<configuration>
|
||||||
|
{% if database.app_mgt is defined %}
|
||||||
|
<url>{{database.app_mgt.url}}</url>
|
||||||
|
<username>{{database.app_mgt.username}}</username>
|
||||||
|
<password>{{database.app_mgt.password}}</password>
|
||||||
|
<driverClassName>{{database.app_mgt.driver}}</driverClassName>
|
||||||
|
<validationQuery>{{database.app_mgt.validationQuery}}</validationQuery>
|
||||||
|
{% for property_name,property_value in database.app_mgt.pool_options.items() %}
|
||||||
|
<{{property_name}}>{{property_value}}</{{property_name}}>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<url>jdbc:h2:./repository/database/WSO2DM_APPM_DB;DB_CLOSE_ON_EXIT=FALSE</url>
|
||||||
|
<username>wso2carbon</username>
|
||||||
|
<password>wso2carbon</password>
|
||||||
|
<driverClassName>org.h2.Driver</driverClassName>
|
||||||
|
<maxActive>50</maxActive>
|
||||||
|
<maxWait>60000</maxWait>
|
||||||
|
<testOnBorrow>true</testOnBorrow>
|
||||||
|
<validationQuery>SELECT 1</validationQuery>
|
||||||
|
<validationInterval>30000</validationInterval>
|
||||||
|
{% endif %}
|
||||||
|
</configuration>
|
||||||
|
</definition>
|
||||||
|
</datasource>
|
||||||
|
</datasources>
|
||||||
|
</datasources-configuration>
|
||||||
|
|
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<CertificateConfigurations>
|
||||||
|
<CertificateKeystore>
|
||||||
|
{% if certificate_conf.certificate_keystore is defined %}
|
||||||
|
<!-- Certificate Keystore file location-->
|
||||||
|
<CertificateKeystoreLocation>{{certificate_conf.certificate_keystore.location}}</CertificateKeystoreLocation>
|
||||||
|
<!-- Certificate Keystore type (JKS/PKCS12 etc.)-->
|
||||||
|
<CertificateKeystoreType>{{certificate_conf.certificate_keystore.type}}</CertificateKeystoreType>
|
||||||
|
<!-- Certificate Keystore password-->
|
||||||
|
<CertificateKeystorePassword>{{certificate_conf.certificate_keystore.password}}</CertificateKeystorePassword>
|
||||||
|
<!-- Certificate authority certificate alias -->
|
||||||
|
<CACertAlias>{{certificate_conf.certificate_keystore.cacert_alias}}</CACertAlias>
|
||||||
|
<!-- Certificate authority private key password -->
|
||||||
|
<CAPrivateKeyPassword>{{certificate_conf.certificate_keystore.cacert_password}}</CAPrivateKeyPassword>
|
||||||
|
<!-- Registration authority certificate alias -->
|
||||||
|
<RACertAlias>{{certificate_conf.certificate_keystore.racert_alias}}</RACertAlias>
|
||||||
|
<!-- Registration authority private key password -->
|
||||||
|
<RAPrivateKeyPassword>{{certificate_conf.certificate_keystore.racert_password}}</RAPrivateKeyPassword>
|
||||||
|
{% else %}
|
||||||
|
<!-- Certificate Keystore file location-->
|
||||||
|
<CertificateKeystoreLocation>${carbon.home}/repository/resources/security/wso2certs.jks</CertificateKeystoreLocation>
|
||||||
|
<!-- Certificate Keystore type (JKS/PKCS12 etc.)-->
|
||||||
|
<CertificateKeystoreType>JKS</CertificateKeystoreType>
|
||||||
|
<!-- Certificate Keystore password-->
|
||||||
|
<CertificateKeystorePassword>wso2carbon</CertificateKeystorePassword>
|
||||||
|
<!-- Certificate authority certificate alias -->
|
||||||
|
<CACertAlias>cacert</CACertAlias>
|
||||||
|
<!-- Certificate authority private key password -->
|
||||||
|
<CAPrivateKeyPassword>cacert</CAPrivateKeyPassword>
|
||||||
|
<!-- Registration authority certificate alias -->
|
||||||
|
<RACertAlias>racert</RACertAlias>
|
||||||
|
<!-- Registration authority private key password -->
|
||||||
|
<RAPrivateKeyPassword>racert</RAPrivateKeyPassword>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</CertificateKeystore>
|
||||||
|
<!-- Certificate Mgt DB schema -->
|
||||||
|
<ManagementRepository>
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/DM_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
</ManagementRepository>
|
||||||
|
<!-- Default page size of GET certificates API -->
|
||||||
|
<DefaultPageSize>10</DefaultPageSize>
|
||||||
|
</CertificateConfigurations>
|
@ -0,0 +1,315 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ you may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<DeviceMgtConfiguration>
|
||||||
|
<ManagementRepository>
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/DM_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
</ManagementRepository>
|
||||||
|
<PushNotificationConfiguration>
|
||||||
|
{% if device_mgt_conf.push_notification_conf is defined %}
|
||||||
|
<SchedulerBatchSize>{{device_mgt_conf.push_notification_conf.scheduler_batch_size}}</SchedulerBatchSize>
|
||||||
|
<SchedulerBatchDelayMills>{{device_mgt_conf.push_notification_conf.scheduler_batch_delay_mills}}</SchedulerBatchDelayMills>
|
||||||
|
<SchedulerTaskInitialDelay>{{device_mgt_conf.push_notification_conf.scheduler_task_initial_delay}}</SchedulerTaskInitialDelay>
|
||||||
|
<SchedulerTaskEnabled>{{device_mgt_conf.push_notification_conf.scheduler_task_enabled}}</SchedulerTaskEnabled>
|
||||||
|
{% else %}
|
||||||
|
<SchedulerBatchSize>1000</SchedulerBatchSize>
|
||||||
|
<SchedulerBatchDelayMills>60000</SchedulerBatchDelayMills>
|
||||||
|
<SchedulerTaskInitialDelay>60000</SchedulerTaskInitialDelay>
|
||||||
|
<SchedulerTaskEnabled>true</SchedulerTaskEnabled>
|
||||||
|
{% endif %}
|
||||||
|
<PushNotificationProviders>
|
||||||
|
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.FCMBasedPushNotificationProvider</Provider>
|
||||||
|
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.MQTTBasedPushNotificationProvider</Provider>
|
||||||
|
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.HTTPBasedPushNotificationProvider</Provider>
|
||||||
|
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.XMPPBasedPushNotificationProvider</Provider>
|
||||||
|
{% if device_mgt_conf.push_notification_conf.push_notification_providers is defined %}
|
||||||
|
{%- for push_notification_provider in device_mgt_conf.push_notification_conf.push_notification_providers -%}
|
||||||
|
<Provider>{{push_notification_provider}}</Provider>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</PushNotificationProviders>
|
||||||
|
</PushNotificationConfiguration>
|
||||||
|
<PullNotificationConfiguration>
|
||||||
|
{% if device_mgt_conf.pull_notification_conf is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.pull_notification_conf.enabled}}</Enabled>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
{% endif %}
|
||||||
|
</PullNotificationConfiguration>
|
||||||
|
<IdentityConfiguration>
|
||||||
|
{% if device_mgt_conf.identity_conf is defined %}
|
||||||
|
<ServerUrl>{{device_mgt_conf.identity_conf.server_url}}</ServerUrl>
|
||||||
|
<AdminUsername>{{device_mgt_conf.identity_conf.admin_username}}</AdminUsername>
|
||||||
|
<AdminPassword>{{device_mgt_conf.identity_conf.admin_password}}</AdminPassword>
|
||||||
|
{% else %}
|
||||||
|
<ServerUrl>https://localhost:9443</ServerUrl>
|
||||||
|
<AdminUsername>admin</AdminUsername>
|
||||||
|
<AdminPassword>admin</AdminPassword>
|
||||||
|
{% endif %}
|
||||||
|
</IdentityConfiguration>
|
||||||
|
<KeyManagerConfiguration>
|
||||||
|
{% if device_mgt_conf.key_manager_conf is defined %}
|
||||||
|
<ServerUrl>{{device_mgt_conf.key_manager_conf.server_url}}</ServerUrl>
|
||||||
|
<AdminUsername>{{device_mgt_conf.key_manager_conf.admin_username}}</AdminUsername>
|
||||||
|
<AdminPassword>{{device_mgt_conf.key_manager_conf.admin_password}}</AdminPassword>
|
||||||
|
{% else %}
|
||||||
|
<ServerUrl>https://localhost:9443</ServerUrl>
|
||||||
|
<AdminUsername>admin</AdminUsername>
|
||||||
|
<AdminPassword>admin</AdminPassword>
|
||||||
|
{% endif %}
|
||||||
|
</KeyManagerConfiguration>
|
||||||
|
<PolicyConfiguration>
|
||||||
|
{% if device_mgt_conf.policy_conf is defined %}
|
||||||
|
<MonitoringClass>{{device_mgt_conf.policy_conf.monitoring_class}}</MonitoringClass>
|
||||||
|
<MonitoringEnable>{{device_mgt_conf.policy_conf.monitoring_enable}}</MonitoringEnable>
|
||||||
|
<MonitoringFrequency>{{device_mgt_conf.policy_conf.monitoring_frequency}}</MonitoringFrequency>
|
||||||
|
<MaxRetries>{{device_mgt_conf.policy_conf.max_retries}}</MaxRetries>
|
||||||
|
<MinRetriesToMarkUnreachable>{{device_mgt_conf.policy_conf.min_retries_to_mark_unreachable}}</MinRetriesToMarkUnreachable>
|
||||||
|
<MinRetriesToMarkInactive>{{device_mgt_conf.policy_conf.min_retries-to_mark_inactive}}</MinRetriesToMarkInactive>
|
||||||
|
<!--Set the policy evaluation point name-->
|
||||||
|
<!--Simple -> Simple policy evaluation point-->
|
||||||
|
<!--Merged -> Merged policy evaluation point -->
|
||||||
|
<PolicyEvaluationPoint>{{device_mgt_conf.policy_conf.policy.evaluation_point}}</PolicyEvaluationPoint>
|
||||||
|
<CacheEnable>{{device_mgt_conf.policy_conf.cache_enable}}</CacheEnable>
|
||||||
|
{% else %}
|
||||||
|
<MonitoringClass>org.wso2.carbon.policy.mgt</MonitoringClass>
|
||||||
|
<MonitoringEnable>true</MonitoringEnable>
|
||||||
|
<MonitoringFrequency>60000</MonitoringFrequency>
|
||||||
|
<MaxRetries>5</MaxRetries>
|
||||||
|
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
||||||
|
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
||||||
|
<!--Set the policy evaluation point name-->
|
||||||
|
<!--Simple -> Simple policy evaluation point-->
|
||||||
|
<!--Merged -> Merged policy evaluation point -->
|
||||||
|
<PolicyEvaluationPoint>Simple</PolicyEvaluationPoint>
|
||||||
|
<CacheEnable>true</CacheEnable>
|
||||||
|
{% endif %}
|
||||||
|
</PolicyConfiguration>
|
||||||
|
<!-- Default Page size configuration for paginated DM APIs-->
|
||||||
|
<PaginationConfiguration>
|
||||||
|
{% if device_mgt_conf.pagination_conf is defined %}
|
||||||
|
<DeviceListPageSize>{{device_mgt_conf.pagination_conf.device_list_page_size}}</DeviceListPageSize>
|
||||||
|
<GroupListPageSize>{{device_mgt_conf.pagination_conf.group_list_page_size}}</GroupListPageSize>
|
||||||
|
<NotificationListPageSize>{{device_mgt_conf.pagination_conf.notification_list_page_size}}</NotificationListPageSize>
|
||||||
|
<ActivityListPageSize>{{device_mgt_conf.pagination_conf.activity_list_page_size}}</ActivityListPageSize>
|
||||||
|
<OperationListPageSize>{{device_mgt_conf.pagination_conf.operation_list_page_size}}</OperationListPageSize>
|
||||||
|
<TopicListPageSize>{{device_mgt_conf.pagination_conf.topic_list_page_size}}</TopicListPageSize>
|
||||||
|
<MetadataListPageSize>{{device_mgt_conf.pagination_conf.metadata_list_page_size}}</MetadataListPageSize>
|
||||||
|
{% else %}
|
||||||
|
<DeviceListPageSize>20</DeviceListPageSize>
|
||||||
|
<GroupListPageSize>20</GroupListPageSize>
|
||||||
|
<NotificationListPageSize>20</NotificationListPageSize>
|
||||||
|
<ActivityListPageSize>20</ActivityListPageSize>
|
||||||
|
<OperationListPageSize>20</OperationListPageSize>
|
||||||
|
<TopicListPageSize>20</TopicListPageSize>
|
||||||
|
<MetadataListPageSize>20</MetadataListPageSize>
|
||||||
|
{% endif %}
|
||||||
|
</PaginationConfiguration>
|
||||||
|
<!--This specifies whether to enable the DeviceStatus Task in this node. In clustered setup only master node
|
||||||
|
should have to run this task.-->
|
||||||
|
<DeviceStatusTaskConfig>
|
||||||
|
{% if device_mgt_conf.device_status_task_config is defined %}
|
||||||
|
<Enable>{{device_mgt_conf.device_status_task_config.enable}}</Enable>
|
||||||
|
{% else %}
|
||||||
|
<Enable>true</Enable>
|
||||||
|
{% endif %}
|
||||||
|
</DeviceStatusTaskConfig>
|
||||||
|
<!--This controls the in-memory device cache which is local to this node. Setting it enable will activate the
|
||||||
|
device caching for upto configured expiry-time in seconds. In clustered setup all worker nodes can enable the
|
||||||
|
device-cache to improve performance. -->
|
||||||
|
<DeviceCacheConfiguration>
|
||||||
|
{% if device_mgt_conf.device_cache_conf is defined %}
|
||||||
|
<Enable>{{device_mgt_conf.device_cache_conf.enable}}</Enable>
|
||||||
|
<ExpiryTime>{{device_mgt_conf.device_cache_conf.expiry_time}}</ExpiryTime>
|
||||||
|
<!--This configuration specifies the number of cache entries in device cache. default capacity is 10000 entries.
|
||||||
|
This can be configured to higher number if cache eviction happens due to large number of devices in the
|
||||||
|
server environment-->
|
||||||
|
<Capacity>{{device_mgt_conf.device_cache_conf.capacity}}</Capacity>
|
||||||
|
{% else %}
|
||||||
|
<Enable>true</Enable>
|
||||||
|
<ExpiryTime>600</ExpiryTime>
|
||||||
|
<!--This configuration specifies the number of cache entries in device cache. default capacity is 10000 entries.
|
||||||
|
This can be configured to higher number if cache eviction happens due to large number of devices in the
|
||||||
|
server environment-->
|
||||||
|
<Capacity>10000</Capacity>
|
||||||
|
{% endif %}
|
||||||
|
</DeviceCacheConfiguration>
|
||||||
|
<GeoFenceCacheConfiguration>
|
||||||
|
{% if device_mgt_conf.geo_fence_cache_conf is defined %}
|
||||||
|
<Enable>{{device_mgt_conf.geo_fence_cache_conf.enable}}</Enable>
|
||||||
|
<ExpiryTime>{{device_mgt_conf.geo_fence_cache_conf.expiry_time}}</ExpiryTime>
|
||||||
|
<Capacity>{{device_mgt_conf.geo_fence_cache_conf.capacity}}</Capacity>
|
||||||
|
{% else %}
|
||||||
|
<Enable>true</Enable>
|
||||||
|
<ExpiryTime>600</ExpiryTime>
|
||||||
|
<Capacity>10000</Capacity>
|
||||||
|
{% endif %}
|
||||||
|
</GeoFenceCacheConfiguration>
|
||||||
|
<EventOperationTaskConfiguration>
|
||||||
|
{% if device_mgt_conf.event_operation_task_conf is defined %}
|
||||||
|
<Enable>{{device_mgt_conf.event_operation_task_conf.enable}}</Enable>
|
||||||
|
{% else %}
|
||||||
|
<Enable>true</Enable>
|
||||||
|
{% endif %}
|
||||||
|
</EventOperationTaskConfiguration>
|
||||||
|
<CertificateCacheConfiguration>
|
||||||
|
{% if device_mgt_conf.certificate_cache_conf is defined %}
|
||||||
|
<Enable>{{device_mgt_conf.certificate_cache_conf.enable}}</Enable>
|
||||||
|
<ExpiryTime>{{device_mgt_conf.certificate_cache_conf.expiry_time}}</ExpiryTime>
|
||||||
|
{% else %}
|
||||||
|
<Enable>true</Enable>
|
||||||
|
<ExpiryTime>86400</ExpiryTime>
|
||||||
|
{% endif %}
|
||||||
|
</CertificateCacheConfiguration>
|
||||||
|
<ArchivalConfiguration>
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/DM_ARCHIVAL_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
<ArchivalTask>
|
||||||
|
{% if device_mgt_conf.archival_conf.archival_task is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.archival_conf.archival_task.enabled}}</Enabled>
|
||||||
|
<ArchivePendingOperations>{{device_mgt_conf.archival_conf.archival_task.archival_pending_operations}}</ArchivePendingOperations>
|
||||||
|
<DBConfig>
|
||||||
|
<SourceDB>DM_DB</SourceDB>
|
||||||
|
<DestinationDB>ARCHIVAL_DB</DestinationDB>
|
||||||
|
</DBConfig>
|
||||||
|
<TaskClass>{{device_mgt_conf.archival_conf.archival_task.task_class}}</TaskClass>
|
||||||
|
<!-- Cron expression to run the task at specified time -->
|
||||||
|
<CronExpression>{{device_mgt_conf.archival_conf.archival_task.cron_expression}}</CronExpression>
|
||||||
|
<!-- How many days of data should we keep in transactional tables? Must be in number of days -->
|
||||||
|
<RetentionPeriod>{{device_mgt_conf.archival_conf.archival_task.retention_period}}</RetentionPeriod>
|
||||||
|
<ExecutionBatchSize>{{device_mgt_conf.archival_conf.archival_task.execution_batch_size}}</ExecutionBatchSize>
|
||||||
|
<PurgingTask>
|
||||||
|
<Enabled>{{device_mgt_conf.archival_conf.archival_task.purging_task.enabled}}</Enabled>
|
||||||
|
<TaskClass>{{device_mgt_conf.archival_conf.archival_task.purging_task.task_class}}</TaskClass>
|
||||||
|
<!-- Cron expression to run the task at specified time -->
|
||||||
|
<CronExpression>{{device_mgt_conf.archival_conf.archival_task.purging_task.cron_expression}}</CronExpression>
|
||||||
|
<!-- After this number of days, data will be permanently deleted from archival tables.
|
||||||
|
Data retention period must be in number of DAYS -->
|
||||||
|
<RetentionPeriod>{{device_mgt_conf.archival_conf.archival_task.purging_task.retention_period}}</RetentionPeriod>
|
||||||
|
</PurgingTask>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
<ArchivePendingOperations>false</ArchivePendingOperations>
|
||||||
|
<DBConfig>
|
||||||
|
<SourceDB>DM_DB</SourceDB>
|
||||||
|
<DestinationDB>ARCHIVAL_DB</DestinationDB>
|
||||||
|
</DBConfig>
|
||||||
|
<TaskClass>org.wso2.carbon.device.mgt.core.task.impl.ArchivalTask</TaskClass>
|
||||||
|
<!-- Cron expression to run the task at specified time -->
|
||||||
|
<CronExpression>0 0 0 1/1 * ? *</CronExpression>
|
||||||
|
<!-- How many days of data should we keep in transactional tables? Must be in number of days -->
|
||||||
|
<RetentionPeriod>30</RetentionPeriod>
|
||||||
|
<ExecutionBatchSize>1000</ExecutionBatchSize>
|
||||||
|
<PurgingTask>
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
<TaskClass>org.wso2.carbon.device.mgt.core.task.impl.ArchivedDataDeletionTask</TaskClass>
|
||||||
|
<!-- Cron expression to run the task at specified time -->
|
||||||
|
<CronExpression>0 0 3 1/1 * ? *</CronExpression>
|
||||||
|
<!-- After this number of days, data will be permanently deleted from archival tables.
|
||||||
|
Data retention period must be in number of DAYS -->
|
||||||
|
<RetentionPeriod>365</RetentionPeriod>
|
||||||
|
</PurgingTask>
|
||||||
|
{% endif %}
|
||||||
|
</ArchivalTask>
|
||||||
|
</ArchivalConfiguration>
|
||||||
|
<GeoLocationConfiguration>
|
||||||
|
{% if device_mgt_conf.geo_location_conf is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.geo_location_conf.enabled}}</Enabled>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
{% endif %}
|
||||||
|
</GeoLocationConfiguration>
|
||||||
|
<OperationAnalyticsConfiguration>
|
||||||
|
<PublishLocationResponse>false</PublishLocationResponse>
|
||||||
|
<PublishDeviceInfoResponse>false</PublishDeviceInfoResponse>
|
||||||
|
<PublishOperationResponse>
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
<Operations>
|
||||||
|
<!-- Publish specific operation responses -->
|
||||||
|
<!--
|
||||||
|
<Operation>BATTERY_LEVEL</Operation>
|
||||||
|
<Operation>CHECK_LOCK_STATUS</Operation>
|
||||||
|
-->
|
||||||
|
<!-- use wildcard '*' to publish all responses -->
|
||||||
|
<Operation>*</Operation>
|
||||||
|
</Operations>
|
||||||
|
</PublishOperationResponse>
|
||||||
|
</OperationAnalyticsConfiguration>
|
||||||
|
<!--This configuration used to configure the options for remote device control feature -->
|
||||||
|
<RemoteSessionConfiguration>
|
||||||
|
{% if device_mgt_conf.remote_session_conf is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.remote_session_conf.enabled}}</Enabled>
|
||||||
|
<RemoteSessionServerUrl>{{device_mgt_conf.remote_session_conf.remote_session_server_url}}</RemoteSessionServerUrl>
|
||||||
|
<MaximumHTTPConnectionPerHost>{{device_mgt_conf.remote_session_conf.max_http_connection_per_host}}</MaximumHTTPConnectionPerHost>
|
||||||
|
<MaximumTotalHTTPConnections>{{device_mgt_conf.remote_session_conf.max_total_http_connections}}</MaximumTotalHTTPConnections>
|
||||||
|
<MaximumMessagesPerSecond>{{device_mgt_conf.remote_session_conf.max_messages_per_second}}</MaximumMessagesPerSecond>
|
||||||
|
<SessionIdleTimeOut>{{device_mgt_conf.remote_session_conf.session_idle_timeout}}</SessionIdleTimeOut>
|
||||||
|
<MaximumMessageBufferSize>{{device_mgt_conf.remote_session_conf.max_message_buffer.size}}</MaximumMessageBufferSize>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>true</Enabled>
|
||||||
|
<RemoteSessionServerUrl>ws://localhost:9763</RemoteSessionServerUrl>
|
||||||
|
<MaximumHTTPConnectionPerHost>2</MaximumHTTPConnectionPerHost>
|
||||||
|
<MaximumTotalHTTPConnections>100</MaximumTotalHTTPConnections>
|
||||||
|
<MaximumMessagesPerSecond>20</MaximumMessagesPerSecond>
|
||||||
|
<SessionIdleTimeOut>15</SessionIdleTimeOut>
|
||||||
|
<MaximumMessageBufferSize>640</MaximumMessageBufferSize>
|
||||||
|
{% endif %}
|
||||||
|
</RemoteSessionConfiguration>
|
||||||
|
{% if device_mgt_conf.default_groups_conf is defined %}
|
||||||
|
<DefaultGroupsConfiguration>{{device_mgt_conf.default_groups_conf}}</DefaultGroupsConfiguration>
|
||||||
|
{% else %}
|
||||||
|
<DefaultGroupsConfiguration>BYOD,COPE</DefaultGroupsConfiguration>
|
||||||
|
{% endif %}
|
||||||
|
<EnrolmentNotificationConfiguration>
|
||||||
|
{% if device_mgt_conf.enrolement_notification_conf is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.enrolement_notification_conf.enabled}}</Enabled>
|
||||||
|
<NotifyThroughExtension>{{device_mgt_conf.enrolement_notification_conf.notify_through_extension}}</NotifyThroughExtension>
|
||||||
|
<ExtensionClass>{{device_mgt_conf.enrolement_notification_conf.extension_class}}</ExtensionClass>
|
||||||
|
<NotifyingInternalHost>{{device_mgt_conf.enrolement_notification_conf.notify_internal_host}}</NotifyingInternalHost>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
<NotifyThroughExtension>false</NotifyThroughExtension>
|
||||||
|
<ExtensionClass>org.wso2.carbon.device.mgt.common.enrollment.notification.EnrollmentNotifier</ExtensionClass>
|
||||||
|
<NotifyingInternalHost>http://localhost:8280</NotifyingInternalHost>
|
||||||
|
{% endif %}
|
||||||
|
</EnrolmentNotificationConfiguration>
|
||||||
|
<DefaultRoles>
|
||||||
|
{% if device_mgt_conf.default_roles is defined %}
|
||||||
|
<Enabled>{{device_mgt_conf.default_roles.enabled}}</Enabled>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>false</Enabled>
|
||||||
|
{% endif %}
|
||||||
|
<Roles>
|
||||||
|
<Role>
|
||||||
|
<Name>test_role</Name>
|
||||||
|
<Permissions>
|
||||||
|
<Permission>/permission/admin/Login</Permission>
|
||||||
|
</Permissions>
|
||||||
|
</Role>
|
||||||
|
</Roles>
|
||||||
|
</DefaultRoles>
|
||||||
|
</DeviceMgtConfiguration>
|
||||||
|
|
@ -0,0 +1,87 @@
|
|||||||
|
<!--
|
||||||
|
~ Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<datasources-configuration xmlns:svns="http://org.wso2.securevault/configuration">
|
||||||
|
<providers>
|
||||||
|
<provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
|
||||||
|
</providers>
|
||||||
|
<datasources>
|
||||||
|
<datasource>
|
||||||
|
<name>DM_DS</name>
|
||||||
|
<description>The datasource used for CDM</description>
|
||||||
|
<jndiConfig>
|
||||||
|
<name>jdbc/DM_DS</name>
|
||||||
|
</jndiConfig>
|
||||||
|
<definition type="RDBMS">
|
||||||
|
<configuration>
|
||||||
|
{% if database.device_mgt is defined %}
|
||||||
|
<url>{{database.device_mgt.url}}</url>
|
||||||
|
<username>{{database.device_mgt.username}}</username>
|
||||||
|
<password>{{database.device_mgt.password}}</password>
|
||||||
|
<driverClassName>{{database.device_mgt.driver}}</driverClassName>
|
||||||
|
<validationQuery>{{database.device_mgt.validationQuery}}</validationQuery>
|
||||||
|
{% for property_name,property_value in database.device_mgt.pool_options.items() %}
|
||||||
|
<{{property_name}}>{{property_value}}</{{property_name}}>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<url>jdbc:h2:./repository/database/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000</url>
|
||||||
|
<username>wso2carbon</username>
|
||||||
|
<password>wso2carbon</password>
|
||||||
|
<driverClassName>org.h2.Driver</driverClassName>
|
||||||
|
<maxActive>50</maxActive>
|
||||||
|
<maxWait>60000</maxWait>
|
||||||
|
<testOnBorrow>true</testOnBorrow>
|
||||||
|
<validationQuery>SELECT 1</validationQuery>
|
||||||
|
<validationInterval>30000</validationInterval>
|
||||||
|
{% endif %}
|
||||||
|
</configuration>
|
||||||
|
</definition>
|
||||||
|
</datasource>
|
||||||
|
<datasource>
|
||||||
|
<name>DM_ARCHIVAL_DS</name>
|
||||||
|
<description>The archival datasource used for CDM</description>
|
||||||
|
<jndiConfig>
|
||||||
|
<name>jdbc/DM_ARCHIVAL_DS</name>
|
||||||
|
</jndiConfig>
|
||||||
|
<definition type="RDBMS">
|
||||||
|
<configuration>
|
||||||
|
{% if database.device_mgt_archival is defined %}
|
||||||
|
<url>{{database.device_mgt_archival.url}}</url>
|
||||||
|
<username>{{database.device_mgt_archival.username}}</username>
|
||||||
|
<password>{{database.device_mgt_archival.password}}</password>
|
||||||
|
<driverClassName>{{database.device_mgt_archival.driver}}</driverClassName>
|
||||||
|
<validationQuery>{{database.device_mgt_archival.validationQuery}}</validationQuery>
|
||||||
|
{% for property_name,property_value in database.device_mgt_archival.pool_options.items() %}
|
||||||
|
<{{property_name}}>{{property_value}}</{{property_name}}>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<url>jdbc:h2:./repository/database/WSO2DM_ARCHIVAL_DS;DB_CLOSE_ON_EXIT=FALSE</url>
|
||||||
|
<username>wso2carbon</username>
|
||||||
|
<password>wso2carbon</password>
|
||||||
|
<driverClassName>org.h2.Driver</driverClassName>
|
||||||
|
<maxActive>50</maxActive>
|
||||||
|
<maxWait>60000</maxWait>
|
||||||
|
<testOnBorrow>true</testOnBorrow>
|
||||||
|
<validationQuery>SELECT 1</validationQuery>
|
||||||
|
<validationInterval>30000</validationInterval>
|
||||||
|
{% endif %}
|
||||||
|
</configuration>
|
||||||
|
</definition>
|
||||||
|
</datasource>
|
||||||
|
</datasources>
|
||||||
|
</datasources-configuration>
|
@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ you may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LicenseConfig>
|
||||||
|
<Licenses>
|
||||||
|
<License>
|
||||||
|
<Provider>wso2</Provider>
|
||||||
|
<Name>android</Name>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Language>1.0.0</Language>
|
||||||
|
<ValidFrom>01-01-2014</ValidFrom>
|
||||||
|
<ValidTo>31-12-2035</ValidTo>
|
||||||
|
<Text><![CDATA[Test License]]></Text>
|
||||||
|
</License>
|
||||||
|
<License>
|
||||||
|
<Provider>wso2</Provider>
|
||||||
|
<Name>ios</Name>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Language>1.0.0</Language>
|
||||||
|
<ValidFrom>01-01-2014</ValidFrom>
|
||||||
|
<ValidTo>31-12-2035</ValidTo>
|
||||||
|
<Text><![CDATA[IOS License]]></Text>
|
||||||
|
</License>
|
||||||
|
<License>
|
||||||
|
<Provider>wso2</Provider>
|
||||||
|
<Name>windows</Name>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Language>1.0.0</Language>
|
||||||
|
<ValidFrom>01-01-2014</ValidFrom>
|
||||||
|
<ValidTo>31-12-2035</ValidTo>
|
||||||
|
<Text><![CDATA[Windows License]]></Text>
|
||||||
|
</License>
|
||||||
|
{% if license_conf.licenses is defined %}
|
||||||
|
{%- for license in license_conf.licenses -%}
|
||||||
|
<License>
|
||||||
|
<Provider>{{license.provider}}</Provider>
|
||||||
|
<Name>{{license.name}}</Name>
|
||||||
|
<Version>{{license.version}}</Version>
|
||||||
|
<Language>{{license.language}}</Language>
|
||||||
|
<ValidFrom>{{license.valid_from}}</ValidFrom>
|
||||||
|
<ValidTo>{{license.valid-to}}</ValidTo>
|
||||||
|
<Text>{{license.text}}</Text>
|
||||||
|
</License>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</Licenses>
|
||||||
|
</LicenseConfig>
|
@ -0,0 +1,211 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2020, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Entgra (pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<UIConfiguration>
|
||||||
|
{% if mdm_ui_conf.enable_oauth is defined %}
|
||||||
|
<EnableOAuth>{{mdm_ui_conf.enable_oauth}}</EnableOAuth>
|
||||||
|
{% else %}
|
||||||
|
<EnableOAuth>true</EnableOAuth>
|
||||||
|
{% endif %}
|
||||||
|
{% if mdm_ui_conf.enable_sso is defined %}
|
||||||
|
<EnableSSO>{{mdm_ui_conf.enable_sso}}</EnableSSO>
|
||||||
|
{% else %}
|
||||||
|
<EnableSSO>false</EnableSSO>
|
||||||
|
{% endif %}
|
||||||
|
<AppRegistration>
|
||||||
|
<Tags>
|
||||||
|
<Tag>application_management</Tag>
|
||||||
|
<Tag>device_management</Tag>
|
||||||
|
<Tag>subscription_management</Tag>
|
||||||
|
<Tag>review_management</Tag>
|
||||||
|
{% if mdm_ui_conf.app_registration.tags is defined %}
|
||||||
|
{%- for tag in mdm_ui_conf.app_registration.tags -%}
|
||||||
|
<Tag>{{tag}}</Tag>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</Tags>
|
||||||
|
{% if mdm_ui_conf.app_registration.allow_to_all_domains is defined %}
|
||||||
|
<AllowToAllDomains>{{mdm_ui_conf.app_registration.allow_to_all_domains}}</AllowToAllDomains>
|
||||||
|
{% else %}
|
||||||
|
<AllowToAllDomains>true</AllowToAllDomains>
|
||||||
|
{% endif %}
|
||||||
|
</AppRegistration>
|
||||||
|
<Scopes>
|
||||||
|
<Scope>perm:app:review:view</Scope>
|
||||||
|
<Scope>perm:app:review:update</Scope>
|
||||||
|
<Scope>perm:app:publisher:view</Scope>
|
||||||
|
<Scope>perm:app:publisher:update</Scope>
|
||||||
|
<Scope>perm:app:store:view</Scope>
|
||||||
|
<Scope>perm:app:subscription:install</Scope>
|
||||||
|
<Scope>perm:app:subscription:uninstall</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:view</Scope>
|
||||||
|
<Scope>perm:admin:app:publisher:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
|
<Scope>perm:admin:app:subscription:view</Scope>
|
||||||
|
<Scope>perm:device-types:types</Scope>
|
||||||
|
<Scope>perm:enterprise:modify</Scope>
|
||||||
|
<Scope>perm:enterprise:view</Scope>
|
||||||
|
<Scope>perm:android-work:customer</Scope>
|
||||||
|
<Scope>perm:android-work:admin</Scope>
|
||||||
|
<Scope>perm:application-command:modify</Scope>
|
||||||
|
<Scope>perm:sign-csr</Scope>
|
||||||
|
<Scope>perm:admin:devices:view</Scope>
|
||||||
|
<Scope>perm:admin:topics:view</Scope>
|
||||||
|
<Scope>perm:roles:add</Scope>
|
||||||
|
<Scope>perm:roles:add-users</Scope>
|
||||||
|
<Scope>perm:roles:update</Scope>
|
||||||
|
<Scope>perm:roles:permissions</Scope>
|
||||||
|
<Scope>perm:roles:details</Scope>
|
||||||
|
<Scope>perm:roles:view</Scope>
|
||||||
|
<Scope>perm:roles:create-combined-role</Scope>
|
||||||
|
<Scope>perm:roles:delete</Scope>
|
||||||
|
<Scope>perm:dashboard:vulnerabilities</Scope>
|
||||||
|
<Scope>perm:dashboard:non-compliant-count</Scope>
|
||||||
|
<Scope>perm:dashboard:non-compliant</Scope>
|
||||||
|
<Scope>perm:dashboard:by-groups</Scope>
|
||||||
|
<Scope>perm:dashboard:device-counts</Scope>
|
||||||
|
<Scope>perm:dashboard:feature-non-compliant</Scope>
|
||||||
|
<Scope>perm:dashboard:count-overview</Scope>
|
||||||
|
<Scope>perm:dashboard:filtered-count</Scope>
|
||||||
|
<Scope>perm:dashboard:details</Scope>
|
||||||
|
<Scope>perm:get-activity</Scope>
|
||||||
|
<Scope>perm:devices:delete</Scope>
|
||||||
|
<Scope>perm:devices:applications</Scope>
|
||||||
|
<Scope>perm:devices:effective-policy</Scope>
|
||||||
|
<Scope>perm:devices:compliance-data</Scope>
|
||||||
|
<Scope>perm:devices:features</Scope>
|
||||||
|
<Scope>perm:devices:operations</Scope>
|
||||||
|
<Scope>perm:devices:search</Scope>
|
||||||
|
<Scope>perm:devices:details</Scope>
|
||||||
|
<Scope>perm:devices:update</Scope>
|
||||||
|
<Scope>perm:devices:view</Scope>
|
||||||
|
<Scope>perm:view-configuration</Scope>
|
||||||
|
<Scope>perm:manage-configuration</Scope>
|
||||||
|
<Scope>perm:policies:remove</Scope>
|
||||||
|
<Scope>perm:policies:priorities</Scope>
|
||||||
|
<Scope>perm:policies:deactivate</Scope>
|
||||||
|
<Scope>perm:policies:get-policy-details</Scope>
|
||||||
|
<Scope>perm:policies:manage</Scope>
|
||||||
|
<Scope>perm:policies:activate</Scope>
|
||||||
|
<Scope>perm:policies:update</Scope>
|
||||||
|
<Scope>perm:policies:changes</Scope>
|
||||||
|
<Scope>perm:policies:get-details</Scope>
|
||||||
|
<Scope>perm:users:add</Scope>
|
||||||
|
<Scope>perm:users:details</Scope>
|
||||||
|
<Scope>perm:users:count</Scope>
|
||||||
|
<Scope>perm:users:delete</Scope>
|
||||||
|
<Scope>perm:users:roles</Scope>
|
||||||
|
<Scope>perm:users:user-details</Scope>
|
||||||
|
<Scope>perm:users:credentials</Scope>
|
||||||
|
<Scope>perm:users:search</Scope>
|
||||||
|
<Scope>perm:users:is-exist</Scope>
|
||||||
|
<Scope>perm:users:update</Scope>
|
||||||
|
<Scope>perm:users:send-invitation</Scope>
|
||||||
|
<Scope>perm:admin-users:view</Scope>
|
||||||
|
<Scope>perm:admin:devices:update-enrollment</Scope>
|
||||||
|
<Scope>perm:groups:devices</Scope>
|
||||||
|
<Scope>perm:groups:update</Scope>
|
||||||
|
<Scope>perm:groups:add</Scope>
|
||||||
|
<Scope>perm:groups:device</Scope>
|
||||||
|
<Scope>perm:groups:devices-count</Scope>
|
||||||
|
<Scope>perm:groups:remove</Scope>
|
||||||
|
<Scope>perm:groups:groups</Scope>
|
||||||
|
<Scope>perm:groups:groups-view</Scope>
|
||||||
|
<Scope>perm:groups:share</Scope>
|
||||||
|
<Scope>perm:groups:count</Scope>
|
||||||
|
<Scope>perm:groups:roles</Scope>
|
||||||
|
<Scope>perm:groups:devices-remove</Scope>
|
||||||
|
<Scope>perm:groups:devices-add</Scope>
|
||||||
|
<Scope>perm:groups:assign</Scope>
|
||||||
|
<Scope>perm:device-types:configs</Scope>
|
||||||
|
<Scope>perm:device-types:features</Scope>
|
||||||
|
<Scope>perm:device-types:types</Scope>
|
||||||
|
<Scope>perm:applications:install</Scope>
|
||||||
|
<Scope>perm:applications:uninstall</Scope>
|
||||||
|
<Scope>perm:admin-groups:count</Scope>
|
||||||
|
<Scope>perm:admin-groups:view</Scope>
|
||||||
|
<Scope>perm:admin-groups:add</Scope>
|
||||||
|
<Scope>perm:notifications:mark-checked</Scope>
|
||||||
|
<Scope>perm:notifications:view</Scope>
|
||||||
|
<Scope>perm:admin:certificates:delete</Scope>
|
||||||
|
<Scope>perm:admin:certificates:details</Scope>
|
||||||
|
<Scope>perm:admin:certificates:view</Scope>
|
||||||
|
<Scope>perm:admin:certificates:add</Scope>
|
||||||
|
<Scope>perm:admin:certificates:verify</Scope>
|
||||||
|
<Scope>perm:admin</Scope>
|
||||||
|
<Scope>perm:devicetype:deployment</Scope>
|
||||||
|
<Scope>perm:device-types:events</Scope>
|
||||||
|
<Scope>perm:device-types:events:view</Scope>
|
||||||
|
<Scope>perm:admin:device-type</Scope>
|
||||||
|
<Scope>perm:admin:device-type:view</Scope>
|
||||||
|
<Scope>perm:admin:device-type:configs</Scope>
|
||||||
|
<Scope>perm:device:enroll</Scope>
|
||||||
|
<Scope>perm:geo-service:analytics-view</Scope>
|
||||||
|
<Scope>perm:geo-service:alerts-manage</Scope>
|
||||||
|
<Scope>appm:read</Scope>
|
||||||
|
<Scope>perm:devices:permanent-delete</Scope>
|
||||||
|
<Scope>perm:android:manage-configuration</Scope>
|
||||||
|
<Scope>perm:android:view-configuration</Scope>
|
||||||
|
<Scope>perm:user:permission-view</Scope>
|
||||||
|
<Scope>perm:ios:view-configuration</Scope>
|
||||||
|
<Scope>perm:ios:manage-configuration</Scope>
|
||||||
|
<Scope>perm:ios:dep-view</Scope>
|
||||||
|
<Scope>perm:ios:dep-add</Scope>
|
||||||
|
<Scope>perm:windows:view-configuration</Scope>
|
||||||
|
<Scope>perm:windows:manage-configuration</Scope>
|
||||||
|
<Scope>perm:android:lock-devices</Scope>
|
||||||
|
<Scope>perm:android:unlock-devices</Scope>
|
||||||
|
<Scope>perm:android:location</Scope>
|
||||||
|
<Scope>perm:android:clear-password</Scope>
|
||||||
|
<Scope>perm:android:control-camera</Scope>
|
||||||
|
<Scope>perm:android:enterprise-wipe</Scope>
|
||||||
|
<Scope>perm:android:wipe</Scope>
|
||||||
|
<Scope>perm:android:ring</Scope>
|
||||||
|
<Scope>perm:android:applications</Scope>
|
||||||
|
<Scope>perm:android:reboot</Scope>
|
||||||
|
<Scope>perm:android:change-LockTask</Scope>
|
||||||
|
<Scope>perm:android:mute</Scope>
|
||||||
|
<Scope>perm:android:configure-display-message</Scope>
|
||||||
|
<Scope>perm:android:send-app-restrictions</Scope>
|
||||||
|
<Scope>perm:android:file-transfer</Scope>
|
||||||
|
<Scope>perm:android:set-webclip</Scope>
|
||||||
|
<Scope>perm:android:set-password-policy</Scope>
|
||||||
|
<Scope>perm:android:change-lock-code</Scope>
|
||||||
|
<Scope>perm:android:upgrade-firmware</Scope>
|
||||||
|
<Scope>perm:android:send-notification</Scope>
|
||||||
|
<Scope>perm:geo-service:geo-fence</Scope>
|
||||||
|
<Scope>perm:metadata:view</Scope>
|
||||||
|
<Scope>perm:metadata:create</Scope>
|
||||||
|
<Scope>perm:metadata:update</Scope>
|
||||||
|
{% if mdm_ui_conf.scopes is defined %}
|
||||||
|
{%- for scope in mdm_ui_conf.scopes -%}
|
||||||
|
<Scope>{{scope}}</Scope>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</Scopes>
|
||||||
|
<SSOConfiguration>
|
||||||
|
{% if mdm_ui_conf.sso_conf is defined %}
|
||||||
|
<Issuer>{{mdm_ui_conf.sso_conf.issuer}}</Issuer>
|
||||||
|
{% else %}
|
||||||
|
<Issuer>device-mgt</Issuer>
|
||||||
|
{% endif %}
|
||||||
|
</SSOConfiguration>
|
||||||
|
</UIConfiguration>
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ you may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<AppManagementConfig>
|
||||||
|
{% if app_management_conf is defined %}
|
||||||
|
<Enabled>{{app_management_conf.enable}}</Enabled>
|
||||||
|
<AppManagerUrl>{{app_management_conf.app_manager_url}}</AppManagerUrl>
|
||||||
|
<ConsumerKey>{{app_management_conf.consumer_key}}</ConsumerKey>
|
||||||
|
<ConsumerSecret>{{app_management_conf.consumer_secret}}</ConsumerSecret>
|
||||||
|
{% else %}
|
||||||
|
<Enabled>true</Enabled>
|
||||||
|
<AppManagerUrl>http:/www.google.com</AppManagerUrl>
|
||||||
|
<ConsumerKey>http:/www.google.com</ConsumerKey>
|
||||||
|
<ConsumerSecret>http:/www.google.com</ConsumerSecret>
|
||||||
|
{% endif %}
|
||||||
|
</AppManagementConfig>
|
@ -0,0 +1,57 @@
|
|||||||
|
<!--
|
||||||
|
~ Copyright (C) 2018 - 2020 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
|
||||||
|
~
|
||||||
|
~ Licensed under the Entgra Commercial License, Version 1.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ https://entgra.io/licenses/entgra-commercial/1.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
<datasources-configuration xmlns:svns="http://org.wso2.securevault/configuration">
|
||||||
|
<providers>
|
||||||
|
<provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
|
||||||
|
</providers>
|
||||||
|
<datasources>
|
||||||
|
<datasource>
|
||||||
|
<name>HeartBeat_DS</name>
|
||||||
|
<description>The datasource Server Heart Beat</description>
|
||||||
|
<jndiConfig>
|
||||||
|
<name>jdbc/HeartBeat_DS</name>
|
||||||
|
</jndiConfig>
|
||||||
|
<definition type="RDBMS">
|
||||||
|
<configuration>
|
||||||
|
{% if database.heart_beat is defined %}
|
||||||
|
<url>{{database.heart_beat.url}}</url>
|
||||||
|
<username>{{database.heart_beat.username}}</username>
|
||||||
|
<password>{{database.heart_beat.password}}</password>
|
||||||
|
<driverClassName>{{database.heart_beat.driver}}</driverClassName>
|
||||||
|
<validationQuery>{{database.heart_beat.validationQuery}}</validationQuery>
|
||||||
|
{% for property_name,property_value in database.heart_beat.pool_options.items() %}
|
||||||
|
<{{property_name}}>{{property_value}}</{{property_name}}>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<url>jdbc:mysql://localhost:3306/heart_beat</url>
|
||||||
|
<username>root</username>
|
||||||
|
<password>root</password>
|
||||||
|
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
|
||||||
|
<maxActive>50</maxActive>
|
||||||
|
<maxWait>60000</maxWait>
|
||||||
|
<testOnBorrow>true</testOnBorrow>
|
||||||
|
<validationQuery>SELECT 1</validationQuery>
|
||||||
|
<validationInterval>30000</validationInterval>
|
||||||
|
{% endif %}
|
||||||
|
</configuration>
|
||||||
|
</definition>
|
||||||
|
</datasource>
|
||||||
|
</datasources>
|
||||||
|
</datasources-configuration>
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (C) 2020 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
|
||||||
|
~
|
||||||
|
~ Licensed under the Entgra Commercial License, Version 1.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ https://entgra.io/licenses/entgra-commercial/1.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<HeartBeatBeaconConfig>
|
||||||
|
<!--
|
||||||
|
~ Only to be turned on in distributed mode, in which case
|
||||||
|
~ Dynamic Partitoned Task, Randomly Assigned Task modes will be activated.
|
||||||
|
~ These modes are deviations from the regular worker manager mode, in which the server will function.
|
||||||
|
~
|
||||||
|
~ * DynamicPartitionedScheduleTask -> Tasks will execute on all nodes but will only focus on a subset of operations
|
||||||
|
~ broken up amongst active nodes based on following parameters that are made available via DynamicTaskContext abstract class.
|
||||||
|
~ - serverHashIndex : dynamic index assigned to each server based on number of active servers present
|
||||||
|
~ - activeServerCount : total no. of active servers present at a given time
|
||||||
|
~ - partitioningEnabled : whether or not heart-beat-config/dynamic task config is enabled.
|
||||||
|
~ Any task extending the DynamicPartitionedScheduleTask class will inherit the above variables.
|
||||||
|
~ These can then be used to split up the no. of devices said node is allocated with.
|
||||||
|
~
|
||||||
|
~ * RandomlyAssignedScheduleTask -> Tasks will only execute on a particular node elected at a time interval determined by ServerTimeOutIntervalInSeconds, parameter.
|
||||||
|
~ When running tasks in this mode, it is mandatory that each task be given a unique name, so as not to run in to scenarios where tasks execution is duplicated.
|
||||||
|
~ Each node, on a periodic basis will check to see if it is qualfied to execute the random task, if the following variable is true only said node will execute the task.
|
||||||
|
~ - qualifiedToExecuteTask : dynamic index assigned to each server based on number of active servers present
|
||||||
|
~ Any task extending the RandomlyAssignedScheduleTask class will inherit the above variable.
|
||||||
|
~ Note that random task may execute on any node.
|
||||||
|
-->
|
||||||
|
<!-- Heart Beat Data Source Name, this should be either MySQL, PostGreSQL, Oracle or MSSQL -->
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/HeartBeat_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
{% if heart_beat_beacon_conf is defined %}
|
||||||
|
<Enable>{{heart_beat_beacon_conf.enable}}</Enable>
|
||||||
|
<NotifierInitialDelayInSeconds>{{heart_beat_beacon_conf.notifier_initial_delay_in_seconds}}</NotifierInitialDelayInSeconds>
|
||||||
|
<NotifierFrequencyInSeconds>{{heart_beat_beacon_conf.notifier_frequency_in_seconds}}</NotifierFrequencyInSeconds>
|
||||||
|
<TimeSkewInSeconds>{{heart_beat_beacon_conf.time_skew_in_seconds}}</TimeSkewInSeconds>
|
||||||
|
<ServerTimeOutIntervalInSeconds>{{heart_beat_beacon_conf.sever_timeout_interval_in_seconds}}</ServerTimeOutIntervalInSeconds>
|
||||||
|
{% else %}
|
||||||
|
<Enable>false</Enable>
|
||||||
|
<NotifierInitialDelayInSeconds>30</NotifierInitialDelayInSeconds>
|
||||||
|
<NotifierFrequencyInSeconds>300</NotifierFrequencyInSeconds>
|
||||||
|
<TimeSkewInSeconds>5</TimeSkewInSeconds>
|
||||||
|
<ServerTimeOutIntervalInSeconds>600</ServerTimeOutIntervalInSeconds>
|
||||||
|
{% endif %}
|
||||||
|
</HeartBeatBeaconConfig>
|
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ you may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
<EmailSenderConfig>
|
||||||
|
{% if email_sender_conf is defined %}
|
||||||
|
<MinThreads>{{email_sender_conf.min_threads}}</MinThreads>
|
||||||
|
|
||||||
|
<MaxThreads>{{email_sender_conf.max_threads}}</MaxThreads>
|
||||||
|
|
||||||
|
<KeepAliveDuration>{{email_sender_conf.keep_alive_duration}}</KeepAliveDuration>
|
||||||
|
|
||||||
|
<ThreadQueueCapacity>{{email_sender_conf.thread_queue_capacity}}</ThreadQueueCapacity>
|
||||||
|
{% else %}
|
||||||
|
<MinThreads>8</MinThreads>
|
||||||
|
|
||||||
|
<MaxThreads>100</MaxThreads>
|
||||||
|
|
||||||
|
<KeepAliveDuration>20</KeepAliveDuration>
|
||||||
|
|
||||||
|
<ThreadQueueCapacity>1000</ThreadQueueCapacity>
|
||||||
|
{% endif %}
|
||||||
|
</EmailSenderConfig>
|
||||||
|
|
@ -1,3 +1,4 @@
|
|||||||
instructions.configure = \
|
instructions.configure = \
|
||||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.email.sender_${feature.version}/conf/email-sender-config.xml,target:${installFolder}/../../conf/etc/email-sender-config.xml,overwrite:true);\
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.email.sender_${feature.version}/conf/email-sender-config.xml,target:${installFolder}/../../conf/etc/email-sender-config.xml,overwrite:true);\
|
||||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.email.sender_${feature.version}/email/templates,target:${installFolder}/../../../repository/resources/email-templates,overwrite:true);\
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.email.sender_${feature.version}/email/templates,target:${installFolder}/../../../repository/resources/email-templates,overwrite:true);\
|
||||||
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.email.sender_${feature.version}/conf_templates/,target:${installFolder}/../../resources/conf/,overwrite:true);\
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2021, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
~ Version 2.0 (the "License"); you may not use this file except
|
||||||
|
~ in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<SMSConfiguration>
|
||||||
|
<Gateways>
|
||||||
|
<!-- multiple gateways can be listed and the gateway having the isDefault=true is picked up or gateway
|
||||||
|
extensionClass can be passed and relevant impl can be used-->
|
||||||
|
<Gateway name="sample" extensionClass="io.entgra.transport.mgt.sms.handler.core.impl.SampleSenderImpl" isDefault="true">
|
||||||
|
<!-- properties can be listed and can be picked up in the relevant implementation class as required-->
|
||||||
|
<Properties>
|
||||||
|
<Property name="sample-property">sample</Property>
|
||||||
|
<Property name="country-code">+94</Property>
|
||||||
|
<Property name="max-msg-size">160</Property>
|
||||||
|
</Properties>
|
||||||
|
</Gateway>
|
||||||
|
{% if sms_conf.gateways is defined %}
|
||||||
|
{%- for gateway in sms_conf.gateways -%}
|
||||||
|
<Gateway name="{{gateway.name}}" extensionClass="{{gateway.extension_class}}" isDefault="{{gateway.is_default}}">
|
||||||
|
<Properties>
|
||||||
|
<Property name="sample-property">sample</Property>
|
||||||
|
<Property name="country-code">+94</Property>
|
||||||
|
<Property name="max-msg-size">160</Property>
|
||||||
|
{% for property_name,property_value in gateway.properties_options.items() %}
|
||||||
|
<Property name="{{property_name}}">{{property_value}}</Property>
|
||||||
|
{% endfor %}
|
||||||
|
</Properties>
|
||||||
|
</Gateway>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</Gateways>
|
||||||
|
</SMSConfiguration>
|
@ -1,4 +1,5 @@
|
|||||||
instructions.configure = \
|
instructions.configure = \
|
||||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.transport.mgt.sms.handler.server_${feature.version}/conf/sms-config.xml,target:${installFolder}/../../conf/sms-config.xml,overwrite:true);\
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.transport.mgt.sms.handler.server_${feature.version}/conf/sms-config.xml,target:${installFolder}/../../conf/sms-config.xml,overwrite:true);\
|
||||||
|
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.transport.mgt.sms.handler.server_${feature.version}/conf_templates/,target:${installFolder}/../../resources/conf/,overwrite:true);\
|
||||||
|
|
||||||
instructions.unconfigure = \
|
instructions.unconfigure = \
|
||||||
|
Loading…
Reference in new issue