我的具体情况是获取存储在 environment.yaml 中的 amazon EC2 身份验证信息。
我知道最近的 Juju 版本中提供了 get-constraints 命令。可以使用它来访问此信息吗?
答案1
尝试将您需要的信息作为 charm 的配置参数传递。
为此,您需要:
在 charm 的 config.yaml 文件中添加参数名称
可以将键作为
--config
命令的一部分传递juju deploy
,或者使用juju set
命令config-get
使用命令从 charm hooks 读取密钥
答案2
目前您无法访问环境变量。如果您的 charm 需要身份验证信息,您需要将其添加为该 Charm 的配置选项(Charms 应设计为部署在所有堆栈上,因此并非每个提供商都会有类似 ec2-authentication 密钥的东西)。如果您的 charm 需要 AWS 服务,请考虑使用类似下面的配置公开这些服务:
options:
aws-public-key:
type: string
default: ""
description: Amazon Public Key for S3
aws-secret-key:
type: string
default: ""
description: Amazon Secret Key for S3
s3-bucket:
type: string
default: ""
description: Amazon S3 Bucket
因此,这些将使用命令进行设置juju set
,并可通过 config_changed 钩子获取config-get