sparklemotion

command module
v0.0.0-...-fecded5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2013 License: MIT Imports: 25 Imported by: 0

README ¶

✨ Sparkle Motion ✨

Sparkle Motion manages appcasts and application binaries in S3, making Sparkle updates a dance in the park.

Getting Started

Sparkle Motion is a tiny web application, so the easiest way to get started is to deploy to Heroku.

S3

If you don't have a S3 bucket set up yet, go do that now. While you're in the AWS console, get credentials for a new user in IAM that only has the permissions needed to access the S3 bucket:

{
  "Statement": [
    {
      "Action": [
        "s3:*"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET",
        "arn:aws:s3:::YOUR_BUCKET/*"
      ]
    }
  ]
}
Heroku

You will need a Heroku account and the Heroku Toolbelt installed to deploy.

git clone git://github.com/cupcake/sparklemotion.git
cd sparklemotion
heroku create -b https://github.com/kr/heroku-buildpack-go.git

Heroku will create an app and tell you the URL (eg. https://sparkle-motion-42.herokuapp.com).

GitHub

Sparkle Motion uses GitHub for authentication, so create a new app. Set the Main URL to the URL of your new Heroku app. The Callback URL should be https://APP_DOMAIN/auth/return where APP_DOMAIN is the domain of your Heroku app.

Configuration
heroku config:add \
  APP_NAME=<the name of your application (no spaces)> \
  AWS_ACCESS_KEY_ID=<from the IAM S3 user> \
  AWS_SECRET_ACCESS_KEY=<from the IAM S3 user> \
  S3_BUCKET=<the name of the S3 bucket> \
  GITHUB_CLIENT_ID=<from the GitHub app> \
  GITHUB_CLIENT_SECRET=<from the GitHub app> \
  BASE_URL=<the Heroku app URL> \
  AUTHORIZED_USERS=<comma separated GitHub usernames> \
  REQUIRE_SIGNATURE=1 # remove this line if you sign apps with a certificate from Apple \
  API_KEY=$(openssl rand -hex 16 | tr -d '\r\n')
  COOKIE_SECRET=$(openssl rand -hex 16 | tr -d '\r\n')
Deploy 🤘
git push heroku master
heroku open

Usage

Pushing to the stable channel will also push to the beta and alpha channels, and pushing to the beta channel will also push to the alpha channel.

Xcode Integration

There is a release script that can be used to automatically upload and sign releases.

URLs

Alpha Appcast: https://s3.amazonaws.com/BUCKET/APPNAME-alpha.xml

Beta Appcast: https://s3.amazonaws.com/BUCKET/APPNAME-beta.xml

Stable Appcast: https://s3.amazonaws.com/BUCKET/APPNAME-stable.xml

Application Release: https://s3.amazonaws.com/BUCKET/APPNAME-VERSION.EXT

Release Notes: https://s3.amazonaws.com/BUCKET/APPNAME-VERSION.html

✨ 💫 💃 🌟

Documentation ¶

The Go Gopher

There is no documentation for this package.

Directories ¶

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL