Skip to content

Commit 830784b

Browse files
refactor(server/v2): kill viper from server components (backport #21663) (#21673)
Co-authored-by: Julien Robert <julien@rbrt.fr>
1 parent 8b70c6c commit 830784b

6 files changed

Lines changed: 31 additions & 38 deletions

File tree

server/v2/cometbft/config.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ package cometbft
22

33
import (
44
cmtcfg "github.com/cometbft/cometbft/config"
5-
"github.com/spf13/viper"
6-
7-
serverv2 "cosmossdk.io/server/v2"
85
)
96

107
// Config is the configuration for the CometBFT application
@@ -53,14 +50,3 @@ func OverwriteDefaultAppTomlConfig(newCfg *AppTomlConfig) CfgOption {
5350
cfg.AppTomlConfig = newCfg
5451
}
5552
}
56-
57-
func getConfigTomlFromViper(v *viper.Viper) *cmtcfg.Config {
58-
rootDir := v.GetString(serverv2.FlagHome)
59-
60-
conf := cmtcfg.DefaultConfig()
61-
if err := v.Unmarshal(conf); err != nil {
62-
return cmtcfg.DefaultConfig().SetRoot(rootDir)
63-
}
64-
65-
return conf.SetRoot(rootDir)
66-
}

server/v2/cometbft/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ require (
2121
cosmossdk.io/core v1.0.0 // main
2222
cosmossdk.io/errors v1.0.1
2323
cosmossdk.io/log v1.4.1
24-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b // main
24+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b // main
2525
cosmossdk.io/server/v2/appmanager v0.0.0-20240827095516-355f748add9e // main
2626
cosmossdk.io/server/v2/stf v0.0.0-20240909103429-ac53e337a9b5 // main
2727
cosmossdk.io/store/v2 v2.0.0-20240906090851-36d9b25e8981 // main
@@ -35,10 +35,9 @@ require (
3535
github.com/grpc-ecosystem/grpc-gateway v1.16.0
3636
github.com/spf13/cobra v1.8.1
3737
github.com/spf13/pflag v1.0.5
38-
github.com/spf13/viper v1.19.0
3938
github.com/stretchr/testify v1.9.0
4039
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117
41-
google.golang.org/grpc v1.66.0
40+
google.golang.org/grpc v1.66.1
4241
google.golang.org/protobuf v1.34.2
4342
sigs.k8s.io/yaml v1.4.0
4443
)
@@ -147,6 +146,7 @@ require (
147146
github.com/sourcegraph/conc v0.3.0 // indirect
148147
github.com/spf13/afero v1.11.0 // indirect
149148
github.com/spf13/cast v1.7.0 // indirect
149+
github.com/spf13/viper v1.19.0 // indirect
150150
github.com/subosito/gotenv v1.6.0 // indirect
151151
github.com/supranational/blst v0.3.13 // indirect
152152
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
@@ -167,7 +167,7 @@ require (
167167
golang.org/x/term v0.24.0 // indirect
168168
golang.org/x/text v0.18.0 // indirect
169169
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
170-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed // indirect
170+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
171171
gopkg.in/ini.v1 v1.67.0 // indirect
172172
gopkg.in/yaml.v3 v3.0.1 // indirect
173173
gotest.tools/v3 v3.5.1 // indirect

server/v2/cometbft/go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE=
2424
cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k=
2525
cosmossdk.io/schema v0.2.0 h1:UH5CR1DqUq8yP+5Np8PbvG4YX0zAUsTN2Qk6yThmfMk=
2626
cosmossdk.io/schema v0.2.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ=
27-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b h1:FFixNVq2SbtRlYvr1fB/WikfYTRrA0o/35ImIhhZzrE=
28-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b/go.mod h1:MgjYKtPEW4FPEYxh1h0idVBjgblFgdrAWkeqn7UOrVA=
27+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b h1:rG8VQF/3yAEJOQewDgrcBWwr1xKzu+VwhrILW5hui/Y=
28+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b/go.mod h1:9JRqMZOt9JaSLnmfcaAZ/wV3t5PVA1SlK0QgVuU3T9k=
2929
cosmossdk.io/server/v2/appmanager v0.0.0-20240827095516-355f748add9e h1:9eB2si1gT6c5ea8Jsh498Ei6E3Th1yMyuJgSLiT6D4Y=
3030
cosmossdk.io/server/v2/appmanager v0.0.0-20240827095516-355f748add9e/go.mod h1:fJDDnWJCBRxLLIyu2byqtf3KTRYIVS4OxKwdZozJi20=
3131
cosmossdk.io/server/v2/stf v0.0.0-20240909103429-ac53e337a9b5 h1:lrq7/YrEflKv3enDm5jMHHz1GsfmBzHM4FGgjSt1ZmQ=
@@ -299,8 +299,8 @@ github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47
299299
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
300300
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
301301
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
302-
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
303-
github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
302+
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
303+
github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
304304
github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U=
305305
github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ=
306306
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -615,16 +615,16 @@ google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUE
615615
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
616616
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU=
617617
google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo=
618-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed h1:J6izYgfBXAI3xTKLgxzTmUltdYaLsuBxFCgDHWJ/eXg=
619-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
618+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
619+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
620620
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
621621
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
622622
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
623623
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
624624
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
625625
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
626-
google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c=
627-
google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
626+
google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM=
627+
google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
628628
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
629629
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
630630
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

server/v2/cometbft/server.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"github.com/cometbft/cometbft/proxy"
2020
"github.com/spf13/cobra"
2121
"github.com/spf13/pflag"
22-
"github.com/spf13/viper"
2322

2423
"cosmossdk.io/core/transaction"
2524
"cosmossdk.io/log"
@@ -58,23 +57,31 @@ func New[T transaction.Tx](txCodec transaction.Codec[T], serverOptions ServerOpt
5857
}
5958
}
6059

61-
func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger log.Logger) error {
60+
func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], cfg map[string]any, logger log.Logger) error {
61+
home, _ := cfg[serverv2.FlagHome].(string)
62+
6263
// get configs (app.toml + config.toml) from viper
6364
appTomlConfig := s.Config().(*AppTomlConfig)
64-
if v != nil {
65-
if err := serverv2.UnmarshalSubConfig(v, s.Name(), &appTomlConfig); err != nil {
65+
configTomlConfig := cmtcfg.DefaultConfig().SetRoot(home)
66+
if len(cfg) > 0 {
67+
if err := serverv2.UnmarshalSubConfig(cfg, s.Name(), &appTomlConfig); err != nil {
68+
return fmt.Errorf("failed to unmarshal config: %w", err)
69+
}
70+
71+
if err := serverv2.UnmarshalSubConfig(cfg, "", &configTomlConfig); err != nil {
6672
return fmt.Errorf("failed to unmarshal config: %w", err)
6773
}
6874
}
75+
6976
s.config = Config{
70-
ConfigTomlConfig: getConfigTomlFromViper(v),
77+
ConfigTomlConfig: configTomlConfig,
7178
AppTomlConfig: appTomlConfig,
7279
}
7380

74-
chainID := v.GetString(FlagChainID)
81+
chainID, _ := cfg[FlagChainID].(string)
7582
if chainID == "" {
7683
// fallback to genesis chain-id
77-
reader, err := os.Open(filepath.Join(v.GetString(serverv2.FlagHome), "config", "genesis.json"))
84+
reader, err := os.Open(filepath.Join(home, "config", "genesis.json"))
7885
if err != nil {
7986
panic(err)
8087
}

simapp/v2/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
cosmossdk.io/log v1.4.1
1212
cosmossdk.io/math v1.3.0
1313
cosmossdk.io/runtime/v2 v2.0.0-20240912070812-0fc06f14104b // main
14-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b // main
14+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b // main
1515
cosmossdk.io/server/v2/cometbft v0.0.0-00010101000000-000000000000
1616
cosmossdk.io/store/v2 v2.0.0-20240906090851-36d9b25e8981 // main
1717
cosmossdk.io/tools/confix v0.0.0-00010101000000-000000000000

simapp/v2/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@ cosmossdk.io/runtime/v2 v2.0.0-20240912070812-0fc06f14104b h1:usuxpv4UZLKOXHK+L3
214214
cosmossdk.io/runtime/v2 v2.0.0-20240912070812-0fc06f14104b/go.mod h1:kV5J0FOZvQIH6o23pCmkl5h+UdIAbQ1WU/BgVgrvbKQ=
215215
cosmossdk.io/schema v0.2.0 h1:UH5CR1DqUq8yP+5Np8PbvG4YX0zAUsTN2Qk6yThmfMk=
216216
cosmossdk.io/schema v0.2.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ=
217-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b h1:FFixNVq2SbtRlYvr1fB/WikfYTRrA0o/35ImIhhZzrE=
218-
cosmossdk.io/server/v2 v2.0.0-20240829074658-81a225e6a29b/go.mod h1:MgjYKtPEW4FPEYxh1h0idVBjgblFgdrAWkeqn7UOrVA=
217+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b h1:rG8VQF/3yAEJOQewDgrcBWwr1xKzu+VwhrILW5hui/Y=
218+
cosmossdk.io/server/v2 v2.0.0-20240912070812-0fc06f14104b/go.mod h1:9JRqMZOt9JaSLnmfcaAZ/wV3t5PVA1SlK0QgVuU3T9k=
219219
cosmossdk.io/server/v2/appmanager v0.0.0-20240827095516-355f748add9e h1:9eB2si1gT6c5ea8Jsh498Ei6E3Th1yMyuJgSLiT6D4Y=
220220
cosmossdk.io/server/v2/appmanager v0.0.0-20240827095516-355f748add9e/go.mod h1:fJDDnWJCBRxLLIyu2byqtf3KTRYIVS4OxKwdZozJi20=
221221
cosmossdk.io/server/v2/stf v0.0.0-20240909103429-ac53e337a9b5 h1:lrq7/YrEflKv3enDm5jMHHz1GsfmBzHM4FGgjSt1ZmQ=
@@ -620,8 +620,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
620620
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
621621
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
622622
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
623-
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
624-
github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
623+
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
624+
github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
625625
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
626626
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
627627
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=

0 commit comments

Comments
 (0)