Skip to content

Feat/eks auto mode karpenter#44

Merged
jrgwv merged 3 commits into
mainfrom
feat/eks-auto-mode-karpenter
Apr 11, 2026
Merged

Feat/eks auto mode karpenter#44
jrgwv merged 3 commits into
mainfrom
feat/eks-auto-mode-karpenter

Conversation

@jrgwv
Copy link
Copy Markdown
Contributor

@jrgwv jrgwv commented Apr 11, 2026

Issue #39

Description of changes:

Integrates hiraken-w's EKS Auto Mode and Karpenter feature branch with the following additions and fixes:

New features (from hiraken-w):

  • EKS Auto Mode support (eks/create-automode-python.yaml)
  • Karpenter support (eks/karpenter/)
  • ADOT/OpenTelemetry observability (eks/opentelemetry/, server/opentelemetry/)
  • AWS Secrets Manager integration (eks/aws-secrets/, server/aws-secrets/)
  • Removed Fargate in favor of Auto Mode

Fixes applied on top of original PR:

  • Updated all eksctl templates from K8s 1.32 → 1.34 (standard support until Dec 2026)
  • Updated all Dockerfiles from python:3.11-slim-buster (EOL) → python:3.11-slim
  • Fixed PostgreSQL volume path @15 bug in docker-compose.yml, docker-compose-opentelemetry.yml, and eks/deploy-db-python.yaml
  • Fixed netcatnetcat-openbsd in Dockerfile.aws-secrets and Dockerfile.opentelemetry
  • Added rm -rf /var/lib/apt/lists/* apt cache cleanup to Dockerfiles
  • Upgraded Karpenter from 1.6.1 → 1.11.1 (latest stable)
  • Upgraded Aurora PostgreSQL from 13.12 (EOL) → 15.10
  • Fixed all ruff lint issues (unused imports, star imports, import ordering)

Testing:

  • Local build and run verified with podman compose (Python 3.11, PG 15, HTTP 200)
  • eksctl create cluster --dry-run passed on all 3 templates (mng, automode, karpenter)
  • Full EKS deployment verified: both Auto Mode and Karpenter clusters created on K8s 1.34 in us-west-2
  • App deployed and accessible via ALB on Auto Mode cluster (HTTP 200)
  • ruff check — all clean
  • bandit — no security issues

Note: Users upgrading from PG 13 need to run docker compose down -v to clear the old volume, as PG 15 cannot read PG 13 data files.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Kenichiro Hiraiwa and others added 3 commits August 13, 2025 11:19
…ts Manager

Merged hiraken-w's feat-auto-mode branch with the following fixes:
- Resolved conflicts with main (K8s 1.34, Python 3.11-slim)
- Updated all Dockerfiles from 3.11-slim-buster to 3.11-slim
- Updated all eksctl templates from K8s 1.32 to 1.34
- Fixed PostgreSQL volume path (removed @15) in docker-compose files
- Fixed netcat -> netcat-openbsd in Dockerfile.aws-secrets and Dockerfile.opentelemetry
- Added apt cache cleanup (rm -rf /var/lib/apt/lists/*) to Dockerfiles
- Upgraded Karpenter from 1.6.1 to 1.11.1 (latest stable, K8s 1.34 compatible)
- Upgraded Aurora PostgreSQL from 13.12 (EOL) to 15.10
- Fixed ruff lint issues: removed unused imports, fixed star import, fixed import ordering
- Removed Fargate template (replaced by Auto Mode)
@jrgwv jrgwv merged commit b3b5a1a into main Apr 11, 2026
2 checks passed
port = result.port
retries = 0

logger.info(f"Trying to connect to {host}:{port} as {user}...")
)
except ClientError as e:
if e.response['Error']['Code'] == 'ResourceNotFoundException':
print("The requested secret " + secret_name + " was not found")
# Parse the json string in secret_data and extract connectionstring
DATABASE_URL = json.loads(secret_data)['connectionstring']

print("Database URL:", DATABASE_URL)
book.author = author
book.description = description
db.commit()
return RedirectResponse(url=f"/books/{book_id}", status_code=303)
book.author = author
book.description = description
db.commit()
return RedirectResponse(url=f"/books/{book_id}", status_code=303)
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.

3 participants