Skip to content

Conversation

@axel-ippon
Copy link
Contributor

@axel-ippon axel-ippon commented Jan 7, 2026

Purpose of this PR

Introduces Keycloak authentication service as a containerized Fargate task with dedicated database setup and automated provisioning through a new Lambda function (DB is provisioned inside the backend RDS instance for FinOps)

Establishes secure database connections with proper user roles and permissions, updates network security groups to allow inter-service communication, and configures Route53 DNS routing for the auth subdomain.

Reference issues or tasks

#306

@axel-ippon axel-ippon force-pushed the feature/add-keycloak branch 3 times, most recently from bbbf4e7 to 4512870 Compare January 7, 2026 15:15
Introduces Keycloak authentication service as a containerized Fargate task with dedicated database setup and automated provisioning through a new Lambda function.

Establishes secure database connections with proper user roles and permissions, updates network security groups to allow inter-service communication, and configures Route53 DNS routing for the auth subdomain.
@axel-ippon axel-ippon force-pushed the feature/add-keycloak branch from 4512870 to ead56f9 Compare January 7, 2026 15:17
Changes the default project name from "keycloak" to "cur" to properly
reflect the CUR analyzer module's purpose and avoid configuration
confusion with unrelated services.
Excludes generated lambda payload file from version control
to prevent accidental commits of potentially sensitive data
@axel-ippon
Copy link
Contributor Author

axel-ippon commented Jan 8, 2026

@Donovan1905 @sroulon-ippon Note: I haven’t included the lambda provisioner function code or package yet. I think we’ll need to have a proper discussion to determine the best approach for managing lambda packages, so we can effectively address the requirements for facilitating deployment.

If that's ok for you, we can skip this for this PR and we'll get back to this in another.

@axel-ippon axel-ippon self-assigned this Jan 8, 2026
Updates Terraform version to 1.14.3 and AWS provider to 6.28.0 to leverage
new ephemeral resource capabilities for improved password management.

Migrates RDS password generation from persistent random resources to ephemeral
ones, reducing state bloat and improving security by ensuring passwords are
only stored in AWS Secrets Manager.

Updates RDS module to version 7.0.1 and adapts configuration to use new
password management parameters compatible with ephemeral resources.
Consolidates keycloak-specific module into generic fargate-task module
to enable reuse for multiple services. Adds configurable DNS prefixes
and container parameters while improving database connection handling
by moving credentials from secrets to direct environment variables.
Updates references from data.aws_region.*.name to data.aws_region.*.region
to use the correct attribute.
Makes health check endpoints configurable per service instead of hardcoded values.
Backend API uses Spring Boot Actuator endpoint while Keycloak uses its native health endpoint.
@axel-ippon axel-ippon merged commit 8c831cc into main Jan 19, 2026
6 checks passed
@axel-ippon axel-ippon deleted the feature/add-keycloak branch January 19, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants