ADR009 实体引用
背景
虽然目录文件格式的规范在ADR002对于如何在Backstage前台的 URL 中引用实体,也存在一些困惑。
讨论之后第 1947 期于是做出了决定。
YAML 文件中的实体引用
由人类书写的引用实体名称的文本格式如下,方括号表示可选项:
[<kind>:][<namespace>/]<name>
也就是说,它是由一到三个部分组成的,按照特定的顺序,没有任何额外的编码,并带有这些确切的分隔符。 可选性kind
和namespace
是与上下文相关的,它们可能有也可能没有默认的上下文回退值。
如果这种格式不够,或者机器制造的交换格式希望以更富表现力的形式表达这种关系,则可以使用下面这种嵌套结构:
kind: <kind>
namespace: <namespace>
name: <name>
其中只有name
的可选性kind
和namespace
该结构中所有其他可能的键值都保留给将来使用。
如果系统或用户希望表达一个始终有效的完整实体名称,则无论使用字符串形式还是复合形式,都应提供整个三元组。
有关格式的完整说明,请参见在文档中.
##URL中的实体引用
在Backstage前台以名称引用实体时,包含引用的 URL 应采用以下形式:
:namespace/:kind/:name
这三个部分在任何情况下都是必需的。namespace
目录中的字符串是"default"
如果实体没有在metadata.namespace
.
这意味着我们不鼓励将实体引用的字符串形式用作单个 URL 段,因为使用 URL 不安全字符可能会导致风险、混乱和更难看的 URL。