github.com/crossplane-contrib/function-cue@v0.2.2-0.20240508161918-5100fcb5a058/hacking/setup-k8s-providers.sh (about)

     1  #!/bin/bash
     2  
     3  set -euo pipefail
     4  
     5  SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
     6  source "${SCRIPT_DIR}/.env"
     7  
     8  XP_PROVIDER_K8S_VERSION=${XP_PROVIDER_K8S_VERSION:-v0.11.4}
     9  
    10  echo "apply k8s provider"
    11  ${RUN_KUBECTL} apply -f - <<EOF
    12  apiVersion: pkg.crossplane.io/v1
    13  kind: Provider
    14  metadata:
    15    name: provider-kubernetes
    16  spec:
    17    package: xpkg.upbound.io/crossplane-contrib/provider-kubernetes:${XP_PROVIDER_K8S_VERSION}
    18    runtimeConfigRef:
    19      name: deploy-config-k8s
    20  EOF
    21  
    22  echo "apply k8s provider deployment config"
    23  ${RUN_KUBECTL} apply -f - <<EOF
    24  apiVersion: pkg.crossplane.io/v1beta1
    25  kind: DeploymentRuntimeConfig
    26  metadata:
    27    name: deploy-config-k8s
    28  spec:
    29    serviceAccountTemplate:
    30      metadata:
    31        name: crossplane-provider-kubernetes
    32  EOF
    33  
    34  echo "Waiting for the crossplane k8s provider to be ready. This could take some minutes..."
    35  ${RUN_KUBECTL} wait --timeout=300s --for=condition=Healthy providers.pkg.crossplane.io provider-kubernetes
    36  
    37  echo "set credentials for k8s provider to be the injected identity"
    38  ${RUN_KUBECTL} apply -f - <<EOF
    39  apiVersion: kubernetes.crossplane.io/v1alpha1
    40  kind: ProviderConfig
    41  metadata:
    42    name: default
    43  spec:
    44    credentials:
    45      source: InjectedIdentity
    46  EOF
    47  
    48  echo "setting up cluster role bindings for the k8s provider"
    49  ${RUN_KUBECTL} create clusterrolebinding provider-kubernetes-admin-binding \
    50   --clusterrole cluster-admin --serviceaccount="${XP_CROSSPLANE_NS}:crossplane-provider-kubernetes" \
    51   --dry-run=client -o yaml \
    52   | ${RUN_KUBECTL} apply -f -