GoogleCloudPlatform/SourceXCloud

Name: SourceXCloud

Owner: Google Cloud Platform

Description: An experimental tool and framework for automatically exporting from any source directory to any cloud provider.

Created: 2015-03-30 16:31:52.0

Updated: 2018-01-22 18:45:50.0

Pushed: 2015-03-30 16:36:56.0

Homepage: null

Size: 122

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

SourceXCloud - a Framework for deploying from any Source to any Cloud Target

SourceXCloud is an experimental pluggable framework for deploying directly from any source environment to any target cloud environment. This is alpha-quality code, expect difficulties.

This code is provided as a demonstration of a concept, not as production-ready code. We will accept patches, and it may receive development attention if enough people find it useful, but in general: use it at your own risk.

Using the Framework

The SourceXCloud (“sxc” for short) libraries and tools let you:

The modules that do source recognition and IR generation are called “aggergators.” The modules that deploy from IR to target platforms are called “actuators.” These are installed in the “extensions” subdirectory and consist of binary hook files and data files.

Example of pushing a source directory

$ cd myDjangoDir
$ sxc push . gaemvm
copying files
generating dockerfile
adding install hook: u'/usr/bin/python /app/manage.py syncdb'
generating app.yaml
gcloud: 10:28 AM Host: appengine.google.com
gcloud: Updating module [default] from file [/tmp/tmp2jNkIH/app.yaml]
gcloud: {bucket: vm-containers.organic-lacing-568.appspot.com, path: /containers}
gcloud:
...

There are currently two supported aggregators (django and node.js) and two supported actuators (Google App Engine Managed VMs and Digital Ocean VMs).

For more extensive documentation, see the source code.

License and Disclaimers

Copyright 2015 Google Inc.

Licensed under the Apache License, version 2.0

Contributions are welcome. Please, see the CONTRIBUTING document for details.

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

This is experimental code. The interfaces in this package, both the library API and hook protocols, are subject to change without notice.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.