> ## Documentation Index
> Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List cluster addons

> List addons installed on the cluster.



## OpenAPI

````yaml /openapi.json get /api/svc/v1/clusters/{id}/get-addons
openapi: 3.1.0
info:
  title: TrueFoundry API
  description: API for TrueFoundry
  version: 0.1.0
  contact: {}
servers:
  - url: https://{controlPlaneURL}
    variables:
      controlPlaneURL:
        default: app.truefoundry.com
        description: Control Plane URL
security: []
tags:
  - name: Agent
  - name: Agent Skills
  - name: Applications
  - name: Metrics
  - name: Apply
  - name: Artifacts
  - name: Audit Logs
  - name: Clusters
  - name: Jobs
  - name: Logs
  - name: MCP Servers V2
  - name: MLRepos
  - name: Model Deployments
  - name: Models
  - name: Personal Access Tokens
  - name: Prompts
  - name: Provider Integrations
  - name: SCIM v2
  - name: Secret Groups
  - name: Secrets
  - name: Teams
  - name: Traces
  - name: Users
  - name: Virtual Accounts
  - name: Role Bindings
  - name: Workspaces
paths:
  /api/svc/v1/clusters/{id}/get-addons:
    get:
      tags:
        - Clusters
      summary: List cluster addons
      description: List addons installed on the cluster.
      operationId: Cluster.getAddOns
      parameters:
        - name: id
          required: true
          in: path
          description: Unique identifier of the cluster.
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: Number of items per page
          schema:
            minimum: 1
            maximum: 1000
            nullable: true
            default: 100
            example: 10
            type: integer
        - name: offset
          required: false
          in: query
          description: Number of items to skip
          schema:
            minimum: 0
            nullable: true
            default: 0
            example: 0
            type: integer
        - name: attributes
          required: false
          in: query
          description: >-
            Comma-separated list of attributes to return (e.g. id,name). When
            provided, only the specified fields are fetched. `id` is always
            included.
          schema:
            nullable: true
            type: array
            items:
              type: string
      responses:
        '200':
          description: Paginated list of addons for the cluster.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListClusterAddonsResponse'
        '401':
          description: 'Error: Unauthorized'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
        '404':
          description: Cluster with the provided ID was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
      security:
        - jwt: []
