vendgine / directory

0 stars 0 forks source link

Consider adding a new network layer (proxy) #63

Closed piontkovsk11andre1 closed 1 year ago

piontkovsk11andre1 commented 1 year ago

Add cross-container proxy to resolve container serivce names. That might be needed to run complex configuration from docker-compose file (for the vendgine station).

piontkovsk11andre1 commented 1 year ago

I will begin my research on Envoy proxy (sidecar)

piontkovsk11andre1 commented 1 year ago

There are multiple ways to register a service in the Consul Catalog. One of them is to define a consul-envoy proxy and use consul connect function to define a service with a proxy. But this is a good idea only for proxied services as http servers, job runner services, etc. But for containers with grafana, prometheus or other observability/devtools software, consul catalog configuration can be used.

piontkovsk11andre1 commented 1 year ago

In that case, all containers that will only use outgoing connections (such as Grafana, Metabase, Prometheus, etc.) can be registered using the configuration file. Others will use Consul-Envoy proxies to register themselves.

For the development environment, this means that the "registrator" service will be removed, and all other containers should use Consul DNS to resolve the actual container's IP addresses and ports.

piontkovsk11andre1 commented 1 year ago

Technically, this will require setting IP addresses for services manually, to match IP in consul configuration with IP in docker configuration.

piontkovsk11andre1 commented 1 year ago

compose.yml does not designate containers for the mesh (like client, api-v1, etc) and containers used for other purposes.

piontkovsk11andre1 commented 1 year ago

Verdaccio is needed only to build an image, so it is not a part of the mesh.

piontkovsk11andre1 commented 1 year ago

This issue was cancelled due to change in directory/station design.