Skip to content

GeeksHacking/hackomania-event-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

269 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HackOMania Event Platform

????

Getting started

Aspire is used to bootstrap the project. These can be installed here.

.NET is used for the API. It can be installed here.

Along with Aspire, you also need NodeJS and PNPM. These can be installed using mise.

After installing the above, you can simply run:

export Parameters__github_client_id=""
export Parameters__github_client_secret=""
aspire run -d

And visit the dashboard link with everything setup!

Deployment

The HackOMania API is deployed to Google Cloud Run with zero-downtime updates using health probes.

Deployment Process

  1. Automatic Trigger: Deployments are automatically triggered when changes are pushed to the main branch that affect:

    • HackOMania.Api/**
    • .github/workflows/deploy-api.yml
  2. Cloud Run Health Probes:

    • Startup Probe: /health endpoint validates container readiness before accepting traffic (30s timeout)
    • Liveness Probe: /alive endpoint continuously monitors container health (10s intervals)
    • Cloud Run automatically handles traffic migration only after health checks pass
    • Failed deployments are automatically rejected without affecting production traffic
  3. Health Check Endpoints:

    • /health - Full readiness check (all registered health checks must pass)
    • /alive - Liveness check (only "live" tagged checks)
  4. Infrastructure:

    • Infrastructure is managed using Pulumi (C#-based IaC)
    • Cloud Run service configuration is in HackOMania.Infra/Stacks/DefaultStack.cs
    • Run pulumi up in the HackOMania.Infra directory to update infrastructure

Manual Deployment

To manually trigger a deployment, use the GitHub Actions workflow dispatch:

  • Go to Actions → Deploy (API) → Run workflow

Development

For simplicity, a justfile is provided with common scripts.

just dev starts the processes.

just codegen generates new Kiota API clients based on the OpenAPI schema.

About

HackOMania Event Platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors