apiVersion: kfdef.apps.kubeflow.org/v1
kind: KfDef
metadata:
  namespace: kubeflow
spec:
  applications:
  # Install istio in a different namespace: istio-system
  # Remove this application if istio is already installed
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/istio-1-3-1-stack
    name: istio-stack
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/cluster-local-gateway-1-3-1
    name: cluster-local-gateway
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/istio
    name: istio
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/add-anonymous-user-filter
    name: add-anonymous-user-filter
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: application/v3
    name: application
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/bootstrap
    name: bootstrap
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/cert-manager-crds
    name: cert-manager-crds
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/cert-manager-kube-system-resources
    name: cert-manager-kube-system-resources
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/cert-manager
    name: cert-manager
  # Install Kubeflow applications.
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm
    name: kubeflow-apps
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: metacontroller/base
    name: metacontroller
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/spark-operator
    name: spark-operator
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: knative/installs/generic
    name: knative
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: kfserving/installs/generic
    name: kfserving
  # Spartakus is a separate applications so that kfctl can remove it
  # to disable usage reporting
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/spartakus
    name: spartakus
  - kustomizeConfig:
      repoRef:
        name: manifests
        path: stacks/ibm/application/tensorboard
    name: tensorboard
  repos:
  - name: manifests
    uri: https://github.com/kubeflow/manifests/archive/v1.1-branch.tar.gz
  version: v1.1-branch
