afb6d5185d
Feature/lesser table caching refactor hybrid * chore: Remove unused duplicate main.py from shared pipeline * fix: Correct crosswalk paths in aarete_derived.py * chore: Remove unused documentation files from fieldExtraction * docs: Add documentation files to documentation folder * docs: Update README with uv setup, expanded project structure, and branching conventions * docs: Add uv installation steps with Ubuntu/WSL emphasis * Enable prompt caching for all remaining LLM calls - Add _INSTRUCTION() functions for: EXHIBIT_HEADER, EXHIBIT_LINKAGE, EXHIBIT_TITLE_MATCH, DATE_FIX, DERIVED_TERM_DATE, CHECK_PROVIDER_NAME_MATCH, SPECIAL_CASE_ASSIGNMENT - Update all invoke_claude() calls in saas and clover pipelines to use cache=True with corresponding _INSTRUCTION() functions - Add new instructions to get_cacheable_instructions() for cache warming - Update tests for new instruction functions Functions now using caching: - prompt_exhibit_level - prompt_exhibit_lesser (EXHIBIT_LEVEL_LESSER_OF) - prompt_fee_schedule_breakout - prompt_grouper_breakout - prompt_special_case_assignment - prompt_exhibit_linkage - prompt_exhibit_header - prompt_smart_chunked (ONE_TO_ONE templates) - prompt_date_fix - prompt_derived_term_date - prompt_exhibit_title_match - provider_name_match_check 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Reorder * feat: Add bcbs_promise client pipeline with OFFSET_TERM extraction - Add new bcbs_promise client with HSC-based OFFSET_TERM field extraction - Extract full paragraph text of offset/recoupment provisions from contracts - Derive OFFSET_INDICATOR (Y/N) from OFFSET_TERM presence - Fix reorder_columns to preserve extra columns not in COLUMN_ORDER - Update QC/QA output path to outputs/qc_qa/ * fix: Update dev deps and test assertions for QC/QA output path - Add pytest/pytest-mock to dev dependencies for mypy type checking - Update test assertions to expect outputs/qc_qa instead of qa_qc_output * style: Apply black formatting to prompt_templates.py * Merge main, move scripts * Archive some scripts * update py version * remove .py version file * Remove ASCII characters * Restore testbed code * restore tracking * Update testbed metrics * Enable prompt caching for CODE_LAST_CHECK, FILL_BILL_TYPE, DUAL_LOB_CHECK, and GROUPER_BREAKOUT - Add CODE_LAST_CHECK_INSTRUCTION() for service specificity classification - Add FILL_BILL_TYPE_INSTRUCTION() for bill type code determination - Add DUAL_LOB_CHECK_INSTRUCTION() for Medicare/Medicaid classification - Update code_funcs.py to use caching for CODE_LAST_CHECK, FILL_BILL_TYPE, GROUPER_BREAKOUT - Update postprocessing_funcs.py to use caching for DUAL_LOB_CHECK - Add new instructions to get_cacheable_instructions() for cache warming - Add unit tests for new instruction functions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix postprocessing_funcs to remove invalid columns * Merge branch 'main' into feature/lesser-table-caching-refactor-hybrid * Revert prompt caching changes from aed1b73c * update formatting * Update imports Approved-by: Sha Brown Approved-by: Praneel Panchigar
197 lines
5.1 KiB
Terraform
197 lines
5.1 KiB
Terraform
resource "aws_lb" "app_lb" {
|
|
name = "${local.global_prefix}-load-balancer"
|
|
internal = true
|
|
load_balancer_type = "application"
|
|
security_groups = [aws_security_group.lb_sg.id]
|
|
subnets = data.aws_subnets.subnets.ids # Referencing the subnet ID from the data source
|
|
enable_deletion_protection = false
|
|
}
|
|
|
|
|
|
# TARGET GROUP FOR ALL PORTS
|
|
resource "aws_lb_target_group" "app_tg_8500" {
|
|
name = "app-target-group-8500"
|
|
port = 8500
|
|
protocol = "HTTP"
|
|
vpc_id = var.vpc_id
|
|
|
|
health_check {
|
|
path = "/"
|
|
interval = 30
|
|
timeout = 5
|
|
healthy_threshold = 5
|
|
unhealthy_threshold = 2
|
|
matcher = "200"
|
|
port = 8500
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_target_group" "app_tg_8501" {
|
|
name = "app-target-group-8501"
|
|
port = 8501
|
|
protocol = "HTTP"
|
|
vpc_id = var.vpc_id
|
|
|
|
health_check {
|
|
path = "/"
|
|
interval = 30
|
|
timeout = 5
|
|
healthy_threshold = 5
|
|
unhealthy_threshold = 2
|
|
matcher = "200"
|
|
port = 8501
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_target_group" "app_tg_8502" {
|
|
name = "app-target-group-8502"
|
|
port = 8502
|
|
protocol = "HTTP"
|
|
vpc_id = var.vpc_id
|
|
|
|
health_check {
|
|
path = "/"
|
|
interval = 30
|
|
timeout = 5
|
|
healthy_threshold = 5
|
|
unhealthy_threshold = 2
|
|
matcher = "200"
|
|
port = 8502
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_target_group" "app_tg_8503" {
|
|
name = "app-target-group-8503"
|
|
port = 8503
|
|
protocol = "HTTP"
|
|
vpc_id = var.vpc_id
|
|
|
|
health_check {
|
|
path = "/"
|
|
interval = 30
|
|
timeout = 5
|
|
healthy_threshold = 5
|
|
unhealthy_threshold = 2
|
|
matcher = "200"
|
|
port = 8503
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_target_group" "app_tg_8505" {
|
|
name = "app-target-group-8505"
|
|
port = 8505
|
|
protocol = "HTTP"
|
|
vpc_id = var.vpc_id
|
|
|
|
health_check {
|
|
path = "/"
|
|
interval = 30
|
|
timeout = 5
|
|
healthy_threshold = 5
|
|
unhealthy_threshold = 2
|
|
matcher = "200"
|
|
port = 8505
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# Attach the target group to the listener
|
|
resource "aws_lb_target_group_attachment" "app_instance_8500" {
|
|
target_group_arn = aws_lb_target_group.app_tg_8500.arn
|
|
target_id = aws_instance.streamlit_server.id
|
|
port = 8500
|
|
}
|
|
|
|
resource "aws_lb_target_group_attachment" "app_instance_8501" {
|
|
target_group_arn = aws_lb_target_group.app_tg_8501.arn
|
|
target_id = aws_instance.streamlit_server.id
|
|
port = 8501
|
|
}
|
|
|
|
resource "aws_lb_target_group_attachment" "app_instance_8502" {
|
|
target_group_arn = aws_lb_target_group.app_tg_8502.arn
|
|
target_id = aws_instance.streamlit_server.id
|
|
port = 8502
|
|
}
|
|
|
|
resource "aws_lb_target_group_attachment" "app_instance_8503" {
|
|
target_group_arn = aws_lb_target_group.app_tg_8503.arn
|
|
target_id = aws_instance.streamlit_server.id
|
|
port = 8503
|
|
}
|
|
|
|
resource "aws_lb_target_group_attachment" "app_instance_8505" {
|
|
target_group_arn = aws_lb_target_group.app_tg_8505.arn
|
|
target_id = aws_instance.streamlit_server.id
|
|
port = 8505
|
|
}
|
|
|
|
|
|
# Update listener rules
|
|
resource "aws_lb_listener" "https_8500" {
|
|
load_balancer_arn = aws_lb.app_lb.arn
|
|
port = "8500"
|
|
protocol = "HTTPS"
|
|
ssl_policy = "ELBSecurityPolicy-2016-08"
|
|
# Using variable for ARN
|
|
certificate_arn = lookup(var.acm_arns, var.environment)
|
|
|
|
|
|
default_action {
|
|
type = "forward"
|
|
target_group_arn = aws_lb_target_group.app_tg_8500.arn
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_listener" "https_8501" {
|
|
load_balancer_arn = aws_lb.app_lb.arn
|
|
port = "8501"
|
|
protocol = "HTTPS"
|
|
ssl_policy = "ELBSecurityPolicy-2016-08"
|
|
certificate_arn = lookup(var.acm_arns, var.environment)
|
|
|
|
default_action {
|
|
type = "forward"
|
|
target_group_arn = aws_lb_target_group.app_tg_8501.arn
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_listener" "https_8502" {
|
|
load_balancer_arn = aws_lb.app_lb.arn
|
|
port = "8502"
|
|
protocol = "HTTPS"
|
|
ssl_policy = "ELBSecurityPolicy-2016-08"
|
|
certificate_arn = lookup(var.acm_arns, var.environment)
|
|
|
|
default_action {
|
|
type = "forward"
|
|
target_group_arn = aws_lb_target_group.app_tg_8502.arn
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_listener" "https_8503" {
|
|
load_balancer_arn = aws_lb.app_lb.arn
|
|
port = "8503"
|
|
protocol = "HTTPS"
|
|
ssl_policy = "ELBSecurityPolicy-2016-08"
|
|
certificate_arn = lookup(var.acm_arns, var.environment)
|
|
|
|
default_action {
|
|
type = "forward"
|
|
target_group_arn = aws_lb_target_group.app_tg_8503.arn
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_listener" "https_8505" {
|
|
load_balancer_arn = aws_lb.app_lb.arn
|
|
port = "8505"
|
|
protocol = "HTTPS"
|
|
ssl_policy = "ELBSecurityPolicy-2016-08"
|
|
certificate_arn = lookup(var.acm_arns, var.environment)
|
|
|
|
default_action {
|
|
type = "forward"
|
|
target_group_arn = aws_lb_target_group.app_tg_8505.arn
|
|
}
|
|
} |