Skip to content
Browse files

updated readme, roadmap, deploy.go and version

  • Loading branch information...
1 parent c10261e commit 5bd022b1205d83f5d56fd45dfb7825515433d76c @mfburnett mfburnett committed with ethernetdan
Showing with 33 additions and 41 deletions.
  1. +6 −6 README.md
  2. +9 −7 cli/deploy.go
  3. +0 −19 cli/version.go
  4. +1 −1 cmd/spread/info.go
  5. +17 −8 roadmap.md
View
12 README.md
@@ -13,11 +13,11 @@
* Work well for a single developer or an entire team (no more broken bash scripts!)
-Spread is under open, active development. New features will be added regularly over the next few months - explore our [roadmap](./roadmap) to see what will be built next and send us pull requests for any features you’d like to see added.
+Spread is under open, active development. New features will be added regularly over the next few months - explore our [roadmap](./roadmap.md) to see what will be built next and send us pull requests for any features you’d like to see added.
##What's been done so far
-* `spread deploy`: Deploys a Docker project to a Kubernetes cluster. It completes the following order of operations:
+* `spread deploy [-s] PATH [kubectl context]`: Deploys a Docker project to a Kubernetes cluster. It completes the following order of operations:
* Reads context of directory and builds Kubernetes deployment hierarchy.
* Updates all Kubernetes objects on a Kubernetes cluster.
* Returns a public IP address, if type Load Balancer is specified.
@@ -26,7 +26,7 @@ Spread is under open, active development. New features will be added regularly o
##What's being worked on now
-* Building functionality for `spread deploy` so it also builds any images indicated to be built and pushes those images to the indicated Docker registry.
+* Build functionality for `spread deploy` so it also builds any images indicated to be built and pushes those images to the indicated Docker registry.
* `spread deploy -p`: Pushes all images to registry, even those not built by `spread deploy`.
* Support for Linux and Windows
* Inner-app linking
@@ -34,7 +34,7 @@ Spread is under open, active development. New features will be added regularly o
* `spread build`: Builds Docker context and pushes to a local Kubernetes cluster.
* `spread rewind`: Quickly rollback to a previous deployment.
-See more of our <a href="https://github.com/redspread/spread/blob/master/roadmap">roadmap</a> here!
+See more of our <a href="https://github.com/redspread/spread/blob/master/roadmap.md">roadmap</a> here!
##Future Goals
* Develop workflow for container versioning (containers = image + config)
@@ -48,7 +48,7 @@ See more of our <a href="https://github.com/redspread/spread/blob/master/roadmap
##Installation
-`$ brew tap redspread/homebrew-spread`
+`$ brew tap redspread/spread`
`$ brew install spread`
##FAQ
@@ -71,7 +71,7 @@ See more of our <a href="https://github.com/redspread/spread/blob/master/roadmap
This assumes you have a <a href="https://blog.redspread.com/2016/02/04/google-container-engine-quickstart/">running Kubernetes cluster</a> and <a href="https://docs.docker.com/machine/get-started/">docker-machine</a> installed.
-1. Install Spread with `$ brew tap redspread/homebrew-spread` then `$ brew install spread`
+1. Install Spread with `$ brew tap redspread/spread` then `$ brew install spread`
2. Clone example project `$ git clone http://github.com/redspread/mvp-ex`
3. Start a docker machine `$ docker machine start <name>` or <a href="https://docs.docker.com/machine/get-started/">create a new machine</a>
4. Enter in your Docker registry configuration in the correct fields in .k2e/secret.yaml:
View
16 cli/deploy.go
@@ -13,9 +13,10 @@ import (
// Version returns the current spread version
func (s SpreadCli) Deploy() *cli.Command {
return &cli.Command{
- Name: "deploy",
- Usage: "spread deploy [-u] PATH [kubectl context]",
- ArgsUsage: "-u attempts to update objects (otherwise fails)",
+ Name: "deploy",
+ Usage: "spread deploy [-s] PATH [kubectl context]",
+ Description: "Deploys a Dockerfile to a remote Kubernetes cluster.",
+ ArgsUsage: "-s will deploy only if no other deployment found (otherwise fails)",
Action: func(c *cli.Context) {
srcDir := c.Args().First()
if len(srcDir) == 0 {
@@ -68,13 +69,14 @@ func (s SpreadCli) Deploy() *cli.Command {
s.printf("Deploying %d objects using the %s.", dep.Len(), displayContext(context))
- update := c.Bool("u")
+ update := !c.Bool("s")
err = cluster.Deploy(dep, update)
if err != nil {
- s.fatal("Failed to deploy: %v", err)
+ //TODO: make better error messages (one to indicate a deployment already existed; another one if a deployment did not exist but some other error was thrown
+ s.fatal("Deployment found. Did not deploy.: %v", err)
}
- s.printf("Deployment successful!")
+ s.printf("No previous deployment found. Deployment successful!")
},
}
}
@@ -88,4 +90,4 @@ func displayContext(name string) string {
return "default context"
}
return fmt.Sprintf("context '%s'", name)
-}
+}
View
19 cli/version.go
@@ -1,19 +0,0 @@
-package cli
-
-import (
- "fmt"
-
- "github.com/codegangsta/cli"
-)
-
-// Version returns the current spread version
-func (spread SpreadCli) Version() *cli.Command {
- return &cli.Command{
- Name: "version",
- Aliases: []string{"v"},
- Usage: "prints spread version",
- Action: func(c *cli.Context) {
- fmt.Fprintf(spread.out, "Spread version is %s\n", spread.version)
- },
- }
-}
View
2 cmd/spread/info.go
@@ -5,5 +5,5 @@ const (
Usage = "Quickly iterate with Kubernetes"
// Version is the current version number
- Version = "0.0.1"
+ Version = "0.0.3"
)
View
25 roadmap.md
@@ -5,17 +5,26 @@ This is a high level roadmap for spread development. The dates below should not
####Feb. 2016
-* Support deploying multiple containers to Kubernetes
- * `spread deploy`: One command to deploy to a remote cluster
- * Entity linking
-* Logging and debugging
- * `spread debug`: Returns the current spread version, Kubernetes version, Docker version, Go version, computer operating system, the Kubernetes config, spread config, and the content and timestamp of last command ran
- * `spread logs`: Prints logs from deployment of current project
+* `spread deploy`: One command deploy to a remote Kubernetes cluster
+ * Including building Docker context with deployment
+ * `spread deploy -p`: Pushes all images to registry, even those not built by `spread deploy`.
+ * Handle updates for all Kubernetes objects
####Mar. 2016
+* Logging and debugging
+ * `spread debug`: Returns the current spread version, Kubernetes version, Docker version, Go version, computer operating system, the Kubernetes config, spread config, and the content and timestamp of last command ran
+ * `spread logs`: Returns logs for any deployment, automatic trying until logs are accessible.
* Support for local development with Kubernetes
* Easy setup of local cluster
* Cluster-to-cluster syncing
- * `spread build`: One command to build to a local cluster
- * `spread status`: Prints information about the state of the project
+ * `spread build`: Builds Docker context and pushes to a local Kubernetes cluster.
+ * `spread status`: Prints information about the state of the project
+* Inner-app linking
+* Support for Linux and Windows
+
+####Apr. 2016
+
+* Container versioning
+ * Version the image + configuration of containers
+ * `spread rewind`: Quickly rollback to a previous deployment.

0 comments on commit 5bd022b

Please sign in to comment.
Something went wrong with that request. Please try again.