我正在尝试为我的Vue / Firebase项目设置多个环境。我有两个Firebase项目1.)Dev 2.)Prod该项目利用Stripe Extension从自动生成的文件中提取API密钥,该文件名为:firestore-stripe-payments.env
其包含:
STRIPE_API_KEY=projects/${param:PROJECT_NUMBER}/secrets/firestore-stripe-payments-STRIPE_API_KEY-xxxx/versions/latest
其中xxxx是一个随机的4字符串。
该行从Google Secret Manager中提取密钥的值。
假设Dev是“dddd”,而Prod是:“pppp”
问题是我只能定义其中一个:
firestore-stripe-payments-STRIPE_API_KEY-dddd
或
firestore-stripe-payments-STRIPE_API_KEY-pppp
起初,我试图在Google Secret Manager中创建一个新值,简单地称为:
firestore-stripe-payments-STRIPE_API_KEY
我们的想法是,这应该是一个简单的修复,它将为当前正在使用的项目拉取关联的API_KEY。
但这会导致错误:
Error: firestore-stripe-payments: Found 'projects/foo/secrets/firestore-stripe-payments-STRIPE_API_KEY/versions/latest' for secret param STRIPE_API_KEY, but this instance was previously using a different secret projects/fooo/secrets/firestore-stripe-payments-STRIPE_API_KEY-dddd.
Changing secrets is not supported. If you want to change the value of this secret, use a new version of projects/foo/secrets/firestore-stripe-payments-STRIPE_API_KEY-dddd.You can create a new version at https://console.cloud.google.com/security/secret-manager?project=fooo
Also, if there is a better place to ask this question please let me know, couldn't find the 'right' room
1条答案
按热度按时间jgwigjjp1#
对于此场景,是否可以使用以下准则包含一个单独的env(
env.dev
)文件为了为每个环境生成单独的密钥,我相信从您的示例中,您在单个项目中使用了单个
Stripe Extension
。Firebase扩展可以支持每个项目的多个扩展示例,这将创建一个单独的“dev”密码供您使用。
此外,建议使用另一个带有“Stripe Extension”安装的单独Firebase项目来分离开发中的任何问题。