Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Shared] Config and genesis handling refactoring idea #235

Merged
merged 107 commits into from
Oct 13, 2022
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
9358e73
refactor(Config): runtime module
deblasis Sep 20, 2022
b05c71c
style(Client): consistency
deblasis Sep 20, 2022
0163d71
fix(Config): make configPath and genesisPath available in Base
deblasis Sep 20, 2022
5283cd5
style(Persistence): Persistance -> Persistence
deblasis Sep 20, 2022
2aa7c29
fix(Config): Base init
deblasis Sep 20, 2022
c0afedf
feat(Config): viper config parsing + environment variables
deblasis Sep 20, 2022
5e0bade
fix(Config): filename handling
deblasis Sep 20, 2022
5505933
refactor(Config): runtime module and InitializableModule interface
deblasis Sep 20, 2022
cfc88c2
feat(Config): useRandomPK in runtime
deblasis Sep 20, 2022
39f4a9d
refactor(Config): renamed Builder / updated signatures
deblasis Sep 20, 2022
1160ab9
style(Config): builder -> runtime
deblasis Sep 20, 2022
9283f64
feat(Config): implement InitlializableModule in all modules
deblasis Sep 20, 2022
8bfaafe
fix(Consensus): remove pacemakerConfig from interface
deblasis Sep 20, 2022
37f12f9
feat(Config): params/flags injection (stab @private key for CLI)
deblasis Sep 20, 2022
2fec88b
style(Client): cleanup
deblasis Sep 21, 2022
25979e3
feat(Shared): ConfigurableModule and GenesisDependentModule 👀
deblasis Sep 21, 2022
e289d3a
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Sep 21, 2022
ba15b7c
chore(go.mod): tidy
deblasis Sep 21, 2022
7c5b943
feat(Shared): KeyholderModule 👀
deblasis Sep 21, 2022
49980dc
fix(Shared): Enforcing for all modules
deblasis Sep 21, 2022
69af7f1
refactor(Runtime): renamed b to rc
deblasis Sep 21, 2022
56be675
style(Shared): renamed moduleCfg to moduleNameCfg
deblasis Sep 21, 2022
d071c13
Merge branch 'main' into issue/config_genesis_refactoring1
deblasis Sep 22, 2022
cb863cf
fix(SHARED): build error for importing unnecessary package
deblasis Sep 26, 2022
eb25f35
Update shared/modules/runtime_module.go
deblasis Sep 26, 2022
c3ac3cc
refactor(runtime): renamed RuntimeConfig -> runtimeConfig
deblasis Sep 26, 2022
66b4806
fix(runtime): improved WithRandomPK()
deblasis Sep 26, 2022
d4c1a18
Merge branch 'issue/config_genesis_refactoring1' of github.com:deblas…
deblasis Sep 26, 2022
8318c20
docs(runtime): // RuntimeConfig option helpers comment
deblasis Sep 26, 2022
d663287
refactor(Shared): nodeModule, P2PAddressableModule
deblasis Sep 26, 2022
9e5602b
refactor(Consensus): interface embedding
deblasis Sep 26, 2022
fb873b6
refactor(Consensus): consistency in naming
deblasis Sep 26, 2022
8d26fd3
refactor(Persistence): consistence in naming
deblasis Sep 26, 2022
dd78b2e
feat(P2P): P2P module now implements ConfigurableModule
deblasis Sep 26, 2022
c6c95dd
fix(Persistence): improved DEBUG_CLEAR_STATE
deblasis Sep 26, 2022
c020f2e
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Sep 26, 2022
f5ea7e4
feat(Shared): modules implement ConfigurableModule
deblasis Sep 27, 2022
c60206f
refactor(Shared): consistency: adding config *structType in modules
deblasis Sep 27, 2022
b86c4bb
Update consensus/module.go
deblasis Sep 27, 2022
3f93930
fix(Runtime): fix WithPK for when called with a nil P2PConfig
deblasis Sep 27, 2022
382eacf
fix(Shared): bus creation via runtime
deblasis Sep 28, 2022
45a5491
refactor(Shared): NewWithAddress -> NewNodeWithAddress
deblasis Sep 28, 2022
843f5f7
refactor(Shared): improved Create, making all modules unexported
deblasis Sep 28, 2022
2fa9eb8
refactor(Consensus): consistency in naming paceMaker
deblasis Sep 28, 2022
b244e17
refactor(Shared): runtime -> runtimeCfg
deblasis Sep 28, 2022
1924e0e
refactor(Shared): code review feedback
deblasis Sep 29, 2022
1611486
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Sep 29, 2022
281bb4d
fix(Shared): bugfixes
deblasis Sep 29, 2022
bd6ee3a
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Sep 29, 2022
7f6d428
fix(Consensus): merge fix
deblasis Sep 29, 2022
f0a7c7d
test(Consensus): fixed tests (StoreBlock and InsertBlock mocks cfg)
deblasis Sep 29, 2022
2837b5a
fix(Shared): removed config and genesis from bus
deblasis Sep 29, 2022
3af1aa9
style(Runtime): cleanup
deblasis Sep 29, 2022
a8530d2
style(Runtime): import alias
deblasis Sep 29, 2022
2a686db
fix(Shared): module creation failures returns err
deblasis Sep 29, 2022
fbe4a7f
refactor(Persistence): reverted converters to shared
deblasis Sep 29, 2022
d532c30
feat(Tooling): check_cross_module_imports makefile target
deblasis Sep 29, 2022
deaf36d
style(Runtime): import names
deblasis Sep 29, 2022
2a2aaa3
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Sep 30, 2022
704ff71
refactor(Shared): refactored clock to be sourced from runtimeMgr
deblasis Sep 30, 2022
8601df9
fix(Makefile): excluding makefile!
deblasis Sep 30, 2022
72f6c90
feat(Tooling): improved check_cross_module_imports
deblasis Sep 30, 2022
dee736c
docs(Shared): Updated README and CHANGELOGs
deblasis Sep 30, 2022
fa07890
docs(Runtime): missing items
deblasis Sep 30, 2022
1bfa974
test(Persistence): Tests: added missing mock configuration
deblasis Oct 3, 2022
eb392de
Merge branch 'issue/262-persistence-failing-tests' into issue/config_…
deblasis Oct 3, 2022
c04500a
fix(Tooling): execute tests sequentially fix (wrong syntax)
deblasis Oct 3, 2022
0fac63e
Merge branch 'issue/262-persistence-failing-tests' into issue/config_…
deblasis Oct 3, 2022
4955d08
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Oct 4, 2022
eaf5fd3
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Oct 4, 2022
902c524
style(Makefile): check_cross_module_imports
deblasis Oct 4, 2022
9985381
Update app/client/main.go
deblasis Oct 4, 2022
bfea53d
refactor(Consensus): keys -> validatorKeys
deblasis Oct 4, 2022
d14aedb
Update consensus/consensus_tests/utils_test.go
deblasis Oct 4, 2022
b460e5d
Merge branch 'issue/config_genesis_refactoring1' of github.com:deblas…
deblasis Oct 4, 2022
59df167
Update consensus/consensus_tests/utils_test.go
deblasis Oct 4, 2022
50090d1
refactor(Consensu): NewNodeWithAddress -> NewNodeWithP2PAddress
deblasis Oct 4, 2022
fe3a4c7
fix(Makefile): revert silent
deblasis Oct 4, 2022
eff5c0c
style(Shared): init var before return
deblasis Oct 4, 2022
8182b82
Update shared/test_artifacts/generator.go
deblasis Oct 4, 2022
ae97b03
Update utility/test/module_test.go
deblasis Oct 4, 2022
225fa53
Merge branch 'issue/config_genesis_refactoring1' of github.com:deblas…
deblasis Oct 4, 2022
6f25100
Update consensus/module.go
deblasis Oct 4, 2022
8ea9355
Update consensus/types/converters.go
deblasis Oct 4, 2022
5657b41
refactor(Consensus): s/ActorListToMap/ActorListToValidatorMap
deblasis Oct 4, 2022
0aabc23
Update consensus/types/converters.go
deblasis Oct 4, 2022
cd1a34f
Merge branch 'issue/config_genesis_refactoring1' of github.com:deblas…
deblasis Oct 4, 2022
f7ffe6e
fix(Consensus): converters fix
deblasis Oct 4, 2022
25a8607
refactor(Shared): preallocations
deblasis Oct 4, 2022
fb07ed3
docs(Shared): nits
deblasis Oct 4, 2022
f9f3c1c
style(Persistence): cleanup
deblasis Oct 4, 2022
2c078af
Update shared/modules/module.go
deblasis Oct 4, 2022
30af85d
fix(Telemetry): error management
deblasis Oct 4, 2022
05762ea
Update shared/modules/module.go
deblasis Oct 4, 2022
4d62f3f
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Oct 6, 2022
8061a4c
style(P2P): renamed p2pCfg
deblasis Oct 6, 2022
c780a5f
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Oct 6, 2022
96826d0
Merge remote-tracking branch 'upstream/main' into issue/config_genesi…
deblasis Oct 12, 2022
85bb1cf
fix(Tooling): reverted a line change introduced in #282
deblasis Oct 12, 2022
7508fd2
refactor(Shared): modules use interfaces for config and genesis
deblasis Oct 12, 2022
516f0ea
refactor(Shared): using interfaces vs structs
deblasis Oct 12, 2022
7352d39
style(Shared): formatting
deblasis Oct 12, 2022
9664cba
style(Consensus): cleanup
deblasis Oct 12, 2022
1c482af
docs(Runtime): NewManagerFromReaders comment
deblasis Oct 12, 2022
a8909bb
refactor(Shared): shared.test_artifacts -> runtime.test_artifacts
deblasis Oct 12, 2022
5b54619
fix(Persistence): leftover casts
deblasis Oct 12, 2022
d38b0e1
refactor(Shared): removed NodeModule
deblasis Oct 12, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions app/client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"log"
"os"

