GithubHelp home page GithubHelp logo

isabella232 / sourcexcloud Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/sourcexcloud

0.0 0.0 0.0 122 KB

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

License: Apache License 2.0

Python 94.41% Shell 5.59%

sourcexcloud's Introduction

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:

  • Determine what kind of source directory you are using.
  • Construct an Intermediate Representation ("IR") of the deployable contents of that directory and its versioned dependencies.
  • Deploy a runtime based on the directory to one of a number of different cloud platforms.

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.

sourcexcloud's People

Contributors

mindhog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.