-
Notifications
You must be signed in to change notification settings - Fork 325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Consul Dataplane for Terminating Gateways #1534
Conversation
a24d97e
to
db41a21
Compare
03401b8
to
9ba968e
Compare
serviceInstances, _, err := consulClient.Catalog().Service(consulSvcName, "", &api.QueryOptions{Namespace: ts.ConsulNS}) | ||
defaultNS, _, err := consulClient.Catalog().Service(consulSvcName, "", &api.QueryOptions{Namespace: "default"}) | ||
require.NoError(t, err) | ||
require.Empty(t, serviceInstances) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fixes a "loophole" where the Mesh gateway could sneak through this check if it was not deregistered and the ConsulNS
was not "default"
.
453199c
to
57dfafc
Compare
Add initial support for the basic service mesh running with agentless. * Update connect-inject deployment to talk to consul servers (currently only in-cluster servers are supported; external servers support will come in a later PR) * Update endpoints controller to register and deregister services and health checks in the catalog and stop using agent APIs * Update connect-init command to take the -node-name flag so that it can search for services within a given node using catalog APIs * Add k8s probes to the envoy container * Provide -node-name flag to the consul connect envoy command so that we can generate correct configuration * Selectively disable acceptance tests that don't yet work in this configuration * Disable consul clients by default
* Register mesh-gateways using the endpoints controller. - Use consul-dataplane to configure the mesh-gateway proxy and remove envoy container. - Remove instances of client and auto-encrypt from the deployment. * Replace ioutil.ReadFile with os.ReadFile
…ager * Introduce new set of Consul flags that will be used by all consul-k8s commands * Use consul-server-connection-manager to discover servers and use up-to-date server IP every time we need to make an API request.
- Use consul-dataplane to configure the mesh-gateway proxy and remove envoy container. - Remove instances of client and auto-encrypt from the deployment.
709d2a2
to
26cfe42
Compare
- name: consul-service | ||
emptyDir: | ||
medium: "Memory" | ||
{{- range (default $defaults.extraVolumes .extraVolumes) }} | ||
- name: userconfig-{{ .name }} | ||
{{ .type }}: | ||
{{- if (eq .type "configMap") }} | ||
name: {{ .name }} | ||
{{- else if (eq .type "secret") }} | ||
secretName: {{ .name }} | ||
{{- end }} | ||
{{- with .items }} | ||
items: | ||
{{- range . }} | ||
- key: {{.key}} | ||
path: {{.path}} | ||
{{- end }} | ||
{{- end }} | ||
{{- end }} | ||
{{- if $root.Values.global.tls.enabled }} | ||
{{- if not (and $root.Values.externalServers.enabled $root.Values.externalServers.useSystemRoots) }} | ||
- name: consul-ca-cert | ||
secret: | ||
{{- if $root.Values.global.tls.caCert.secretName }} | ||
secretName: {{ $root.Values.global.tls.caCert.secretName }} | ||
{{- else }} | ||
secretName: {{ template "consul.fullname" $root }}-ca-cert | ||
{{- end }} | ||
items: | ||
- key: {{ default "tls.crt" $root.Values.global.tls.caCert.secretKey }} | ||
path: tls.crt | ||
{{- end }} | ||
{{- end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mesh and ingress had these one less indented so I just matched it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just a couple of comments.
Changes proposed in this PR:
consul-dataplane
instead of EnvoyHow I've tested this PR:
How I expect reviewers to test this PR:
Checklist: