apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

# Adds namespace to all resources.
namespace: kfserving-system

# Labels to add to all resources and selectors.
#commonLabels:
#  someName: someValue

bases:
- ../crd
- ../configmap
- ../rbac
- ../manager
- ../webhook
# FIXME: we do not use cert-manager
# - ../certmanager
- ../web-app

  # Protect the /metrics endpoint by putting it behind auth.
  # Only one of manager_auth_proxy_patch.yaml and
  # manager_prometheus_metrics_patch.yaml should be enabled.
  # If you want your controller-manager to expose the /metrics
  # endpoint w/o any authn/z, uncomment the following line and
  # comment manager_auth_proxy_patch.yaml.
  # Only one of manager_auth_proxy_patch.yaml and
  # manager_prometheus_metrics_patch.yaml should be enabled.
#- manager_prometheus_metrics_patch.yaml
patchesStrategicMerge:
- manager_image_patch.yaml
- manager_auth_proxy_patch.yaml
- webhookcainjection_patch.yaml
- manager_resources_patch.yaml
- inferenceservice_conversion_webhook.yaml
- cainjection_conversion_webhook.yaml

generatorOptions:
  disableNameSuffixHash: true

# To make namespace for standalone installation kustomizable,
# variabalize ingress gateway, webhook service name and
# kfserving namespace in webhook configurations
configMapGenerator:
  - name: kfserving-config
    envs:
    - params.env
vars:
- name: ingressGateway
  objref:
    kind: ConfigMap
    name: kfserving-config
    apiVersion: v1
  fieldref:
    fieldpath: data.ingressGateway
- fieldref:
    fieldPath: metadata.name
  name: webhookServiceName
  objref:
    apiVersion: v1
    kind: Service
    name: kfserving-webhook-server-service
- name: kfservingNamespace
  objref:
    kind: ConfigMap
    name: kfserving-config
    apiVersion: v1
  fieldref:
    fieldpath: metadata.namespace
configurations:
- params.yaml
