![](/img/trans.png)
[英]AWS Lambda not updating using Terraform source_code_hash property
[英]Best way to use Git repository as an AWS Lambda source within Terraform?
我正在與 Terraform 一起使用 API 網關和 DynamoDB 配置 AWS Lambda,對於我使用私有存儲庫的基礎設施和 Lambda 代碼源,我使用不同的私有存儲庫。
經過研究,我已經找到了一種下載源代碼以在 Terraform 中使用的方法:
locals {
package_url = "https://github.com/.../main.zip"
downloaded = "downloaded_package_${md5(local.package_url)}.zip"
lambda_src_path = "${path.module}/lambda"
}
resource "null_resource" "download_package" {
triggers = {
downloaded = local.downloaded
}
provisioner "local-exec" {
command = "curl -L -o ${local.downloaded} ${local.package_url}"
}
}
如果回購是公開的,這會很好用,否則解決方案將使用:
curl -H 'Authorization: token TOKEN' \
-H 'Accept: application/vnd.github.v3.raw' \
-O \
-L https://api.github.com/repos/owner/repo/contents/path
我想問一下實現該目標的最佳解決方案是什么,也許是使用 Terraform 存儲庫中的 .env 數據。
謝謝
不要將秘密存儲在 .env 文件中,因為它們將成為回購協議的一部分並且有被泄露的風險。 你永遠不應該在回購中存儲秘密。 解決方案取決於您實際托管存儲庫的位置。 但是所有提供者都支持以一種或另一種方式存儲秘密。
例如 github 有https://docs.github.com/en/actions/security-guides/encrypted-secrets
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.