我的团队<team-1>正在与 共享 github 存储库<team-2>。该存储库看起来像这样(简化示例):
infrastructure/
|
|-- .github/CODEOWNERS
|
|-- directory1/
|
|-- subdirectory1.1/
|
|-- subdirectory1.2/
|
|-- directory2/
|
|-- subdirectory2.1/
|
|-- subdirectory2.2/
|
|-- directory3/
|
|-- subdirectory3.1/
|
|-- subdirectory3.2/
Run Code Online (Sandbox Code Playgroud)
<team-2>是存储库中每个目录的 CODEOWNER,我的团队<team-1>仅拥有subdirectory1.1和subdirectory2.1.
换句话说,CODEOWNERS 文件看起来像这样:
github/代码所有者
* @mycompany/team2
/infrastructure/directory1/subdirectory1.1 @mycompany/team1
/infrastructure/directory2/subdirectory2.1 @mycompany/team1
Run Code Online (Sandbox Code Playgroud)
鉴于上述情况,我想要做的是team2从 team1 拥有的每个文件夹中排除,最好不要删除 codeowners 文件中的通配符。
* @mycompany/team2
/infrastructure/directory1/subdirectory1.1 @mycompany/team1 AND EXCLUDE TEAM2
/infrastructure/directory2/subdirectory2.1 @mycompany/team1 AND EXCLUDE TEAM2
Run Code Online (Sandbox Code Playgroud)
在不重写整个代码所有者逻辑的情况下,最好的方法是什么?
我的公司有 2 个 AWS 账户。首先(我们称之为游乐场),我拥有完全的管理权限。在第二个(我们称之为生产)我有有限的 IAM 权限
我在两个账户上都启用了 AWS Config(使用附录中的 terraform 文件)。
我最初怀疑这可能是 IAM 角色权限问题。
例如跑步
aws configservice list-discovered-resources --resource-type AWS::EC2::SecurityGroup --profile playground
给了我一个由 AWS Config 在操场上发现的安全组列表(几乎是我在控制台仪表板上看到的)。
另一方面:
aws configservice list-discovered-resources --resource-type AWS::EC2::SecurityGroup --profile production返回一个空列表(虽然有安全组。与其他类型相同的结果,例如AWS::EC2::Instance)
{
"resourceIdentifiers": []
}
Run Code Online (Sandbox Code Playgroud)
由于 IAM 角色确实有权进行描述 API 调用,因此我放弃了 IAM 权限怀疑。有用。只是它返回null。
可能是 AWS Config 角色AWSServiceRoleForConfig吗?它没有任何意义。由于这是一个服务相关角色,它默认应具有所有必需的权限。(不过会在帖子末尾附加政策)
现在奇怪的部分:
我的规则验证了一些资源(例如 EFS),但抛出此消息: The specified resource is either unknown or has not been discovered.
我仍然怀疑这可能是 IAM 问题,但我无法弄清楚发生了什么。我已经为此苦苦挣扎了好几天,我真的可以在这里使用一些帮助。
根据官方文档:
AWS …
amazon-web-services amazon-iam cloud-security terraform-provider-aws aws-config
令我惊讶的是,还没有人问过这个问题,但到底是什么deployment.apps?
我经常在命令中看到它,例如
kubectl rollout pause deployment.apps/nginx-deployment
Run Code Online (Sandbox Code Playgroud)
甚至可以互换使用关键字deployments:
kubectl get deployments=kubectl get deployment.apps
我不明白它表明什么。即使在K8 的官方文档中,他们也只是想当然地认为读者理解这个术语。
有人可以向我解释一下吗?