Nuon actions/runner API

actions/runner

OpenAPI Specification

nuon-actions-runner-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  contact:
    email: support@nuon.co
    name: Nuon Support
  description: API for managing nuon apps, components, installs, and actions.
  title: Nuon accounts actions/runner API
  version: 0.19.1074
host: api.nuon.co
basePath: /
schemes:
- https
tags:
- description: actions/runner
  name: actions/runner
paths:
  /v1/action-workflows/configs/{action_workflow_config_id}:
    get:
      consumes:
      - application/json
      deprecated: true
      description: 'Return an action workflow configuration by id.

        '
      operationId: GetActionWorkflowConfig
      parameters:
      - description: action workflow config ID
        in: path
        name: action_workflow_config_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.ActionWorkflowConfig'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: get an app action workflow config
      tags:
      - actions/runner
  /v1/installs/{install_id}/action-workflows/runs/{run_id}:
    get:
      consumes:
      - application/json
      deprecated: true
      description: 'Return an install action workflow run by id.

        '
      operationId: GetInstallActionWorkflowRun
      parameters:
      - description: install ID
        in: path
        name: install_id
        required: true
        type: string
      - description: run ID
        in: path
        name: run_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/app.InstallActionWorkflowRun'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/stderr.ErrResponse'
      security:
      - APIKey: []
      - OrgID: []
      summary: get action workflow runs by install id and run id
      tags:
      - actions/runner
