mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
Add consul config adapter usage example. (#2988)
This commit is contained in:
35
example/config/consul/boot/boot.go
Normal file
35
example/config/consul/boot/boot.go
Normal file
@ -0,0 +1,35 @@
|
||||
package boot
|
||||
|
||||
import (
|
||||
consul "github.com/gogf/gf/contrib/config/consul/v2"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
"github.com/hashicorp/consul/api"
|
||||
"github.com/hashicorp/go-cleanhttp"
|
||||
)
|
||||
|
||||
func init() {
|
||||
var (
|
||||
ctx = gctx.GetInitCtx()
|
||||
consulConfig = api.Config{
|
||||
Address: "127.0.0.1:8500",
|
||||
Scheme: "http",
|
||||
Datacenter: "dc1",
|
||||
Transport: cleanhttp.DefaultPooledTransport(),
|
||||
Token: "3f8aeba2-f1f7-42d0-b912-fcb041d4546d",
|
||||
}
|
||||
configPath = "server/message"
|
||||
)
|
||||
|
||||
adapter, err := consul.New(ctx, consul.Config{
|
||||
ConsulConfig: consulConfig,
|
||||
Path: configPath,
|
||||
Watch: true,
|
||||
})
|
||||
if err != nil {
|
||||
g.Log().Fatalf(ctx, `New consul adapter error: %+v`, err)
|
||||
}
|
||||
|
||||
g.Cfg().SetAdapter(adapter)
|
||||
}
|
||||
21
example/config/consul/main.go
Normal file
21
example/config/consul/main.go
Normal file
@ -0,0 +1,21 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
_ "github.com/gogf/gf/example/config/consul/boot"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var ctx = gctx.GetInitCtx()
|
||||
|
||||
// Available checks.
|
||||
g.Dump(g.Cfg().Available(ctx))
|
||||
|
||||
// All key-value configurations.
|
||||
g.Dump(g.Cfg().Data(ctx))
|
||||
|
||||
// Retrieve certain value by key.
|
||||
g.Dump(g.Cfg().MustGet(ctx, "redis.addr"))
|
||||
}
|
||||
Reference in New Issue
Block a user