Connect workflows and CI
Use a Nodus API key from your workflow's secret store. Keep the image, command, GPU requirements, budget and output paths in a reviewed workload file. Your image must already contain your code and dependencies. These recipes do not upload the checkout.
GitHub Actions
Add a repository or environment secret named NODUS_API_KEY. Commit your
nodus.toml with an explicit positive budget you authorize. Run this workflow
manually when you intend to start paid compute:
name: Run training on Nodus
on:
workflow_dispatch:
permissions:
contents: read
jobs:
training:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nodus-compute/Nodus-sdk-python/actions/[email protected]
id: nodus
with:
api-key: ${{ secrets.NODUS_API_KEY }}
workload: nodus.toml
output-directory: nodus-results
- uses: actions/upload-artifact@v4
with:
name: nodus-results
path: nodus-results/
if-no-files-found: error
The action submits the file, observes the
workload and downloads outputs into stage folders. It verifies each download's
SHA-256, refuses existing files and fails if a declared output is missing.
A failed workload or incomplete download fails the step. It exposes
workload-id, status, output-directory and output-count as step outputs.
The workload ID is also printed as soon as submission succeeds.
api-url defaults to the Nodus hosted API origin. Set it explicitly for a
custom deployment. The action never uses a saved local account or API address.
A rerun of the same GitHub run, job and workload file reuses the submission
key. A new workflow run starts a new intentional submission. Preserve the
workload file on retries. A changed request with the same key is refused by
the API. Matrix jobs or multiple calls using the same workload file must supply
an explicit idempotency-key that distinguishes each intentional run and stays
the same across its retries.
wait-timeout defaults to 3600 seconds. It limits observation, not workload
spending or runtime. A timeout or cancelled GitHub job does not cancel Nodus
compute. Inspect the recorded workload in the console and cancel it explicitly
if needed. Your workload's budget remains its spending control.
For stable automation, pin the action to the reviewed release commit instead of a moving branch. GitHub's workflow permissions and environment approval controls govern who can access the secret and start the workflow.
Other CI runners and scheduled jobs
Install the SDK and supply NODUS_API_KEY through your runner's secret store.
Set a top-level idempotency_key in your workload file once for the intended
run. Preserve that key and file for uncertain retries:
pip install 'nodus-compute==0.6.0'
nodus run nodus.toml --plain
Save the returned workload ID. Download its results with:
nodus download "$NODUS_WORKLOAD_ID"
The download command writes to outputs/<workload-id>/. Do not regenerate the
submission key on a retry. Check the command's exit status and verify the
workload succeeded before treating its results as complete. See the
CLI reference for status, logs and cancellation.
HTTP workflow tools
Tools such as n8n and Make can call the customer HTTP API using their generic HTTP request steps. This uses the OpenAPI contract and does not require a Nodus-specific connector.
- Store your API key in the tool's credential store and send it as a Bearer credential only to your Nodus API origin.
- Prepare the workload JSON with your image, command, GPU requirements,
output paths and an explicit
outcome.max_cost_usd. - Call
POST /v1/workloads/validate. Validation does not start compute or reserve capacity. Requirevalid: truebefore continuing. - Save a unique key for the intentional run. Call
POST /v1/workloadswith that value inIdempotency-Key, then save the returned workload ID. - Poll
GET /v1/workloads/{id}. Continue to results only aftercompleted. Handle any terminal status other thancompletedas a failure. - List
GET /v1/workloads/{id}/outputs. Download each required file from its returned path on the same API origin. Verify its SHA-256 and byte count before using it in the next step.
Disable automatic redirect following for authenticated requests. Retry an uncertain submission with its original key and unchanged body. Configure an error branch that records the workload ID so a workflow timeout can be investigated without launching duplicate compute.
Workflows with remote MCP
If the workflow platform supports HTTP MCP and OAuth, add the hosted URL from Connect your coding agent. Approve its access in your browser. Use read-only access for reporting workflows and write access only where submitting or cancelling work is intended. Access expires after 30 days and can be revoked in Connected agents.
For unattended jobs that cannot refresh a browser connection, use the API-key workflow above. The MCP reference documents validation, observation and output retrieval tools.