flapjack 1.0.0rc6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82d12f1aeee323795093b24fb7c2c2fce7f71178
4
- data.tar.gz: 6372fe7b8e204beb02acbd327e479f1e40434194
3
+ metadata.gz: 7ec94faddf6467adf887a6f66d074a4ac8d807ca
4
+ data.tar.gz: 53f73cc61036a9d014a0438e11fff8df0c549cf3
5
5
  SHA512:
6
- metadata.gz: 21f7007121242dc819f7e1b164ebe48cd9108cfff525422adceac02d4887e58df973d5f735b565d42f81e490cd72d128bbd17e7e0468ad7772ce497610a820ab
7
- data.tar.gz: c674ee986399d98f9c30c2eba3f7223f94ef4e9b2d019dd2a37cb5aec59b73fdc51d622e9691056ec0aaff78f41e894dda3501f51a6a2fc0aa3f1ad08d23dc76
6
+ metadata.gz: c55a5f75ec5ee9b4121e625867d914180263727ad0009d5827fe45cbcb73ea63d115e83db68bd04b09ee8f47a8bd04da3d74983caf22834f31928c5822adefd2
7
+ data.tar.gz: dd45f9d97ab302029882dbdd3f3203c03e2c078188d16839c9e18b19ee98482a7fc9b821150c6ac5954cf4620cf54b3fdc292df3e8cb1d4729ad2c6c890f9bfd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## Flapjack Changelog
2
2
 
3
+ # 1.0.0 - 2014-08-21
4
+ - No changes
5
+
3
6
  # 1.0.0rc6 - 2014-08-20
4
7
  - Chore: rename 'All Checks' to 'Checks' in the web UI for consistency with 'Entities' (@Hobbsee)
5
8
 
data/build.sh CHANGED
@@ -15,20 +15,18 @@ go test flapjack
15
15
  go build -x -o libexec/httpbroker libexec/httpbroker.go
16
16
  go build -x -o libexec/oneoff libexec/oneoff.go
17
17
 
18
-
19
18
  if [ ! -z "$CROSSCOMPILE" ]; then
20
19
  for command in httpbroker oneoff; do
21
20
  GOOS=linux GOARCH=amd64 CGOENABLED=0 go build -x -o libexec/$command.linux_amd64 libexec/$command.go
22
21
  GOOS=linux GOARCH=386 CGOENABLED=0 go build -x -o libexec/$command.linux_386 libexec/$command.go
23
- done
24
-
22
+ done
23
+
25
24
  pushd src/github.com/oguzbilgic/pandik
26
- GOOS=linux GOARCH=amd64 CGOENABLED=0 go build -x -o httpchecker.linux_amd64
27
- GOOS=linux GOARCH=386 CGOENABLED=0 go build -x -o httpchecker.linux_386
28
- popd
25
+ GOOS=linux GOARCH=amd64 CGOENABLED=0 go build -x -o httpchecker.linux_amd64
26
+ GOOS=linux GOARCH=386 CGOENABLED=0 go build -x -o httpchecker.linux_386
27
+ popd
29
28
  mv src/github.com/oguzbilgic/pandik/httpchecker.linux_amd64 libexec/httpchecker.linux_amd64
30
29
  mv src/github.com/oguzbilgic/pandik/httpchecker.linux_386 libexec/httpchecker.linux_386
31
-
32
30
  fi
33
31
 
34
32
 
