对 Istio 来说相对较新,并且对 Istio 有疑问。假设我想根据路径重写 URI,但在重写中使用原始 uri 的一部分,我可以用 Regex 做些什么吗?我在想象这样的事情
http:
- match:
- uri:
regex: ^/(.*\s*)?(canary)(.*)?$
rewrite:
prefix: "/$1"
Run Code Online (Sandbox Code Playgroud)
其中 $1 将是 uri 正则表达式上的匹配组。这样的事情可能吗?
假设我们有两个Yaml文件
master.yaml
someProperty: "someVaue"
anotherProperty: "anotherValue"
Run Code Online (Sandbox Code Playgroud)
overlay.yaml
someProperty: "overriddenVaue"
Run Code Online (Sandbox Code Playgroud)
是否可以解组,合并然后将这些更改写入文件,而不必为structyaml文件中的每个属性定义一个?
主文件中包含500多个属性,这些属性在执行时对服务而言根本不重要,因此理想情况下,我可以解组到地图中,进行合并并再次用yaml写出来,但是我我去的比较新,所以想要一些意见。
我有一些代码可以将Yaml读入,interface但是我不确定将两者合并的最佳方法。
var masterYaml interface{}
yamlBytes, _ := ioutil.ReadFile("master.yaml")
yaml.Unmarshal(yamlBytes, &masterYaml)
var overrideYaml interface{}
yamlBytes, _ = ioutil.ReadFile("override.yaml")
yaml.Unmarshal(yamlBytes, &overrideYaml)
Run Code Online (Sandbox Code Playgroud)
我已经研究过像mergo这样的库,但是我不确定这是否是正确的方法。
我希望在主人之后我可以写出带有属性的文件
someProperty: "overriddenVaue"
anotherProperty: "anotherValue"
Run Code Online (Sandbox Code Playgroud)