"github.com/pokt-network/pocket/runtime"
"github.com/pokt-network/pocket/shared/debug"
"github.com/pokt-network/pocket/telemetry"

Expand Down Expand Up @@ -47,24 +48,30 @@ var consensusMod modules.ConsensusModule

func main() {
var err error
consensusMod, err = consensus.Create(defaultConfigPath, defaultGenesisPath, true) // TECHDEBT: extra param required for injecting private key hack for debug client

cfg, genesis, err := runtime.Init(defaultConfigPath, defaultGenesisPath)
if err != nil {
log.Fatalf("[ERROR] Failed parse config and/or genesis: %v", err.Error())
}

consensusMod, err = consensus.Create(cfg.Consensus, genesis.ConsensusGenesisState, true) // TECHDEBT: extra param required for injecting private key hack for debug client
if err != nil {
log.Fatalf("[ERROR] Failed to create consensus module: %v", err.Error())
}
p2pMod, err = p2p.Create(defaultConfigPath, defaultGenesisPath, true) // TECHDEBT: extra param required for injecting private key hack for debug client
p2pMod, err = p2p.Create(cfg.P2P, true) // TECHDEBT: extra param required for injecting private key hack for debug client
deblasis marked this conversation as resolved.
Show resolved Hide resolved
if err != nil {
log.Fatalf("[ERROR] Failed to create p2p module: %v", err.Error())
}
// This telemetry module instance is a NOOP because the 'enable_telemetry' flag in the `cfg` above is set to false.
deblasis marked this conversation as resolved.
Show resolved Hide resolved
// Since this client mimics partial - networking only - functionality of a full node, some of the telemetry-related
// code paths are executed. To avoid those messages interfering with the telemetry data collected, a non-nil telemetry
// module that NOOPs (per the configs above) is injected.
telemetryMod, err := telemetry.Create(defaultConfigPath, defaultGenesisPath)
telemetryMod, err := telemetry.Create(cfg.Telemetry)
if err != nil {
log.Fatalf("[ERROR] Failed to create NOOP telemetry module: " + err.Error())
}

_ = shared.CreateBusWithOptionalModules(nil, p2pMod, nil, consensusMod, telemetryMod)
_ = shared.CreateBusWithOptionalModules(cfg.ToShared(), genesis.ToShared(), nil, p2pMod, nil, consensusMod, telemetryMod)

p2pMod.Start()

Expand Down
17 changes: 11 additions & 6 deletions consensus/consensus_tests/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"testing"
"time"

"github.com/pokt-network/pocket/runtime"
"github.com/pokt-network/pocket/shared/debug"
"github.com/pokt-network/pocket/shared/test_artifacts"

Expand Down Expand Up @@ -62,7 +63,7 @@ type IdToNodeMapping map[typesCons.NodeId]*shared.Node

/*** Node Generation Helpers ***/

func GenerateNodeConfigs(_ *testing.T, validatorCount int) (configs []modules.Config, genesisState modules.GenesisState) {
func GenerateNodeConfigs(_ *testing.T, validatorCount int) (configs []runtime.Config, genesisState modules.GenesisState) {
var keys []string
genesisState, keys = test_artifacts.NewGenesisState(validatorCount, 1, 1, 1)
configs = test_artifacts.NewDefaultConfigs(keys)
Expand All @@ -83,7 +84,7 @@ func GenerateNodeConfigs(_ *testing.T, validatorCount int) (configs []modules.Co

func CreateTestConsensusPocketNodes(
t *testing.T,
configs []modules.Config,
configs []runtime.Config,
genesisState modules.GenesisState,
testChannel modules.EventsChannel,
) (pocketNodes IdToNodeMapping) {
Expand Down Expand Up @@ -113,12 +114,16 @@ const (
// Creates a pocket node where all the primary modules, exception for consensus, are mocked
func CreateTestConsensusPocketNode(
t *testing.T,
cfg modules.Config,
cfg runtime.Config,
genesisState modules.GenesisState,
testChannel modules.EventsChannel,
) *shared.Node {
createTestingGenesisAndConfigFiles(t, cfg, genesisState)
consensusMod, err := consensus.Create(testingConfigFilePath, testingGenesisFilePath, false)

config, genesis, err := runtime.Init(testingConfigFilePath, testingGenesisFilePath)
require.NoError(t, err)

consensusMod, err := consensus.Create(config.Consensus, genesis.ConsensusGenesisState, false)
require.NoError(t, err)
// TODO(olshansky): At the moment we are using the same base mocks for all the tests,
// but note that they will need to be customized on a per test basis.
Expand All @@ -127,7 +132,7 @@ func CreateTestConsensusPocketNode(
utilityMock := baseUtilityMock(t, testChannel)
telemetryMock := baseTelemetryMock(t, testChannel)

bus, err := shared.CreateBus(persistenceMock, p2pMock, utilityMock, consensusMod, telemetryMock)
bus, err := shared.CreateBus(config.ToShared(), genesis.ToShared(), persistenceMock, p2pMock, utilityMock, consensusMod, telemetryMock)
require.NoError(t, err)

pk, err := cryptoPocket.NewPrivateKey(cfg.Base.PrivateKey)
Expand All @@ -141,7 +146,7 @@ func CreateTestConsensusPocketNode(
return pocketNode
}

func createTestingGenesisAndConfigFiles(t *testing.T, cfg modules.Config, genesisState modules.GenesisState) {
func createTestingGenesisAndConfigFiles(t *testing.T, cfg runtime.Config, genesisState modules.GenesisState) {
config, err := json.Marshal(cfg.Consensus)
require.NoError(t, err)

Expand Down
8 changes: 0 additions & 8 deletions consensus/leader_election/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,6 @@ func (m *leaderElectionModule) Stop() error {
return nil
}

func (m *leaderElectionModule) InitConfig(pathToConfigJSON string) (config modules.IConfig, err error) {
return // No-op
}

func (m *leaderElectionModule) InitGenesis(pathToGenesisJSON string) (genesis modules.IGenesis, err error) {
return // No-op
}

func (m *leaderElectionModule) GetModuleName() string {
return LeaderElectionModuleName
}
Expand Down
63 changes: 9 additions & 54 deletions consensus/module.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
package consensus

import (
"encoding/json"
"fmt"
"io/ioutil"
"log"

"github.com/pokt-network/pocket/consensus/leader_election"
typesCons "github.com/pokt-network/pocket/consensus/types"
cryptoPocket "github.com/pokt-network/pocket/shared/crypto"
"github.com/pokt-network/pocket/shared/test_artifacts"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"

Expand Down Expand Up @@ -65,35 +62,26 @@ type ConsensusModule struct {
MaxBlockBytes uint64
}

func Create(configPath, genesisPath string, useRandomPK bool) (modules.ConsensusModule, error) {
cm := new(ConsensusModule)
c, err := cm.InitConfig(configPath)
if err != nil {
return nil, err
}
g, err := cm.InitGenesis(genesisPath)
if err != nil {
return nil, err
}
cfg := c.(*typesCons.ConsensusConfig)
genesis := g.(*typesCons.ConsensusGenesisState)
leaderElectionMod, err := leader_election.Create(cfg, genesis)
func Create(cfg modules.ConsensusConfig, genesis modules.ConsensusGenesisState, useRandomPK bool) (modules.ConsensusModule, error) {
moduleCfg := cfg.(*typesCons.ConsensusConfig)
moduleGenesis := genesis.(*typesCons.ConsensusGenesisState)
leaderElectionMod, err := leader_election.Create(moduleCfg, moduleGenesis)
if err != nil {
return nil, err
}

// TODO(olshansky): Can we make this a submodule?
paceMaker, err := CreatePacemaker(cfg)
paceMaker, err := CreatePacemaker(moduleCfg)
if err != nil {
return nil, err
}

valMap := typesCons.ValidatorListToMap(genesis.Validators)
valMap := typesCons.ValidatorListToMap(moduleGenesis.Validators)
var privateKey cryptoPocket.PrivateKey
if useRandomPK {
privateKey, err = cryptoPocket.GeneratePrivateKey()
} else {
privateKey, err = cryptoPocket.NewPrivateKey(cfg.PrivateKey)
privateKey, err = cryptoPocket.NewPrivateKey(moduleCfg.PrivateKey)
}
if err != nil {
return nil, err
Expand All @@ -105,7 +93,7 @@ func Create(configPath, genesisPath string, useRandomPK bool) (modules.Consensus
bus: nil,

privateKey: privateKey.(cryptoPocket.Ed25519PrivateKey),
consCfg: cfg,
consCfg: moduleCfg,

Height: 0,
Round: 0,
Expand All @@ -129,7 +117,7 @@ func Create(configPath, genesisPath string, useRandomPK bool) (modules.Consensus

logPrefix: DefaultLogPrefix,
MessagePool: make(map[typesCons.HotstuffStep][]*typesCons.HotstuffMessage),
MaxBlockBytes: genesis.GetMaxBlockBytes(),
MaxBlockBytes: moduleGenesis.GetMaxBlockBytes(),
}

// TODO(olshansky): Look for a way to avoid doing this.
Expand All @@ -138,39 +126,6 @@ func Create(configPath, genesisPath string, useRandomPK bool) (modules.Consensus
return m, nil
}

func (m *ConsensusModule) InitConfig(pathToConfigJSON string) (config modules.IConfig, err error) {
data, err := ioutil.ReadFile(pathToConfigJSON)
if err != nil {
return
}
// over arching configuration file
rawJSON := make(map[string]json.RawMessage)
if err = json.Unmarshal(data, &rawJSON); err != nil {
log.Fatalf("[ERROR] an error occurred unmarshalling the %s file: %v", pathToConfigJSON, err.Error())
}
// consensus specific configuration file
config = new(typesCons.ConsensusConfig)
err = json.Unmarshal(rawJSON[m.GetModuleName()], config)
return
}

func (m *ConsensusModule) InitGenesis(pathToGenesisJSON string) (genesis modules.IGenesis, err error) {
data, err := ioutil.ReadFile(pathToGenesisJSON)
if err != nil {
return
}
// over arching configuration file
rawJSON := make(map[string]json.RawMessage)
if err = json.Unmarshal(data, &rawJSON); err != nil {
log.Fatalf("[ERROR] an error occurred unmarshalling the %s file: %v", pathToGenesisJSON, err.Error())
}
// consensus specific configuration file
genesis = new(typesCons.ConsensusGenesisState)

err = json.Unmarshal(rawJSON[test_artifacts.GetGenesisFileName(m.GetModuleName())], genesis)
return
}

func (m *ConsensusModule) Start() error {
m.GetBus().
GetTelemetryModule().
Expand Down
8 changes: 0 additions & 8 deletions consensus/pacemaker.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,6 @@ type paceMaker struct {
paceMakerDebug
}

func (p *paceMaker) InitConfig(pathToConfigJSON string) (config modules.IConfig, err error) {
return // No-op
}

func (p *paceMaker) InitGenesis(pathToGenesisJSON string) (genesis modules.IGenesis, err error) {
return // No-op
}

func CreatePacemaker(cfg *typesCons.ConsensusConfig) (m *paceMaker, err error) {
return &paceMaker{
bus: nil,
Expand Down
20 changes: 20 additions & 0 deletions consensus/types/converters.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package types

import "github.com/pokt-network/pocket/shared/modules"

func actorToValidator(actor modules.Actor) *Validator {
return &Validator{
Address: actor.GetAddress(),
PublicKey: actor.GetPublicKey(),
StakedAmount: actor.GetStakedAmount(),
GenericParam: actor.GetGenericParam(),
}
}

func ToConsensusValidators(actors []modules.Actor) []*Validator {
deblasis marked this conversation as resolved.
Show resolved Hide resolved
r := make([]*Validator, 0)
for _, a := range actors {
r = append(r, actorToValidator(a))
}
return r
deblasis marked this conversation as resolved.
Show resolved Hide resolved
}
11 changes: 11 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ require (
require (
github.com/dgraph-io/badger/v3 v3.2103.2
github.com/jackc/pgconn v1.11.0
github.com/mitchellh/mapstructure v1.1.2
github.com/spf13/viper v1.3.2
)

require (
Expand Down Expand Up @@ -67,17 +69,26 @@ require (
filippo.io/edwards25519 v1.0.0-rc.1 // indirect
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fsnotify/fsnotify v1.4.7 // indirect
github.com/google/go-cmp v0.5.6 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
github.com/jackc/pgio v1.0.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.2.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
github.com/jackc/pgtype v1.10.0 // indirect
github.com/kr/pretty v0.3.0 // indirect
github.com/magiconair/properties v1.8.0 // indirect
github.com/pelletier/go-toml v1.2.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/spf13/afero v1.1.2 // indirect
github.com/spf13/cast v1.3.0 // indirect
github.com/spf13/jwalterweatherman v1.0.0 // indirect
github.com/spf13/pflag v1.0.3 // indirect
golang.org/x/sys v0.0.0-20220405210540-1e041c57c461 // indirect
golang.org/x/text v0.3.7 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
)
12 changes: 12 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ github.com/46bit/ristretto v0.1.0-with-arm-fix h1:jcjBpelxSNRlrGUo5jZnJNESgCsiJz
github.com/46bit/ristretto v0.1.0-with-arm-fix/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
Expand Down Expand Up @@ -115,6 +116,7 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
Expand Down Expand Up @@ -205,6 +207,7 @@ github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQ
github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
Expand Down Expand Up @@ -288,6 +291,7 @@ github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8=
github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA=
github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg=
Expand All @@ -299,6 +303,7 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
Expand All @@ -319,6 +324,7 @@ github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.m
github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA=
github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
Expand Down Expand Up @@ -375,11 +381,16 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
Expand Down Expand Up @@ -759,6 +770,7 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
Expand Down
Loading