Skip to content

Commit dc8fa29

Browse files
committed
chore(ingress): use ingress_class
1 parent d64c6ea commit dc8fa29

4 files changed

Lines changed: 30 additions & 16 deletions

File tree

charts/workflow/values.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ global:
6969
# - true: all RBAC-related manifests will be installed (in case your cluster supports RBAC)
7070
# - false: no RBAC-related manifests will be installed
7171
use_rbac: true
72-
72+
# Experimental feature to use Kubernetes ingress instead of Workflow's drycc-router.
73+
# If ingress_class is empty, use drycc-router
74+
# Otherwise, please check `kubernetes.io/ingress.class`
75+
# The cert-manager component must be installed
76+
ingress_class: ""
7377

7478
s3:
7579
# Your AWS access key. Leave it empty if you want to use IAM credentials.
@@ -126,6 +130,13 @@ minio:
126130
# Values values are:
127131
# - Always
128132
# - IfNotPresent
133+
builder:
134+
service:
135+
# Service type default to ClusterIP, the entrance will be taken over by router.
136+
type: ClusterIP
137+
# If service.type is not set to NodePort, the following statement will be ignored.
138+
nodePort: ""
139+
129140
controller:
130141
app_pull_policy: "IfNotPresent"
131142
# Possible values are:
@@ -233,17 +244,6 @@ router:
233244
https: ""
234245
healthz: ""
235246

236-
ingress:
237-
# Experimental feature to use Kubernetes ingress instead of Workflow's drycc-router.
238-
#
239-
# Valid values are:
240-
# - true: drycc-router will not be deployed. Workflow will not be usable until a Kubernetes ingress controller is installed.
241-
# - false: drycc-router will be deployed (default).
242-
enabled: false
243-
# annotations:
244-
# kubernetes.io/ingress.class: nginx
245-
# kubernetes.io/tls-acme: 'true'
246-
247247
workflow-manager:
248248
versions_api_url: https://versions.drycc.cc
249249
doctor_api_url: https://doctor.drycc.cc

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ nav:
3737
- Configuring Postgres: installing-workflow/configuring-postgres.md
3838
- Configuring the Registry: installing-workflow/configuring-registry.md
3939
- Chart Provenance: installing-workflow/chart-provenance.md
40-
- Use Native Ingress: installing-workflow/use-native-ingress.md
40+
- Use Kubernetes Ingress: installing-workflow/ingress.md
4141
- Users:
4242
- Command Line Interface: users/cli.md
4343
- Users and Registration: users/registration.md

src/installing-workflow/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ More rigorous installations would benefit from using outside sources for the fol
5050

5151
#### (Experimental) Kubernetes Native Ingress
5252

53-
Workflow now offers [experimental native ingress](use-native-ingress.md) to take advantage of native Kubernetes routing. Any compatible Kubernetes ingress controller can be used in place of Workflow's nginx-based drycc-router. Follow [this guide](use-native-ingress.md) to enable experimental native ingress.
53+
Workflow now offers [experimental native ingress](ingress.md) to take advantage of native Kubernetes routing. Any compatible Kubernetes ingress controller can be used in place of Workflow's nginx-based drycc-router. Follow [this guide](ingress.md) to enable experimental native ingress.
5454

5555
## Add the Drycc Chart Repository
5656

src/installing-workflow/ingress.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,23 @@
55
Now that Helm is installed and the repository has been added, install Workflow with a native ingress by running:
66

77
```
8-
$ helm install drycc/workflow --namespace drycc --set ingress.enabled=true,controller.platform_domain=drycc.cc
8+
$ helm install drycc/workflow --namespace drycc \
9+
--set global.ingress_class=nginx \
10+
--set controller.platform_domain=drycc.cc \
11+
--set builder.service.type=LoadBalancer
912
```
1013

14+
Of course, if you deploy it on a bare machine, you probably don't have Load Balancer. You need to use NodePort:
15+
```
16+
$ helm install drycc/workflow --namespace drycc \
17+
--set global.ingress_class=nginx \
18+
--set controller.platform_domain=drycc.cc \
19+
--set builder.service.type=NodePort \
20+
--set builder.service.nodePort=32222
21+
```
22+
23+
If you want to use Load Balancer on a bare machine, you can look at [metallb](https://github.com/danderson/metallb)
24+
1125
Where `controller.platform_domain` is a **required** parameter that is traditionally not required for Workflow that is explained in the next section. In this example we are using `drycc.cc` for `$hostname`.
1226

1327
Helm will install a variety of Kubernetes resources in the `drycc` namespace.
@@ -45,7 +59,7 @@ drycc-workflow-manager-68nu6 1/1 Running 0 5m
4559

4660
## Install a Kubernetes Ingress Controller
4761

48-
Now that Workflow has been deployed with the `ingress.enable` flag set to `true`, we will need a Kubernetes ingress controller in place to begin routing traffic.
62+
Now that Workflow has been deployed with the `global.ingress_class` , we will need a Kubernetes ingress controller in place to begin routing traffic.
4963

5064
Here is an example of how to use [traefik](https://traefik.io/) as an ingress controller for Workflow. Of course, you are welcome to use any controller you wish.
5165

0 commit comments

Comments
 (0)