http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsPublisher.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsPublisher.java new file mode 100644 index 0000000..6c6d85c --- /dev/null +++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsPublisher.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF 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. + */ + +package org.apache.stratos.mock.iaas.statistics.publisher; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.stratos.common.statistics.publisher.WSO2CEPStatisticsPublisher; +import org.wso2.carbon.databridge.commons.Attribute; +import org.wso2.carbon.databridge.commons.AttributeType; +import org.wso2.carbon.databridge.commons.StreamDefinition; + +import java.util.ArrayList; +import java.util.List; + +/** + * Health statistics publisher for publishing statistics to CEP. + */ +public class MockHealthStatisticsPublisher extends WSO2CEPStatisticsPublisher { + private static final Log log = LogFactory.getLog(MockHealthStatisticsPublisher.class); + + private static final String DATA_STREAM_NAME = "cartridge_agent_health_stats"; + private static final String VERSION = "1.0.0"; + + private static StreamDefinition createStreamDefinition() { + try { + StreamDefinition streamDefinition = new StreamDefinition(DATA_STREAM_NAME, VERSION); + streamDefinition.setNickName("agent health stats"); + streamDefinition.setDescription("agent health stats"); + // Payload definition + List<Attribute> payloadData = new ArrayList<Attribute>(); + payloadData.add(new Attribute("cluster_id", AttributeType.STRING)); + payloadData.add(new Attribute("cluster_instance_id", AttributeType.STRING)); + payloadData.add(new Attribute("network_partition_id", AttributeType.STRING)); + payloadData.add(new Attribute("member_id", AttributeType.STRING)); + payloadData.add(new Attribute("partition_id", AttributeType.STRING)); + payloadData.add(new Attribute("health_description", AttributeType.STRING)); + payloadData.add(new Attribute("value", AttributeType.DOUBLE)); + streamDefinition.setPayloadData(payloadData); + return streamDefinition; + } catch (Exception e) { + throw new RuntimeException("Could not create stream definition", e); + } + } + + public MockHealthStatisticsPublisher() { + super(createStreamDefinition()); + } + + /** + * Publish health statistics to cep. + * @param clusterId + * @param networkPartitionId + * @param memberId + * @param partitionId + * @param health + * @param value + */ + public void publish(String clusterId, String clusterInstanceId, String networkPartitionId, String memberId, String partitionId, String health, double value) { + if(log.isDebugEnabled()) { + log.debug(String.format("Publishing health statistics: [cluster] %s [network-partition] %s [partition] %s [member] %s [health] %s [value] %f", + clusterId, networkPartitionId, partitionId, memberId, health, value)); + } + List<Object> payload = new ArrayList<Object>(); + // Payload values + payload.add(clusterId); + payload.add(clusterInstanceId); + payload.add(networkPartitionId); + payload.add(memberId); + payload.add(partitionId); + payload.add(health); + payload.add(value); + super.publish(payload.toArray()); + } +}
http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/components/org.apache.stratos.mock.iaas/src/test/java/org/apache/stratos/mock/iaas/test/MockIaasServiceTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/test/java/org/apache/stratos/mock/iaas/test/MockIaasServiceTest.java b/components/org.apache.stratos.mock.iaas/src/test/java/org/apache/stratos/mock/iaas/test/MockIaasServiceTest.java new file mode 100644 index 0000000..3fb6e0a --- /dev/null +++ b/components/org.apache.stratos.mock.iaas/src/test/java/org/apache/stratos/mock/iaas/test/MockIaasServiceTest.java @@ -0,0 +1,127 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF 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. + */ + +package org.apache.stratos.mock.iaas.test; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.stratos.mock.iaas.config.MockIaasConfig; +import org.apache.stratos.mock.iaas.domain.MockInstanceContext; +import org.apache.stratos.mock.iaas.domain.MockInstanceMetadata; +import org.apache.stratos.mock.iaas.persistence.PersistenceManagerType; +import org.apache.stratos.mock.iaas.services.impl.MockIaasServiceImpl; +import org.apache.stratos.mock.iaas.services.impl.MockConstants; +import org.junit.Test; + +import java.net.URL; +import java.util.List; + +import static org.junit.Assert.*; + +/** + * Mock iaas service test. + */ +public class MockIaasServiceTest { + + private static Log log = LogFactory.getLog(MockIaasServiceTest.class); + private static final String CONFIG_FILE_PATH = "/mock-iaas.xml"; + + @Test + public void testStartInstance() { + + try { + URL configFileUrl = getClass().getResource(CONFIG_FILE_PATH); + System.setProperty(MockIaasConfig.MOCK_IAAS_CONFIG_FILE_PATH, configFileUrl.getPath()); + System.setProperty(MockConstants.PERSISTENCE_MANAGER_TYPE, PersistenceManagerType.Mock.toString()); + + MockIaasServiceImpl mockIaasService = new MockIaasServiceImpl(); + MockInstanceContext mockInstanceContext = new MockInstanceContext("app1", "service1", "cluster1", "member1", + "cluster-instance1", "network-p1", "p1"); + MockInstanceMetadata metadata = mockIaasService.startInstance(mockInstanceContext); + assertNotNull("Could not start mock instance", metadata); + assertNotNull("Mock instance not found", mockIaasService.getInstance(metadata.getInstanceId())); + } catch (Exception e) { + log.error(e); + assertTrue(e.getMessage(), false); + } + } + + @Test + public void testGetInstances() { + + try { + URL configFileUrl = getClass().getResource(CONFIG_FILE_PATH); + System.setProperty(MockIaasConfig.MOCK_IAAS_CONFIG_FILE_PATH, configFileUrl.getPath()); + System.setProperty(MockConstants.PERSISTENCE_MANAGER_TYPE, PersistenceManagerType.Mock.toString()); + + MockIaasServiceImpl mockIaasService = new MockIaasServiceImpl(); + MockInstanceContext mockInstanceContext = new MockInstanceContext("app1", "service1", "cluster1", "member1", + "cluster-instance1", "network-p1", "p1"); + MockInstanceMetadata metadata1 = mockIaasService.startInstance(mockInstanceContext); + assertNotNull("Could not start mock instance", metadata1); + assertNotNull("Mock instance not found", mockIaasService.getInstance(metadata1.getInstanceId())); + + mockInstanceContext = new MockInstanceContext("app1", "service1", "cluster1", "member2", + "cluster-instance1", "network-p1", "p1"); + MockInstanceMetadata metadata2 = mockIaasService.startInstance(mockInstanceContext); + assertNotNull("Could not start mock instance", metadata2); + assertNotNull("Mock instance not found", mockIaasService.getInstance(metadata2.getInstanceId())); + + List<MockInstanceMetadata> instances = mockIaasService.getInstances(); + assertNotNull(instances); + assertTrue("Mock instance 1 not found in get instances result", instanceExist(instances, metadata1.getInstanceId())); + assertTrue("Mock instance 2 not found in get instances result", instanceExist(instances, metadata2.getInstanceId())); + } catch (Exception e) { + log.error(e); + assertTrue(e.getMessage(), false); + } + } + + private boolean instanceExist(List<MockInstanceMetadata> instances, String instanceId) { + for(MockInstanceMetadata instance : instances) { + if(instance.getInstanceId().equals(instanceId)) { + return true; + } + } + return false; + } + + @Test + public void testTerminateInstance() { + + try { + URL configFileUrl = getClass().getResource(CONFIG_FILE_PATH); + System.setProperty(MockIaasConfig.MOCK_IAAS_CONFIG_FILE_PATH, configFileUrl.getPath()); + System.setProperty(MockConstants.PERSISTENCE_MANAGER_TYPE, PersistenceManagerType.Mock.toString()); + + MockIaasServiceImpl mockIaasService = new MockIaasServiceImpl(); + MockInstanceContext mockInstanceContext = new MockInstanceContext("app1", "service1", "cluster1", "member1", + "cluster-instance1", "network-p1", "p1"); + MockInstanceMetadata metadata = mockIaasService.startInstance(mockInstanceContext); + assertNotNull("Could not start mock instance", metadata); + assertNotNull("Mock instance not found", mockIaasService.getInstance(metadata.getInstanceId())); + + mockIaasService.terminateInstance(metadata.getInstanceId()); + assertNull("Could not terminate mock instance", mockIaasService.getInstance(metadata.getInstanceId())); + } catch (Exception e) { + log.error(e); + assertTrue(e.getMessage(), false); + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/components/org.apache.stratos.mock.iaas/src/test/resources/mock-iaas.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/test/resources/mock-iaas.xml b/components/org.apache.stratos.mock.iaas/src/test/resources/mock-iaas.xml new file mode 100644 index 0000000..944a0d8 --- /dev/null +++ b/components/org.apache.stratos.mock.iaas/src/test/resources/mock-iaas.xml @@ -0,0 +1,43 @@ +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF 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. + --> + +<mock-iaas enabled="true"> + <health-statistics> + <cartridge type="tomcat"> + <!-- factor:memory-consumption|load-average|request-in-flight--> + <!-- mode:loop|continue|stop --> + <!-- Mode defines the action needs to be taken after the last sample value: + loop: start from beginning + continue: continue the last sample value + stop: stop publishing statistics --> + <pattern factor="memory-consumption" mode="continue"> + <!-- Sample values --> + <sampleValues>20,30,40,50,60,70,50,40,30,20</sampleValues> + <!-- Duration of each sample value in seconds --> + <sampleDuration>60</sampleDuration> + </pattern> + <pattern factor="load-average" mode="continue"> + <!-- Sample values --> + <sampleValues>20</sampleValues> + <!-- Duration of each sample value in seconds --> + <sampleDuration>60</sampleDuration> + </pattern> + </cartridge> + </health-statistics> +</mock-iaas> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/components/org.apache.stratos.rest.endpoint/pom.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/pom.xml b/components/org.apache.stratos.rest.endpoint/pom.xml index f017b8c..2427df0 100644 --- a/components/org.apache.stratos.rest.endpoint/pom.xml +++ b/components/org.apache.stratos.rest.endpoint/pom.xml @@ -52,7 +52,6 @@ </profile> </profiles> - <build> <plugins> <plugin> @@ -80,6 +79,7 @@ </build> <dependencies> + <!-- Dependency scope is set to provided to avoid dependent jar files being packaged with the war file --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-bundle</artifactId> @@ -140,6 +140,5 @@ <version>${project.version}</version> <scope>provided</scope> </dependency> - </dependencies> </project> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/components/pom.xml ---------------------------------------------------------------------- diff --git a/components/pom.xml b/components/pom.xml index 33e0533..03a14f4 100644 --- a/components/pom.xml +++ b/components/pom.xml @@ -81,6 +81,10 @@ <module>org.apache.stratos.custom.handlers</module> <module>org.apache.stratos.metadata.service</module> <module>org.apache.stratos.metadata.client</module> + <!-- Mock IaaS --> + <module>org.apache.stratos.mock.iaas</module> + <module>org.apache.stratos.mock.iaas.api</module> + <module>org.apache.stratos.mock.iaas.client</module> </modules> <build> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/autoscaler/org.apache.stratos.autoscaler.feature/pom.xml ---------------------------------------------------------------------- diff --git a/features/autoscaler/org.apache.stratos.autoscaler.feature/pom.xml b/features/autoscaler/org.apache.stratos.autoscaler.feature/pom.xml index 7532778..31e575f 100644 --- a/features/autoscaler/org.apache.stratos.autoscaler.feature/pom.xml +++ b/features/autoscaler/org.apache.stratos.autoscaler.feature/pom.xml @@ -21,8 +21,9 @@ <parent> <groupId>org.apache.stratos</groupId> - <artifactId>autoscaler-feature</artifactId> + <artifactId>autoscaler-features</artifactId> <version>4.1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/autoscaler/pom.xml ---------------------------------------------------------------------- diff --git a/features/autoscaler/pom.xml b/features/autoscaler/pom.xml index 1605e12..402b4cb 100644 --- a/features/autoscaler/pom.xml +++ b/features/autoscaler/pom.xml @@ -25,9 +25,9 @@ </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>autoscaler-feature</artifactId> + <artifactId>autoscaler-features</artifactId> <packaging>pom</packaging> - <name>Apache Stratos - Autoscaler Module</name> + <name>Apache Stratos - Autoscaler Features</name> <url>http://apache.org</url> <modules> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml ---------------------------------------------------------------------- diff --git a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml index 948e1e3..06ba953 100644 --- a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml +++ b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml @@ -22,8 +22,9 @@ <parent> <groupId>org.apache.stratos</groupId> - <artifactId>cloud-controller-feature</artifactId> + <artifactId>cloud-controller-features</artifactId> <version>4.1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> @@ -38,21 +39,26 @@ <artifactId>org.apache.stratos.cloud.controller</artifactId> <version>${project.version}</version> </dependency> - <dependency> + <dependency> <groupId>org.apache.stratos</groupId> <artifactId>org.apache.stratos.kubernetes.client</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.httpcomponents.wso2</groupId> - <artifactId>httpcore</artifactId> - <version>4.3.0.wso2v1</version> - </dependency> - <dependency> - <groupId>org.apache.httpcomponents.wso2</groupId> - <artifactId>httpclient</artifactId> - <version>4.2.5.wso2v1</version> - </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.mock.iaas.client</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents.wso2</groupId> + <artifactId>httpcore</artifactId> + <version>4.3.0.wso2v1</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents.wso2</groupId> + <artifactId>httpclient</artifactId> + <version>4.2.5.wso2v1</version> + </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> @@ -114,7 +120,7 @@ <artifactId>jclouds-enterprise</artifactId> <version>${jclouds.version}</version> </dependency> - <dependency> + <dependency> <groupId>org.apache.jclouds.api</groupId> <artifactId>cloudstack</artifactId> <version>${jclouds.version}</version> @@ -295,50 +301,39 @@ </properties> </adviceFile> <bundles> - <bundleDef>org.apache.stratos:org.apache.stratos.cloud.controller:${project.version} - </bundleDef> - <bundleDef>org.apache.stratos:org.apache.stratos.kubernetes.client:${project.version} - </bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.cloud.controller:${project.version}</bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.kubernetes.client:${project.version}</bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.mock.iaas.client:${project.version}</bundleDef> <bundleDef>org.apache.jclouds.driver:jclouds-bouncycastle:${jclouds.version}</bundleDef> <bundleDef>org.apache.jclouds.driver:jclouds-sshj:${jclouds.version}</bundleDef> <!--bundleDef>org.apache.jclouds.driver:jclouds-log4j:${jclouds.version}</bundleDef--> <bundleDef>org.apache.jclouds.driver:jclouds-enterprise:${jclouds.version}</bundleDef> <bundleDef>org.apache.jclouds:jclouds-core:${jclouds.version}</bundleDef> <bundleDef>org.apache.jclouds:jclouds-compute:${jclouds.version}</bundleDef> - <bundleDef>org.apache.jclouds.api:ec2:${jclouds.version}</bundleDef> + <bundleDef>org.apache.jclouds.api:ec2:${jclouds.version}</bundleDef> <bundleDef>org.apache.jclouds.api:openstack-nova:${jclouds.version}</bundleDef> <bundleDef>org.apache.stratos:openstack-neutron:${jclouds.stratos.version}</bundleDef> <bundleDef>org.apache.stratos:vcloud:${jclouds.stratos.version}</bundleDef> <bundleDef>org.apache.stratos:gce:${jclouds.stratos.version}</bundleDef> - <bundleDef>org.apache.stratos:aws-ec2:${jclouds.stratos.version}</bundleDef> + <bundleDef>org.apache.stratos:aws-ec2:${jclouds.stratos.version}</bundleDef> <bundleDef>org.apache.commons:commons-compress:1.5</bundleDef> <bundleDef>com.jamesmurty.utils.wso2:java-xmlbuilder:0.4.wso2v1</bundleDef> <bundleDef>org.apache.jclouds.common:openstack-common:${jclouds.version}</bundleDef> <bundleDef>org.apache.jclouds.api:openstack-keystone:${jclouds.version}</bundleDef> <bundleDef>com.google.guava:guava:17.0</bundleDef> - <bundleDef>org.apache.jclouds.api:cloudstack:${jclouds.version}</bundleDef> - - - <bundleDef> - org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch-agentproxy-jsch:0.0.7_1 - </bundleDef> + <bundleDef>org.apache.jclouds.api:cloudstack:${jclouds.version}</bundleDef> + <bundleDef>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch-agentproxy-jsch:0.0.7_1</bundleDef> <bundleDef>com.jcraft:jsch.agentproxy.connector-factory:0.0.7</bundleDef> <bundleDef>com.jcraft:jsch.agentproxy.sshagent:0.0.7</bundleDef> <bundleDef>com.jcraft:jsch.agentproxy.usocket-nc:0.0.7</bundleDef> <bundleDef>com.jcraft:jsch.agentproxy.core:0.0.7</bundleDef> <bundleDef>net.java.dev.jna:jna:4.1.0</bundleDef> - <bundleDef> - org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch-agentproxy-sshj:0.0.7_1 - </bundleDef> + <bundleDef>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch-agentproxy-sshj:0.0.7_1</bundleDef> <bundleDef>net.schmizz:sshj:0.9.0</bundleDef> - <bundleDef>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jzlib:1.1.1_1 - </bundleDef> - + <bundleDef>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jzlib:1.1.1_1</bundleDef> <bundleDef>com.google.code.gson:gson:${gson2.version}</bundleDef> <bundleDef>com.google.guice.wso2:guice:${google.guice.wso2.version}</bundleDef> - <bundleDef> - com.google.guice.assistedinject.wso2:guice-assistedinject:${com.google.guice.assistedinject.wso2.version} - </bundleDef> + <bundleDef>com.google.guice.assistedinject.wso2:guice-assistedinject:${com.google.guice.assistedinject.wso2.version}</bundleDef> <bundleDef>com.sun.jersey:jersey-core:${sun.jersey.version}</bundleDef> <bundleDef>org.apache.jclouds:jclouds-scriptbuilder:${jclouds.version}</bundleDef> <bundleDef>org.99soft.guice.wso2:rocoto:6.1.wso2v1</bundleDef> @@ -351,8 +346,7 @@ <bundleDef>org.slf4j:slf4j-api:1.7.0</bundleDef> <bundleDef>org.slf4j:slf4j-log4j12:1.7.0</bundleDef> <bundleDef>org.apache.jclouds.driver:jclouds-slf4j:${jclouds.version}</bundleDef> - <bundleDef>com.google.common.wso2:google-collect:${google.collect.osgi.version} - </bundleDef> + <bundleDef>com.google.common.wso2:google-collect:${google.collect.osgi.version}</bundleDef> <bundleDef>jdom.wso2:jdom:1.0.0.wso2v1</bundleDef> <bundleDef>org.json.wso2:json:1.0.0.wso2v1</bundleDef> <bundleDef>org.apache.httpcomponents.wso2:httpcore:4.3.0.wso2v1</bundleDef> @@ -360,8 +354,7 @@ <!--bundleDef>org.jaggeryjs:0.9.0.ALPHA2-wso2v2</bundleDef--> <bundleDef>org.apache.jclouds.api:sts:${jclouds.version}</bundleDef> <bundleDef>javax.ws.rs:jsr311-api:1.1.1</bundleDef> - <bundleDef>org.apache.stratos:org.apache.stratos.messaging:${project.version} - </bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.messaging:${project.version}</bundleDef> </bundles> <importBundles> </importBundles> @@ -372,24 +365,6 @@ </execution> </executions> </plugin> - <!--plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>clean resources</id> - <phase>install</phase> - <configuration> - <tasks> - <delete dir="src" /> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin--> </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/cloud-controller/org.apache.stratos.cloud.controller.feature/src/main/resources/conf/cloud-controller.xml ---------------------------------------------------------------------- diff --git a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/src/main/resources/conf/cloud-controller.xml b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/src/main/resources/conf/cloud-controller.xml index 9e715d2..66f9b61 100644 --- a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/src/main/resources/conf/cloud-controller.xml +++ b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/src/main/resources/conf/cloud-controller.xml @@ -75,6 +75,7 @@ <provider>mock</provider> <identity svns:secretAlias="cloud.controller.mock.identity">identity</identity> <credential svns:secretAlias="cloud.controller.mock.credential">credential</credential> + <property name="api.endpoint" value="https://localhost:9443/mock-iaas-api" /> </iaasProvider> </iaasProviders> </cloudController> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/cloud-controller/pom.xml ---------------------------------------------------------------------- diff --git a/features/cloud-controller/pom.xml b/features/cloud-controller/pom.xml index 9b918fa..edffb91 100644 --- a/features/cloud-controller/pom.xml +++ b/features/cloud-controller/pom.xml @@ -28,14 +28,13 @@ </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>cloud-controller-feature</artifactId> + <artifactId>cloud-controller-features</artifactId> + <name>Apache Stratos - Cloud Controller Features</name> <packaging>pom</packaging> - <name>Apache Stratos - Cloud Controller Feature Aggregator Module</name> <url>http://apache.org</url> <modules> <module>org.apache.stratos.cloud.controller.feature</module> </modules> - </project> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.feature/pom.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.feature/pom.xml b/features/common/org.apache.stratos.common.feature/pom.xml new file mode 100644 index 0000000..851dfa1 --- /dev/null +++ b/features/common/org.apache.stratos.common.feature/pom.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.apache.stratos</groupId> + <artifactId>common-features</artifactId> + <version>4.1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>org.apache.stratos.common.feature</artifactId> + <packaging>pom</packaging> + <name>Apache Stratos - Common Composite Feature</name> + <url>http://apache.org</url> + <description>This feature contains the bundles required for Common feature</description> + + <dependencies> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.common.server.feature</artifactId> + <version>${project.version}</version> + <type>zip</type> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.common.ui.feature</artifactId> + <version>${project.version}</version> + <type>zip</type> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.wso2.maven</groupId> + <artifactId>carbon-p2-plugin</artifactId> + <version>${carbon.p2.plugin.version}</version> + <executions> + <execution> + <id>p2-feature-generation</id> + <phase>package</phase> + <goals> + <goal>p2-feature-gen</goal> + </goals> + <configuration> + <id>org.apache.stratos.common</id> + <propertiesFile>../../../../etc/feature.properties</propertiesFile> + <includedFeatures> + <includedFeatureDef>org.apache.stratos:org.apache.stratos.common.server.feature:${project.version}</includedFeatureDef> + <includedFeatureDef>org.apache.stratos:org.apache.stratos.common.ui.feature:${project.version}</includedFeatureDef> + </includedFeatures> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/pom.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/pom.xml b/features/common/org.apache.stratos.common.server.feature/pom.xml new file mode 100644 index 0000000..52322fc --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/pom.xml @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.apache.stratos</groupId> + <artifactId>common-features</artifactId> + <version>4.1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>org.apache.stratos.common.server.feature</artifactId> + <packaging>pom</packaging> + <name>Apache Stratos - Common Server Feature</name> + <url>http://apache.org</url> + <description>This feature contains the core bundles required for Back-end servlet functionality</description> + + <dependencies> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.common</artifactId> + <version>${project.version}</version> + </dependency> + <!--dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.landing.page.deployer</artifactId> + <version>${project.version}</version> + </dependency--> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.activation</artifactId> + <version>${project.version}</version> + </dependency> + <!--<dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.sample.installer</artifactId> + <version>${stratos.version}</version> + </dependency>--> + <!--<dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.tenant.activity</artifactId> + </dependency>--> + <!-- + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.tenant.dispatcher</artifactId> + <version>${project.version}</version> + </dependency> + --> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.redirector.servlet</artifactId> + <version>2.2.1</version> + </dependency> + <!--<dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.throttling.agent</artifactId> + </dependency>--> + <!--dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.throttling.agent.stub</artifactId> + <version>${project.version}</version> + </dependency--> + <!--<dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.usage.agent</artifactId> + <version>2.1.0</version> + </dependency>--> + <dependency> + <groupId>org.quartz-scheduler.wso2</groupId> + <artifactId>quartz</artifactId> + <version>2.1.1.wso2v1</version> + </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.task</artifactId> + <version>${wso2carbon.version}</version> + </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.application.upload</artifactId> + <version>${wso2carbon.version}</version> + </dependency> + <dependency> + <groupId>org.apache.synapse</groupId> + <artifactId>synapse-tasks</artifactId> + <version>${synapse.patch.version.212-wso2v2}</version> + </dependency> + + <!-- Tenant Mgmt --> + <dependency> + <groupId>org.json.wso2</groupId> + <artifactId>json</artifactId> + <version>${json.patch.version.200-wso2v1}</version> + </dependency> + + + <dependency> + <groupId>kaptcha.wso2</groupId> + <artifactId>kaptcha</artifactId> + <version>${kaptcha.patch.version.230-wso2v1}</version> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>org.apache.stratos.keystore.mgt</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.captcha.mgt</artifactId> + <version>${wso2carbon.version}</version> + </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.theme.mgt</artifactId> + <version>2.2.0</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources</id> + <phase>generate-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>src/main/resources</outputDirectory> + <resources> + <resource> + <directory>resources</directory> + <includes> + <include>conf/cloud-services-desc.xml</include> + <include>conf/multitenancy-packages.xml</include> + <include>conf/identity.xml</include> + <include>conf/tenant-mgt.xml</include> + <include>conf/stratos.xml</include> + <include>conf/usage-throttling-agent-config.xml</include> + <include>p2.inf</include> + <include>build.properties</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.wso2.maven</groupId> + <artifactId>carbon-p2-plugin</artifactId> + <version>${carbon.p2.plugin.version}</version> + <executions> + <execution> + <id>p2-feature-generation</id> + <phase>package</phase> + <goals> + <goal>p2-feature-gen</goal> + </goals> + <configuration> + <id>org.apache.stratos.common.server</id> + <propertiesFile>../../../../etc/feature.properties</propertiesFile> + <adviceFile> + <properties> + <propertyDef>org.wso2.carbon.p2.category.type:server + </propertyDef> + <propertyDef>org.eclipse.equinox.p2.type.group:false + </propertyDef> + </properties> + </adviceFile> + <bundles> + <bundleDef>org.apache.stratos:org.apache.stratos.common:${project.version}</bundleDef> + <bundleDef>org.wso2.carbon:org.wso2.carbon.redirector.servlet:2.2.1</bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.activation:${project.version}</bundleDef> + <!--<bundleDef>org.wso2.carbon:org.wso2.carbon.sample.installer:${stratos.version}</bundleDef>--> + <!-- + <bundleDef>org.apache.stratos:org.apache.stratos.tenant.dispatcher</bundleDef> + --> + <!--<bundleDef>org.wso2.carbon:org.wso2.carbon.throttling.agent</bundleDef>--> + <!--<bundleDef>org.wso2.carbon:org.wso2.carbon.throttling.agent.stub</bundleDef>--> + <!--<bundleDef>org.wso2.carbon:org.wso2.carbon.usage.agent</bundleDef>--> + <!-- bundleDef>org.wso2.carbon:org.wso2.carbon.stratos.landing.page.deployer</bundleDef --> + <bundleDef>org.quartz-scheduler.wso2:quartz</bundleDef> + <!--<bundleDef>org.wso2.carbon:org.wso2.carbon.tenant.activity</bundleDef>--> + <bundleDef>org.wso2.carbon:org.wso2.carbon.task</bundleDef> + <bundleDef>org.apache.synapse:synapse-tasks</bundleDef> + + + <!-- Tenant Mgmt --> + <bundleDef>org.json.wso2:json</bundleDef> + <bundleDef>kaptcha.wso2:kaptcha</bundleDef> + <bundleDef>org.apache.stratos:org.apache.stratos.keystore.mgt</bundleDef> + <bundleDef>org.wso2.carbon:org.wso2.carbon.captcha.mgt</bundleDef> + <bundleDef>org.wso2.carbon:org.wso2.carbon.theme.mgt:2.2.0</bundleDef> + <!-- End Tenant Mgmt --> + </bundles> + <importBundles> + <importBundleDef>org.wso2.carbon:org.wso2.carbon.application.upload</importBundleDef> + </importBundles> + <importFeatures> + <importFeatureDef>org.wso2.carbon.core.server:${wso2carbon.version}</importFeatureDef> + <importFeatureDef> + org.wso2.carbon.identity.authenticator.saml2.sso.server:${wso2carbon.version} + </importFeatureDef> + </importFeatures> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <properties> + <synapse.patch.version.212-wso2v2>2.1.1-wso2v5</synapse.patch.version.212-wso2v2> + <json.patch.version.200-wso2v1>2.0.0.wso2v1</json.patch.version.200-wso2v1> + <kaptcha.patch.version.230-wso2v1>2.3.0.wso2v1</kaptcha.patch.version.230-wso2v1> + </properties> + +</project> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/build.properties ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/build.properties b/features/common/org.apache.stratos.common.server.feature/resources/build.properties new file mode 100644 index 0000000..7602c01 --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/build.properties @@ -0,0 +1,23 @@ +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. +# +# + +custom = true +root.stratos=conf http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/cloud-services-desc.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/cloud-services-desc.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/cloud-services-desc.xml new file mode 100644 index 0000000..fc71948 --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/cloud-services-desc.xml @@ -0,0 +1,198 @@ +<?xml version='1.0'?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF 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 has the configurations for the cloud services. + Label, link, icon, description, and the other similar information for each of the services are + given here. + --> +<cloudServices xmlns="http://wso2.com/carbon/cloud/mgt/services"> + <cloudService name="Apache Stratos Controller" default="true"> + <key>SCC</key> + <label>Apache Stratos Controller</label> + <link>https://scc.cloud.wso2.com</link> + <!--icon> + https://localhost:9443/cloud-services-icons/esb.gif + </icon--> + <productPageURL>http://wso2.com/cloud/stratos</productPageURL> + <description>WSO2 stratos controller.</description> + </cloudService> + <cloudService name="WSO2 Cloud Controller" default="true"> + <key>CC</key> + <label>WSO2 Cloud Controller</label> + <link>https://cc.cloud.wso2.com</link> + <!--icon> + https://localhost:9443/cloud-services-icons/esb.gif + </icon--> + <productPageURL>http://wso2.com/cloud/stratos</productPageURL> + <description>WSO2 Cloud Controller.</description> + </cloudService> + <cloudService name="Apache Stratos Agent" default="true"> + <key>Agent</key> + <label>Apache Stratos Agent</label> + <link>https://cc.cloud.wso2.com</link> + <!--icon> + https://localhost:9443/cloud-services-icons/esb.gif + </icon--> + <productPageURL>http://wso2.com/cloud/stratos</productPageURL> + <description>Apache Stratos Agent.</description> + </cloudService> + <cloudService name="WSO2 Enterprise Service Bus" default="true"> + <key>ESB</key> + <label>Enterprise Service Bus</label> + <link>https://esb.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/esb.gif + </icon> + <productPageURL>http://wso2.com/products/enterprise-service-bus/</productPageURL> + <description>Enterprise Service Bus in the cloud.</description> + </cloudService> + <cloudService name="Application Server" default="true"> + <key>AS</key> + <label>Application Server</label> + <link>https://appserver.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/appserver.gif + </icon> + <productPageURL>http://wso2.com/products/application-server/</productPageURL> + <description>Application Server in the cloud.</description> + </cloudService> + <cloudService name="WSO2 Data Services Server" default="true"> + <key>DSS</key> + <label>WSO2 Data Services Server</label> + <link>https://dss.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/ds.gif + </icon> + <productPageURL>http://wso2.com/products/data-services-server/</productPageURL> + <description>Data Services Server in the cloud.</description> + </cloudService> + <cloudService name="WSO2 Governance Registry" default="true"> + <key>Greg</key> + <label>Governance</label> + <link>https://governance.cloud.wso2.com</link> + <description>Governance in the cloud.</description> + <icon> + https://localhost:9443/cloud-services-icons/governance.gif + </icon> + <productPageURL>http://wso2.com/products/governance-registry/</productPageURL> + </cloudService> + <cloudService name="WSO2 Identity Server" default="true"> + <key>IS</key> + <label>WSO2 Identity Server</label> + <link>https://identity.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/identity.gif + </icon> + <description>Identity in the cloud.</description> + <productPageURL>http://wso2.com/products/identity-server/</productPageURL> + </cloudService> + <cloudService name="WSO2 Business Activity Monitor" default="true"> + <label>Business Activity Monitor</label> + <link>https://bam.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/bam.gif + </icon> + <description>Business Activity Monitor in the cloud.</description> + <productPageURL>http://wso2.com/products/business-activity-monitor/</productPageURL> + </cloudService> + <cloudService name="WSO2 Business Process Server" default="true"> + <key>BPS</key> + <label>Business Process Server</label> + <link>https://bps.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/bps.gif + </icon> + <description>Business Process Server in the cloud.</description> + <productPageURL>http://wso2.com/products/business-process-server/</productPageURL> + </cloudService> + <cloudService name="WSO2 Business Rule Server" default="true"> + <key>BRS</key> + <label>Business Rule Server</label> + <link>https://brs.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/brs.gif + </icon> + <description>Business Rules Server in the cloud.</description> + <productPageURL>http://wso2.com/products/business-rules-server/</productPageURL> + </cloudService> + <cloudService name="WSO2 Mashup Server" default="true"> + <key>MB</key> + <label>Mashup Server</label> + <link>https://mashup.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/mashup.gif + </icon> + <description>Mashup Server in the cloud.</description> + <productPageURL>http://wso2.com/products/mashup-server/</productPageURL> + </cloudService> + <cloudService name="WSO2 Gadget Server" default="true"> + <key>GS</key> + <label>Gadget Server</label> + <link>https://gadget.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/gadget.gif + </icon> + <description>Gadgets in the cloud.</description> + <productPageURL>http://wso2.com/products/gadget-server/</productPageURL> + </cloudService> + <cloudService name="Cloud Gateway" default="true"> + <key>CG</key> + <label>Cloud Gateway</label> + <link>https://cg.stratoslive.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/csg.gif + </icon> + <description>Cloud Gateway in the cloud.</description> + <productPageURL>http://wso2.com/products/cloud-services-gateway/</productPageURL> <!-- FIXME, put the correct project home --> + </cloudService> + <cloudService name="WSO2 Complex Event Processor" default="true"> + <key>CEP</key> + <label>Complex Event Processor</label> + <link>https://cep.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/cep.gif + </icon> + <productPageURL>http://wso2.com/products/complex-event-processing-server/</productPageURL> <!-- FIXME, put the correct project home --> + <description>Complex Event Processor in the cloud.</description> + </cloudService> + <cloudService name="WSO2 Message Broker" default="true"> + <key>MB</key> + <label>Message Broker</label> + <link>https://mb.cloud.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/mb.gif + </icon> + <productPageURL>http://wso2.com/products/message-broker/</productPageURL> + <description>Message Broker in the cloud.</description> + </cloudService> + <cloudService name="WSO2 Storage Server" default="true"> + <key>SS</key> + <label>WSO2 Storage Server</label> + <link>https://ss.stratoslive.wso2.com</link> + <icon> + https://localhost:9443/cloud-services-icons/ss.gif + </icon> + <description>WSO2 Storage Server.</description> + <productPageURL>http://wso2.com/products/storage-server/</productPageURL> + </cloudService> +</cloudServices> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/identity.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/identity.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/identity.xml new file mode 100644 index 0000000..b48fd6f --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/identity.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<Server xmlns="http://wso2.org/projects/carbon/carbon.xml"> + + <JDBCPersistenceManager> + <DataSource> + <!-- Include a data source name (jndiConfigName) from the set of data + sources defined in master-datasources.xml --> + <Name>jdbc/WSO2CarbonDB</Name> + </DataSource> + <!-- If the identity database is created from another place and if it is + required to skip schema initialization during the server start up, set the + following property to "true". --> + <!-- <SkipDBSchemaCreation>false</SkipDBSchemaCreation> --> + </JDBCPersistenceManager> + + <!-- Security configurations --> + <Security> + <UserTrustedRPStore> + <Location>${carbon.home}/repository/resources/security/userRP.jks + </Location> + <!-- Keystore type (JKS/PKCS12 etc.) --> + <Type>JKS</Type> + <!-- Keystore password --> + <Password>wso2carbon</Password> + <!-- Private Key password --> + <KeyPassword>wso2carbon</KeyPassword> + </UserTrustedRPStore> + + <!-- The directory under which all other KeyStore files will be stored --> + <KeyStoresDir>${carbon.home}/conf/keystores</KeyStoresDir> + </Security> + + <Identity> + <IssuerPolicy>SelfAndManaged</IssuerPolicy> + <TokenValidationPolicy>CertValidate</TokenValidationPolicy> + <BlackList></BlackList> + <WhiteList></WhiteList> + <System> + <KeyStore></KeyStore> + <StorePass></StorePass> + </System> + </Identity> + + <OpenID> + <OpenIDServerUrl>https://localhost:9443/openidserver</OpenIDServerUrl> + <OpenIDUserPattern>https://localhost:9443/openid/</OpenIDUserPattern> + <!-- If the users must be prompted for approval --> + <OpenIDSkipUserConsent>false</OpenIDSkipUserConsent> + <!-- Expiry time of the OpenID RememberMe token in minutes --> + <OpenIDRememberMeExpiry>7200</OpenIDRememberMeExpiry> + <!-- Multifactor Authentication configuration --> + <UseMultifactorAuthentication>false</UseMultifactorAuthentication> + <!-- To enable or disable openid dumb mode --> + <DisableOpenIDDumbMode>false</DisableOpenIDDumbMode> + </OpenID> + + <OAuth> + <RequestTokenUrl>https://localhost:9443/oauth/request-token + </RequestTokenUrl> + <AccessTokenUrl>https://localhost:9443/oauth/access-token + </AccessTokenUrl> + <AuthorizeUrl>https://localhost:9443/oauth/authorize-url + </AuthorizeUrl> + <!-- Default validity period for Authorization Code in seconds --> + <AuthorizationCodeDefaultValidityPeriod>300 + </AuthorizationCodeDefaultValidityPeriod> + <!-- Default validity period for Access Token in seconds --> + <AccessTokenDefaultValidityPeriod>3600 + </AccessTokenDefaultValidityPeriod> + <!-- Timestamp skew in seconds --> + <TimestampSkew>300</TimestampSkew> + <!-- Enable OAuth caching. This cache has the replication support. --> + <EnableOAuthCache>true</EnableOAuthCache> + <!-- Configure the security measures needs to be done prior to store the + token in the database, such as hashing, encrypting, etc. --> + <TokenPersistencePreprocessor>org.wso2.carbon.identity.oauth.preprocessor.PlainTextTokenPersistencePreprocessor + </TokenPersistencePreprocessor> + <!-- Supported Response Types --> + <SupportedResponseTypes>token,code</SupportedResponseTypes> + <!-- Supported Grant Types --> + <SupportedGrantTypes>authorization_code,password,refresh_token,client_credentials + </SupportedGrantTypes> + <OAuthCallbackHandlers> + <OAuthCallbackHandler + Class="org.wso2.carbon.identity.oauth.callback.DefaultCallbackHandler" /> + </OAuthCallbackHandlers> + <!-- Assertions can be used to embedd parameters into access token. --> + <EnableAssertions> + <UserName>false</UserName> + </EnableAssertions> + + <!-- This should be set to true when using multiple user stores and keys + should saved into different tables according to the user store. By default + all the application keys are saved in to the same table. UserName Assertion + should be 'true' to use this. --> + <EnableAccessTokenPartitioning>false</EnableAccessTokenPartitioning> + <!-- user store domain names and mapping to new table name. eg: if you + provide 'A:foo.com', foo.com should be the user store domain name and 'A' + represent the relavant mapping of token store table, i.e. tokens will be + added to a table called IDN_OAUTH2_ACCESS_TOKEN_A. --> + <AccessTokenPartitioningDomains><!-- A:foo.com, B:bar.com --> + </AccessTokenPartitioningDomains> + <AuthorizationContextTokenGeneration> + <Enabled>true</Enabled> + <TokenGeneratorImplClass>org.wso2.carbon.identity.oauth2.token.JWTTokenGenerator</TokenGeneratorImplClass> + <ClaimsRetrieverImplClass>org.wso2.carbon.identity.oauth2.token.DefaultClaimsRetriever</ClaimsRetrieverImplClass> + <ConsumerDialectURI>http://wso2.org/claims</ConsumerDialectURI> + <SignatureAlgorithm>SHA256withRSA</SignatureAlgorithm> + <AuthorizationContextTTL>15</AuthorizationContextTTL> + </AuthorizationContextTokenGeneration> + </OAuth> + + <MultifactorAuthentication> + <XMPPSettings> + <XMPPConfig> + <XMPPProvider>gtalk</XMPPProvider> + <XMPPServer>talk.google.com</XMPPServer> + <XMPPPort>5222</XMPPPort> + <XMPPExt>gmail.com</XMPPExt> + <XMPPUserName>[email protected]</XMPPUserName> + <XMPPPassword>wso2carbon</XMPPPassword> + </XMPPConfig> + </XMPPSettings> + </MultifactorAuthentication> + + <SSOService> + <IdentityProviderURL>https://localhost:9443/samlsso + </IdentityProviderURL> + <SingleLogoutRetryCount>5</SingleLogoutRetryCount> + <SingleLogoutRetryInterval>60000</SingleLogoutRetryInterval> <!-- in milli seconds --> + <TenantPartitioningEnabled>false</TenantPartitioningEnabled> + </SSOService> + + <EntitlementSettings> + <!-- Uncomment this to enable on-demand policy loading --> + <!--OnDemandPolicyLoading> <Enable>true</Enable> <MaxInMemoryPolicies>100</MaxInMemoryPolicies> + </OnDemandPolicyLoading --> + <DecisionCaching> + <Enable>true</Enable> + <CachingInterval>36000</CachingInterval> + </DecisionCaching> + <AttributeCaching> + <Enable>true</Enable> + </AttributeCaching> + <ThirftBasedEntitlementConfig> + <EnableThriftService>true</EnableThriftService> + <ReceivePort>${Ports.ThriftEntitlementReceivePort}</ReceivePort> + <ClientTimeout>10000</ClientTimeout> + <KeyStore> + <Location>${carbon.home}/repository/resources/security/wso2carbon.jks + </Location> + <Password>wso2carbon</Password> + </KeyStore> + </ThirftBasedEntitlementConfig> + </EntitlementSettings> +</Server> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/multitenancy-packages.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/multitenancy-packages.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/multitenancy-packages.xml new file mode 100644 index 0000000..c5cfa02 --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/multitenancy-packages.xml @@ -0,0 +1,100 @@ +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<!-- + Subscription types and the respective limits of parameters for each of the packages. + --> + +<packages xmlns="http://wso2.com/carbon/multitenancy/billing/pacakges"> + <package name="Demo"> + <subscriptionCharge>0</subscriptionCharge> <!-- $ per month --> + <users> + <limit>1</limit> + <charge>0</charge> <!-- charge per month --> + </users> + <resourceVolume> + <limit>20</limit> <!--mb per tenant --> + <overuseCharge>0</overuseCharge> + </resourceVolume> + <bandwidth> + <limit>50</limit> <!-- mb per tenant --> + <overuseCharge>0</overuseCharge> <!-- $ per mb --> + </bandwidth> + <cartridge> + <hourLimit>5</hourLimit> + <overUsageCharge>0.1</overUsageCharge> + </cartridge> + </package> + <package name="SMB"> + <subscriptionCharge>100</subscriptionCharge> <!-- $ per month --> + <users> + <limit>unlimited</limit> + <charge>0</charge> <!-- charge per month --> + </users> + <resourceVolume> + <limit>50</limit> <!--mb per tenant --> + <overuseCharge>0</overuseCharge> + </resourceVolume> + <bandwidth> + <limit>150</limit> <!-- mb per tenant --> + <overuseCharge>0</overuseCharge> <!-- $ per mb --> + </bandwidth> + <cartridge> + <hourLimit>24</hourLimit> + <overUsageCharge>0.1</overUsageCharge> + </cartridge> + </package> + <package name="Professional"> + <subscriptionCharge>500</subscriptionCharge> <!-- $ per month --> + <users> + <limit>unlimited</limit> + <charge>0</charge> <!-- charge per month --> + </users> + <resourceVolume> + <limit>500</limit> <!--mb per tenant --> + <overuseCharge>0</overuseCharge> + </resourceVolume> + <bandwidth> + <limit>1536</limit> <!-- mb per tenant --> + <overuseCharge>0.03</overuseCharge> <!-- $ per mb --> + </bandwidth> + <cartridge> + <hourLimit>500</hourLimit> + <overUsageCharge>0.1</overUsageCharge> + </cartridge> + </package> + <package name="Enterprise"> + <subscriptionCharge>2000</subscriptionCharge> <!-- $ per month --> + <users> + <limit>unlimited</limit> + <charge>0</charge> <!-- charge per month --> + </users> + <resourceVolume> + <limit>5120</limit> <!--mb per tenant --> + <overuseCharge>0</overuseCharge> + </resourceVolume> + <bandwidth> + <limit>15360</limit> <!-- mb per tenant --> + <overuseCharge>0.02</overuseCharge> <!-- $ per mb --> + </bandwidth> + <cartridge> + <hourLimit>1000</hourLimit> + <overUsageCharge>0.1</overUsageCharge> + </cartridge> + </package> +</packages> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/stratos.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/stratos.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/stratos.xml new file mode 100644 index 0000000..296a28f --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/stratos.xml @@ -0,0 +1,83 @@ +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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 is the configuration file for Stratos specific constants. +--> + +<stratosConfig xmlns="http://wso2.com/cloud/stratos"> + + <!--DisableTenantManagementEmails is set to true by default. + No Tenant Management mails will be sent, and the tenants will be + activated as they are created.--> + <DisableTenantManagementEmails>true</DisableTenantManagementEmails> + + <!--Set the email validation mandatory if you want to have the tenants + verify the registration before letting them logging in. This will be + overridden by DisableTenantManagementEmails, if that is set to true.--> + <EmailValidationMandatoryForLogin>false</EmailValidationMandatoryForLogin> + + <!--Moderate the tenant activation by sending the activation mail to the + AdminEmail address given below, instead of the tenant email address + Default is false - Tenant Registration Not moderated. This will be + overridden by DisableTenantManagementEmails, if that is set to true.--> + <TenantActivationModerated>false</TenantActivationModerated> + + <!--Super Admin Email Address to moderate the tenant registrations--> + <SuperAdminEmail>super-admin-email</SuperAdminEmail> + + <!-- + <UsagePlanUrl>http://wso2.com/cloud/stratoslive/pricing</UsagePlanUrl> + --> + + <!--this parameter is used to disable usage summary generator for registry content--> + <SkipSummaryGenerator>false</SkipSummaryGenerator> + + <!--Following email address is for general notifications such as + tenant creation, bill generation etc..--> + <NotificationEmail>notification-email</NotificationEmail> + + <!--Following email address can be used for finance related notifications + such as when payments received --> + <FinanceNotificationEmail>finance-notification-email</FinanceNotificationEmail> + + <!--this parameter is used to disable charging at the registration time--> + <ChargeOnRegistration>false</ChargeOnRegistration> + + <!--A few Stratos Public Cloud Specific customizations are handled by this parameter--> + <StratosPublicCloudSetup>true</StratosPublicCloudSetup> + + <!--The URL of the Paypal--> + <PaypalUrl>Paypal URL</PaypalUrl> + + <PaypalAPIUsername>username</PaypalAPIUsername> + <PaypalAPIPassword>password</PaypalAPIPassword> + <PaypalAPISignature>signature</PaypalAPISignature> + <PaypalEnvironment>live</PaypalEnvironment> + + <!--Manager Configurations--> + <managerServiceUrl>https://cloud-test.wso2.com/services/</managerServiceUrl> + <adminUserName>admin</adminUserName> + <adminPassword>admin</adminPassword> + + <!--The google-analytics URL--> + <GoogleAnalyticsURL>http://google-analytics.js</GoogleAnalyticsURL> + + <!--Loading message shown during SSO. For example, "Loading StratosLive" --> + <SSOLoadingMessage>Loading...</SSOLoadingMessage> +</stratosConfig> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/tenant-mgt.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/tenant-mgt.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/tenant-mgt.xml new file mode 100644 index 0000000..6ca710e --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/tenant-mgt.xml @@ -0,0 +1,38 @@ +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<TenantManager class="org.wso2.carbon.user.core.tenant.JDBCTenantManager"> +</TenantManager> +<!--If the product is using LDAP user store in MT mode, use following tenant manager.--> +<!--TenantManager class="org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager"> + <Property name="RootPartition">dc=wso2,dc=com</Property> + <Property name="OrganizationalObjectClass">organizationalUnit</Property> + <Property name="OrganizationalAttribute">ou</Property> + <Property name="OrganizationalSubContextObjectClass">organizationalUnit</Property> + <Property name="OrganizationalSubContextAttribute">ou</Property> +</TenantManager--> +<!--Following tenant manager is used by Identity Server (IS) as its default tenant manager. + IS will do token replacement when building the product. Therefore do not change the syntax.--> +<!--ISTenantManager class="org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager"> + <Property name="RootPartition">dc=wso2,dc=org</Property> + <Property name="OrganizationalObjectClass">organizationalUnit</Property> + <Property name="OrganizationalAttribute">ou</Property> + <Property name="OrganizationalSubContextObjectClass">organizationalUnit</Property> + <Property name="OrganizationalSubContextAttribute">ou</Property> +</ISTenantManager--> + http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/conf/usage-throttling-agent-config.xml ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/conf/usage-throttling-agent-config.xml b/features/common/org.apache.stratos.common.server.feature/resources/conf/usage-throttling-agent-config.xml new file mode 100644 index 0000000..9f40b86 --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/conf/usage-throttling-agent-config.xml @@ -0,0 +1,49 @@ +<!-- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF 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. + --> +<UsageAndThrottlingAgentConfiguration xmlns="http://wso2.com/carbon/multitenancy/usage-throttling-agent/config"> + <UsageAgent> + <UsageDataPersistenceTask> + <StartupDelayInMilliSeconds>60000</StartupDelayInMilliSeconds> + <NumberOfRecordsPerExecution>100</NumberOfRecordsPerExecution> + <ExecutionIntervalInMilliSeconds>-1</ExecutionIntervalInMilliSeconds> + </UsageDataPersistenceTask> + </UsageAgent> + <ThrottlingAgent> + <ThrottlingInfoCacheUpdaterTask> + <StartupDelayInSeconds></StartupDelayInSeconds> + <ExecutionIntervalInSeconds></ExecutionIntervalInSeconds> + </ThrottlingInfoCacheUpdaterTask> + </ThrottlingAgent> + <ThrottlingManagerTask> + <tasks> + <task> + <parameters> + <parameter name="interval">10</parameter> <!-- minutes = If This set to negative(-) value then throttling manager excecution will disable --> + <parameter name="delay">60</parameter> <!--minutes --> + </parameters> + <dataProviders> + <dataProvider class="org.wso2.carbon.throttling.manager.dataproviders.BillingDataProvider"> + </dataProvider> + <dataProvider class="org.wso2.carbon.throttling.manager.dataproviders.UsageDataProvider"> + </dataProvider> + </dataProviders> + </task> + </tasks> + </ThrottlingManagerTask> +</UsageAndThrottlingAgentConfiguration> http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/resources/p2.inf ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/resources/p2.inf b/features/common/org.apache.stratos.common.server.feature/resources/p2.inf new file mode 100644 index 0000000..329e2ee --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/resources/p2.inf @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. + +instructions.configure = \ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/cloud-services-desc.xml,target:${installFolder}/../conf/multitenancy/cloud-services-desc.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/stratos.xml,target:${installFolder}/../conf/multitenancy/stratos.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/identity.xml,target:${installFolder}/../conf/identity.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/tenant-mgt.xml,target:${installFolder}/../conf/multitenancy/tenant-mgt.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/multitenancy-packages.xml,target:${installFolder}/../conf/multitenancy/multitenancy-packages.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.apache.stratos.common.server_${feature.version}/conf/usage-throttling-agent-config.xml,target:${installFolder}/../conf/multitenancy/usage-throttling-agent-config.xml,overwrite:true);\ + http://git-wip-us.apache.org/repos/asf/stratos/blob/e16acd17/features/common/org.apache.stratos.common.server.feature/src/main/resources/build.properties ---------------------------------------------------------------------- diff --git a/features/common/org.apache.stratos.common.server.feature/src/main/resources/build.properties b/features/common/org.apache.stratos.common.server.feature/src/main/resources/build.properties new file mode 100644 index 0000000..7602c01 --- /dev/null +++ b/features/common/org.apache.stratos.common.server.feature/src/main/resources/build.properties @@ -0,0 +1,23 @@ +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. +# +# + +custom = true +root.stratos=conf
