if ($null -eq (Get-VMSwitch -SwitchName "k8s-Switch" -ErrorAction Ignore)) { New-VMSwitch -SwitchName “k8s-Switch” -SwitchType Internal New-NetIPAddress -IPAddress 192.168.99.1 -PrefixLength 24 -InterfaceIndex (Get-NetAdapter | Where-Object {$_.Name -match "k8s-Switch"}).ifIndex -AddressFamily IPv4 } if($null -eq (Get-NetNat | Where-Object {$_.Name -match "K8s-NATNetwork"})) { New-NetNAT -Name “K8s-NATNetwork” -InternalIPInterfaceAddressPrefix 192.168.99.0/24 } # cmd /c ssh-keygen -t id_ed25519 -f '$PSScriptRoot\.ssh\id_ed25519' -P '' # TODO must change file permissions!!! as key file is too open Set-Location $PSScriptRoot cmd /c "vagrant plugin install --plugin-clean-sources --plugin-source https://rubygems.org vagrant-reload" cmd /c "vagrant plugin install --plugin-clean-sources --plugin-source https://rubygems.org vagrant-scp" cmd /c "vagrant up" # replace with custom ssh private_key file Get-ChildItem -Path ".\.vagrant\machines" | Foreach-Object { Rename-Item -Path "$($_.FullName)\hyperv\private_key" -NewName "private_key.bak" Copy-Item ".\.ssh\id_ed25519" -Destination "$($_.FullName)\hyperv\private_key" #TODO must change file permissions!!! as key file is too open } # import configuration in local kubectl Copy-Item ".\.tmp\config" -Destination "$HOME\.kube\config" -Force # install argo cd cmd /c "kubectl create namespace argocd" cmd /c "kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml" $secret = ./kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($secret)) > .\.tmp\argocd-secret.txt # install dapr # Add the official Dapr Helm chart. cmd /c "helm repo add dapr https://dapr.github.io/helm-charts/" cmd /c "helm repo update" # See which chart versions are available # cmd /c "helm search repo dapr --devel --versions" # Install in developer mode cmd /c "helm upgrade --install dapr dapr/dapr --version=1.11 --namespace dapr-system --create-namespace --wait" cmd /c "helm upgrade --install dapr-dashboard dapr/dapr-dashboard --namespace dapr-dashboard --create-namespace --wait"