mirror of
https://gitee.com/johng/gf
synced 2026-06-29 18:41:50 +08:00
* fix: modify polaris config readme.md * modify readme.md ,add License * feat: add License
80 lines
1.7 KiB
Markdown
80 lines
1.7 KiB
Markdown
# apollo
|
|
Package `apollo` implements GoFrame `gcfg.Adapter` using apollo service.
|
|
|
|
|
|
# Installation
|
|
```
|
|
go get -u github.com/gogf/gf/contrib/config/apollo/v2
|
|
```
|
|
|
|
# Usage
|
|
|
|
## Create a custom boot package
|
|
|
|
If you wish using configuration from apollo globally,
|
|
it is strongly recommended creating a custom boot package in very top import,
|
|
which sets the Adapter of default configuration instance before any other package boots.
|
|
|
|
```go
|
|
package boot
|
|
|
|
import (
|
|
"github.com/gogf/gf/contrib/config/apollo/v2"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/os/gctx"
|
|
)
|
|
|
|
func init() {
|
|
var (
|
|
ctx = gctx.GetInitCtx()
|
|
appId = "SampleApp"
|
|
cluster = "default"
|
|
ip = "http://localhost:8080"
|
|
)
|
|
// Create apollo Client that implements gcfg.Adapter.
|
|
adapter, err := apollo.New(ctx, apollo.Config{
|
|
AppID: appId,
|
|
IP: ip,
|
|
Cluster: cluster,
|
|
})
|
|
if err != nil {
|
|
g.Log().Fatalf(ctx, `%+v`, err)
|
|
}
|
|
// Change the adapter of default configuration instance.
|
|
g.Cfg().SetAdapter(adapter)
|
|
}
|
|
```
|
|
|
|
## Import boot package in top of main
|
|
|
|
It is strongly recommended import your boot package in top of your `main.go`.
|
|
|
|
Note the top `import`: `_ "github.com/gogf/gf/example/config/apollo/boot"` .
|
|
|
|
```go
|
|
package main
|
|
|
|
import (
|
|
_ "github.com/gogf/gf/example/config/apollo/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, "server.address"))
|
|
}
|
|
```
|
|
|
|
## License
|
|
|
|
`GoFrame apollo` is licensed under the [MIT License](../../../LICENSE), 100% free and open-source, forever. |