# unpackPhase # patchPhase # configurePhase # buildPhase # checkPhase # installPhase # fixupPhase # installCheckPhase # distPhase { lib, stdenv, writeShellScript, k8s, ... }: let bootstrap_script = (writeShellScript "bootstrap-script" bootstrap_script_body); bootstrap_script_body = ('' set -euo pipefail IFS=$'\n\t' DIR="$( cd "$( dirname "''${BASH_SOURCE[0]}" )" && pwd )" ${apply_manifests} echo "Bootstrap finished" ''); manifests = ( lib.concatMapStringsSep "," lib.escapeShellArg ( [ ./files/manifests/initial_clusterrole.yaml ] ++ gateway_crds ++ [ "${k8s.cilium-manifest}/cilium.yaml" "${k8s.coredns-manifest}/coredns.yaml" ./files/manifests/flux_namespace.yaml ./files/manifests/flux.yaml ./files/manifests/flux_instance.yaml ] ++ (lib.attrsets.mapAttrsToList ( secret_name: secret_value: "${secret_value}/${secret_name}.yaml" ) k8s.k8s-secrets-generic) ++ [ ./files/manifests/flux_apply_git.yaml ] ) ); apply_manifests = "kubectl --kubeconfig=${k8s.client-configs.admin}/admin.kubeconfig apply --server-side --force-conflicts -f ${manifests}"; gateway_crds = [ (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_backendtlspolicies.yaml"; sha256 = "0wbrylglinba48ibqnrzs5vp4raa1azb0b83hjf2zmsk44bii24v"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml"; sha256 = "1x5yws3q7grd5xlnz071v6ymn707vycbp1s1d9cv7qbyfnrd8ji3"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_gateways.yaml"; sha256 = "0cbwwzmy3kqrn224a440pklcpfjv0w4mci133akw1n5l1qqfh5kl"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_grpcroutes.yaml"; sha256 = "1pr7g06q3m9dx2mfi4ri892nrrzq9z8d205sb53g4gadshjl37wp"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml"; sha256 = "0w632khanl080fzjf34vzqi7vhf2gf7mffh7726v3v5s16qh68k8"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_listenersets.yaml"; sha256 = "1fz0y0w8n6rn20jgynlp0xvg4r5cmdjfzc8kc41b1yzx366lc8cj"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml"; sha256 = "0ldv1ydvdjq1vhml0j400gmih2dsr9n4g2mvylwp62zddr42r458"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_tlsroutes.yaml"; sha256 = "0ickl2fj23ch5j0l9pd8zr82qy2nws8ib1d24wjhx939qhkli3l1"; }) (builtins.fetchurl { url = "https://github.com/kubernetes-sigs/gateway-api/raw/refs/tags/v1.5.1/config/crd/standard/gateway.networking.k8s.io_vap_safeupgrades.yaml"; sha256 = "18aqz4abwyi9kiqx035rakq4g6a257r6y00y0my5djq64ylls6lq"; }) ]; in stdenv.mkDerivation (finalAttrs: { name = "bootstrap-script"; nativeBuildInputs = [ ]; buildInputs = [ ]; unpackPhase = "true"; installPhase = '' cp ${bootstrap_script} "$out" ''; })