diff --git a/devel/BUILD.bazel b/devel/BUILD.bazel index fe4d13a2e..ff2a88abc 100644 --- a/devel/BUILD.bazel +++ b/devel/BUILD.bazel @@ -12,6 +12,7 @@ filegroup( "//devel/addon/bind:all-srcs", "//devel/addon/certmanager:all-srcs", "//devel/addon/gatewayapi:all-srcs", + "//devel/addon/haproxy:all-srcs", "//devel/addon/ingressnginx:all-srcs", "//devel/addon/kyverno:all-srcs", "//devel/addon/pebble:all-srcs", diff --git a/devel/addon/bind/manifests/configmap.yaml b/devel/addon/bind/manifests/configmap.yaml index 460c1ccad..bef1279f9 100644 --- a/devel/addon/bind/manifests/configmap.yaml +++ b/devel/addon/bind/manifests/configmap.yaml @@ -36,7 +36,9 @@ data: 604800 ) ; Negative Cache TTL @ IN NS localhost. *.ingress-nginx IN A {SERVICE_IP_PREFIX}.15 - ingress-nginx IN A {SERVICE_IP_PREFIX}.15 + ingress-nginx IN A {SERVICE_IP_PREFIX}.15 + *.haproxy IN A {SERVICE_IP_PREFIX}.14 + haproxy IN A {SERVICE_IP_PREFIX}.14 db.dns01.example.com: | ; diff --git a/devel/addon/haproxy/BUILD.bazel b/devel/addon/haproxy/BUILD.bazel new file mode 100644 index 000000000..6df04e38c --- /dev/null +++ b/devel/addon/haproxy/BUILD.bazel @@ -0,0 +1,13 @@ +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/devel/addon/haproxy/install.sh b/devel/addon/haproxy/install.sh new file mode 100755 index 000000000..28909333c --- /dev/null +++ b/devel/addon/haproxy/install.sh @@ -0,0 +1,91 @@ +#!/usr/bin/env bash + +# Copyright 2020 The cert-manager Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Install HAProxy as a gateway-API e2e test + +set -o nounset +set -o errexit +set -o pipefail + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}") +source "${SCRIPT_ROOT}/../../lib/lib.sh" + +check_tool helm +check_tool kubectl + +helm repo add haproxy-ingress https://haproxy-ingress.github.io/charts +helm repo update + +export NAMESPACE="haproxy-ingress" +export VERSION="0.13.0-beta.2" + +helm upgrade \ + --install \ + --wait \ + --create-namespace \ + --namespace "${NAMESPACE}" \ + --version "${VERSION}" \ + --set "controller.extraArgs.watch-gateway=true" \ + --set "controller.service.type=ClusterIP" \ + --set "controller.service.clusterIP=10.0.0.14" \ + haproxy-ingress haproxy-ingress/haproxy-ingress + +cat <