Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ jobs:
cd terraform
terraform init -backend=false
terraform apply -var-file=environments/local.tfvars -auto-approve
timeout-minutes: 20
timeout-minutes: 30

- name: Wait for Airflow database migrations
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/platform-tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Platform Tests

on:

Check warning on line 4 in .github/workflows/platform-tests.yml

View workflow job for this annotation

GitHub Actions / YAML Validation

4:1 [truthy] truthy value should be one of [false, true]
push:
branches: [main]
pull_request:
Expand Down Expand Up @@ -369,7 +369,7 @@
run: |
cd terraform
terraform apply -var-file=environments/local.tfvars -auto-approve
timeout-minutes: 15
timeout-minutes: 30

- name: Wait for Pods
run: |
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -161,4 +161,6 @@ build/

# Local development
local/
scratch/
scratch/
# Claude Code harness state
.claude/
12 changes: 11 additions & 1 deletion terraform/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,23 @@ module "spark" {
resource "kubernetes_deployment_v1" "jupyter" {
depends_on = [module.spark, module.minio]

# The jupyter/pyspark-notebook image is large (~4GB); on a constrained
# node (e.g. minikube in CI) the initial pull can exceed the provider's
# default 10m rollout wait. Give it more headroom. See issue #36 for the
# durable fix (pinning a smaller image).
timeouts {
create = "20m"
update = "20m"
}

metadata {
name = "jupyter"
namespace = kubernetes_namespace_v1.ldp.metadata[0].name
}

spec {
replicas = 1
replicas = 1
progress_deadline_seconds = 1200

selector {
match_labels = {
Expand Down
2 changes: 1 addition & 1 deletion terraform/modules/airflow/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ resource "helm_release" "airflow" {
EOT
]

timeout = 900 # Increased for CI environment (15 minutes)
timeout = 1500 # Increased for CI image-pull contention (25 minutes)
wait = true
wait_for_jobs = true
}
20 changes: 18 additions & 2 deletions terraform/modules/monitoring/main.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Prometheus deployment for metrics collection
resource "kubernetes_deployment_v1" "prometheus" {
# On a constrained node (e.g. minikube in CI) image-pull contention can
# push the rollout past the provider's default 10m wait. Give it headroom.
timeouts {
create = "20m"
update = "20m"
}

metadata {
name = "prometheus"
namespace = var.namespace
Expand All @@ -9,7 +16,8 @@ resource "kubernetes_deployment_v1" "prometheus" {
}

spec {
replicas = 1
replicas = 1
progress_deadline_seconds = 1200

selector {
match_labels = {
Expand Down Expand Up @@ -194,6 +202,13 @@ resource "kubernetes_config_map_v1" "prometheus_config" {

# Grafana deployment for visualization
resource "kubernetes_deployment_v1" "grafana" {
# On a constrained node (e.g. minikube in CI) image-pull contention can
# push the rollout past the provider's default 10m wait. Give it headroom.
timeouts {
create = "20m"
update = "20m"
}

metadata {
name = "grafana"
namespace = var.namespace
Expand All @@ -203,7 +218,8 @@ resource "kubernetes_deployment_v1" "grafana" {
}

spec {
replicas = 1
replicas = 1
progress_deadline_seconds = 1200

selector {
match_labels = {
Expand Down
Loading