Sergiusz Bazanski | 1fad2e5 | 2019-08-01 20:16:27 +0200 | [diff] [blame] | 1 | package main |
| 2 | |
| 3 | import ( |
| 4 | "context" |
| 5 | "time" |
| 6 | |
| 7 | "code.hackerspace.pl/hscloud/bgpwtf/cccampix/verifier/model" |
| 8 | "github.com/sethvargo/go-password/password" |
| 9 | ) |
| 10 | |
| 11 | type secretGen struct { |
| 12 | } |
| 13 | |
| 14 | func newSecretGen() (processor, error) { |
| 15 | return &secretGen{}, nil |
| 16 | } |
| 17 | |
| 18 | func (p *secretGen) Name() string { |
| 19 | return "SecretGen" |
| 20 | } |
| 21 | |
Serge Bazanski | ec71cb5 | 2019-08-22 18:13:13 +0200 | [diff] [blame] | 22 | func (p *secretGen) NextRun(now time.Time, lastFailed bool) time.Time { |
Sergiusz Bazanski | 1fad2e5 | 2019-08-01 20:16:27 +0200 | [diff] [blame] | 23 | return now.Add(1 * time.Minute) |
| 24 | } |
| 25 | |
| 26 | func gen() model.SessionConfig { |
| 27 | secret := password.MustGenerate(16, 4, 0, false, true) |
| 28 | return model.SessionConfig{ |
| 29 | BGPSecret: secret, |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | func (p *secretGen) RunAll(ctx context.Context, m model.Model) error { |
| 34 | return m.ConfigureMissingSessions(ctx, gen) |
| 35 | } |