Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
brainfood
/
k8s-helmfiles
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
f3f5a951
authored
2022-09-01 18:43:54 -0500
by
Adam Heath
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Add gateway-api support to http-support.
1 parent
314e2352
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
126 additions
and
62 deletions
http-support/environments/default-values.yaml
http-support/helmfile.yaml
http-support/environments/default-values.yaml
0 → 100644
View file @
f3f5a95
namespace
:
default
istio
:
enabled
:
true
gateway
:
istio-system/cluster-local-gateway
gatewayAPI
:
enabled
:
false
gateway
:
gateway
redirect
:
-
hosts
:
-
example.com
target
:
www.example.com
proxy
:
-
frontend
:
host
:
www.example.com
stub
:
example.com
backend
:
scheme
:
https
host
:
www.real.example.com
stub
:
real.example.com
address
:
8.8.8.8
authority
:
www.example.com
config
:
|
server {
server_name www.example.com;
listen 80;
client_max_body_size 5m;
error_log /var/log/nginx/error.log debug;
resolver 10.43.0.10;
location / {
proxy_pass $http_x_backend_scheme://$http_x_backend_address;
proxy_http_version 1.1;
proxy_ssl_name $http_x_backend_host;
proxy_cookie_domain $http_x_backend_stub $http_x_frontend_stub;
proxy_cookie_domain $http_x_backend_host $http_x_frontend_host;
proxy_redirect $http_x_backend_scheme://$http_x_backend_host/ $http_x_backend_scheme://$http_x_frontend_host/;
proxy_set_header x-envoy-internal "";
proxy_set_header x-request-id "";
proxy_set_header x-envoy-decorator-operation "";
proxy_set_header x-envoy-peer-metadata "";
proxy_set_header x-envoy-peer-metadata-id "";
proxy_set_header x-envoy-attempt-count "";
proxy_set_header x-b3-traceid "";
proxy_set_header x-b3-spanid "";
proxy_set_header x-b3-sampled "";
proxy_set_header x-backend-host "";
proxy_set_header x-backend-stub "";
proxy_set_header x-backend-address "";
proxy_set_header x-frontend-host "";
proxy_set_header x-frontend-stub "";
proxy_set_header Host $http_x_backend_host;
proxy_set_header Accept-Encoding "";
sub_filter_types text/css;
sub_filter https://$http_x_backend_host/ "https://$http_x_frontend_host/";
sub_filter https%3A%2F%2F$http_x_backend_host%2F "https:%3A%2F%2F$http_x_frontend_host%2F";
sub_filter https:\/\/$http_x_backend_host\/ "https:\/\/$http_x_frontend_host\/";
sub_filter //$http_x_backend_host/ "//$http_x_frontend_host/";
sub_filter_once off;
}
}
versions
:
raw
:
1.1.0
nginx
:
1.21
http-support/helmfile.yaml
View file @
f3f5a95
environments
:
default
:
values
:
-
namespace
:
default
gateway
:
istio-system/cluster-local-gateway
redirect
:
-
hosts
:
-
example.com
target
:
www.example.com
proxy
:
-
frontend
:
host
:
www.example.com
stub
:
example.com
backend
:
scheme
:
https
host
:
www.real.example.com
stub
:
real.example.com
address
:
8.8.8.8
authority
:
www.example.com
config
:
|
server {
server_name www.example.com;
listen 80;
client_max_body_size 5m;
error_log /var/log/nginx/error.log debug;
resolver 10.43.0.10;
location / {
proxy_pass $http_x_backend_scheme://$http_x_backend_address;
proxy_http_version 1.1;
proxy_ssl_name $http_x_backend_host;
proxy_cookie_domain $http_x_backend_stub $http_x_frontend_stub;
proxy_cookie_domain $http_x_backend_host $http_x_frontend_host;
proxy_redirect $http_x_backend_scheme://$http_x_backend_host/ $http_x_backend_scheme://$http_x_frontend_host/;
proxy_set_header x-envoy-internal "";
proxy_set_header x-request-id "";
proxy_set_header x-envoy-decorator-operation "";
proxy_set_header x-envoy-peer-metadata "";
proxy_set_header x-envoy-peer-metadata-id "";
proxy_set_header x-envoy-attempt-count "";
proxy_set_header x-b3-traceid "";
proxy_set_header x-b3-spanid "";
proxy_set_header x-b3-sampled "";
proxy_set_header x-backend-host "";
proxy_set_header x-backend-stub "";
proxy_set_header x-backend-address "";
proxy_set_header x-frontend-host "";
proxy_set_header x-frontend-stub "";
bases
:
-
../common/environments.yaml
proxy_set_header Host $http_x_backend_host;
proxy_set_header Accept-Encoding "";
sub_filter_types text/css;
sub_filter https://$http_x_backend_host/ "https://$http_x_frontend_host/";
sub_filter https%3A%2F%2F$http_x_backend_host%2F "https:%3A%2F%2F$http_x_frontend_host%2F";
sub_filter https:\/\/$http_x_backend_host\/ "https:\/\/$http_x_frontend_host\/";
sub_filter //$http_x_backend_host/ "//$http_x_frontend_host/";
sub_filter_once off;
}
}
versions
:
raw
:
1.1.0
nginx
:
1.21
---
repositories
:
...
...
@@ -78,6 +19,7 @@ releases:
-
raw
:
resources
:
{{
- range $redirect_index
,
$redirect
:
= .Values.redirect
}}
{{
- if .Values.istio.enabled
}}
-
apiVersion
:
networking.istio.io/v1alpha3
kind
:
VirtualService
metadata
:
...
...
@@ -86,7 +28,7 @@ releases:
hosts
:
{{
- $redirect.hosts | toYaml | nindent 18
}}
gateways
:
-
{{
$.Values.gateway
}}
-
{{
$.Values.
istio.
gateway
}}
http
:
-
match
:
-
uri
:
...
...
@@ -95,6 +37,29 @@ releases:
redirectCode
:
302
authority
:
{{
$redirect.target
}}
{{
- end
}}
{{
- if .Values.gatewayAPI.enabled
}}
-
apiVersion
:
gateway.networking.k8s.io/v1beta1
kind
:
HTTPRoute
metadata
:
name
:
http-support-redirect-{{ $redirect_index }}-{{ index $redirect.hosts 0 }}
spec
:
parentRefs
:
-
name
:
{{
$.Values.gatewayAPI.gateway
}}
hostnames
:
{{
- $redirect.hosts | toYaml | nindent 18
}}
rules
:
-
matches
:
-
path
:
type
:
PathPrefix
value
:
/
filters
:
-
type
:
RequestRedirect
requestRedirect
:
scheme
:
https
statusCode
:
302
hostname
:
{{
$redirect.target
}}
{{
- end
}}
{{
- end
}}
-
apiVersion
:
v1
kind
:
ConfigMap
metadata
:
...
...
@@ -116,6 +81,7 @@ releases:
}
}
{{
- range $proxy_index
,
$proxy
:
= .Values.proxy
}}
{{
- if .Values.istio.enabled
}}
-
apiVersion
:
networking.istio.io/v1alpha3
kind
:
VirtualService
metadata
:
...
...
@@ -146,5 +112,38 @@ releases:
x-backend-address
:
{{
$proxy.backend.address
}}
x-backend-scheme
:
{{
$proxy.backend.scheme
}}
{{
- end
}}
{{
- if .Values.gatewayAPI.enabled
}}
-
apiVersion
:
gateway.networking.k8s.io/v1beta1
kind
:
HTTPRoute
metadata
:
name
:
http-support-proxy-{{ $proxy_index }}-{{ index $proxy.frontend.host 0 }}
spec
:
parentRefs
:
-
name
:
{{
$.Values.gatewayAPI.gateway
}}
hostnames
:
{{
- $proxy.hosts | toYaml | nindent 18
}}
rules
:
-
matches
:
-
path
:
type
:
PathPrefix
value
:
/
filters
:
-
type
:
RequestHeaderModifier
requestHeaderModifier
:
set
:
-
name
:
x-frontend-host
value
:
{{
$proxy.frontend.host
}}
-
name
:
x-frontend-stub
value
:
{{
$proxy.frontend.stub
}}
-
name
:
x-backend-host
value
:
{{
$proxy.backend.host
}}
-
name
:
x-backend-stub
value
:
{{
$proxy.backend.stub
}}
-
name
:
x-backend-address
value
:
{{
$proxy.backend.address
}}
-
name
:
x-backend-scheme
value
:
{{
$proxy.backend.scheme
}}
{{
- end
}}
{{
- end
}}
...
...
Please
register
or
sign in
to post a comment