Setup
Techulus Cloud integrates with GitHub through a GitHub App. To enable it:- Create a GitHub App and configure it with your control plane URL.
- Set the following environment variables on the control plane:
| Variable | Description |
|---|---|
GITHUB_APP_ID | Your GitHub App ID |
GITHUB_APP_PRIVATE_KEY | Private key (base64-encoded) |
GITHUB_WEBHOOK_SECRET | Webhook secret for verifying payloads |
- Install the GitHub App on your GitHub account or organization.
Connecting a Repository
Once the GitHub App is installed, connect a repository to a service:- Set the service source type to
github. - Select the repository from your installed GitHub accounts.
- Choose the branch to deploy from (defaults to
main). - Optionally set a root directory if your app isn’t at the repository root.
Auto-Deploy
When auto-deploy is enabled (the default), pushing to the configured branch triggers a build and deployment automatically. The flow:- GitHub sends a push webhook to the control plane.
- The control plane creates a build for the new commit.
- An agent claims the build, clones the repository, and builds the image.
- On success, a rollout deploys the new image.
Build Process
Agents build images using one of two methods:| Method | When Used |
|---|---|
| Railpack | No Dockerfile present — Railpack auto-detects the framework and generates a build plan |
| Dockerfile | A Dockerfile exists in the repository (or specified root directory) |
| Status | Description |
|---|---|
pending | Waiting for an available agent |
claimed | Agent has taken the build |
cloning | Cloning the repository |
building | Building the container image |
pushing | Pushing the image to the registry |
completed | Build succeeded |
failed | Build failed |
cancelled | Build was cancelled |
