Skip to content

Commit bd1879d

Browse files
committed
fix: define user agent
1 parent 32f3ad6 commit bd1879d

File tree

14 files changed

+30
-1
lines changed

14 files changed

+30
-1
lines changed

examples/default/main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ module "runners" {
9898
}
9999

100100
# Enable debug logging for the lambda functions
101-
# log_level = "debug"
101+
log_level = "debug"
102102

103103
# tracing_config = {
104104
# mode = "Active"

lambdas/functions/control-plane/src/github/auth.ts

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export async function createOctokitClient(token: string, ghesApiUrl = ''): Promi
2929

3030
return new CustomOctokit({
3131
...ocktokitOptions,
32+
userAgent: process.env.USER_AGENT || 'aws-github-runner',
3233
throttle: {
3334
onRateLimit: (retryAfter: number, options: Required<EndpointDefaults>) => {
3435
logger.warn(

main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ module "runners" {
256256

257257
ghes_url = var.ghes_url
258258
ghes_ssl_verify = var.ghes_ssl_verify
259+
user_agent = var.user_agent
259260

260261
kms_key_arn = var.kms_key_arn
261262

modules/multi-runner/runners.tf

+1
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ module "runners" {
102102

103103
ghes_url = var.ghes_url
104104
ghes_ssl_verify = var.ghes_ssl_verify
105+
user_agent = var.user_agent
105106

106107
kms_key_arn = var.kms_key_arn
107108

modules/multi-runner/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -671,3 +671,9 @@ variable "eventbridge" {
671671

672672
default = {}
673673
}
674+
675+
variable "user_agent" {
676+
description = "User agent used for API calls by lambda functions."
677+
type = string
678+
default = "aws-github-runner"
679+
}

modules/runners/job-retry/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ locals {
77
ENABLE_METRIC_JOB_RETRY = var.config.metrics.enable && var.config.metrics.metric.enable_job_retry
88
ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = var.config.metrics.enable && var.config.metrics.metric.enable_github_app_rate_limit
99
GHES_URL = var.config.ghes_url
10+
USER_AGENT = var.config.user_agent
1011
JOB_QUEUE_SCALE_UP_URL = var.config.sqs_build_queue.url
1112
PARAMETER_GITHUB_APP_ID_NAME = var.config.github_app_parameters.id.name
1213
PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.config.github_app_parameters.key_base64.name

modules/runners/job-retry/variables.tf

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ variable "config" {
88
`enable_organization_runners`: Enable organization runners.
99
`enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
1010
'ghes_url': Optional GitHub Enterprise Server URL.
11+
'user_agent': Optional User-Agent header for GitHub API requests.
1112
'github_app_parameters': Parameter Store for GitHub App Parameters.
1213
'kms_key_arn': Optional CMK Key ARN instead of using the default AWS managed key.
1314
`lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
@@ -39,6 +40,7 @@ variable "config" {
3940
enable_organization_runners = bool
4041
environment_variables = optional(map(string), {})
4142
ghes_url = optional(string, null)
43+
user_agent = optional(string, null)
4244
github_app_parameters = object({
4345
key_base64 = map(string)
4446
id = map(string)

modules/runners/pool.tf

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module "pool" {
99
ssl_verify = var.ghes_ssl_verify
1010
url = var.ghes_url
1111
}
12+
user_agent = var.user_agent
1213
github_app_parameters = var.github_app_parameters
1314
instance_allocation_strategy = var.instance_allocation_strategy
1415
instance_max_spot_price = var.instance_max_spot_price

modules/runners/pool/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ resource "aws_lambda_function" "pool" {
2323
ENABLE_JIT_CONFIG = var.config.runner.enable_jit_config
2424
ENVIRONMENT = var.config.prefix
2525
GHES_URL = var.config.ghes.url
26+
USER_AGENT = var.config.user_agent
2627
INSTANCE_ALLOCATION_STRATEGY = var.config.instance_allocation_strategy
2728
INSTANCE_MAX_SPOT_PRICE = var.config.instance_max_spot_price
2829
INSTANCE_TARGET_CAPACITY_TYPE = var.config.instance_target_capacity_type

modules/runners/pool/variables.tf

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ variable "config" {
6464
ami_id_ssm_parameter_read_policy_arn = string
6565
arn_ssm_parameters_path_config = string
6666
lambda_tags = map(string)
67+
user_agent = string
6768
})
6869
}
6970

modules/runners/scale-down.tf

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ resource "aws_lambda_function" "scale_down" {
2525
ENVIRONMENT = var.prefix
2626
ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = var.metrics.enable && var.metrics.metric.enable_github_app_rate_limit
2727
GHES_URL = var.ghes_url
28+
USER_AGENT = var.user_agent
2829
LOG_LEVEL = var.log_level
2930
MINIMUM_RUNNING_TIME_IN_MINUTES = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
3031
NODE_TLS_REJECT_UNAUTHORIZED = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1

modules/runners/scale-up.tf

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ resource "aws_lambda_function" "scale_up" {
3434
ENABLE_ORGANIZATION_RUNNERS = var.enable_organization_runners
3535
ENVIRONMENT = var.prefix
3636
GHES_URL = var.ghes_url
37+
USER_AGENT = var.user_agent
3738
INSTANCE_ALLOCATION_STRATEGY = var.instance_allocation_strategy
3839
INSTANCE_MAX_SPOT_PRICE = var.instance_max_spot_price
3940
INSTANCE_TARGET_CAPACITY_TYPE = var.instance_target_capacity_type

modules/runners/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -733,3 +733,9 @@ variable "job_retry" {
733733
error_message = "The maxium message delay for SWS is 900 seconds."
734734
}
735735
}
736+
737+
variable "user_agent" {
738+
description = "User agent used for API calls."
739+
type = string
740+
default = null
741+
}

variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -952,3 +952,9 @@ EOF
952952

953953
default = {}
954954
}
955+
956+
variable "user_agent" {
957+
description = "User agent used for API calls by lambda functions."
958+
type = string
959+
default = "aws-github-runner"
960+
}

0 commit comments

Comments
 (0)