mecano
Version:
Common functions for system deployment.
225 lines (220 loc) • 6.42 kB
JavaScript
// Generated by CoffeeScript 1.11.1
var context, registry;
module.exports = new Proxy((function() {
return context.apply(null, arguments);
}), {
get: function(target, name) {
var builder, ctx, proxy, tree;
ctx = context();
tree = [];
tree.push(name);
builder = function() {
var a;
if (name === 'get' || name === 'register' || name === 'registered' || name === 'unregister') {
return registry[name].apply(registry, arguments);
}
a = ctx[tree.shift()];
if (typeof a !== 'function') {
return a;
}
while (name = tree.shift()) {
a[name];
}
return a.apply(ctx, arguments);
};
proxy = new Proxy(builder, {
get: function(target, name) {
tree.push(name);
return proxy;
}
});
return proxy;
}
});
context = require('./context');
registry = require('./registry');
registry.register({
assert: 'mecano/core/assert',
backup: 'mecano/core/backup',
cache: 'mecano/core/cache',
cgroups: 'mecano/core/cgroups',
chmod: 'mecano/core/chmod',
chown: 'mecano/core/chown',
compress: 'mecano/core/compress',
copy: 'mecano/core/copy',
execute: 'mecano/core/execute',
extract: 'mecano/core/extract',
git: 'mecano/core/git',
group: 'mecano/core/group',
iptables: 'mecano/core/iptables',
link: 'mecano/core/link',
mkdir: 'mecano/core/mkdir',
move: 'mecano/core/move',
remove: 'mecano/core/remove',
render: 'mecano/core/render',
touch: 'mecano/core/touch',
user: 'mecano/core/user',
cron: {
add: 'mecano/cron/add',
remove: 'mecano/cron/remove'
},
db: {
database: {
'': 'mecano/db/database',
exists: 'mecano/db/database/exists',
remove: 'mecano/db/database/remove',
wait: 'mecano/db/database/wait'
},
schema: {
'': 'mecano/db/schema',
remove: 'mecano/db/schema/remove'
},
user: {
'': 'mecano/db/user',
exists: 'mecano/db/user/exists',
remove: 'mecano/db/user/remove'
}
},
docker: {
build: 'mecano/docker/build',
checksum: 'mecano/docker/checksum',
compose: {
'': 'mecano/docker/compose',
up: 'mecano/docker/compose'
},
cp: 'mecano/docker/cp',
exec: 'mecano/docker/exec',
kill: 'mecano/docker/kill',
load: 'mecano/docker/load',
pause: 'mecano/docker/pause',
pull: 'mecano/docker/pull',
restart: 'mecano/docker/restart',
rm: 'mecano/docker/rm',
rmi: 'mecano/docker/rmi',
run: 'mecano/docker/run',
save: 'mecano/docker/save',
service: 'mecano/docker/service',
start: 'mecano/docker/start',
status: 'mecano/docker/status',
stop: 'mecano/docker/stop',
unpause: 'mecano/docker/unpause',
volume_create: 'mecano/docker/volume_create',
volume_rm: 'mecano/docker/volume_rm',
wait: 'mecano/docker/wait'
},
file: {
'': 'mecano/file',
assert: 'mecano/file/assert',
download: 'mecano/file/download',
ini: 'mecano/file/ini',
json: 'mecano/file/json',
properties: 'mecano/file/properties',
upload: 'mecano/file/upload',
yaml: 'mecano/file/yaml'
},
java: {
keystore_add: 'mecano/java/keystore_add',
keystore_remove: 'mecano/java/keystore_remove'
},
krb5: {
addprinc: 'mecano/krb5/addprinc',
delprinc: 'mecano/krb5/delprinc',
ktadd: 'mecano/krb5/ktadd',
ticket: 'mecano/krb5/ticket'
},
ldap: {
acl: 'mecano/ldap/acl',
add: 'mecano/ldap/add',
"delete": 'mecano/ldap/delete',
index: 'mecano/ldap/index',
schema: 'mecano/ldap/schema',
user: 'mecano/ldap/user'
},
log: {
cli: 'mecano/log/cli',
fs: 'mecano/log/fs',
md: 'mecano/log/md',
csv: 'mecano/log/csv'
},
connection: {
assert: 'mecano/connection/assert',
wait: {
'': 'mecano/connection/wait'
}
},
service: {
'': 'mecano/service',
install: 'mecano/service/install',
init: 'mecano/service/init',
remove: 'mecano/service/remove',
restart: 'mecano/service/restart',
start: 'mecano/service/start',
startup: 'mecano/service/startup',
status: 'mecano/service/status',
stop: 'mecano/service/stop'
},
system: {
limits: 'mecano/system/limits',
tmpfs: 'mecano/system/tmpfs'
},
ssh: {
'open': 'mecano/ssh/open',
'close': 'mecano/ssh/close',
'root': 'mecano/ssh/root'
},
wait: {
'': 'mecano/wait/time',
execute: 'mecano/wait/execute',
exist: 'mecano/wait/exist'
},
system_limits: 'mecano/system/limits',
cron_add: 'mecano/cron/add',
cron_remove: 'mecano/cron/remove',
docker_build: 'mecano/docker/build',
docker_checksum: 'mecano/docker/checksum',
docker_cp: 'mecano/docker/cp',
docker_exec: 'mecano/docker/exec',
docker_kill: 'mecano/docker/kill',
docker_load: 'mecano/docker/load',
docker_pause: 'mecano/docker/pause',
docker_restart: 'mecano/docker/restart',
docker_rm: 'mecano/docker/rm',
docker_rmi: 'mecano/docker/rmi',
docker_run: 'mecano/docker/run',
docker_save: 'mecano/docker/save',
docker_service: 'mecano/docker/service',
docker_start: 'mecano/docker/start',
docker_status: 'mecano/docker/status',
docker_stop: 'mecano/docker/stop',
docker_unpause: 'mecano/docker/unpause',
docker_volume_create: 'mecano/docker/volume_create',
docker_volume_rm: 'mecano/docker/volume_rm',
docker_wait: 'mecano/docker/wait',
download: 'mecano/file/download',
java_keystore_add: 'mecano/java/keystore_add',
java_keystore_remove: 'mecano/java/keystore_remove',
krb5_addprinc: 'mecano/krb5/addprinc',
krb5_delprinc: 'mecano/krb5/delprinc',
krb5_ktadd: 'mecano/krb5/ktadd',
ldap_acl: 'mecano/ldap/acl',
ldap_add: 'mecano/ldap/add',
ldap_delete: 'mecano/ldap/delete',
ldap_index: 'mecano/ldap/index',
ldap_schema: 'mecano/ldap/schema',
ldap_user: 'mecano/ldap/user',
service_install: 'mecano/service/install',
service_remove: 'mecano/service/remove',
service_restart: 'mecano/service/restart',
service_start: 'mecano/service/start',
service_startup: 'mecano/service/startup',
service_status: 'mecano/service/status',
service_stop: 'mecano/service/stop',
upload: 'mecano/file/upload',
wait_connect: 'mecano/connection/wait',
wait_execute: 'mecano/wait/execute',
wait_exist: 'mecano/wait/exist',
write: 'mecano/file',
write_ini: 'mecano/file/ini',
write_properties: 'mecano/file/properties',
write_yaml: 'mecano/file/yaml'
});