knative / serving-operator

DEPRECATED: Development continues in https://github.com/knative/operator/
Apache License 2.0
39 stars 45 forks source link

Filter manifest to install/uninstall extensions such as serving-cert-manager, ns-cert and networking-istio #333

Closed nak3 closed 4 years ago

nak3 commented 4 years ago

This patch supports filter function to install/uninstall extensions such as serving-cert-manager, networking-ns-cert and istio ingress by the configuration. It solves following two problems.

problem 1

When autoTLS is enabled in config-network, we need namespace-wildcard-certs and cert-manager to be deployed. However current operator does not install them.

problem 2

When we want to change ingress.class to antoher Ingress solution instead of Istio, current operator always deploys networking-istio and istio gateways.

To solve them, this patch filters manifest to install/uninstall by the configuration.

e.g - when autoTLS=Enabled ingress.calss=kourier is configured w/ this PR

$ kubectl get pod  -n knative-serving
NAME                                      READY   STATUS    RESTARTS   AGE
activator-869f6d4f9f-ll75v                1/1     Running   2          87m
autoscaler-78994c9fdf-c6kmn               1/1     Running   2          87m
autoscaler-hpa-66bcf9cdc-sxt72            1/1     Running   0          87m
controller-b94c5b667-97wkl                1/1     Running   2          87m
networking-certmanager-5bfcf45d79-kc958   1/1     Running   0          21m
networking-ns-cert-5447795455-wx9pj       1/1     Running   0          21m
webhook-7cdb467d79-4jrfq                  1/1     Running   2          87m

Release Note

serving-cert-manager and networking-ns-cert are deployed when autoTLS is Enabled.
networking-istio is not deployed when ingress.class is not Istio.

/lint

knative-prow-robot commented 4 years ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: nak3 To complete the pull request process, please assign jcrossley3 You can assign the PR to them by writing /assign @jcrossley3 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/knative/serving-operator/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
k4leung4 commented 4 years ago

/retest

nak3 commented 4 years ago

/test pull-knative-serving-operator-upgrade-tests

TestProbe failed. I think it is flaky.

knative-prow-robot commented 4 years ago

@nak3: PR needs rebase.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
nak3 commented 4 years ago

I'm not sure if serverless-opeator will support cert-manager, ns-cert and other ingress solutions. So I'm closing this rather than keep rebasing it.