157bad1e6b
The package with Apache Http Server hosted at apps.openstack.org was modified at some point to include IP address reporting and list of dependent images. That change was never put into this repository. This patch synchronizes the state of the package. Change-Id: Ib44496bba5a081cc363becc84e898c24ad43f3a2
68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
# Licensed 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.
|
|
|
|
Namespaces:
|
|
=: io.murano.apps.apache
|
|
std: io.murano
|
|
res: io.murano.resources
|
|
sys: io.murano.system
|
|
|
|
|
|
Name: ApacheHttpServer
|
|
|
|
Extends: std:Application
|
|
|
|
Properties:
|
|
name:
|
|
Contract: $.string().notNull()
|
|
|
|
enablePHP:
|
|
Contract: $.bool()
|
|
Default: false
|
|
|
|
instance:
|
|
Contract: $.class(res:Instance).notNull()
|
|
|
|
Methods:
|
|
initialize:
|
|
Body:
|
|
- $._environment: $.find(std:Environment).require()
|
|
|
|
deploy:
|
|
Body:
|
|
- If: not $.getAttr(deployed, false)
|
|
Then:
|
|
- $._environment.reporter.report($this, 'Creating VM for Apache Server.')
|
|
- $securityGroupIngress:
|
|
- ToPort: 80
|
|
FromPort: 80
|
|
IpProtocol: tcp
|
|
External: true
|
|
- ToPort: 443
|
|
FromPort: 443
|
|
IpProtocol: tcp
|
|
External: true
|
|
- $._environment.securityGroupManager.addGroupIngress($securityGroupIngress)
|
|
- $.instance.deploy()
|
|
- $resources: new(sys:Resources)
|
|
- $template: $resources.yaml('DeployApache.template').bind(dict(enablePHP => $.enablePHP))
|
|
- $._environment.reporter.report($this, 'Instance is created. Deploying Apache')
|
|
- $.instance.agent.call($template, $resources)
|
|
- $._environment.reporter.report($this, 'Apache is installed.')
|
|
- If: $.instance.assignFloatingIp
|
|
Then:
|
|
- $host: $.instance.floatingIpAddress
|
|
Else:
|
|
- $host: $.instance.ipAddresses[0]
|
|
- $._environment.reporter.report($this, format('Apache is available at http://{0}', $host))
|
|
- $.setAttr(deployed, true)
|