Skip to main content
Most apps run in more than one place: production for your customers, and staging to try changes first. In Nelkap, each environment is a project. Projects in the same workspace share nothing but the workspace: each has its own endpoint, its own keys, and its own workflows, runs, and events.

One project per environment

Create one project for each environment, like production and staging. Then, in each environment of your app:
  1. Set the project’s endpoint to that environment’s route, like https://your-app.com/api/nelkap for production and https://staging.your-app.com/api/nelkap for staging.
  2. Set NELKAP_API_KEY and NELKAP_SECRET to that project’s API key and secret.
Your code stays the same everywhere. The keys decide which project a run belongs to, and the endpoint decides which app Nelkap calls.

What stays apart

With one project per environment:
  • A run started in staging is called on your staging app, never on production.
  • An event emitted in staging starts staging workflows and wakes staging runs only.
  • Staging registers its own list of workflows. Testing a new workflow in staging doesn’t add it to production, and removing one in staging doesn’t cancel production runs.
  • Each project has its own schedules, so a scheduled workflow runs once in each environment that registers it.
Two limits apply to the whole workspace, across its projects: the runs going at once, and the requests per second. A burst of tests in staging counts toward both. See Limits.

Find an environment’s runs

Every list of runs, events, and workflows can be narrowed to one project. Choose the project at the top of the page, and every page you open next shows only that environment.

Test before you deploy to production

A typical flow:
  1. Deploy your change to staging.
  2. Start a run there, with run or by emitting the event that starts it.
  3. Open the run, and check each step: what it received, what it returned, and how long it took.
  4. Deploy to production once it does what you expect.
Nelkap calls your app over the internet, so staging must be deployed to a public HTTPS address too. A local address can’t receive Nelkap’s calls.