Deploying & Managing Workloads

1. Deploying the Vorta Cluster

  • Starting the Vorta Mainframe:

    Bash

    ./bin/vorta-mainframe --config config/mainframe.yaml

    The Mainframe initializes, starts its API, and listens for workers.

  • Starting a Vorta Worker:

    Bash

    ./bin/vorta-worker --config config/worker.yaml --node-id worker-01-zoneA

    The worker registers with the Mainframe.

  • Deploying Smart Contracts (Optional):

    If using blockchain components:

    Bash

    cd contracts
    forge script script/DeployVortaRegistry.s.sol --rpc-url $RPC_URL --private-key $PRIV_KEY --broadcast

2. Preparing a Secure Workload

  • Create a Dockerfile for your application (e.g., AI model, ZK verifier).

  • Build and Push the Docker image to a registry accessible by workers.

  • Prepare a Gramine Manifest Template for your application, specifying how it runs in SGX.

3. Submitting a Job

  • Define a Job Specification (example_job.json):

    JSON

  • Submit using vorta-cli (Placeholder Command):

    Bash

4. Monitoring Job Status and Cluster Health

  • Get Job Status:

    Bash

  • List All Jobs:

    Bash

  • View Cluster Metrics: Via Prometheus scraping the Mainframe's /metrics endpoint and visualizing in Grafana.

5. Retrieving Attestation Reports and Results

  • Get Attestation Report for a Job:

    Bash

    The report contains the SGX quote and collateral for independent verification.

  • Accessing Job Outputs: Outputs are available at the destination_url specified in the job spec upon successful, attested completion.


📄 Page: Example: ZK-Proof Verification Job

This page details submitting a specific ZK-Proof verification job.

  • Job Spec for ZKP (zkp_verify_job.json):

    JSON

  • Submission:

    Bash

Last updated