问题标签 [viper-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - golang:如何将 pflag 与其他使用 flag 的包一起使用?
如何在使用 pflag 的同时使用其他使用 flag 的包?
其中一些包为 flag 包定义了标志(例如在它们的 init 函数中) - 并且需要调用 flag.Parse()。
使用 pflag 包定义标志,需要调用 pflag.Parse()。
当参数混合时,对 flag.Parse() 和 pflag.Parse() 的调用之一将失败。
如何将 pflag 与其他使用标志的软件包一起使用?
go - 使用 Viper 初始化新的 Go 配置
我一直在使用viper 包探索 Go 中的配置管理,这是我在另一个问题中了解到的。我无法理解如何初始化新配置。我想做的是找到系统配置(如果存在),然后是用户配置,然后,如果一切都失败了,则从默认值创建(然后使用)新的用户配置。下次我运行该应用程序时,我希望找到我之前创建的配置。我这样使用它:
在这一点上,我想为我创建 ~/.myapp/test.json 并使用以下内容:
结果是该文件为空,并且第二次尝试读取该文件也失败并显示消息“打开:没有这样的文件或目录”,即使它存在。如果我手动编辑文件,Viper 会找到并解析它。显然我可以以编程方式创建 JSON 文件,但这似乎是一个如此明显的用例,我必须在这里遗漏一些东西。
go - 使用 Viper 在 Go 中将字符串映射作为环境变量传递
对于我正在处理的项目,我正在尝试使用 Viper 将 stings 映射作为环境变量传递。我尝试了几种方法来实现这一点,但没有成功。当我从代码中读取 env 变量时,它是空的。这是我正在使用的代码:
这就是我传递价值的方式:
CONFIG_OPTIONS_VALUES_ROOT="。"
我也试过:
CONFIG_OPTIONS_VALUES="{\"root\": \".\",\"cmd\": \"exec\", \"logging\": \"on\"}"
我想要处理传递到 env 变量中的值的方式是:
如果我将此配置写入配置文件并使用 viper 读取它,我可以完美地做到这一点:
希望有人可以在这里为我指明正确的方向。
json - 将 JSON 对象数组转换为 YAML
我有以下需要转换为 YAML 的 json
我使用在线 JSON 到 YAML 转换器,它给出了以下输出,
当我尝试将相同的生成 YAML从在线服务转换回 json时,它会给出“无法解析”异常。
1.) 在 YAML 中表示上述类型的 json 的正确方法是什么?
我想在我的 golang 程序中阅读这种 YAML。为此,我正在使用 spf13/viper 库,但我找不到任何能够解码这个数组对象之王的方法。
2.) 如何使用 viper 在 golang 中读取这种 YAML?示例代码会有所帮助。
go - Cobra + Viper Golang How to test subcommands?
I am developing an web app with Go. So far so good, but now I am integrating Wercker as a CI tool and started caring about testing. But my app relies heavily on Cobra/Viper configuration/flags/environment_variables scheme, and I do not know how to properly init Viper values before running my test suite. Any help would be much appreciated.
go - viper yaml 配置序列
我正在尝试使用 viper 读取 yaml 配置文件(请参阅 viper 文档)。但是我看不到在问题类型下读取地图值序列的方法。我尝试了各种 Get_ 方法,但似乎没有一个支持这一点。
我希望能够遍历 map[strings] 的序列
go - Config file masks
We deploy services as docker containers using Marathon. The containers include a base config file, Marathon pulls an environment config file (which has a subset of the base keys) at deployment time so when the app starts it has;
- environment.toml
- config.toml
when reading the config we need to conflate the values in both files to a single set, effectively masking/shadowing the values present in both files with those in the environment file.
I didn't find this functionality in the Viper docs. Unless I have missed something it seems my options are;
- Write a package that uses Viper to read both files and perform the conflation.
- Extend Viper
Before I start writing code, is there already a mechanism for doing this?
go - 带有 cobra 和 viper 的配置文件
基本信息:我创建了一个 go 应用程序并使用了 Cobra。Cobra 将 Viper 用于命令行参数和标志。
我有一个带有标志绑定的命令监听,我想在 yaml 文件中配置它。
代码:
listen 命令的 init 函数如下所示:
我的应用程序代码位于https://github.com/sascha-andres/go-logsink
问题:
当我调用应用程序listen --bind "bla"
并将标志正确设置为 时bla
,但我还没有找到使用位于我的主目录中的 YAML 文件来实现此目的的方法。
配置文件尝试:
和
在这两种情况下,都找到了配置文件,但标志不是预期值而是默认值。
如何编写配置文件才能正确填充标志?
go - 将嵌套配置 Yaml 映射到结构
我是新手,我正在使用 viper 加载我的所有配置,目前我拥有的是 YAML,如下所示
请注意,国家代码是动态的,可以随时为任何国家添加。那么我如何将其映射到从技术上讲我可以做到的结构
我尝试通过循环自己构建它,但我被困在这里
go - 如何使用 golang viper Watchconfig & onConfigChange
我正在尝试使用 golang viper 读取我的应用程序配置,并希望始终读取最新配置。请在下面找到我的代码
配置文件
main.go
当主程序运行时,我尝试更新配置并希望看到 OnConfigChange 日志消息,但它从未出现。
我该如何修复这个程序?
有人可以提供一个使用 viper watchconfig 和 onconfigchange 方法来读取最新配置的例子吗