From 4b8dbea5c11d30ffe0b2762330e18453601c45eb Mon Sep 17 00:00:00 2001 From: Sergey Melnikov Date: Wed, 25 Jan 2023 17:15:56 +0100 Subject: [PATCH] Add production link proxy to new account (#3444) This PR setup link proxy in us-east-2 region, but do not redirect pg.neon.tech DNS name to it Will keep old link proxy for the time of migration --- .../prod-us-east-2-delta.neon-proxy-link.yaml | 59 +++++++++++++++++++ .github/workflows/build_and_test.yml | 12 +++- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .github/helm-values/prod-us-east-2-delta.neon-proxy-link.yaml diff --git a/.github/helm-values/prod-us-east-2-delta.neon-proxy-link.yaml b/.github/helm-values/prod-us-east-2-delta.neon-proxy-link.yaml new file mode 100644 index 0000000000..eff24302bb --- /dev/null +++ b/.github/helm-values/prod-us-east-2-delta.neon-proxy-link.yaml @@ -0,0 +1,59 @@ +# Helm chart values for neon-proxy-link. +# This is a YAML-formatted file. + +image: + repository: neondatabase/neon + +settings: + authBackend: "link" + authEndpoint: "https://console.neon.tech/authenticate_proxy_request/" + uri: "https://console.neon.tech/psql_session/" + domain: "pg.neon.tech" + sentryEnvironment: "production" + +# -- Additional labels for zenith-proxy pods +podLabels: + zenith_service: proxy + zenith_env: production + zenith_region: us-east-2 + zenith_region_slug: us-east-2 + +service: + type: LoadBalancer + annotations: + service.beta.kubernetes.io/aws-load-balancer-type: external + service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip + service.beta.kubernetes.io/aws-load-balancer-scheme: internal + external-dns.alpha.kubernetes.io/hostname: neon-proxy-link-mgmt.delta.us-east-2.aws.neon.tech + +exposedService: + annotations: + service.beta.kubernetes.io/aws-load-balancer-type: external + service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip + service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing + external-dns.alpha.kubernetes.io/hostname: neon-proxy-link.delta.us-east-2.aws.neon.tech + +extraManifests: + - apiVersion: operator.victoriametrics.com/v1beta1 + kind: VMServiceScrape + metadata: + name: "{{ include \"neon-proxy.fullname\" . }}" + labels: + helm.sh/chart: neon-proxy-{{ .Chart.Version }} + app.kubernetes.io/name: neon-proxy + app.kubernetes.io/instance: "{{ include \"neon-proxy.fullname\" . }}" + app.kubernetes.io/version: "{{ .Chart.AppVersion }}" + app.kubernetes.io/managed-by: Helm + namespace: "{{ .Release.Namespace }}" + spec: + selector: + matchLabels: + app.kubernetes.io/name: "neon-proxy" + endpoints: + - port: http + path: /metrics + interval: 10s + scrapeTimeout: 10s + namespaceSelector: + matchNames: + - "{{ .Release.Namespace }}" diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 1088f67710..553471e1a0 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1149,12 +1149,16 @@ jobs: include: - target_region: us-east-2 target_cluster: prod-us-east-2-delta + deploy_link_proxy: true - target_region: us-west-2 target_cluster: prod-us-west-2-eta + deploy_link_proxy: false - target_region: eu-central-1 target_cluster: prod-eu-central-1-gamma + deploy_link_proxy: false - target_region: ap-southeast-1 target_cluster: prod-ap-southeast-1-epsilon + deploy_link_proxy: false environment: name: prod-${{ matrix.target_region }} steps: @@ -1169,11 +1173,17 @@ jobs: helm repo add neondatabase https://neondatabase.github.io/helm-charts aws --region ${{ matrix.target_region }} eks update-kubeconfig --name ${{ matrix.target_cluster }} - - name: Re-deploy proxy + - name: Re-deploy scram proxy run: | DOCKER_TAG=${{needs.tag.outputs.build-tag}} helm upgrade neon-proxy-scram neondatabase/neon-proxy --namespace neon-proxy --create-namespace --install --atomic -f .github/helm-values/${{ matrix.target_cluster }}.neon-proxy-scram.yaml --set image.tag=${DOCKER_TAG} --set settings.sentryUrl=${{ secrets.SENTRY_URL_PROXY }} --wait --timeout 15m0s + - name: Re-deploy link proxy + if: matrix.deploy_link_proxy + run: | + DOCKER_TAG=${{needs.tag.outputs.build-tag}} + helm upgrade neon-proxy-link neondatabase/neon-proxy --namespace neon-proxy --create-namespace --install --atomic -f .github/helm-values/${{ matrix.target_cluster }}.neon-proxy-link.yaml --set image.tag=${DOCKER_TAG} --set settings.sentryUrl=${{ secrets.SENTRY_URL_PROXY }} --wait --timeout 15m0s + deploy-storage-broker-prod-new: runs-on: prod container: 093970136003.dkr.ecr.eu-central-1.amazonaws.com/ansible:latest