File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ resource "aws_iam_policy" "secret_manager_read_secret" {
112112 Effect = " Allow"
113113 Resource = [
114114 var.fernet_key_ssm_arn,
115+ var.jwt_secret_ssm_arn,
115116 var.sql_alchemy_conn_ssm_arn,
116117 var.celery_result_backend_ssm_arn
117118 ]
Original file line number Diff line number Diff line change @@ -36,6 +36,9 @@ variable "airflow_task_common_environment" {
3636# Allow ECS services to read secrets from AWS Secret Manager.
3737variable "fernet_key_ssm_arn" {
3838
39+ }
40+
41+ variable "jwt_secret_ssm_arn" {
3942}
4043variable "sql_alchemy_conn_ssm_arn" {
4144}
Original file line number Diff line number Diff line change @@ -42,6 +42,10 @@ locals {
4242 name = " AIRFLOW__CORE__FERNET_KEY_SECRET"
4343 value = substr (module. secrets . fernet_key_name , length (var. prefix ) + 16 , - 1 )
4444 },
45+ {
46+ name = " AIRFLOW__API_AUTH__JWT_SECRET_SECRET"
47+ value = substr (module. secrets . jwt_secret_name , length (var. prefix ) + 16 , - 1 )
48+ },
4549 {
4650 name = " AIRFLOW__CELERY__RESULT_BACKEND_SECRET"
4751 value = substr (module. secrets . celery_result_backend_name , length (var. prefix ) + 16 , - 1 )
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ module "secrets" {
3939 db_port = var. airflow_db . port
4040 db_username = var. airflow_db . username
4141 fernet_key = var. fernet_key
42+ jwt_secret = var. jwt_secret
4243 prefix = var. prefix
4344 airflow_admin_username = var. airflow_admin_username
4445 airflow_admin_password = var. airflow_admin_password
@@ -79,6 +80,7 @@ module "ecs_services" {
7980 airflow_bucket_arn = data. aws_s3_bucket . airflow_bucket . arn
8081 celery_result_backend_ssm_arn = module. secrets . celery_result_backend_arn
8182 fernet_key_ssm_arn = module. secrets . fernet_key_arn
83+ jwt_secret_ssm_arn = module. secrets . jwt_secret_arn
8284 permission_boundaries_arn = var. permission_boundaries_arn
8385 sql_alchemy_conn_ssm_arn = module. secrets . sql_alchemy_conn_arn
8486 sqs_arns_list = concat (var. sqs_arns_list , [module . sqs_queue . celery_broker_arn ])
Original file line number Diff line number Diff line change @@ -8,6 +8,15 @@ resource "aws_secretsmanager_secret_version" "fernet_key" {
88 secret_string = var. fernet_key
99}
1010
11+ resource "aws_secretsmanager_secret" "jwt_secret" {
12+ name_prefix = " ${ var . prefix } /airflow/config/jwt_secret/"
13+ }
14+
15+ resource "aws_secretsmanager_secret_version" "jwt_secret" {
16+ secret_id = aws_secretsmanager_secret. jwt_secret . id
17+ secret_string = var. jwt_secret
18+ }
19+
1120# Store core.sql_alchemy_conn setting for consumption by airflow SecretsManagerBackend.
1221# The config options must follow the config prefix naming convention defined within the secrets backend.
1322# This means that sql_alchemy_conn is not defined with a connection prefix, but with "config" prefix.
Original file line number Diff line number Diff line change @@ -25,6 +25,14 @@ output "sql_alchemy_conn_arn" {
2525output "fernet_key_arn" {
2626 value = aws_secretsmanager_secret. fernet_key . arn
2727}
28+
29+ output "jwt_secret_name" {
30+ value = aws_secretsmanager_secret. jwt_secret . name
31+ }
32+
33+ output "jwt_secret_arn" {
34+ value = aws_secretsmanager_secret. jwt_secret . arn
35+ }
2836output "airflow_secrets" {
2937 value = aws_secretsmanager_secret. airflow_secrets . name
3038}
Original file line number Diff line number Diff line change @@ -18,6 +18,10 @@ variable "prefix" {
1818
1919variable "fernet_key" {
2020}
21+
22+ variable "jwt_secret" {
23+ sensitive = true
24+ }
2125variable "airflow_admin_username" {
2226
2327}
Original file line number Diff line number Diff line change @@ -51,6 +51,12 @@ variable "airflow_db" {
5151variable "fernet_key" {
5252}
5353
54+ variable "jwt_secret" {
55+ description = " Symmetric secret for signing Airflow 3 component JWTs (api_auth.jwt_secret). Required for multi-worker api-server. Generate with `openssl rand -hex 32`."
56+ type = string
57+ sensitive = true
58+ }
59+
5460variable "permission_boundaries_arn" {
5561 default = " null"
5662}
You can’t perform that action at this time.
0 commit comments