components:
  schemas:
    ListClusterAddonsResponse:
      type: object
      properties:
        data:
          description: List of addons installed on the cluster.
          type: array
          items:
            $ref: '#/components/schemas/AddonComponent'
        pagination:
          description: Pagination metadata.
          allOf:
            - $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
      title: ListClusterAddonsResponse
      x-fern-type-name: ListClusterAddonsResponse
    HttpError:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP Status Code
        message:
          type: string
          description: Error Message
        code:
          oneOf:
            - type: integer
            - type: string
          description: Error code
          nullable: true
        details:
          type: array
          description: Error details
          items:
            type: object
          nullable: true
      required:
        - statusCode
        - message
      title: HttpError
      x-fern-type-name: HttpError
    AddonComponent:
      type: object
      properties:
        name:
          allOf:
            - $ref: '#/components/schemas/AddonComponentName'
        appName:
          type: string
          nullable: true
        namespace:
          type: string
          nullable: true
        applicationId:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        path:
          type: string
          nullable: true
        addonFolder:
          type: string
          nullable: true
        installed:
          type: boolean
          nullable: true
        status:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/AddonComponentStatus'
        version:
          type: string
          nullable: true
        manifest:
          type: object
          nullable: true
        installationSource:
          type: string
          nullable: true
        unsupportedClusterTypes:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ClusterType'
        required:
          type: boolean
          nullable: true
        knownCRDs:
          nullable: true
          type: array
          items:
            type: string
        source:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/AddOnComponentSource'
        upgrades:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/UpgradeData'
        labels:
          nullable: true
          type: array
          items:
            type: string
        recommendations:
          description: Recommendations
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/Recommendation'
        workspaceId:
          type: string
          nullable: true
        metadata:
          type: object
          description: >-
            Addon metadata. autopilotEnabled is true when the backing addon
            application has autopilot enabled; otherwise false.
          nullable: true
      required:
        - name
      title: AddonComponent
      x-fern-type-name: AddonComponent
    Pagination:
      type: object
      properties:
        total:
          type: integer
          description: Total number of items
          example: 100
        offset:
          type: integer
          description: Number of items skipped
          example: 0
          nullable: true
        limit:
          type: integer
          description: Number of items per page
          example: 10
          nullable: true
      required:
        - total
      title: Pagination
      x-fern-type-name: Pagination
    AddonComponentName:
      type: string
      enum:
        - ARGOCD
        - ARGO_ROLLOUT
        - ARGO_WORKFLOW
        - TFY_AGENT
        - ISTIO_BASE
        - ISTIO_DISCOVERY
        - TFY_ISTIO_INGRESS
        - AWS_LOAD_BALANCER_CONTROLLER
        - CERT_MANAGER
        - KARPENTER
        - KARPENTER_CONFIG
        - PROMETHEUS
        - METRICS_SERVER
        - KUBECOST
        - KEDA
        - AWS_EFS_CSI_DRIVER
        - AWS_EBS_CSI_DRIVER
        - TFY_GPU_OPERATOR
        - TFY_INFERENTIA_OPERATOR
        - ELASTI
        - TFY_WORKFLOW_PROPELLER
        - GRAFANA
        - TRUEFOUNDRY
        - TFY_PROMETHEUS_CONFIG
        - SPARK_OPERATOR
        - TFY_LOGS
        - TFY_CERT_MANAGER_CONFIG
      title: AddonComponentName
      x-fern-type-name: AddonComponentName
    AddonComponentStatus:
      type: object
      properties:
        healthStatus:
          type: string
          description: Health status of the addon
          nullable: true
        syncStatus:
          type: string
          description: Sync status of the addon
          nullable: true
        installed:
          type: boolean
          description: Indicates whether the addon is installed
      required:
        - installed
      title: AddonComponentStatus
      x-fern-type-name: AddonComponentStatus
    ClusterType:
      type: string
      enum:
        - aws-eks
        - gcp-gke-standard
        - azure-aks
        - generic
        - civo-talos
      title: ClusterType
      x-fern-type-name: ClusterType
    AddOnComponentSource:
      type: object
      properties:
        repo_url:
          type: string
          description: Repository URL of the source
        chart:
          type: string
          description: Chart of the source
      required:
        - repo_url
        - chart
      title: AddOnComponentSource
      x-fern-type-name: AddOnComponentSource
    UpgradeData:
      type: object
      properties:
        diff:
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/IChange'
        currentManifest:
          oneOf:
            - $ref: '#/components/schemas/Helm'
          nullable: true
        desiredManifest:
          oneOf:
            - $ref: '#/components/schemas/Helm'
          nullable: true
        upgradePossible:
          type: boolean
          nullable: true
        conflictFields:
          nullable: true
          type: array
          items:
            type: string
        hasConflict:
          type: boolean
          nullable: true
      title: UpgradeData
      x-fern-type-name: UpgradeData
    Recommendation:
      type: object
      properties:
        id:
          type: string
          nullable: true
        clusterId:
          type: string
          nullable: true
        applicationId:
          type: string
          nullable: true
        deploymentId:
          type: string
          nullable: true
        applicationVersion:
          type: integer
          nullable: true
        recommendationData:
          type: object
          additionalProperties: true
        recommendationType:
          type: string
        appliedDeploymentId:
          type: string
          nullable: true
        expiryTimestamp:
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
          nullable: true
        updatedAt:
          format: date-time
          type: string
          nullable: true
      required:
        - recommendationData
        - recommendationType
        - expiryTimestamp
      title: Recommendation
      x-fern-type-name: Recommendation
    IChange:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/IChangeOperation'
        key:
          type: string
        value:
          type: object
          nullable: true
        oldValue:
          type: object
          nullable: true
        changes:
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/IChange'
      required:
        - type
        - key
      title: IChange
      x-fern-type-name: IChange
    Helm:
      type: object
      required:
        - type
        - name
        - source
      properties:
        type:
          description: +value=helm
          type: string
          enum:
            - helm
        name:
          description: >-
            Name of the Helm deployment. This will be set as the release name of
            the chart you are deploying.
          type: string
          pattern: ^[a-z](?:[a-z0-9]|-(?!-)){1,30}[a-z0-9]$
        labels:
          description: Add labels to base argo app
          type: object
          additionalProperties:
            type: string
        source:
          description: Source helm repository
          type: object
          oneOf:
            - $ref: '#/components/schemas/HelmRepo'
            - $ref: '#/components/schemas/OCIRepo'
            - $ref: '#/components/schemas/GitHelmRepo'
          discriminator:
            propertyName: type
        values:
          description: Values file as block file
          type: object
        kustomize:
          $ref: '#/components/schemas/Kustomize'
        ignoreDifferences:
          type: array
          items:
            type: object
        workspace_fqn:
          description: Fully qualified name of the workspace
          type: string
      title: Helm
      x-fern-type-name: Helm
    IChangeOperation:
      type: string
      enum:
        - REMOVE
        - ADD
        - UPDATE
      title: IChangeOperation
      x-fern-type-name: IChangeOperation
    HelmRepo:
      type: object
      required:
        - type
        - repo_url
        - chart
        - version
      properties:
        type:
          description: +value=helm-repo
          type: string
          enum:
            - helm-repo
        repo_url:
          description: Helm repository URL - Needs to be a valid URL.
          type: string
          pattern: >-
            ^(((https?|wss):\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$
        integration_fqn:
          description: >-
            FQN of the helm repo integration. If you can't find your integration
            here,

            add it through the [Integrations](/integrations) page
          type: string
        chart:
          description: The helm chart name
          type: string
        version:
          description: Helm chart version
          type: string
      title: HelmRepo
      x-fern-type-name: HelmRepo
    OCIRepo:
      description: OCIRepo
      type: object
      required:
        - type
        - oci_chart_url
        - version
      properties:
        type:
          description: +value=oci-repo
          type: string
          enum:
            - oci-repo
        oci_chart_url:
          description: OCI chart URL - Need to be a valid URL.
          type: string
          pattern: >-
            ^(((oci):\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$
        integration_fqn:
          description: |-
            FQN of the container registry. If you can't find your registry here,
            add it through the [Integrations](/integrations) page
          type: string
        version:
          description: Helm chart version
          type: string
      title: OCIRepo
      x-fern-type-name: OCIRepo
    GitHelmRepo:
      type: object
      required:
        - type
        - repo_url
        - revision
        - path
      properties:
        type:
          description: +value=git-helm-repo
          type: string
          enum:
            - git-helm-repo
        repo_url:
          description: Git repository URL - Needs to be a valid URL.
          type: string
          pattern: >-
            ^(((https?|wss):\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$
        revision:
          description: Branch/Commit SHA/Tag of the git repo.
          type: string
        path:
          description: Path to the chart.
          type: string
        value_files:
          description: |-
            Helm values files for overriding values in the helm chart.
            The path is relative to the Path directory defined above
          type: array
          items:
            type: string
      title: GitHelmRepo
      x-fern-type-name: GitHelmRepo
    Kustomize:
      type: object
      properties:
        patch:
          description: >-
            Content of kustomization.yaml to perform kustomize operation. Please
            do not include the `resources` section. It is filled in
            automatically
          type: object
        additions:
          description: Additional kubernetes manifests to be included in the application
          type: array
          items:
            type: object
      title: Kustomize
      x-fern-type-name: Kustomize
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````