盐态执行命令

Salt state execution order

我的顶级文件是这样的。

base: 'G@roles:docker': - states/docker 'G@roles:sb-monolith-ecr': - states/aws-ecr-logged-in - states/sb-monolith-ecr 'G@roles:web-applications-ecr': - states/aws-ecr-logged-in - states/web-applications-ecr

aws-ecr-loggin-in 状态:

aws-erc-logged-in: cmd.run: - name: $(aws ecr get-login --region={{ pillar['aws']['region'] }})

我希望登录状态触发一次,并且在需要对 AWS ECR 进行身份验证的状态之前触发。今天,当我刷新我的 minions 时,其中一些有身份验证错误。确保登录命令在正确时间为 运行 的最佳方法是什么?

我认为如果您使用 require 来确保您在任何其他需要身份验证的状态之前登录会更好。此外,如果登录命令中存在错误,则依赖于它的任何状态都不会执行,这将使您在这种情况下不会收到身份验证错误。 在您的情况下,您需要一个名为 aws-ecr-logged-in 的 SLS 你怎么看?