We just shipped a big update to the Edka deployments workflow: deployments from GitHub repositories, automatic preview environments for each pull request, and a simple Domains and Wildcard TLS management experience.
On top, we added automatic CI detection with or without a Dockerfile. To achieve this, we integrated Railpack into Edka. If you are familiar with Vercel, Netlify, Railway or Cloudflare Pages, this will provide a very similar experience but on your own Kubernetes cluster, where you can allocate how many resources you need.
What is new
- GitHub deployments: Build and deploy directly from any GitHub repository.
- Preview environments: Spin up short lived preview environments with a predictable hostname pattern for each pull request.
- Autodetection CI: Automatically detect your codebase and build it with Railpack or use your own Dockerfile.
- Domains and wildcard TLS: Register wildcard domains once, delegate DNS, and let your cert-manager add-on issue and renew your certificates. You can assign these domains to multiple deployments and other services in your cluster.
Branch deployments
Create a Git deployment, point it at a repo and branch. Edka will automatically detect your codebase and build it with Railpack or use your own Dockerfile:
- Choose a repo and set a branch. You can also override Railpack commands when needed.
- Configure Dockerfile path, build context, and image repository name.
- Enable auto build and auto deploy if you want hands off updates. Edka will build and deploy your applications to your cluster automatically each time you push a new commit to the branch.
Preview environments for every PR
Enable previews in the Git deployment settings and Edka will create a preview environment on pull requests targeting the configured branch. Each preview environment will have a predictable hostname pattern like pr-{{pr_number}}-{{repo}}.
Highlights:
- It builds on pull request opened, reopened, and synchronize events.
- Uses a preview wildcard domain tied to your ingress class.
- Supports hostname patterns like
pr-{{pr_number}}-{{repo}}. - Auto delete after a set number of hours (default 168).
- Lightweight resource presets for fast, low cost previews.
Domains and wildcard TLS
The new Domains screen lets you register cluster wide wildcard domains and manage TLS in one place.
- Only wildcard domains are supported (example:
*.example.com). - Wildcards are single label:
*.example.commatchesapp.example.combut notapp.dev.example.com. - Preview wildcard domains are flagged as preview and used for PR previews.
- Wildcard TLS uses cert-manager + the Edka DNS-01 webhook for automatic issuance.
- You control which namespaces receive the TLS secret and can always replicate it to other namespaces.
Get started
If you already have a cluster and GitHub integration, you are ready:
- Docs: Branch deployments
- Docs: Domains and wildcard TLS
- Setup: GitHub integration