LinusU / LinusU/scandium

Document required IAM policy for deploying

Open
#62 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
71
Forks
8
PR merge metrics
No merged PRs in 30d

Description

This is what I used for setting this up via Terraform, we should add this somewhere in a nice format:


data "aws_iam_policy_document" "github_api_deploy" {
  statement {
    actions = [
      "lambda:InvokeFunction",
      "lambda:UpdateFunctionCode",
      "lambda:UpdateFunctionConfiguration",
    ]

    resources = [data.aws_lambda_function.api_test.arn]
  }

  // Everything below here is only needed when NOT specifying --no-api-gateway

  statement {
    actions   = ["lambda:AddPermission"]
    resources = ["${data.aws_lambda_function.api_test.arn}:*"]
  }

  // This is only needed when NOT specifying --rest-api-id=
  statement {
    actions   = ["apigateway:GET"]
    resources = ["arn:aws:apigateway:eu-west-1::/restapis"]
  }

  statement {
    actions   = ["apigateway:PUT"]
    resources = [data.aws_api_gateway_rest_api.api_test.arn]
  }

  statement {
    actions   = ["apigateway:POST"]
    resources = ["${data.aws_api_gateway_rest_api.api_test.arn}/deployments"]
  }
}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the repository's existing deployment or AWS documentation, since the issue does not name a target file or section. Add the supplied Terraform IAM policy in a clear format, preserving the notes about --no-api-gateway and --rest-api-id; done means deployers can identify the required permissions and when each is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, terraform
Domain
cloud, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.