[Plone] Application added
Plone is The Ultimate Enterprise Open Source CMS. The Plone CMS is one of the most secure website systems available. This high security standard has garnered the attention of many security conscious organizations and government agencies including NASA and the FBI, who picked Plone for their Enterprise Web CMS solution. Change-Id: I8ef285bc1803e646246ba96aaab19f3b2eb1e2ff
This commit is contained in:
parent
5c0871a2b6
commit
1335a68ceb
|
@ -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