Skip to content

Commit

Permalink
feat: update charts to be able to leverage external static IP address…
Browse files Browse the repository at this point in the history
…es (#650)

Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>
  • Loading branch information
jeromy-cannon authored Jan 9, 2024
1 parent cdc94e8 commit 8a458d8
Show file tree
Hide file tree
Showing 26 changed files with 197 additions and 89 deletions.
13 changes: 9 additions & 4 deletions .github/workflows/zxc-fsnetman-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##
# Copyright (C) 2023 Hedera Hashgraph, LLC
# Copyright (C) 2023-2024 Hedera Hashgraph, LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -130,9 +130,14 @@ jobs:
npm link
fsnetman init -d ../charts
fsnetman cluster create
fsnetman cluster setup
fsnetman chart install
npm run test-e2e
fsnetman cluster setup -d ../charts \
--cert-manager \
--cert-manager-crds
fsnetman chart install -d ../charts \
--enable-tls \
--self-signed \
--enable-hedera-explorer-tls
- name: Output logs
id: nodejs-test-e2e-logs
working-directory: fullstack-network-manager
Expand Down
11 changes: 4 additions & 7 deletions charts/fullstack-cluster-setup/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@ dependencies:
version: 0.27.1
- name: gateway-helm
repository: oci://docker.io/envoyproxy
version: v0.5.0
version: v0.6.0
- name: cert-manager
repository: https://charts.jetstack.io
version: v1.13.2
- name: acme-cluster-issuer
repository: ""
version: 0.3.0
digest: sha256:630e4c5a362a5d9a9c8ea6b10653d9b35eb91e93a14e19578e8ef75eeb4a49c6
generated: "2023-11-10T14:03:37.262415Z"
version: v1.13.3
digest: sha256:6be28d5957a90c40e36baff239651c7d0ed730bf08b767694619cbc78e7dd325
generated: "2024-01-05T21:22:49.794103Z"
9 changes: 2 additions & 7 deletions charts/fullstack-cluster-setup/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,11 @@ dependencies:

- name: gateway-helm
alias: envoy-gateway
version: v0.5.0
version: v0.6.0
repository: oci://docker.io/envoyproxy
condition: cloud.envoyGateway.enabled

- name: cert-manager
version: v1.13.2
version: v1.13.3
repository: https://charts.jetstack.io
condition: cloud.certManager.enabled

- name: acme-cluster-issuer
version: 0.3.0
# TODO: uncomment #repository: https://swirldslabs.github.io/swirldslabs-helm-charts
condition: cloud.acmeClusterIssuer.enabled
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
apiVersion: gateway.networking.k8s.io/v1beta1
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: fst-gateway-class
labels:
fullstack.hedera.com/type: gateway-class
spec:
controllerName: "gateway.envoyproxy.io/gatewayclass-controller"
#controllerName: "haproxy-ingress.github.io/controller"
14 changes: 0 additions & 14 deletions charts/fullstack-cluster-setup/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,7 @@ cloud:
enabled: false
certManager:
enabled: false
acmeClusterIssuer:
enabled: false
selfSignedClusterIssuer:
enabled: true

cert-manager:
namespace: cert-manager
installCRDs: false

acme-cluster-issuer:
issuers:
annotations:
helm.sh/hook: post-install
helm.sh/hook-weight: "2"
staging:
email: ""
production:
email: ""
7 changes: 5 additions & 2 deletions charts/fullstack-deployment/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@ dependencies:
- name: tenant
repository: https://operator.min.io/
version: 5.0.7
digest: sha256:07f6ea06b7748b59dd24b34f2e742222ca2718592efc66d6fc55f78b628d4366
generated: "2023-11-03T13:52:20.781862Z"
- name: acme-cluster-issuer
repository: ""
version: 0.3.0
digest: sha256:65f708d654ba6d14c7b193cc833f132f6133cca53850bcd37cf27809246df0f6
generated: "2024-01-05T21:23:17.852519Z"
4 changes: 4 additions & 0 deletions charts/fullstack-deployment/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ dependencies:
repository: https://operator.min.io/
condition: cloud.minio.enabled

- name: acme-cluster-issuer
version: 0.3.0
# TODO: uncomment #repository: https://swirldslabs.github.io/swirldslabs-helm-charts
condition: cloud.acmeClusterIssuer.enabled
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,21 @@ spec:
solvers:
{{- if .Values.solvers.http01.enabled }}
- http01:
{{- if .Values.solvers.http01.solverType | eq "ingress" }}
ingress:
{{- with .Values.solvers.http01.ingress }}
name: {{ .name }}
class: {{ .class }}
serviceType: {{ .serviceType }}
{{- end }}
{{- end }}
{{- if .Values.solvers.http01.solverType | eq "gatewayHTTPRoute" }}
gatewayHTTPRoute:
{{- with .Values.solvers.http01.gatewayHTTPRoute }}
parentRefs:
- name: {{ .name }}
namespace: {{ default $.Release.Namespace $.Values.global.namespaceOverride }}
kind: Gateway
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,21 @@ spec:
solvers:
{{- if .Values.solvers.http01.enabled }}
- http01:
{{- if .Values.solvers.http01.solverType | eq "ingress" }}
ingress:
{{- with .Values.solvers.http01.ingress }}
name: {{ .name }}
class: {{ .class }}
serviceType: {{ .serviceType }}
{{- end }}
{{- end }}
{{- if .Values.solvers.http01.solverType | eq "gatewayHTTPRoute" }}
gatewayHTTPRoute:
{{- with .Values.solvers.http01.gatewayHTTPRoute }}
parentRefs:
- name: {{ .name }}
namespace: {{ default $.Release.Namespace $.Values.global.namespaceOverride }}
kind: Gateway
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ issuers:
solvers:
http01:
enabled: true
solverType: "ingress" # "ingress" or "gatewayHTTPRoute"
ingress:
name: ""
class: ""
serviceType: "NodePort"

gatewayHTTPRoute:
name: ""
namespace: ""
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
spec:
isCA: false
commonName: {{ $.Values.deployment.hederaExplorer.hostname }}
dnsNames:
- {{ $.Values.deployment.hederaExplorer.hostname }}
secretName: {{ $.Values.gatewayApi.gateway.tlsClusterIssuerName }}-ca-secret-hedera-explorer
privateKey:
algorithm: RSA
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{{- $defaults := $.Values.defaults.envoyProxy }}
{{- if default $defaults.enabled $envoyProxy.enabled | eq "true" }}
---
apiVersion: gateway.networking.k8s.io/v1beta1
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: envoy-grpc-web-route-{{ $node.name }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{- if $.Values.gatewayApi.gateway.enabled | eq "true" }}
apiVersion: gateway.networking.k8s.io/v1beta1
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: {{ $.Values.gatewayApi.gateway.name }}
Expand All @@ -9,6 +9,10 @@ metadata:
{{- include "fullstack.testLabels" $ | nindent 4 }}
spec:
gatewayClassName: {{ $.Values.gatewayApi.gatewayClass.name }}
{{- if $.Values.gatewayApi.gateway.loadBalancerEnabled }}
addresses:
- value: {{ $.Values.gatewayApi.gateway.loadBalancerIP }}
{{- end }}
listeners:
{{- $gossip_start_port := $.Values.gatewayApi.gateway.listeners.gossip.port }} # i.e. node0:51000 ... node999: 51999, points to 50111 port in haproxy or network-node
{{- $grpc_start_port := $.Values.gatewayApi.gateway.listeners.grpc.port }} # i.e. node0:52000 ... node999: 52999, points to 50211 port in haproxy or network-node
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: gateway.networking.k8s.io/v1beta1
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: hedera-explorer-route
Expand Down
24 changes: 23 additions & 1 deletion charts/fullstack-deployment/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ cloud:
enabled: "true"
minio:
enabled: true
acmeClusterIssuer:
enabled: false
selfSignedClusterIssuer:
enabled: false

# telemetry configurations
telemetry:
Expand All @@ -35,6 +39,22 @@ tester:
pullPolicy: "IfNotPresent"
resources: {}

# lets encrypt acme cluster issuer configuration
acme-cluster-issuer:
issuers:
staging:
email: ""
name: fst-letsencrypt-staging
production:
email: ""
name: fst-letsencrypt-prod
solvers:
http01:
solverType: "gatewayHTTPRoute"
gatewayHTTPRoute:
name: "fst" # needs to match gatewayApi.gateway.name in this values.yaml file
namespace: "{{ tpl (.Values.global.namespaceOverride | toString) }}"

# gateway-api configuration
gatewayApi:
gatewayClass:
Expand All @@ -45,6 +65,8 @@ gatewayApi:
tlsEnabled: false
tlsClusterIssuerName: "" # for acme-cluster-setup: staging = letsencrypt-staging, prod = letsencrypt-prod
tlsClusterIssuerNamespace: "" # for acme-cluster-setup: cert-manager # TODO is this needed?
loadBalancerIP: ""
loadBalancerEnabled: false
listeners:
gossip:
port: 51000 # i.e. node0:51000 ... node999: 51999, points to 50111 port in haproxy or network-node
Expand All @@ -54,7 +76,7 @@ gatewayApi:
enabled: "true"
grpcs: # tls-grpc-port
port: 53000 # i.e. node0:53000 ... node999: 53999, points to 50212 port in haproxy or network-node
enabled: "true"
enabled: "false"
tlsEnabled: false
grpcWeb:
port: 18000 # i.e. node0:18000 ... node999: 18999, points to 8080 port in envoy proxy
Expand Down
50 changes: 26 additions & 24 deletions fullstack-network-manager/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 8a458d8

Please sign in to comment.