All Projects → gcmurphy → golang-openshift

gcmurphy / golang-openshift

Licence: other
Template for running Go programs on OpenShift

Programming Languages

shell
77523 projects
go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to golang-openshift

webdev-bootcamp
INACTIVE - http://mzl.la/ghe-archive - How to be a Web developer at Mozilla
Stars: ✭ 57 (-8.06%)
Mutual labels:  unmaintained
azure-sandbox
Temporary home for deploying services into Azure: reliably, repeatably, compliantly
Stars: ✭ 18 (-70.97%)
Mutual labels:  unmaintained
Prestan
PrestaShop Node.js API Library [UNMAINTAINED]
Stars: ✭ 21 (-66.13%)
Mutual labels:  unmaintained
crm114.rb
[Retired] Ruby interface to the CRM114 Controllable Regex Mutilator.
Stars: ✭ 29 (-53.23%)
Mutual labels:  unmaintained
log4net---ELMAH-Appender
This appender will allow log4net to be configured to send log messages to ELMAH directly. This way ELMAH can be the log manager of record for sites while still allowing specific logging parameters to be controlled with log4net as usual.
Stars: ✭ 15 (-75.81%)
Mutual labels:  unmaintained
pdf.js-bot
INACTIVE - http://mzl.la/ghe-archive - Cloud test scripts for the pdf.js project
Stars: ✭ 16 (-74.19%)
Mutual labels:  unmaintained
passion
An object-oriented LÖVE game engine
Stars: ✭ 35 (-43.55%)
Mutual labels:  unmaintained
2015-foia
Please check out https://github.com/18F/foia-hub/issues to track our work. This repo is for project wide discussion, blogging, and scratch space for 18F's FOIA modernization team.
Stars: ✭ 50 (-19.35%)
Mutual labels:  unmaintained
pymake
INACTIVE - http://mzl.la/ghe-archive - make implementation in Python
Stars: ✭ 79 (+27.42%)
Mutual labels:  unmaintained
busybox
DEPRECATED - Fork of git://android.git.linaro.org/platform/external/busybox.git
Stars: ✭ 40 (-35.48%)
Mutual labels:  unmaintained
JSComplexity.org
MOVED TO: escomplex/JSComplexity.org --
Stars: ✭ 21 (-66.13%)
Mutual labels:  unmaintained
dullard
*UNMAINTAINED* A lightweight, fast XLSX reader
Stars: ✭ 38 (-38.71%)
Mutual labels:  unmaintained
Campus-Program
INACTIVE - http://mzl.la/ghe-archive - Rocking out the campus campaign!
Stars: ✭ 21 (-66.13%)
Mutual labels:  unmaintained
b2g-installer
DEPRECATED - Tools to easily flash b2g on your android phone
Stars: ✭ 27 (-56.45%)
Mutual labels:  unmaintained
layerscope
INACTIVE - http://mzl.la/ghe-archive - LayerScope Viewer
Stars: ✭ 16 (-74.19%)
Mutual labels:  unmaintained
i2c-tools
DEPRECATED - git conversion of http://lm-sensors.org/svn/i2c-tools subversion repo.
Stars: ✭ 34 (-45.16%)
Mutual labels:  unmaintained
forum
A basic Django forum app with metaposts; uses redis for stats/tracking
Stars: ✭ 25 (-59.68%)
Mutual labels:  unmaintained
language-perl6fe
»ö« Atom Perl 6 Support - Forgotten Edition »ö«
Stars: ✭ 16 (-74.19%)
Mutual labels:  unmaintained
iris
DEPRECATED - A Python 3 automation test tool for desktop applications
Stars: ✭ 18 (-70.97%)
Mutual labels:  unmaintained
iris firefox
DEPRECATED - Test Suite for Firefox using Mozilla Iris
Stars: ✭ 41 (-33.87%)
Mutual labels:  unmaintained

How to Run Go on OpenShift

OpenShift is a great PaaS offering by Red Hat. At the moment Go is not currently on the supported platform list. However Red Hat have kindly provided a DIY cartridge to run whatever you want on the platform. As Go is one of my favourite languages I thought I'd put together a template that can be used to deploy a basic Go application.

  1. Create a OpenShift account. Go to http://openshift.redhat.com to create an account.

  2. Install the OpenShift client tools.

    cd /etc/yum.repos.d
    sudo wget https://openshift.redhat.com/app/repo/openshift.repo
    sudo yum install rhc

  3. Create a new domain

    rhc-create-domain --namespace your-namespace --rhlogin your-login

  4. Create a new application

    rhc-create-app --app your-appname --type diy-0.1 --rhlogin your-login

  5. Add this as an upstream repository

    git remote add upstream -m master git://github.com/gcmurphy/golang-openshift.git
    git pull -s recursive -X theirs upstream master

  6. Build the source and copy the output to your bin directory (updated for Go version 1)

    cd server
    go build
    mv server ../bin

  7. Push to your OpenShift repository

    git commit -a -m "My first go + openshift application"
    git push

  8. You are good to Go! You can read more about the OpenShift DIY cartridge here.

A note on cross compiling

This skeleton project depends on the fact that the OpenShift images that are deployed are running on Linux x86_64 virtual machines. However the OpenShift toolkit is available for both Windows and Mac OSX. In order to use this toolkit on these platforms the following additional steps need to be used to create a cross compiler for the non Linux development environments:

  1. Get the latest release of the Go source code.

    wget http://go.googlecode.com/files/go1.0.1.src.tar.gz

  2. Extract the source code and compile it, targeting the Linux platform and architecture

    tar xzvf go*.tar.gz
    cd go/src
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash

  3. If everything worked you should see:

    Installed Go for linux/amd64 in Your build directory
    Installed commands in Your build directory/bin

  4. Try to build the project now using the go compiler we just created

    cd golang-openshift/server
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ~/xcompile/go/bin/go build

The output file will run on a Linux AMD64 box but not locally which is a bit of an annoyance. The alternative would be to create a copy of the Go runtime on the Linux machine and compile the code remotely.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].