Skip to content

Commercial / Licensing

Plans, licensing, and entitlements

Gondola subscriptions follow GitHub organization boundaries. Within each covered organization, workloads can use approved Gondola fleets across the AWS environments you manage.

Every plan includes unlimited repositories, jobs, runner minutes, and runner launches within the covered github scope. Gondola does not meter runtime usage or add a per-minute runner charge.

Hobby

USD $0

One GitHub user or personal organization

Choose Hobby
  • Personal projects only
  • Unlimited repositories, jobs, minutes, and runners
  • Release and security updates

Business

USD $49 / month · USD $490 / year

One private GitHub organization

Choose Business
  • Unlimited repositories, jobs, minutes, and runners
  • Email support
  • 14-day trial without a card

Enterprise

USD $299 / month · USD $2,990 / year

Up to 10 private GitHub organizations

Choose Enterprise
  • Everything in Business
  • One activation key for up to 10 organizations
  • Additional 10-organization blocks

Hobby terms

Hobby is for projects an individual builds for themselves. The repositories may be public or private, and the plan may cover one GitHub user account or a personal organization.

If the project is owned by or primarily supports an employer, client, or other organization, use Business. Hobby does not change the security model: you remain responsible for protecting customer-hosted runners from untrusted workflow code.

What every plan includes

  • Unlimited repositories, jobs, runner minutes, and runner launches within the covered GitHub scope.
  • The maintained Gondola controller and Terraform/OpenTofu installer.
  • Release artifacts, checksums, software bills of materials, and upgrade notes.
  • Licensed use for the GitHub account or organizations covered by the selected plan.
  • Support according to the published support policy for that plan.

How organization scope works

A subscription follows the GitHub identity covered by its order. It is not metered by repository, workflow, job, runner minute, AWS account, or region. You may operate more than one Gondola deployment for that same covered identity, provided each deployment remains within the product’s one-account, one-region architecture boundary.

ChangeWhat to do
Add repositories in a covered organizationNo subscription change; review the GitHub App installation scope
Add another private organization to BusinessBuy another Business subscription or move to Enterprise
Exceed ten Enterprise organizationsAdd another fixed ten-organization Enterprise block
Move a project from personal to employer/client ownershipMove from Hobby to a paid organization plan before continued use

How access is delivered

After Stripe confirms the subscription through a verified event, Checkout displays an activation key and a signed entitlement for the GitHub owner entered at purchase. The success page does not create access on its own; it can only retrieve access already recorded from Stripe.

  1. Save the activation key in your password manager. It is needed to refresh access or activate another covered Enterprise organization.
  2. Store the signed entitlement in AWS Secrets Manager and configure its public verification key and key ID in Terraform or OpenTofu.
  3. Gondola verifies the signature, exact GitHub owner, plan, status, and expiry locally before the controller starts. At expiry, the controller becomes unready and stops scheduling new jobs; licensing does not terminate runners already executing work.

Each organization receives its own token. Enterprise customers can use the organization activation page for the remaining slots in their subscription. Tokens are valid through the current subscription period plus a short delivery grace period, so Stripe is never contacted from the job path. The optional automatic renewal helper refreshes the stored token and rolls the controller tasks. Without the helper, perform that update manually before expiry; existing tasks do not reread a changed secret value in place. Both delivery screens show the billing-period end separately from token expiry. Their calendar download includes a preparation reminder and a separate check after the billing period ends.

Hobby remains free and unlimited within its published scope. Its signed token lasts one year at a time, instead of following Stripe's monthly $0 bookkeeping period, and can be refreshed at no charge with the saved activation key.

Renew without losing scheduling access

From controller v0.4.0 and module 0.4.0, you can enable automatic entitlement renewal in your AWS account. For installations that keep the default manual profile, follow this checklist.

  1. Prepare before billing renews. Check the payment method, cancellation status, and who will perform the update. The preparation event is not a request to rotate the token early.
  2. Wait for confirmed renewal or trial conversion. The second calendar event checks one hour after the period ends to allow normal event delivery. It does not guarantee payment succeeded. Visit billing if confirmation is delayed.
  3. Check the expiry advanced. Use your saved activation key at activation. Compare the new JSON's expiresAt with your current bundle. If they are equal, coverage has not extended: retry after billing confirmation and contact support if it remains unchanged. Do not wait until the last day of grace.
  4. Update the existing secret. Keep its ARN unchanged. Send only the signed token through local input to Secrets Manager; do not place it in Terraform, a command argument, a calendar, or a support log.
  5. Roll and verify. Change deployment_generation_nonce in the Gondola module, review the plan, and apply it. Confirm the new deployment generation and fleet readiness before the old token expires. An AWS secret update alone does not reload running tasks.
  6. Retain the new deadline. Save the new bundle securely, replace obsolete calendar entries, and check the next reminders. Imported calendars are not updated automatically by Gondola.

Paid tokens include three days of delivery grace after the recorded period end. Monitor renewal alarms or complete the manual update before that window closes. At expiry, new scheduling stops; jobs already running are not terminated by licensing.

Hobby can refresh its annual token before expiry without waiting for its monthly zero-dollar bookkeeping. Its calendar therefore has one refresh event. Contact support promptly for a lost activation key, unexpected expiry, or delayed billing confirmation.

What is billed separately

AWS bills your account directly for Fargate, EC2, EBS, DynamoDB, Secrets Manager, CloudWatch, network services, and data transfer. Taxes and separately agreed professional services are also outside the subscription price.

Trial, renewal, cancellation, and refunds

Business and Enterprise include a 14-day no-card trial. At the end of the trial, the subscription begins only if a payment method has been added; otherwise it cancels. Paid subscriptions renew at the selected monthly or annual cadence until cancelled. Cancellation stops the next renewal and normally leaves access active through the paid period.

The first paid charge is eligible for the published 14-day refund window in the circumstances described in the Subscription Policy. Stripe’s hosted checkout and customer portal handle orders and subscription management; the runner execution path never depends on Stripe. A cancellation normally remains usable through its paid term, while an unpaid, paused, or cancelled subscription cannot issue a fresh token.

Plans

Choose a plan

Compare Hobby, Business, and Enterprise by GitHub account and organization coverage.