# 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://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_backendtlspolicies.yaml"; sha256 = "0kspa45s5kmbw8gm74r1wnj1chb8k8nnfvisnljnrawwq6q38kzr"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml"; sha256 = "1j78da9p6ndqp199f6rmz7dxxzpirag6v10ncscs992yjv9qm5bx"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_gateways.yaml"; sha256 = "0vmsydfbizdlp7kcc529k6b6h7sy6xbdv7cccrxij7whzhjs8bm0"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_grpcroutes.yaml"; sha256 = "1asd3kjglxn7ygcp2bmy98b4v40nzgz8snlyc355285k5js6h85p"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml"; sha256 = "055grkxs7zwxdwykhwj2vpzwj1i0cgp8ihp9ja93379h49y7gilq"; }) (builtins.fetchurl { url = "https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/refs/tags/v1.4.1/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml"; sha256 = "11351y1aq7q5lbib6h2n1vil06h143bs44ywsv2g9500x7wc4kyp"; }) ]; in stdenv.mkDerivation (finalAttrs: { name = "bootstrap-script"; nativeBuildInputs = [ ]; buildInputs = [ ]; unpackPhase = "true"; installPhase = '' cp ${bootstrap_script} "$out" ''; })