definitions:
  configs.OCIRegistryType:
    enum:
    - ecr
    - acr
    - gar
    - private_oci
    - public_oci
    type: string
    x-enum-varnames:
    - OCIRegistryTypeECR
    - OCIRegistryTypeACR
    - OCIRegistryTypeGAR
    - OCIRegistryTypePrivateOCI
    - OCIRegistryTypePublicOCI
  plantypes.OCIArtifactReference:
    properties:
      digest:
        description: Digest is the immutable artifact digest (e.g., sha256:abc123...)
        type: string
      tag:
        description: Tag is the artifact tag (typically the build ID)
        type: string
      url:
        description: URL is the full artifact URL (e.g., registry.nuon.co/org_id/app_id)
        type: string
    type: object
  plantypes.BuildPlan:
    properties:
      component_build_id:
        type: string
      component_id:
        type: string
      container_image_pull_plan:
        $ref: '#/definitions/plantypes.ContainerImagePullPlan'
      docker_build_plan:
        $ref: '#/definitions/plantypes.DockerBuildPlan'
      dst_registry:
        $ref: '#/definitions/configs.OCIRegistryRepository'
      dst_tag:
        type: string
      git_source:
        $ref: '#/definitions/plantypes.GitSource'
      helm_build_plan:
        $ref: '#/definitions/plantypes.HelmBuildPlan'
      kubernetes_manifest_build_plan:
        $ref: '#/definitions/plantypes.KubernetesManifestBuildPlan'
      pulumi_build_plan:
        $ref: '#/definitions/plantypes.PulumiBuildPlan'
      sandbox_mode:
        $ref: '#/definitions/plantypes.SandboxMode'
      terraform_build_plan:
        $ref: '#/definitions/plantypes.TerraformBuildPlan'
    required:
    - dst_registry
    - dst_tag
    type: object
  compositeerrors.Section:
    properties:
      body:
        type: string
      heading:
        type: string
      kind:
        $ref: '#/definitions/compositeerrors.SectionKind'
    type: object
  github_com_nuonco_nuon_pkg_labels.Labels:
    additionalProperties:
      type: string
    type: object
  app.DockerBuildComponentConfig:
    properties:
      build_args:
        items:
          type: string
        type: array
      component_config_connection_id:
        description: value
        type: string
      connected_github_vcs_config:
        $ref: '#/definitions/app.ConnectedGithubVCSConfig'
      created_at:
        type: string
      created_by_id:
        type: string
      dockerfile:
        type: string
      env_vars:
        additionalProperties:
          type: string
        type: object
      id:
        type: string
      public_git_vcs_config:
        $ref: '#/definitions/app.PublicGitVCSConfig'
      target:
        type: string
      updated_at:
        type: string
    type: object
  app.CompositeStatus:
    properties:
      created_at_ts:
        type: integer
      created_by_id:
        type: string
      history:
        items:
          $ref: '#/definitions/app.CompositeStatus'
        type: array
      metadata:
        additionalProperties: {}
        type: object
      status:
        $ref: '#/definitions/app.Status'
      status_human_description:
        type: string
    type: object
  app.ConnectedGithubVCSConfig:
    properties:
      branch:
        type: string
      component_config_id:
        description: parent component
        type: string
      component_config_type:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      directory:
        type: string
      id:
        type: string
      path_filter:
        type: string
      repo:
        type: string
      repo_name:
        type: string
      repo_owner:
        type: string
      updated_at:
        type: string
      vcs_connection:
        $ref: '#/definitions/app.VCSConnection'
      vcs_connection_id:
        type: string
    type: object
  state.RunnerState:
    properties:
      id:
        type: string
      populated:
        type: boolean
      runner_group_id:
        type: string
      status:
        type: string
    type: object
  plantypes.SyncOCIPlan:
    properties:
      dst_registry:
        $ref: '#/definitions/configs.OCIRegistryRepository'
      dst_tag:
        type: string
      sandbox_mode:
        $ref: '#/definitions/plantypes.SandboxMode'
      src_registry:
        $ref: '#/definitions/configs.OCIRegistryRepository'
      src_tag:
        type: string
    required:
    - dst_registry
    - dst_tag
    - src_registry
    - src_tag
    type: object
  app.Queue:
    properties:
      created_at:
        type: string
      created_by_id:
        type: string
      emitters:
        items:
          $ref: '#/definitions/app.QueueEmitter'
        type: array
      id:
        type: string
      idle_timeout:
        type: integer
      max_depth:
        type: integer
      max_in_flight:
        type: integer
      metadata:
        additionalProperties:
          type: string
        type: object
      name:
        type: string
      org_id:
        type: string
      owner_id:
        type: string
      owner_type:
        type: string
      queue_signal:
        items:
          $ref: '#/definitions/app.QueueSignal'
        type: array
      status_v2:
        $ref: '#/definitions/app.CompositeStatus'
      updated_at:
        type: string
      workflow:
        $ref: '#/definitions/signaldb.WorkflowRef'
    type: object
  app.OCIArtifact:
    properties:
      annotations:
        additionalProperties:
          type: string
        type: object
      architecture:
        type: string
      artifact_type:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      digest:
        type: string
      id:
        type: string
      media_type:
        type: string
      org_id:
        type: string
      os:
        description: Platform fields
        type: string
      os_features:
        items:
          type: string
        type: array
      os_version:
        type: string
      owner_id:
        type: string
      owner_type:
        type: string
      repository:
        type: string
      size:
        type: integer
      tag:
        type: string
      updated_at:
        type: string
      urls:
        items:
          type: string
        type: array
      variant:
        type: string
    type: object
  plantypes.DeployPlan:
    properties:
      app_config_id:
        type: string
      app_id:
        type: string
      apply_plan_contents:
        description: The following field is for applying a plan that is already save
        type: string
      apply_plan_display:
        description: This field is for storing a human legible plan or corollary representation
        type: string
      component_id:
        type: string
      component_name:
        type: string
      helm:
        $ref: '#/definitions/plantypes.HelmDeployPlan'
      install_id:
        type: string
      kubernetes_manifest:
        $ref: '#/definitions/plantypes.KubernetesManifestDeployPlan'
      noop:
        $ref: '#/definitions/plantypes.NoopDeployPlan'
      pulumi:
        $ref: '#/definitions/plantypes.PulumiDeployPlan'
      sandbox_mode:
        $ref: '#/definitions/plantypes.SandboxMode'
      src_digest:
        description: 'SrcDigest is the manifest digest of the source artifact in the install

          registry, e.g. "sha256:abc...". Populated for image-type component

          builds with source identity recorded; empty for

          non-image builds and legacy image builds. When non-empty, runners

          should prefer this over SrcTag for content-addressed pulls and for

          rendering digest-pinned image references in pod specs.'
        type: string
      src_registry:
        $ref: '#/definitions/configs.OCIRegistryRepository'
      src_tag:
        type: string
      terraform:
        $ref: '#/definitions/plantypes.TerraformDeployPlan'
    required:
    - src_registry
    - src_tag
    type: object
  app.ComponentRelease:
    properties:
      build_id:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      id:
        type: string
      release_steps:
        items:
          $ref: '#/definitions/app.ComponentReleaseStep'
        type: array
      status:
        type: string
      status_description:
        type: string
      total_release_steps:
        type: integer
      updated_at:
        type: string
    type: object
  app.Account:
    properties:
      account_type:
        $ref: '#/definitions/app.AccountType'
      created_at:
        type: string
      email:
        type: string
      id:
        type: string
      org_ids:
        description: ReadOnly Fields
        items:
          type: string
        type: array
      permissions:
        $ref: '#/definitions/permissions.Set'
      roles:
        items:
          $ref: '#/definitions/app.Role'
        type: array
      subject:
        type: string
      updated_at:
        type: string
      user_journeys:
        items:
          $ref: '#/definitions/app.UserJourney'
        type: array
    type: object
  app.PolicyResult:
    properties:
      deny_count:
        type: integer
      input_count:
        type: integer
      pass_count:
        type: integer
      policy_id:
        type: string
      policy_name:
        type: string
      status:
        description: '"deny", "warn", or "pass"'
        type: string
      warn_count:
        type: integer
    type: object
  plantypes.TerraformLocalArchive:
    properties:
      local_archive:
        type: string
    type: object
  app.AppBranchInstallGroup:
    properties:
      app_branch_config_id:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      id:
        type: string
      install_ids:
        items:
          type: string
        type: array
      label_selector:
        $ref: '#/definitions/github_com_nuonco_nuon_pkg_labels.Selector'
      max_parallel:
        type: integer
      name:
        type: string
      order:
        type: integer
      org_id:
        type: string
      updated_at:
        type: string
      use_for_previews:
        description: UseForPreviews marks this group for plan-only preview runs (e.g., PR previews).
        type: boolean
    type: object
  app.ComponentType:
    enum:
    - terraform_module
    - helm_chart
    - docker_build
    - external_image
    - job
    - kubernetes_manifest
    - pulumi
    - unknown
    type: string
    x-enum-varnames:
    - ComponentTypeTerraformModule
    - ComponentTypeHelmChart
    - ComponentTypeDockerBuild
    - ComponentTypeExternalImage
    - ComponentTypeJob
    - ComponentTypeKubernetesManifest
    - ComponentTypePulumi
    - ComponentTypeUnknown
  plantypes.HelmValue:
    properties:
      name:
        type: string
      type:
        type: string
      value:
        type: string
    type: object
  app.AdHocStepConfig:
    properties:
      action_workflow_config_id:
        type: string
      app_config_id:
        description: this belongs to an app config id
        type: string
      app_id:
        type: string
      command:
        type: string
      connected_github_vcs_config:
        $ref: '#/definitions/app.ConnectedGithubVCSConfig'
      created_at:
        type: string
      created_by_id:
        type: string
      env_vars:
        additionalProperties:
          type: string
        type: object
      id:
        type: string
      idx:
        type: integer
      inline_contents:
        type: string
      name:
        description: metadata
        type: string
      previous_step_id:
        type: string
      public_git_vcs_config:
        allOf:
        - $ref: '#/definitions/app.PublicGitVCSConfig'
        description: all the details needed for a step
      references:
        items:
          type: string
        type: array
      updated_at:
        type: string
    type: object
  app.RunnerJobType:
    enum:
    - health-check
    - docker-build
    - container-image-build
    - terraform-module-build
    - helm-chart-build
    - kubernetes-manifest-build
    - pulumi-build
    - noop-build
    - sandbox-build
    - oci-sync
    - noop-sync
    - fetch-image-metadata
    - terraform-deploy
    - helm-chart-deploy
    - job-deploy
    - kubernetes-manifest-deploy
    - pulumi-deploy
    - noop-deploy
    - shut-down
    - update-version
    - noop
    - mng-vm-shut-down
    - mng-shut-down
    - mng-runner-update-version
    - mng-runner-restart
    - mng-fetch-token
    - sandbox-terraform
    - sandbox-terraform-plan
    - sandbox-pulumi
    - sandbox-sync-secrets
    - runner-helm
    - runner-terraform
    - runner-local
    - actions-workflow
    type: string
    x-enum-comments:
      RunnerJobTypeMngFetchToken: fetch authentication token via AWS presigned requests
      RunnerJobTypeMngRunnerRestart: restart the runner systemctl service (technically, a duplicate. runner can restart self.)
      RunnerJobTypeMngRunnerUpdateVersion: update the runner image/version (check for changes and update)
      RunnerJobTypeMngShutDown: shutdown the runner mng process (usually triggers restart)
      RunnerJobTypeMngVMShutDown: shut down the vm
    x-enum-descriptions:
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - shut down the vm
    - shutdown the runner mng process (usually triggers restart)
    - update the runner image/version (check for changes and update)
    - restart the runner systemctl service (technically, a duplicate. runner can restart self.)
    - fetch authentication token via AWS presigned requests
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    - ''
    x-enum-varnames:
    - RunnerJobTypeHealthCheck
    - RunnerJobTypeDockerBuild
    - RunnerJobTypeContainerImageBuild
    - RunnerJobTypeTerraformModuleBuild
    - RunnerJobTypeHelmChartBuild
    - RunnerJobTypeKubernetesManifestBuild
    - RunnerJobTypePulumiBuild
    - RunnerJobTypeNOOPBuild
    - RunnerJobTypeSandboxBuild
    - RunnerJobTypeOCISync
    - RunnerJobTypeNOOPSync
    - RunnerJobTypeFetchImageMetadata
    - RunnerJobTypeTerraformDeploy
    - RunnerJobTypeHelmChartDeploy
    - RunnerJobTypeJobDeploy
    - RunnerJobTypeKubrenetesManifestDeploy
    - RunnerJobTypePulumiDeploy
    - RunnerJobTypeJobNOOPDeploy
    - RunnerJobTypeShutDown
    - RunnerJobTypeUpdateVersion
    - RunnerJobTypeNOOP
    - RunnerJobTypeMngVMShutDown
    - RunnerJobTypeMngShutDown
    - RunnerJobTypeMngRunnerUpdateVersion
    - RunnerJobTypeMngRunnerRestart
    - RunnerJobTypeMngFetchToken
    - RunnerJobTypeSandboxTerraform
    - RunnerJobTypeSandboxTerraformPlan
    - RunnerJobTypeSandboxPulumi
    - RunnerJobTypeSandboxSyncSecrets
    - RunnerJobTypeRunnerHelm
    - RunnerJobTypeRunnerTerraform
    - RunnerJobTypeRunnerLocal
    - RunnerJobTypeActionsWorkflowRun
  plantypes.DockerBuildPlan:
    properties:
      build_args:
        additionalProperties:
          type: string
        type: object
      context:
        type: string
      dockerfile:
        type: string
      target:
        type: string
    type: object
  state.AWSCloudAccount:
    properties:
      region:
        type: string
    type: object
  plantypes.PulumiBackend:
    properties:
      config:
        additionalProperties:
          type: string
        type: object
      pulumi_version:
        type: string
      runtime:
        type: string
      stack_name:
        type: string
      update_plans:
        type: boolean
      workspace_id:
        type: string
    required:
    - runtime
    - stack_name
    - workspace_id
    type: object
  compositeerrors.SectionKind:
    enum:
    - markdown
    - text
    - code
    type: string
    x-enum-varnames:
    - SectionMarkdown
    - SectionText
    - SectionCode
  app.WorkflowStepPolicyValidation:
    properties:
      created_at:
        type: string
      created_by_id:
        type: string
      id:
        type: string
      install_workflow_step_id:
        description: install workflow step is the install step that this was performed within
        type: string
      response:
        description: 'response is the kyverno response (deprecated: use Reports for detailed results)'
        type: string
      runner_job_id:
        description: runnerJobID is the runner job that this was performed within
        type: string
      status:
        allOf:
        - $ref: '#/definitions/app.CompositeStatus'
        description: status denotes whether this passed, or whether it failed the job.
      updated_at:
        type: string
    type: object
  state.SandboxState:
    properties:
      outputs:
        additionalProperties: true
        type: object
      populated:
        type: boolean
      recent_runs:
        items:
          $ref: '#/definitions/state.SandboxState'
        type: array
      status:
        type: string
      type:
        type: string
      version:
        type: string
    type: object
  app.SandboxRunType:
    enum:
    - provision
    - reprovision
    - deprovision
    type: string
    x-enum-varnames:
    - SandboxRunTypeProvision
    - SandboxRunTypeReprovision
    - SandboxRunTypeDeprovision
  app.InstallActionWorkflowRun:
    properties:
      action_workflow_config_id:
        type: string
      config:
        $ref: '#/definitions/app.ActionWorkflowConfig'
      created_at:
        type: string
      created_by:
        $ref: '#/definitions/app.Account'
      created_by_id:
        type: string
      enable_kube_config:
        $ref: '#/definitions/sql.NullBool'
      execution_time:
        description: after query
        type: integer
      id:
        type: string
      install_action_workflow:
        $ref: '#/definitions/app.InstallActionWorkflow'
      install_action_workflow_id:
        type: string
      install_id:
        type: string
      install_workflow_id:
        type: string
      kubernetes_context_name:
        description: 'KubernetesContextName is snapshotted from the action''s

          ActionWorkflowConfig at run-creation time so plan resolution can target

          the correct cluster. Empty means fall back to the sandbox default.'
        type: string
      log_stream:
        $ref: '#/definitions/app.LogStream'
      outputs:
        additionalProperties: true
        type: object
      role:
        description: Role to be used when running this action
        type: string
      run_env_vars:
        additionalProperties:
          type: string
        type: object
      runner_job:
        $ref: '#/definitions/app.RunnerJob'
      status:
        type: string
      status_description:
        type: string
      status_v2:
        $ref: '#/definitions/app.CompositeStatus'
      steps:
        items:
          $ref: '#/definitions/app.InstallActionWorkflowRunStep'
        type: array
      timeout:
        type: integer
      trigger_type:
        $ref: '#/definitions/app.ActionWorkflowTriggerType'
      triggered_by_id:
        type: string
      triggered_by_type:
        type: string
      updated_at:
        type: string
      workflow:
        $ref: '#/definitions/app.Workflow'
      workflow_id:
        type: string
    type: object
  app.InstallActionWorkflowRunStepStatus:
    enum:
    - finished
    - pending
    - in-progress
    - timed-out
    - error
    type: string
    x-enum-varnames:
    - InstallActionWorkflowRunStepStatusFinished
    - InstallActionWorkflowRunStepStatusPending
    - InstallActionWorkflowRunStepStatusInProgress
    - InstallActionWorkflowRunStepStatusTimedOut
    - InstallActionWorkflowRunStepStatusError
  app.ActionWorkflowConfig:
    properties:
      action_workflow_id:
        type: string
      app_config_id:
        type: string
      app_id:
        type: string
      break_glass_role_arn:
        type: string
      component_dependency_ids:
        items:
          type: string
        type: array
      created_at:
        type: string
      created_by_id:
        type: string
      enable_kube_config:
        $ref: '#/definitions/sql.NullBool'
      id:
        type: string
      kubernetes_context_name:
        description: 'KubernetesContextName is the name of an AppKubernetesContextConfig on

          the same AppConfig. Empty means fall back to the implicit sandbox

          default. Stored as a name (not an FK) so it remains stable across

          AppConfig versions.'
        type: string
      references:
        items:
          type: string
        type: array
      refs:
        items:
          $ref: '#/definitions/refs.Ref'
        type: array
      role:
        type: string
      steps:
        items:
          $ref: '#/definitions/app.ActionWorkflowStepConfig'
        type: array
      timeout:
        type: integer
      triggers:
        description: 'INFO: if adding new associations here, ensure they are added to the batch delete activity'
        items:
          $ref: '#/definitions/app.ActionWorkflowTriggerConfig'
        type: array
      updated_at:
        type: string
    type: object
  plantypes.HelmDeployPlan:
    properties:
      aws_auth:
        allOf:
        - $ref: '#/definitions/github_com_nuonco_nuon_pkg_aws_credentials.Config'
        description: Auth for cloud providers
      azure_auth:
        $ref: '#/definitions/github_com_nuonco_nuon_pkg_azure_credentials.Config'
      cluster_info:
        $ref: '#/definitions/kube.ClusterInfo'
      create_namespace:
        type: boolean
      gcp_auth:
        $ref: '#/definitions/github_com_nuonco_nuon_pkg_gcp_credentials.Config'
      helm_chart_id:
        type: string
      name:
        description: 'NOTE(jm): these fields should probably just come from the app config, however we keep them around for

          debuggability'
        type: string
      namespace:
        type: string
      skip_crds:
        type: boolean
      storage_driver:
        type: string
      take_ownership:
        type: boolean
      values:
        items:
          $ref: '#/definitions/plantypes.HelmValue'
        type: array
      values_files:
        items:
          type: string
        type: array
      values_override:
        description: 'ValuesOverride is the install-level Helm values override (raw YAML). It is

          merged as the highest-precedence layer at deploy time, winning over both

          ValuesFiles and Values. Empty means no override (exact no-op).'
        type: string
    type: object
  plantypes.TerraformBuildPlan:
    properties:
      labels:
        additionalProperties:
          type: string
        type: object
      terraform_version:
        description: 'TerraformVersion is the version of the terraform CLI the build runner

          should install in order to vendor providers via

          `terraform providers mirror`. When empty the build runner falls back

          to a sane default. Should mirror the version configured for the

          component''s deploy plan so init resolves the same provider bytes the

          build vendored. Only consulted when VendorProviders is true.'
        type: string
      vendor_providers:
        description: 'VendorProviders enables build-time vendoring of terraform providers

          via `terraform providers mirror`. Gated by the

          `terraform-provider-mirror` org feature flag in ctl-api so we can

          roll the change out gradually without coupling install-runner

          behaviour to the flag (the install runner auto-detects whether a

          mirror is present in the OCI artifact).'
        type: boolean
    type: object
  config.HelmRepoConfig:
    properties:
      chart:
        type: string
      repoURL:
        type: string
      version:
        type: string
    type: object
  app.AWSECRImageConfig:
    properties:
      aws_region:
        type: string
      component_config_id:
        description: connection to parent model
        type: string
      component_config_type:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      iam_role_arn:
        description: actual configuration
        type: string
      id:
        type: string
      updated_at:
        type: string
    type: object
  refs.Ref:
    properties:
      input:
        type: string
      name:
        type: string
      type:
        $ref: '#/definitions/refs.RefType'
      value:
        type: string
    type: object
  plantypes.NoopDeployPlan:
    type: object
  app.ComponentConfigConnection:
    properties:
      app_config_id:
        type: string
      app_config_version:
        type: integer
      auto_approve_on_policies_passing:
        type: boolean
      build_timeout:
        description: Duration string for build operations (e.g., "30m", "1h"). Max 1h.
        type: string
      checksum:
        type: string
      component_dependency_ids:
        items:
          type: string
        type: array
      component_id:
        type: string
      component_name:
        type: string
      created_at:
        type: string
      created_by_id:
        type: string
      default_enabled:
        type: boolean
      deploy_timeout:
        description: Duration string for deploy operations (e.g., "30m", "1h"). Max 1h.
        type: string
      docker_build:
        $ref: '#/definitions/app.DockerBuildComponentConfig'
      drift_schedule:
        type: string
      external_image:
        $ref: '#/definitions/app.ExternalImageComponentConfig'
      helm:
        $ref: '#/definitions/app.HelmComponentConfig'
      id:
        type: string
      job:
        $ref: '#/definitions/app.JobComponentConfig'
      kubernetes_context_name:
        description: 'KubernetesContextName is the name of an AppKubernetesContextConfig on

          the same AppConfig. Empty means fall back to the implicit sandbox

          default. Stored as a name (not an FK) so it remains stable across

          AppConfig versions, mirroring how component dependencies are tracked.'
        type: string
      kubernetes_manifest:
        $ref: '#/definitions/app.KubernetesManifestComponentConfig'
      latest_build_id:
        type: string
      max_auto_retries:
        type: integer
      operation_roles:
        additionalProperties:
          type: string
        description: 'Operation roles map: operation type -> role name'
        type: object
      pulumi:
        $ref: '#/definitions/app.PulumiComponentConfig'
      references:
        items:
          type: string
        type: array
      refs:
        items:
          $ref: '#/definitions/refs.Ref'
        type: array
      skip_noops:
        type: boolean
      terraform_module:
        $ref: '#/definitions/app.TerraformModuleComponentConfig'
      toggleable:
        type: boolean
      type:
        $ref: '#/definitions/app.ComponentType'
      updated_at:
        type: string
      version:
        type: integer
    type: object
  app.KubernetesManifestComponentConfig:
    properties:
      component_config_connection_id:
        description: value
        type: string
      connected_github_vcs_config:
        $ref: '#/definitions/app.ConnectedGithubVCSConfig'
      created_at:
        type: string
      created_by_id:
        type: string
      id:
        type: string
      kustomize:
        allOf:
        - $ref: '#/definitions/app.KustomizeConfig'
        description: Kustomize configuration (mutually exclusive with Manifest)
      manifest:
        description: Primary fields - used for inline manifests (fully supported)
        type: string
      namespace:
        type: string
      public_git_vcs_config:
        allOf:
        - $ref: '#/definitions/app.PublicGitVCSConfig'
        description: VCS configuration for kustomize sources (similar to HelmComponentConfig)
      updated_at:
        type: string
    type: object
  app.TerraformModuleComponentConfig:
    properties:
      component_config_connection_id:
        description: parent reference
        type: string
      connected_github_vcs_config:
        $ref: '#/definitions/app.ConnectedGithubVCSConfig'
      created_at:
        type: string
      created_by_id:
        type: string
      env_vars:
        additionalProperties:
          type: string
        type: object
      id:
        type: string
      public_git_vcs_config:
        $ref: '#/definitions/app.PublicGitVCSConfig'
      updated_at:
        type: string
      variables:
        additionalProperties:
          type: string
        type: object
      variables_files:
        items:
          type: string
        type: array
      version:
        description: terraform configuration values
        type: string
    type: object
  state.SecretsState:
    additionalProperties:
      $ref: '#/definitions/outputs.SecretSyncOutput'
    type: object
  app.RunnerJobExecutionResult:
    properties:
      composite_error:
        description: 'CompositeError is the typed, structured error parsed from this execution''s

          failure output at write time. It is the canonical, execution-scoped store

          for runner-driven composite errors: strictly 1:1 with the attempt and

          never reused, so it cannot go stale across retries. Aggregate rows derive

          their displayed error from the latest relevant result; they do not own it.'
        type: object
      contents:
        type: string
      contents_display:
        type: string
      contents_display_gzip:
        type: string
      contents_gzi

# --- truncated at 32 KB (119 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nuon/refs/heads/main/openapi/nuon-actions-runner-api-openapi.yml