getPlatformFleetWithHttpInfo method

Future<Response> getPlatformFleetWithHttpInfo({
  1. String? env,
  2. String? health,
  3. String? org,
  4. String? drift,
})

Returns the platform's own service tier, and where it has drifted.

Returns the platform's own service tier, and where it has drifted. It returns the board for the services the PLATFORM itself runs — iam, kms, gateway and the rest — as {apps, summary}: per service its environment, health, phase, the image tag its CR DECLARES, the tag actually running, and the drift between them, plus a summary counting the board green, yellow and red. This is not a customer surface. /v1/platform/projects/:project/apps is a tenant's apps; this is the tier those tenants run ON, which is why the two are named differently rather than sharing a prefix. Admission is scoped at the SCAN, before any CR is read: a platform SuperAdmin observes the whole fleet, an org admin observes only their own org's namespaces, and an org that owns none gets an empty board — a non-super caller never even lists another org's services. Narrow further with env, health, org, or drift=1 for only what has drifted. It degrades honestly rather than failing whole: a namespace that does not exist is skipped, and a running-state read the caller cannot make leaves the running tag empty — an unknown, never a guess — while the declared, health and phase columns still render.

Note: This method returns the HTTP Response.

Parameters:

  • String env: Env narrows to one lifecycle env: main, test or dev.

  • String health: Health narrows to one health colour: green, yellow or red.

  • String org: Org narrows to one image namespace.

  • String drift: Drift is 1 or true to show only rows that have actually drifted. It is a STRING and not a bool because those two spellings are exactly what the board has always accepted, and a bool would silently widen that to ?drift alone and to TRUE — a behaviour change wearing a type change's clothes.

Implementation

Future<Response> getPlatformFleetWithHttpInfo({ String? env, String? health, String? org, String? drift, }) async {
  // ignore: prefer_const_declarations
  final path = r'/v1/platform/fleet';

  // ignore: prefer_final_locals
  Object? postBody;

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

  if (env != null) {
    queryParams.addAll(_queryParams('', 'env', env));
  }
  if (health != null) {
    queryParams.addAll(_queryParams('', 'health', health));
  }
  if (org != null) {
    queryParams.addAll(_queryParams('', 'org', org));
  }
  if (drift != null) {
    queryParams.addAll(_queryParams('', 'drift', drift));
  }

  const contentTypes = <String>[];


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