Skip to content

Commit

Permalink
recreate app command
Browse files Browse the repository at this point in the history
  • Loading branch information
ddollar committed Sep 17, 2015
1 parent 6c3d354 commit 44a4b42
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 7 deletions.
16 changes: 16 additions & 0 deletions api/models/manifest.go
Expand Up @@ -73,6 +73,22 @@ func (m Manifest) EntryNames() []string {
return names
}

func (m Manifest) Formation() (string, error) {
data, err := buildTemplate("app", "app", m)

if err != nil {
return "", err
}

pretty, err := prettyJson(string(data))

if err != nil {
return "", err
}

return pretty, nil
}

func (m Manifest) HasPorts() bool {
if len(m) == 0 {
return true // special case to pre-initialize ELB at app create
Expand Down
8 changes: 1 addition & 7 deletions api/models/release.go
Expand Up @@ -235,13 +235,7 @@ func (r *Release) Formation() (string, error) {
return "", err
}

data, err := buildTemplate("app", "app", manifest)

if err != nil {
return "", err
}

return string(data), nil
return manifest.Formation()
}

func releasesTable(app string) string {
Expand Down
7 changes: 7 additions & 0 deletions cmd/app/Makefile
@@ -0,0 +1,7 @@
.PHONY: all test

all: test

test:
go get -t ./...
go test -v -cover ./...
40 changes: 40 additions & 0 deletions cmd/app/main.go
@@ -0,0 +1,40 @@
package main

import (
"fmt"
"io/ioutil"
"os"

"github.com/convox/rack/api/models"
)

func die(err error) {
fmt.Fprintf(os.Stderr, "ERROR: %s\n", err.Error())
os.Exit(1)
}

func main() {
var manifest models.Manifest

if stat, _ := os.Stdin.Stat(); stat.Mode()&os.ModeCharDevice == 0 {
data, err := ioutil.ReadAll(os.Stdin)

if err != nil {
die(err)
}

manifest, err = models.LoadManifest(string(data))

if err != nil {
die(err)
}
}

out, err := manifest.Formation()

if err != nil {
die(err)
}

fmt.Println(out)
}

0 comments on commit 44a4b42

Please sign in to comment.