Skip to content

ENH: Add container deployment endpoint to Deployment Controller#130

Merged
YektaY merged 1 commit intomainfrom
yektay/container
Mar 17, 2026
Merged

ENH: Add container deployment endpoint to Deployment Controller#130
YektaY merged 1 commit intomainfrom
yektay/container

Conversation

@YektaY
Copy link
Copy Markdown
Contributor

@YektaY YektaY commented Mar 7, 2026

Summary

  • Add PUT /container/deployment endpoint for deploying containerized apps via Docker Compose
  • Add ContainerDict Pydantic model to validate deployment payloads from core-build-system
  • Secrets (database_url, redis_url, ghcr credentials) are loaded per-app from environment variables using the naming convention CONTAINER_{APP_KEY}_{SECRET}
  • Only database_url is required; redis and GHCR credentials are optional, supporting apps with different infrastructure needs

How it works

  1. core-build-system receives a GitHub deployment webhook with deploymentType: "container"
  2. It forwards the payload to PUT /container/deployment on this controller
  3. The controller loads per-app secrets from env vars (e.g., CONTAINER_REACT_SQUIRREL_BACKEND_DATABASE_URL)
  4. Runs ansible-playbook container_module/container_deploy.yml from build-system-playbooks
  5. Updates the deployment database, generates a report, and posts to ELOG

@YektaY YektaY requested a review from pnispero March 7, 2026 00:08
@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69ab6c7c123f0544be9a3d18

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/yektay-container/ROCKY9/69ab6c7c123f0544be9a3d18
⚙️ Build ID: 69ab6c7c123f0544be9a3d18

# Container deployment secrets are loaded per-app from environment variables.
# Naming convention: CONTAINER_{APP_KEY}_{SECRET}
# where APP_KEY = component_name uppercased with hyphens replaced by underscores
def get_container_secrets(component_name: str) -> dict:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, if we went with this, then we would need to add your app's secrets to the deployment controller environment. Which is doable, but i think it might be better to store the app's secrets on your repo with github secrets. And then just pass in the secrets as arguments? This way if there are other app's that use this workflow, they don't need to store their secrets on the deployment controller either, the secrets can just live on the repo.

Copy link
Copy Markdown
Contributor Author

@YektaY YektaY Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have implemented your change recommendation. the secrets should be passed through now and live on the projects repo

@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69af2e62123f0544be9a3df0

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/yektay-container/ROCKY9/69af2e62123f0544be9a3df0
⚙️ Build ID: 69af2e62123f0544be9a3df0

@YektaY YektaY force-pushed the yektay/container branch from db7f971 to 49899ae Compare March 9, 2026 20:54
@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69af336f123f0544be9a3ec8

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/yektay-container/ROCKY9/69af336f123f0544be9a3ec8
⚙️ Build ID: 69af336f123f0544be9a3ec8

@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69b439a2e1677654d72d6937

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/yektay-container/ROCKY9/69b439a2e1677654d72d6937
⚙️ Build ID: 69b439a2e1677654d72d6937

@YektaY YektaY force-pushed the yektay/container branch from e20820c to ef321e8 Compare March 13, 2026 16:38
@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69b43d8ce1677654d72d6a11

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/yektay-container/ROCKY9/69b43d8ce1677654d72d6a11
⚙️ Build ID: 69b43d8ce1677654d72d6a11

Copy link
Copy Markdown
Contributor

@pnispero pnispero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@YektaY YektaY merged commit a8e7895 into main Mar 17, 2026
1 check passed
@YektaY YektaY deleted the yektay/container branch March 17, 2026 23:00
@corebuildsystembackend
Copy link
Copy Markdown

🚀 Automated Build Started - ROCKY9
⚙️ Build ID: 69b9dd26e1677654d72d6ae9

@corebuildsystembackend
Copy link
Copy Markdown

Automated Build Completed Successfully - ROCKY9
🧪 Test Results (Placeholder info for now):

  • Passed: 0
  • Failed: 0

📂 Results Location (S3DF): $AD_BUILD_SCRATCH/adbuild/BuildSystem/main/ROCKY9/69b9dd26e1677654d72d6ae9
⚙️ Build ID: 69b9dd26e1677654d72d6ae9

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.

2 participants