mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
api,fn: entrypoint to return daemon version (#367)
This commit is contained in:
committed by
Seif Lotfy سيف لطفي
parent
8cddfdb125
commit
688ffcf39f
@@ -6,7 +6,7 @@ swagger: '2.0'
|
||||
info:
|
||||
title: IronFunctions
|
||||
description: The open source serverless platform.
|
||||
version: "0.1.20"
|
||||
version: "0.1.21"
|
||||
# the domain of the service
|
||||
host: "127.0.0.1:8080"
|
||||
# array of all schemes that your API supports
|
||||
@@ -20,6 +20,16 @@ consumes:
|
||||
produces:
|
||||
- application/json
|
||||
paths:
|
||||
/version:
|
||||
get:
|
||||
summary: "Get daemon version."
|
||||
tags:
|
||||
- Version
|
||||
responses:
|
||||
200:
|
||||
description: Daemon version.
|
||||
schema:
|
||||
$ref: '#/definitions/Version'
|
||||
/apps:
|
||||
get:
|
||||
summary: "Get all app names."
|
||||
@@ -364,6 +374,13 @@ definitions:
|
||||
additionalProperties:
|
||||
type: string
|
||||
|
||||
Version:
|
||||
type: object
|
||||
properties:
|
||||
version:
|
||||
type: string
|
||||
readOnly: true
|
||||
|
||||
RoutesWrapper:
|
||||
type: object
|
||||
required:
|
||||
|
||||
@@ -79,6 +79,10 @@ $ fn routes create otherapp /hello iron/hello # create route
|
||||
|
||||
$ fn routes delete otherapp hello # delete route
|
||||
/hello deleted
|
||||
|
||||
$ fn version # shows version both of client and server
|
||||
Client version: 0.1.0
|
||||
Server version: 0.1.21
|
||||
```
|
||||
|
||||
## Application level configuration
|
||||
|
||||
@@ -9,10 +9,12 @@ import (
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
const fnversion = "0.1.39"
|
||||
|
||||
func main() {
|
||||
app := cli.NewApp()
|
||||
app.Name = "fn"
|
||||
app.Version = "0.1.0"
|
||||
app.Version = fnversion
|
||||
app.Authors = []cli.Author{{Name: "iron.io"}}
|
||||
app.Usage = "IronFunctions command line tools"
|
||||
app.UsageText = `Check the manual at https://github.com/iron-io/functions/blob/master/fn/README.md
|
||||
@@ -25,12 +27,13 @@ ENVIRONMENT VARIABLES:
|
||||
build(),
|
||||
bump(),
|
||||
call(),
|
||||
initFn(),
|
||||
lambda(),
|
||||
publish(),
|
||||
push(),
|
||||
routes(),
|
||||
run(),
|
||||
initFn(),
|
||||
version(),
|
||||
}
|
||||
app.Run(os.Args)
|
||||
}
|
||||
@@ -38,7 +41,7 @@ ENVIRONMENT VARIABLES:
|
||||
func resetBasePath(c *functions.Configuration) error {
|
||||
apiURL := os.Getenv("API_URL")
|
||||
if apiURL == "" {
|
||||
apiURL = "http://localhost:8080/"
|
||||
apiURL = "http://localhost:8080"
|
||||
}
|
||||
|
||||
u, err := url.Parse(apiURL)
|
||||
|
||||
44
fn/version.go
Normal file
44
fn/version.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"os"
|
||||
|
||||
functions "github.com/iron-io/functions_go"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
func version() cli.Command {
|
||||
r := versionCmd{VersionApi: functions.NewVersionApi()}
|
||||
return cli.Command{
|
||||
Name: "version",
|
||||
Usage: "displays fn and functions daemon versions",
|
||||
Action: r.version,
|
||||
}
|
||||
}
|
||||
|
||||
type versionCmd struct {
|
||||
*functions.VersionApi
|
||||
}
|
||||
|
||||
func (r *versionCmd) version(c *cli.Context) error {
|
||||
apiURL := os.Getenv("API_URL")
|
||||
if apiURL == "" {
|
||||
apiURL = "http://localhost:8080"
|
||||
}
|
||||
|
||||
u, err := url.Parse(apiURL)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
r.Configuration.BasePath = u.String()
|
||||
|
||||
fmt.Println("Client version:", fnversion)
|
||||
v, _, err := r.VersionGet()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println("Server version", v.Version)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user