docker-archive / compose-cli

Easily run your Compose application to the cloud with compose-cli
Apache License 2.0
958 stars 254 forks source link

Documentation specifies incorrect listener name #2112

Closed amrishparmar closed 2 years ago

amrishparmar commented 2 years ago

Description

In the documentation for TLS termination it gives an example with the listener name WebappTCP80Listener. I believe that this is incorrect and should in fact be WebTCP80Listener.

Steps to reproduce the issue:

  1. Set up a basic deployment similar to that stated in the above docs
  2. Run docker compose convert or attempt to deploy the application

Describe the results you received: When following the instructions as is, the result of convert is that two listeners are shown, one WebTCP80Listener and one WebappTCP80Listener. The WebappTCP80Listener is incomplete and is missing mandatory fields which results in an error in CloudFormation (if you attempt to deploy) such as

Resource handler returned message: "Model validation failed (#: 2 schema violations found) #: required key [LoadBalancerArn] not found (#) #: required key [DefaultActions] not found (#)" (RequestToken: xxxx-xxx-xxxxx, HandlerErrorCode: InvalidRequest)

Describe the results you expected:

There would only be one listener with the default generated fields combined with the values set in the CF overlay

Changing the listener name in the CF overlay section from WebappTCP80Listener to WebTCP80Listener gives me the behaviour I expect.

Additional information you deem important (e.g. issue happens only occasionally):

It's likely that this is also the case for the docs in the healthcheck section, i.e. WebappTCP80TargetGroup -> WebTCP80TargetGroup but I haven't done any testing around that.

Output of docker-compose --version:

docker-compose version 1.29.2, build 5becea4c

Output of docker version:

Client: Docker Engine - Community
 Cloud integration: 1.0.17
 Version:           20.10.10
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        b485636
 Built:             Mon Oct 25 07:43:58 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.10
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       e2f740d
  Built:            Mon Oct 25 07:42:04 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Output of docker context show:
You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

ecs-hosting-context

Output of docker info:

(paste your output here)

Additional environment details (AWS ECS, Azure ACI, local, etc.): AWS ECS

furai commented 2 years ago

This name is correct. It's derived from service name that the load balancer is attached to. In documentation it's webapp so we get WebappTCP80Listener.

amrishparmar commented 2 years ago

This name is correct. It's derived from service name that the load balancer is attached to. In documentation it's webapp so we get WebappTCP80Listener.

I see. In our configuration we had web as our service name instead of webapp which is why it didn't work initially.