data/flapjack.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
  require File.expand_path('../lib/flapjack/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = [ "Lindsay Holmwood", "Jesse Reynolds", "Ali Graham" ]
5
+ gem.authors = [ "Lindsay Holmwood", "Jesse Reynolds", "Ali Graham", "Sarah Kowalik" ]
6
6
  gem.email = "lindsay@holmwood.id.au"
7
7
  gem.description = "Flapjack is a distributed monitoring notification system that provides a scalable method for processing streams of events from Nagios and deciding who should be notified"
8
8
  gem.summary = "Intelligent, scalable, distributed monitoring notification system."
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  module Flapjack
4
- VERSION = "1.0.0rc6"
4
+ VERSION = "1.0.0"
5
5
  end
6
6
 
@@ -1,16 +1,16 @@
1
1
  package main
2
2
 
3
3
  import (
4
+ "encoding/json"
5
+ "flapjack"
4
6
  "fmt"
7
+ "github.com/go-martini/martini"
8
+ "gopkg.in/alecthomas/kingpin.v1"
9
+ "io/ioutil"
5
10
  "log"
11
+ "net/http"
6
12
  "os"
7
- "io/ioutil"
8
13
  "time"
9
- "net/http"
10
- "flapjack"
11
- "encoding/json"
12
- "gopkg.in/alecthomas/kingpin.v1"
13
- "github.com/go-martini/martini"
14
14
  )
15
15
 
16
16
  // State is a basic representation of a Flapjack event, with some extra field.
@@ -18,7 +18,7 @@ import (
18
18
  // Find more at http://flapjack.io/docs/1.0/development/DATA_STRUCTURES
19
19
  type State struct {
20
20
  flapjack.Event
21
- TTL int64 `json:"ttl"`
21
+ TTL int64 `json:"ttl"`
22
22
  }
23
23
 
24
24
  // handler caches
@@ -82,7 +82,7 @@ func submitCachedState(states map[string]State, config Config) {
82
82
 
83
83
  for {
84
84
  log.Printf("Number of cached states: %d\n", len(states))
85
- for id, state := range(states) {
85
+ for id, state := range states {
86
86
  now := time.Now().Unix()
87
87
  event := flapjack.Event{
88
88
  Entity: state.Entity,
@@ -110,19 +110,19 @@ func submitCachedState(states map[string]State, config Config) {
110
110
  }
111
111
 
112
112
  var (
113
- port = kingpin.Flag("port", "Address to bind HTTP server (default 3090)").Default("3090").OverrideDefaultFromEnvar("PORT").String()
114
- server = kingpin.Flag("server", "Redis server to connect to (default localhost:6380)").Default("localhost:6380").String()
115
- database = kingpin.Flag("database", "Redis database to connect to (default 0)").Int() // .Default("13").Int()
116
- interval = kingpin.Flag("interval", "How often to submit events (default 10s)").Default("10s").Duration()
117
- debug = kingpin.Flag("debug", "Enable verbose output (default false)").Bool()
113
+ port = kingpin.Flag("port", "Address to bind HTTP server (default 3090)").Default("3090").OverrideDefaultFromEnvar("PORT").String()
114
+ server = kingpin.Flag("server", "Redis server to connect to (default localhost:6380)").Default("localhost:6380").String()
115
+ database = kingpin.Flag("database", "Redis database to connect to (default 0)").Int() // .Default("13").Int()
116
+ interval = kingpin.Flag("interval", "How often to submit events (default 10s)").Default("10s").Duration()
117
+ debug = kingpin.Flag("debug", "Enable verbose output (default false)").Bool()
118
118
  )
119
119
 
120
120
  type Config struct {
121
- Port string
122
- Server string
123
- Database int
124
- Interval time.Duration
125
- Debug bool
121
+ Port string
122
+ Server string
123
+ Database int
124
+ Interval time.Duration
125
+ Debug bool
126
126
  }
127
127
 
128
128
  func main() {
@@ -130,11 +130,11 @@ func main() {
130
130
  kingpin.Parse()
131
131
 
132
132
  config := Config{
133
- Server: *server,
134
- Database: *database,
135
- Interval: *interval,
136
- Debug: *debug,
137
- Port: ":" + *port,
133
+ Server: *server,
134
+ Database: *database,
135
+ Interval: *interval,
136
+ Debug: *debug,
137
+ Port: ":" + *port,
138
138
  }
139
139
  if config.Debug {
140
140
  log.Printf("Booting with config: %+v\n", config)
data/libexec/oneoff.go CHANGED
@@ -1,23 +1,23 @@
1
1
  package main
2
2
 
3
3
  import (
4
- "os"
5
- "fmt"
6
- "time"
7
- "strings"
4
+ "encoding/json"
8
5
  "flapjack"
6
+ "fmt"
9
7
  "gopkg.in/alecthomas/kingpin.v1"
10
- "encoding/json"
8
+ "os"
9
+ "strings"
10
+ "time"
11
11
  )
12
12
 
13
13
  var (
14
- entity = kingpin.Arg("entity", "Entity name").Required().String()
15
- check = kingpin.Arg("check", "Check name").Required().String()
16
- state = kingpin.Arg("state", "Current state").Required().String()
17
- summary = kingpin.Arg("summary", "Summary of event").Required().String()
18
- debug = kingpin.Flag("debug", "Enable verbose output (default false)").Bool()
19
- server = kingpin.Flag("server", "Redis server to connect to (default localhost:6380)").Default("localhost:6380").String()
20
- database = kingpin.Flag("database", "Redis database to connect to (default 0)").Int()
14
+ entity = kingpin.Arg("entity", "Entity name").Required().String()
15
+ check = kingpin.Arg("check", "Check name").Required().String()
16
+ state = kingpin.Arg("state", "Current state").Required().String()
17
+ summary = kingpin.Arg("summary", "Summary of event").Required().String()
18
+ debug = kingpin.Flag("debug", "Enable verbose output (default false)").Bool()
19
+ server = kingpin.Flag("server", "Redis server to connect to (default localhost:6380)").Default("localhost:6380").String()
20
+ database = kingpin.Flag("database", "Redis database to connect to (default 0)").Int()
21
21
  )
22
22
 
23
23
  func main() {
@@ -42,12 +42,12 @@ func main() {
42
42
  }
43
43
 
44
44
  event := flapjack.Event{
45
- Entity: *entity,
46
- Check: *check,
47
- Type: "service",
48
- State: *state,
49
- Summary: *summary,
50
- Time: time.Now().Unix(),
45
+ Entity: *entity,
46
+ Check: *check,
47
+ Type: "service",
48
+ State: *state,
49
+ Summary: *summary,
50
+ Time: time.Now().Unix(),
51
51
  }
52
52
 
53
53
  if *debug {
@@ -5,21 +5,28 @@ import "errors"
5
5
  // Event is a basic representation of a Flapjack event.
6
6
  // Find more at http://flapjack.io/docs/1.0/development/DATA_STRUCTURES
7
7
  type Event struct {
8
- Entity string `json:"entity"`
9
- Check string `json:"check"`
10
- Type string `json:"type"`
11
- State string `json:"state"`
12
- Summary string `json:"summary"`
13
- Time int64 `json:"time"`
8
+ Entity string `json:"entity"`
9
+ Check string `json:"check"`
10
+ Type string `json:"type"`
11
+ State string `json:"state"`
12
+ Summary string `json:"summary"`
13
+ Time int64 `json:"time"`
14
14
  }
15
15
 
16
16
  // IsValid performs basic validations on the event data.
17
- func (e Event) IsValid() (error) {
17
+ func (e Event) IsValid() error {
18
18
  // FIXME(auxesis): provide validation errors for each failure
19
- if len(e.Entity) == 0 { return errors.New("no entity") }
20
- if len(e.Check) == 0 { return errors.New("no check") }
21
- if len(e.State) == 0 { return errors.New("no state") }
22
- if len(e.Summary) == 0 { return errors.New("no summary") }
19
+ if len(e.Entity) == 0 {
20
+ return errors.New("no entity")
21
+ }
22
+ if len(e.Check) == 0 {
23
+ return errors.New("no check")
24
+ }
25
+ if len(e.State) == 0 {
26
+ return errors.New("no state")
27
+ }
28
+ if len(e.Summary) == 0 {
29
+ return errors.New("no summary")
30
+ }
23
31
  return nil
24
32
  }
25
-
@@ -13,10 +13,10 @@ func TestValidationFails(t *testing.T) {
13
13
 
14
14
  func TestValidationPasses(t *testing.T) {
15
15
  event := Event{
16
- Entity: "hello",
17
- Check: "world",
18
- State: "ok",
19
- Summary: "hello world",
16
+ Entity: "hello",
17
+ Check: "world",
18
+ State: "ok",
19
+ Summary: "hello world",
20
20
  }
21
21
  err := event.IsValid()
22
22
 
@@ -7,13 +7,13 @@ import (
7
7
 
8
8
  // Transport is a representation of a Redis connection.
9
9
  type Transport struct {
10
- Address string
11
- Database int
12
- Connection redis.Conn
10
+ Address string
11
+ Database int
12
+ Connection redis.Conn
13
13
  }
14
14
 
15
15
  // Dial establishes a connection to Redis, wrapped in a Transport.
16
- func Dial(address string, database int) (Transport,error) {
16
+ func Dial(address string, database int) (Transport, error) {
17
17
  // Connect to Redis
18
18
  conn, err := redis.Dial("tcp", address)
19
19
  if err != nil {
@@ -24,9 +24,9 @@ func Dial(address string, database int) (Transport,error) {
24
24
  conn.Do("SELECT", database)
25
25
 
26
26
  transport := Transport{
27
- Address: address,
28
- Database: database,
29
- Connection: conn,
27
+ Address: address,
28
+ Database: database,
29
+ Connection: conn,
30
30
  }
31
31
  return transport, nil
32
32
  }
@@ -46,4 +46,3 @@ func (t Transport) Send(event Event) (interface{}, error) {
46
46
  return nil, err
47
47
  }
48
48
  }
49
-
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flapjack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0rc6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lindsay Holmwood
8
8
  - Jesse Reynolds
9
9
  - Ali Graham
10
+ - Sarah Kowalik
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2014-08-20 00:00:00.000000000 Z
14
+ date: 2014-08-21 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: dante
@@ -624,9 +625,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
624
625
  version: '0'
625
626
  required_rubygems_version: !ruby/object:Gem::Requirement
626
627
  requirements:
627
- - - ">"
628
+ - - ">="
628
629
  - !ruby/object:Gem::Version
629
- version: 1.3.1
630
+ version: '0'
630
631
  requirements: []
631
632
  rubyforge_project:
632
633
  rubygems_version: 2.2.2