kgctl.sh 1.1 KB

1234567891011121314151617181920212223
  1. #!/usr/bin/env bash
  2. # shellcheck disable=SC1091
  3. . lib.sh
  4. setup_suite() {
  5. # shellcheck disable=SC2016
  6. block_until_ready_by_name kube-system kilo-userspace
  7. _kubectl wait pod -l app.kubernetes.io/name=adjacency --for=condition=Ready --timeout 3m
  8. }
  9. test_connect() {
  10. local PEER=test
  11. local ALLOWED_IP=10.5.0.1/32
  12. docker run -d --name="$PEER" --rm --network=host --cap-add=NET_ADMIN -v "$(which "$KGCTL_BINARY")":/kgctl -v "$PWD/$KUBECONFIG":/kubeconfig --entrypoint=/kgctl alpine --kubeconfig /kubeconfig connect "$PEER" --allowed-ip "$ALLOWED_IP"
  13. assert "retry 10 5 '' check_ping --local" "should be able to ping Pods from host"
  14. docker stop "$PEER"
  15. local PEER=test-hostname
  16. local ALLOWED_IP=10.5.0.1/32
  17. docker run -d --name="$PEER" --rm --network=host --cap-add=NET_ADMIN -v "$(which "$KGCTL_BINARY")":/kgctl -v "$PWD/$KUBECONFIG":/kubeconfig --entrypoint=/kgctl alpine --kubeconfig /kubeconfig connect --allowed-ip "$ALLOWED_IP"
  18. assert "retry 10 5 '' check_ping --local" "should be able to ping Pods from host using auto-discovered name"
  19. docker stop "$PEER"
  20. }