Merge "[Plone] Application added"
This commit is contained in:
commit
94bd8938a0
|
@ -0,0 +1,68 @@
|
|||
# Plone uses GPL version 2 as its license. As of summer 2009, there are
|
||||
# no active plans to upgrade to GPL version 3.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.gnu.org
|
||||
#
|
||||
|
||||
Namespaces:
|
||||
=: org.openstack.apps.plone
|
||||
std: io.murano
|
||||
res: io.murano.resources
|
||||
sys: io.murano.system
|
||||
|
||||
Name: PloneServer
|
||||
|
||||
Extends: std:Application
|
||||
|
||||
Properties:
|
||||
instance:
|
||||
Contract: $.class(res:Instance).notNull()
|
||||
pathname:
|
||||
Contract: $.string()
|
||||
password:
|
||||
Contract: $.string()
|
||||
port:
|
||||
Contract: $.string()
|
||||
|
||||
Methods:
|
||||
.init:
|
||||
Body:
|
||||
- $._environment: $.find(std:Environment).require()
|
||||
|
||||
deploy:
|
||||
Body:
|
||||
- If: not $.getAttr(deployed, false)
|
||||
Then:
|
||||
- $._environment.reporter.report($this, 'Creating VM for Plone Server.')
|
||||
- $securityGroupIngress:
|
||||
- ToPort: 80
|
||||
FromPort: 80
|
||||
IpProtocol: tcp
|
||||
External: true
|
||||
- ToPort: 443
|
||||
FromPort: 443
|
||||
IpProtocol: tcp
|
||||
External: true
|
||||
- ToPort: $.port
|
||||
FromPort: $.port
|
||||
IpProtocol: tcp
|
||||
External: true
|
||||
- $._environment.securityGroupManager.addGroupIngress($securityGroupIngress)
|
||||
- $.instance.deploy()
|
||||
- $resources: new(sys:Resources)
|
||||
- $template: $resources.yaml('DeployPloneServer.template').bind(dict(
|
||||
pathname => $.pathname,
|
||||
password => $.password,
|
||||
port => $.port
|
||||
))
|
||||
- $._environment.reporter.report($this, 'Instance is created. Deploying Plone')
|
||||
- $.instance.agent.call($template, $resources)
|
||||
- $._environment.reporter.report($this, 'Plone Server is installed.')
|
||||
- If: $.instance.assignFloatingIp
|
||||
Then:
|
||||
- $host: $.instance.floatingIpAddress
|
||||
Else:
|
||||
- $host: $.instance.ipAddresses.first()
|
||||
- $._environment.reporter.report($this, format('Plone Server is available at http://{0}:{1}', $host, $.port))
|
||||
- $.setAttr(deployed, true)
|
|
@ -0,0 +1,28 @@
|
|||
# Plone uses GPL version 2 as its license. As of summer 2009, there are
|
||||
# no active plans to upgrade to GPL version 3.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.gnu.org
|
||||
#
|
||||
|
||||
FormatVersion: 2.0.0
|
||||
Version: 1.0.0
|
||||
Name: Deploy Plone
|
||||
|
||||
Parameters:
|
||||
pathname: $pathname
|
||||
password: $password
|
||||
port: $port
|
||||
|
||||
Body: |
|
||||
return ploneDeploy('{0} {1} {2}'.format(args.pathname, args.password, args.port)).stdout
|
||||
|
||||
Scripts:
|
||||
ploneDeploy:
|
||||
Type: Application
|
||||
Version: 1.0.0
|
||||
EntryPoint: runPloneDeploy.sh
|
||||
Files: []
|
||||
Options:
|
||||
captureStdout: true
|
||||
captureStderr: true
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Plone uses GPL version 2 as its license. As of summer 2009, there are
|
||||
# no active plans to upgrade to GPL version 3.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.gnu.org
|
||||
#
|
||||
|
||||
PL_PATH="$1"
|
||||
PL_PASS="$2"
|
||||
PL_PORT="$3"
|
||||
|
||||
# Write log. Redirect stdout & stderr into log file:
|
||||
exec &> /var/log/runPloneDeploy.log
|
||||
|
||||
# echo "Installing all packages."
|
||||
sudo apt-get update
|
||||
|
||||
# Install the operating system software and libraries needed to run Plone:
|
||||
sudo apt-get -y install python-setuptools python-dev build-essential libssl-dev libxml2-dev libxslt1-dev libbz2-dev libjpeg62-dev
|
||||
|
||||
# Install optional system packages for the handling of PDF and Office files. Can be omitted:
|
||||
sudo apt-get -y install libreadline-dev wv poppler-utils
|
||||
|
||||
# Download the latest Plone unified installer:
|
||||
wget --no-check-certificate https://launchpad.net/plone/5.0/5.0.4/+download/Plone-5.0.4-UnifiedInstaller.tgz
|
||||
|
||||
# Unzip the latest Plone unified installer:
|
||||
tar -xvf Plone-5.0.4-UnifiedInstaller.tgz
|
||||
cd Plone-5.0.4-UnifiedInstaller
|
||||
|
||||
# Set the port that Plone will listen to on available network interfaces. Editing "http-address" param in buildout.cfg file:
|
||||
sed -i "s/^http-address = [0-9]*$/http-address = ${PL_PORT}/" buildout_templates/buildout.cfg
|
||||
|
||||
# Run the Plone installer in standalone mode
|
||||
./install.sh --password="${PL_PASS}" --target="${PL_PATH}" standalone
|
||||
|
||||
# Start Plone
|
||||
cd "${PL_PATH}/zinstance"
|
||||
bin/plonectl start
|
|
@ -0,0 +1,130 @@
|
|||
# Plone uses GPL version 2 as its license. As of summer 2009, there are
|
||||
# no active plans to upgrade to GPL version 3.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.gnu.org
|
||||
#
|
||||
|
||||
Version: 2.3
|
||||
|
||||
Application:
|
||||
?:
|
||||
type: org.openstack.apps.plone.PloneServer
|
||||
pathname: $.appConfiguration.pathname
|
||||
password: $.appConfiguration.password
|
||||
port: $.appConfiguration.port
|
||||
|
||||
instance:
|
||||
?:
|
||||
type: io.murano.resources.LinuxMuranoInstance
|
||||
name: generateHostname($.instanceConfiguration.unitNamingPattern, 1)
|
||||
flavor: $.instanceConfiguration.flavor
|
||||
image: $.instanceConfiguration.osImage
|
||||
keyname: $.instanceConfiguration.keyPair
|
||||
availabilityZone: $.instanceConfiguration.availabilityZone
|
||||
assignFloatingIp: $.appConfiguration.assignFloatingIP
|
||||
Forms:
|
||||
- appConfiguration:
|
||||
fields:
|
||||
- name: license
|
||||
type: string
|
||||
description: GPL License, Version 2
|
||||
hidden: true
|
||||
required: false
|
||||
- name: pathname
|
||||
type: string
|
||||
label: Installation pathname
|
||||
required: false
|
||||
initial: '/opt/plone/'
|
||||
description: >-
|
||||
Use to specify the top-level path for installation.
|
||||
- name: password
|
||||
type: string
|
||||
label: Admin password
|
||||
required: false
|
||||
initial: 'admin'
|
||||
description: >-
|
||||
Enter administrative password for Plone.
|
||||
- name: port
|
||||
type: string
|
||||
label: Port
|
||||
required: false
|
||||
initial: '8080'
|
||||
description: >-
|
||||
Specify the port that Plone will listen to
|
||||
on available network interfaces.
|
||||
- name: assignFloatingIP
|
||||
type: boolean
|
||||
label: Assign Floating IP
|
||||
description: >-
|
||||
Select to true to assign floating IP automatically.
|
||||
initial: false
|
||||
required: false
|
||||
- name: dcInstances
|
||||
type: integer
|
||||
hidden: true
|
||||
initial: 1
|
||||
- instanceConfiguration:
|
||||
fields:
|
||||
- name: title
|
||||
type: string
|
||||
required: false
|
||||
hidden: true
|
||||
description: Specify some instance parameters on which the application would be created
|
||||
- name: flavor
|
||||
type: flavor
|
||||
label: Instance flavor
|
||||
description: >-
|
||||
Select registered in Openstack flavor. Consider that
|
||||
application performance depends on this parameter
|
||||
requirements:
|
||||
min_vcpus: 1
|
||||
min_memory_mb: 256
|
||||
required: false
|
||||
- name: minrequirements
|
||||
type: string
|
||||
label: Minumum requirements
|
||||
description: |
|
||||
- Minimum 256 MB RAM and 512 MB of swap space per Plone site
|
||||
- Minimum 512 MB hard disk space
|
||||
hidden: true
|
||||
required: false
|
||||
- name: recrequirements
|
||||
type: string
|
||||
label: Recommended
|
||||
description: |
|
||||
- 2 GB or more RAM per Plone site
|
||||
- 40 GB or more hard disk space
|
||||
hidden: true
|
||||
required: false
|
||||
- name: osImage
|
||||
type: image
|
||||
imageType: linux
|
||||
label: Instance image
|
||||
description: >-
|
||||
Select a valid image for the application. The image
|
||||
should already be prepared and registered in Glance
|
||||
- name: keyPair
|
||||
type: keypair
|
||||
label: Key Pair
|
||||
description: >-
|
||||
Select the Key Pair to control access to instances. You can login to
|
||||
instances using this KeyPair after the deployment of application.
|
||||
required: false
|
||||
- name: availabilityZone
|
||||
type: azone
|
||||
label: Availability zone
|
||||
description: Select availability zone where the application would be installed.
|
||||
required: false
|
||||
- name: unitNamingPattern
|
||||
type: string
|
||||
label: Instance Naming Pattern
|
||||
required: false
|
||||
maxLength: 64
|
||||
regexpValidator: '^[a-zA-z][-_\w]*$'
|
||||
errorMessages:
|
||||
invalid: Just letters, numbers, underscores and hyphens are allowed.
|
||||
helpText: Just letters, numbers, underscores and hyphens are allowed.
|
||||
description: >-
|
||||
Specify a string, that will be used in instance hostname.
|
||||
Just A-Z, a-z, 0-9, dash and underline are allowed.
|
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
|
@ -0,0 +1,22 @@
|
|||
# Plone uses GPL version 2 as its license. As of summer 2009, there are
|
||||
# no active plans to upgrade to GPL version 3.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.gnu.org
|
||||
#
|
||||
|
||||
Format: 1.3
|
||||
Type: Application
|
||||
FullName: org.openstack.apps.plone.PloneServer
|
||||
Name: Plone CMS
|
||||
Description: |
|
||||
The Ultimate Open Source Enterprise CMS.
|
||||
The Plone CMS is one of the most secure
|
||||
website systems available. This installer
|
||||
lets you deploy Plone in standalone mode.
|
||||
Requires Ubuntu 14.04 image with
|
||||
preinstalled murano-agent.
|
||||
Author: 'Evgeniy Mashkin'
|
||||
Tags: [CMS, WCM]
|
||||
Classes:
|
||||
org.openstack.apps.plone.PloneServer: PloneServer.yaml
|
Loading…
Reference in New Issue