diff --git a/terraform-unity/modules/terraform-unity-sps-airflow/main.tf b/terraform-unity/modules/terraform-unity-sps-airflow/main.tf
index 3900926..bc1827e 100644
--- a/terraform-unity/modules/terraform-unity-sps-airflow/main.tf
+++ b/terraform-unity/modules/terraform-unity-sps-airflow/main.tf
@@ -820,6 +820,31 @@ resource "aws_ssm_parameter" "airflow_api_url" {
})
}
+resource "aws_ssm_parameter" "unity_proxy_airflow_ui" {
+ name = format("/%s", join("/", compact(["unity", var.project, var.venue, "cs", "management", "proxy", "configurations", "015-sps-airflow-ui"])))
+ description = "The unity-proxy configuration for the Airflow UI."
+ type = "String"
+ value = <<-EOT
+
+
+ ProxyPassReverse "/"
+
+
+ ProxyPassMatch "http://${data.kubernetes_ingress_v1.airflow_ingress.status[0].load_balancer[0].ingress[0].hostname}:5000"
+ ProxyPreserveHost On
+ FallbackResource /management/index.html
+ AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html
+ Substitute "s|\"/(?!sps/)([^\"]+)|\"/sps/$1|q"
+
+
+EOT
+ tags = merge(local.common_tags, {
+ Name = format(local.resource_name_prefix, "httpd-proxy-config-airflow")
+ Component = "SSM"
+ Stack = "SSM"
+ })
+}
+
resource "aws_ssm_parameter" "airflow_logs" {
name = format("/%s", join("/", compact(["", var.project, var.venue, var.service_area, var.deployment_name, local.counter, "processing", "airflow", "logs"])))
description = "The name of the S3 bucket for the Airflow logs."
@@ -1249,3 +1274,9 @@ resource "aws_lambda_event_source_mapping" "lambda_airflow_dag_trigger" {
function_name = aws_lambda_function.airflow_dag_trigger.arn
batch_size = 1
}
+
+resource "aws_lambda_invocation" "unity_proxy_lambda_invocation" {
+ depends_on = [aws_ssm_parameter.unity_proxy_airflow_ui]
+ function_name = "${var.project}-${var.venue}-httpdproxymanagement"
+ input = "{}"
+}