Giter VIP home page Giter VIP logo

cloudify-cli-packager's Introduction

Cloudify CLI Packager

This repository contains configuration files for PyInstaller, fpm, Vagrant and Inno Setup for creating stand-alone, self-contained, Cloudify command line (cfy) for multiple platforms (Windows, Linux, OS X).

At this point the package is pre-bundled with cloudify-openstack-provider, to allow bootstraping Openstack based environments.

How to use this

This project uses Vagrant as the executor to spin up virtual machine & run provision scripts remotely. Current configured provider is AWS, so this means you'll need AWS plugin installed as well with your vagrant.

Provision scripts are located under vagrant/<OS> folder, so its possible to run these scripts without vagrant by executing them directly.

Quick start:

  1. Set environment variables AWS_ACCESS_KEY and AWS_ACCESS_KEY_ID
  2. Clone this repository
  3. vagrant up <windows/linux32/linux64> --provider aws

Basic Flow

  1. Install Python and needed modules (PyInstaller, Virtualenv, Cloudify-CLI and dependencies)
  2. Install packaging tools and its dependencies (Ruby & fpm in case of linux, Inno Setup in Windows)
  3. Run PyInstaller to create binary
  4. Create package from PyInstaller's output
  5. (Optional) Run sanity tests on the package

Platform Specific Notes

Windows:

  • Using x86 Python
  • Microsoft Visual Studio C++ 2008 Express is needed to compile part of the modules
  • PyWin32 x86 is needed for PyInstaller as well
  • Virtualenv is not installed in Windows since it doesn't come with built-in Python
  • Ruby & fpm is replaced with Inno Setup to create executable installer
  • Everything is being done with 32bit Python to try keep computability for maximum

Linux:

  • 32bit and 64bit are being built separately
  • Ruby & fpm are installed for pain-free package creation
  • Output is .deb package. But will be extended for .rpm as well
  • Possbile issues on older distributions as explained in PyInstaller FAQ (Look under misc).

OS X:

  • OS X is 64bit since Core 2 Duo days
  • Currently NOT implemented

Vagrant

To run this you need Vagrant v1.6.3 with AWS plugin v0.5.0.

Windows AMI is private custom built image that will hopefully made public. The image comes with most of the software specified in Platform Specific Notes. Additionally it comes with preinstalled Cygwin with SSH service, Curl and Git.

Cygwin is a must for now, until Vagrant plugins will become mature enough to support Windows provisioning via WinRM support that was introduced in Vagrant 1.6.

cloudify-cli-packager's People

Contributors

barakm avatar idanmo avatar limor-gs avatar m1keil avatar nirbir avatar opencm avatar

Watchers

 avatar  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.