Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jean-Paul Smets
slapos
Commits
c1f72c31
Commit
c1f72c31
authored
Nov 09, 2012
by
Cédric de Saint Martin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'slaprunner'
Conflicts: component/slapos/buildout.cfg
parents
4bc6ef67
06c730ab
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
173 additions
and
74 deletions
+173
-74
component/cloud9/buildout.cfg
component/cloud9/buildout.cfg
+14
-7
component/cloud9/cloud9-session-directory.patch
component/cloud9/cloud9-session-directory.patch
+22
-0
component/nodejs/buildout.cfg
component/nodejs/buildout.cfg
+2
-2
slapos/recipe/slaprunner/__init__.py
slapos/recipe/slaprunner/__init__.py
+4
-0
slapos/recipe/slaprunner/template/slapos.cfg.in
slapos/recipe/slaprunner/template/slapos.cfg.in
+2
-0
software/slaprunner/development.cfg
software/slaprunner/development.cfg
+61
-0
software/slaprunner/instance-runner.cfg
software/slaprunner/instance-runner.cfg
+45
-40
software/slaprunner/software.cfg
software/slaprunner/software.cfg
+23
-25
No files found.
component/cloud9/buildout.cfg
View file @
c1f72c31
...
...
@@ -16,7 +16,7 @@ parts =
[node-sm]
recipe = slapos.recipe.build:npm
packages = sm@0.2.
7
packages = sm@0.2.
11
node = nodejs
environment =
PATH=${nodejs:location}/bin:%(PATH)s
...
...
@@ -37,6 +37,13 @@ command = export GIT_SSL_NO_VERIFY=true; export HOME=${:location}; (${:git-binar
update-command =
executable = ${:location}/bin/cloud9.js
[cloud9-session-directory.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-session-directory.patch
download-only = true
md5sum = 5dc8cc28447ed3747b8a53c768d872aa
[cloud9-git]
# Online IDE written in javascript/node.js
# URL : c9.io
...
...
@@ -44,11 +51,11 @@ executable = ${:location}/bin/cloud9.js
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
recipe = plone.recipe.command
stop-on-error = true
commit =
c66284221143c175fc889418d499da6f37492a7c
commit =
6b0112363dd0f9523430808394a162d3cc699550
repository = https://github.com/ajaxorg/cloud9.git
location = ${buildout:parts-directory}/${:_buildout_section_name_}
environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location};
command = ${:environment} (git clone --quiet ${:repository} ${:location} && cd ${:location} && git reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1)
command = ${:environment} (git clone --quiet ${:repository} ${:location} && cd ${:location} && git reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install
&& patch -p1 < ${cloud9-session-directory.patch:location}/${cloud9-session-directory.patch:filename}
) || (rm -fr ${:location}; exit 1)
update-command =
executable = ${:location}/server.js
...
...
component/cloud9/cloud9-session-directory.patch
0 → 100644
View file @
c1f72c31
diff --git a/configs/default.js b/configs/default.js
index 6d1c85f..be35b37 100644
--- a/configs/default.js
+++ b/configs/default.js
@@ -22,6 +22,8 @@
var vfsUrl = "/vfs";
var port = argv.p || process.env.PORT || 3131;
var host = argv.l || process.env.IP || "localhost";
+var home = process.env['HOME']
+
var config = [
{
packagePath: "connect-architect/connect",
@@ -167,7 +169,7 @@
var config = [
},
{
packagePath: "connect-architect/connect.session.file",
- sessionsPath: __dirname + "/../.sessions"
+ sessionsPath: home + "/.sessions"
},
"./cloud9.permissions",
{
\ No newline at end of file
component/nodejs/buildout.cfg
View file @
c1f72c31
...
...
@@ -14,8 +14,8 @@ parts =
[nodejs-0.8]
# Server-side Javascript.
recipe = hexagonit.recipe.cmmi
url = http://nodejs.org/dist/v0.8.
8/node-v0.8.8
.tar.gz
md5sum =
f4dae84e96a94b768404c14633bccd49
url = http://nodejs.org/dist/v0.8.
14/node-v0.8.14
.tar.gz
md5sum =
284fd2c7578064c339d9cf6a3a475ac7
configure-options =
--openssl-includes=${openssl:location}/include
--openssl-libpath=${openssl:location}/lib
...
...
slapos/recipe/slaprunner/__init__.py
View file @
c1f72c31
...
...
@@ -60,6 +60,8 @@ class Recipe(GenericBaseRecipe):
'supervisord.conf'
),
runner_workdir
=
self
.
workdir
,
etc_dir
=
self
.
options
[
'etc_dir'
],
run_dir
=
self
.
options
[
'run_dir'
],
log_dir
=
self
.
options
[
'log_dir'
],
runner_host
=
self
.
ipv6
,
runner_port
=
self
.
runner_port
,
ipv4_address
=
self
.
ipv4
,
...
...
@@ -128,6 +130,8 @@ class Test(GenericBaseRecipe):
'supervisord.conf'
),
runner_workdir
=
self
.
workdir
,
etc_dir
=
self
.
options
[
'etc_dir'
],
run_dir
=
self
.
options
[
'etc_dir'
],
log_dir
=
self
.
workdir
,
runner_host
=
self
.
ipv6
,
runner_port
=
self
.
runner_port
,
ipv4_address
=
self
.
ipv4
,
...
...
slapos/recipe/slaprunner/template/slapos.cfg.in
View file @
c1f72c31
...
...
@@ -20,6 +20,8 @@ runner_port = %(runner_port)s
ipv4_address = %(ipv4_address)s
ipv6_address = %(ipv6_address)s
etc_dir = %(etc_dir)s
run_dir = %(run_dir)s
log_dir = %(log_dir)s
[slapproxy]
host = %(proxy_host)s
...
...
software/slaprunner/development.cfg
0 → 100644
View file @
c1f72c31
# Development profile of slaprunner.
# Exactly the same as software.cfg, but fetch the slapos.cookbook and
# slapos.toolbox from git repository instead of fetching stable version,
# allowing to play with bleeding edge environment.
# You'll need to run buildout twice for this profile.
[buildout]
extends = software.cfg
parts =
# Original parts
template
slapos-cookbook
eggs
# Development parts
slapos.cookbook-repository
slapos.core-repository
slapos.toolbox-repository
check-recipe
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.core-repository
${:parts-directory}/slapos.toolbox-repository
[slapos.toolbox-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.toolbox.git
branch = slaprunner
git-executable = ${git:location}/bin/git
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.git
branch = slaprunner
git-executable = ${git:location}/bin/git
[slapos.core-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.core.git
branch = master
git-executable = ${git:location}/bin/git
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command =
grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link
# Unpin versions, in case it has been pinned in software.cfg
[versions]
slapos.cookbook =
slapos.toolbox =
slapos.core =
\ No newline at end of file
software/slaprunner/instance-runner.cfg
View file @
c1f72c31
...
...
@@ -11,6 +11,7 @@ parts =
slaprunner-frontend-promise
cloud9-promise
dropbear-promise
symlinks
eggs-directory = ${buildout:eggs-directory}
...
...
@@ -19,43 +20,39 @@ offline = true
# Create all needed directories
[
root
directory]
[directory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/
[directory]
recipe = slapos.cookbook:mkdirectory
sshkeys = $${rootdirectory:srv}/sshkeys
services = $${rootdirectory:etc}/run/
ssh = $${rootdirectory:etc}/ssh/
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
services = $${rootdirectory:etc}/run/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
test = $${rootdirectory:etc}/test/
sshkeys = $${:srv}/sshkeys
services = $${:etc}/service/
scripts = $${:etc}/run/
ssh = $${:etc}/ssh/
log = $${:var}/log/
run = $${:var}/run/
backup = $${:srv}/backup/
promises = $${:etc}/promise/
test = $${:etc}/test/
[runnerdirectory]
recipe = slapos.cookbook:mkdirectory
home = $${
root
directory:srv}/runner/
test = $${
root
directory:srv}/test/
home = $${directory:srv}/runner/
test = $${directory:srv}/test/
project = $${:home}/project
software-root = $${:home}/software
instance-root = $${:home}/instance
project-test = $${:test}/project
software-test = $${:test}/software
instance-test = $${:test}/instance
sessions = $${buildout:directory}/.sessions
#Create password recovery code for slaprunner
[recovery-code]
recipe = slapos.cookbook:generate.password
storage-path = $${
root
directory:etc}/.rcode
storage-path = $${directory:etc}/.rcode
bytes = 4
# Deploy cloud9 and slaprunner
...
...
@@ -63,7 +60,7 @@ bytes = 4
recipe = slapos.cookbook:cloud9
ip = $${slap-network-information:global-ipv6}
port = 30000
wrapper = $${
base
directory:services}/cloud9
wrapper = $${directory:services}/cloud9
working-directory = $${runnerdirectory:home}
git-binary = ${git:location}/bin/git
node-binary = ${nodejs:location}/bin/node
...
...
@@ -77,13 +74,14 @@ slapgrid_cp = ${buildout:directory}/bin/slapgrid-cp
slapproxy = ${buildout:directory}/bin/slapproxy
supervisor = ${buildout:directory}/bin/slapgrid-supervisorctl
git-binary = ${git:location}/bin/git
slapos.cfg = $${
root
directory:etc}/slapos.cfg
slapos.cfg = $${directory:etc}/slapos.cfg
working-directory = $${runnerdirectory:home}
project-directory = $${runnerdirectory:project}
software-directory = $${runnerdirectory:software-root}
instance-directory = $${runnerdirectory:instance-root}
etc_dir = $${rootdirectory:etc}
log_dir = $${basedirectory:log}
etc_dir = $${directory:etc}
log_dir = $${directory:log}
run_dir = $${directory:run}
ssh_client = $${sshkeys-dropbear:wrapper}
public_key = $${sshkeys-dropbear:public-key}
private_key = $${sshkeys-dropbear:private-key}
...
...
@@ -93,32 +91,34 @@ proxy_port = 50000
runner_port = 50000
partition-amount = $${slap-parameter:instance-amount}
cloud9-url = $${cloud9:access-url}
wrapper = $${basedirectory:services}/slaprunner
debug = False
# Deploy dropbear (minimalist ssh server)
[sshkeys-directory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:sshkeys}/requests/
keys = $${directory:sshkeys}/keys/
wrapper = $${directory:services}/slaprunner
debug = $${slap-parameter:debug}
[test-runner]
<= slaprunner
recipe = slapos.cookbook:slaprunner.test
slaprunnertest = ${buildout:directory}/bin/slaprunnertest
slapos.cfg = $${
root
directory:etc}/slapos-test.cfg
slapos.cfg = $${directory:etc}/slapos-test.cfg
working-directory = $${runnerdirectory:test}
project-directory = $${runnerdirectory:project-test}
software-directory = $${runnerdirectory:software-test}
instance-directory = $${runnerdirectory:instance-test}
wrapper = $${rootdirectory:bin}/runTestSuite
etc_dir = $${basedirectory:test}
proxy_port = 8602
wrapper = $${directory:bin}/runTestSuite
etc_dir = $${directory:test}
# Deploy dropbear (minimalist SSH server)
[sshkeys-directory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:sshkeys}/requests/
keys = $${directory:sshkeys}/keys/
[sshkeys-authority]
recipe = slapos.cookbook:sshkeys_authority
request-directory = $${sshkeys-directory:requests}
keys-directory = $${sshkeys-directory:keys}
wrapper = $${
base
directory:services}/sshkeys_authority
wrapper = $${directory:services}/sshkeys_authority
keygen-binary = ${dropbear:location}/bin/dropbearkey
[dropbear-server]
...
...
@@ -126,7 +126,7 @@ recipe = slapos.cookbook:dropbear
host = $${slap-network-information:global-ipv6}
port = 2222
home = $${directory:ssh}
wrapper = $${
root
directory:bin}/raw_sshd
wrapper = $${directory:bin}/raw_sshd
shell = /bin/bash
rsa-keyfile = $${directory:ssh}/server_key.rsa
dropbear-binary = ${dropbear:location}/sbin/dropbear
...
...
@@ -139,7 +139,7 @@ type = rsa
executable = $${dropbear-server:wrapper}
public-key = $${dropbear-server:rsa-keyfile}.pub
private-key = $${dropbear-server:rsa-keyfile}
wrapper = $${
base
directory:services}/sshd
wrapper = $${directory:services}/sshd
[dropbear-server-add-authorized-key]
<= dropbear-server
...
...
@@ -173,33 +173,38 @@ password_recovery_code = $${recovery-code:passwd}
# Deploy promises scripts
[slaprunner-promise]
recipe = slapos.cookbook:check_port_listening
path = $${
base
directory:promises}/slaprunner
path = $${directory:promises}/slaprunner
hostname = $${slaprunner:ipv6}
port = $${slaprunner:runner_port}
[slaprunner-frontend-promise]
recipe = slapos.cookbook:check_url_available
path = $${
base
directory:promises}/slaprunner_frontend
path = $${directory:promises}/slaprunner_frontend
url = $${request-frontend:connection-site_url}
dash_path = ${dash:location}/bin/dash
curl_path = ${curl:location}/bin/curl
[cloud9-promise]
recipe = slapos.cookbook:check_url_available
path = $${
base
directory:promises}/cloud9
path = $${directory:promises}/cloud9
url = http://$${cloud9:ip}:$${cloud9:port}
dash_path = ${dash:location}/bin/dash
curl_path = ${curl:location}/bin/curl
[dropbear-promise]
recipe = slapos.cookbook:check_port_listening
path = $${
base
directory:promises}/dropbear
path = $${directory:promises}/dropbear
hostname = $${dropbear-server:host}
port = $${dropbear-server:port}
[symlinks]
recipe = cns.recipe.symlink
symlink_target = $${directory:bin}
symlink_base = ${buildout:directory}/bin
[slap-parameter]
# Default value if no ssh key is specified
authorized-key =
# Default value of instances number in slaprunner
instance-amount = 10
debug = false
software/slaprunner/software.cfg
View file @
c1f72c31
...
...
@@ -25,7 +25,7 @@ md5sum = 5307e4200f044ae57b504ad68444491c
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-runner.cfg
output = ${buildout:directory}/template-runner.cfg
md5sum =
bd1c73c149b4adf2fbab80bc29c782c8
md5sum =
91d6550c43b7a43a999724af4650ae40
mode = 0644
[eggs]
...
...
@@ -34,6 +34,7 @@ eggs =
slapos.libnetworkcache
slapos.toolbox[flask_auth]
slapos.core
cns.recipe.symlink
[networkcache]
# signature certificates of the following uploaders.
...
...
@@ -58,18 +59,20 @@ signature-certificate-list =
# Pypi
lxml = 2.3.6
Flask-Auth = 0.8
[versions]
Flask-Auth = 0.85
Jinja2 = 2.6
Werkzeug = 0.8.3
apache-libcloud = 0.11.3
async = 0.6.1
buildout-versions = 1.7
cns.recipe.symlink = 0.2.3
gitdb = 0.5.4
hexagonit.recipe.cmmi = 1.6
meld3 = 0.6.9
plone.recipe.command = 1.1
pycrypto = 2.6
slapos.cookbook = 0.
68.1
slapos.cookbook = 0.
70
slapos.libnetworkcache = 0.13.2
slapos.recipe.build = 0.11.5
slapos.recipe.template = 2.4.2
...
...
@@ -78,7 +81,7 @@ smmap = 0.8.2
z3c.recipe.scripts = 1.0.1
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
# slapos.toolbox==0.31.1
Flask = 0.9
...
...
@@ -86,10 +89,6 @@ Flask = 0.9
# slapos.toolbox==0.31.1
GitPython = 0.3.2.RC1
# Required by:
# slapos.cookbook==0.68
PyXML = 0.8.4
# Required by:
# slapos.toolbox==0.31.1
atomize = 0.1.1
...
...
@@ -103,56 +102,55 @@ feedparser = 5.1.2
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
inotifyx = 0.2.0
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
netaddr = 0.7.10
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
netifaces = 0.8
# Required by:
# slapos.toolbox==0.31.1
paramiko = 1.
7.7.2
paramiko = 1.
9.0
# Required by:
# slapos.toolbox==0.31.1
psutil = 0.6.1
# Required by:
# slapos.cookbook==0.
68
pytz = 2012
f
# slapos.cookbook==0.
70
pytz = 2012
h
# Required by:
# slapos.cookbook==0.68
# slapos.core==0.31.2
# cns.recipe.symlink==0.2.3
# slapos.cookbook==0.70
# slapos.core==0.33.1
# slapos.libnetworkcache==0.13.2
# slapos.toolbox==0.31.1
# supervisor==3.0b1
# zc.buildout==1.6.0-dev-SlapOS-007
# zc.buildout==1.6.0-dev-SlapOS-010
# zc.recipe.egg==1.3.2
# zope.interface==4.0.1
setuptools = 0.6c12dev-r88846
# Required by:
# slapos.cookbook==0.
68
slapos.core = 0.3
1.2
# slapos.cookbook==0.
70
slapos.core = 0.3
3.1
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
supervisor = 3.0b1
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
xml-marshaller = 0.9.7
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
zc.recipe.egg = 1.3.2
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
zope.interface = 4.0.1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment