postPlatformRunnerWithHttpInfo method

Future<Response> postPlatformRunnerWithHttpInfo(
  1. RunnerBuildReq runnerBuildReq
)

Triggers a native build — an image, or the binaries a repo declares.

Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what hanzo build and git-push-to-deploy call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes repo and the output image and launches a BuildKit Job that pushes it. The ARTIFACT lane takes binaries — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no image, because a build produces binaries or an image, never both. PRIVILEGED, and A BUILD BELONGS TO THE ORGANIZATION ITS CREDENTIAL NAMES. Two credentials, never a third: - one that NAMES an organization — a person who administers it (the hanzo build path, so one IAM login authorizes a build with no separate build token), or that organization's own machine identity (the pipeline path). The build is attributed to that org and confined to what it owns. - the shared build-callback token, compared in constant time. It names NO organization, which is both why the fabric's own release can publish across brands with it and why anything that CAN name one is read first. Both are bounded by the owned-registry allowlist. The org path is bounded again, by the org: the image's registry namespace must be one that organization owns, so it publishes into its own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. There is no request field naming an organization — the attribution is read off the credential, so there is nothing for a caller to write it with. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.

Note: This method returns the HTTP Response.

Parameters:

Implementation

Future<Response> postPlatformRunnerWithHttpInfo(RunnerBuildReq runnerBuildReq,) async {
  // ignore: prefer_const_declarations
  final path = r'/v1/platform/runner';

  // ignore: prefer_final_locals
  Object? postBody = runnerBuildReq;

  final queryParams = <QueryParam>[];
  final headerParams = <String, String>{};
  final formParams = <String, String>{};

  const contentTypes = <String>['application/json'];


  return apiClient.invokeAPI(
    path,
    'POST',
    queryParams,
    postBody,
    headerParams,
    formParams,
    contentTypes.isEmpty ? null : contentTypes.first,
  );
}