Open missilerider opened 5 years ago
I will try to address this in the next major version. Unfortunately Cronicle was written from the ground up to use fixed hostnames, as they become the primary key identifier for each server, so this kind of change would be drastic. But it's on the list.
Hi missilerider,
I have tried to deploy cronicle as ECS service and working fine. https://github.com/LohitasyaTata/cronicleservice.git
Hi @LohitasyaTata,
The issue I found before was with the cluster deployment as you have to configure addresses and hostnames, both of which are dynamic on ECS+Fargate. Single node deployment works correctly as far as I tested, although abandoned in favor of EC2 cluster deployment as "heavy" machines (working absolutely flawlessly more than 3 years later!).
If these details have changed (I don't know, sorry), maybe I retake the idea and reply to this thread if it works.
Cronicle requires a hostname to function properly if connections are done from outside the LAN, but in a cloud environment this is not always possible.
Summary
In our current deployment on Amazon Web Services we have ECS instances after an application balancer (ELB). ECS containers with Fargate type of deployment does not allow hostname to be set in any way, even with custom Dockerfile or scripts the hostname is always renamed to the typical unnamed docker. The constraint is exposed by the need of use of awsvpc type of network, which is mandatory under ECS+Fargate.
[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html]
The configuration only supports forced use of hostnames and local IP. There is no direct specification of servers, ips, hostnames nor anything usable in a networking point of view. Cronicle seems to have an application approach completely apart of the networking basics.
Steps to reproduce the problem
Deploy a Cronicle image on ECS+Fargate, on AWS. The effect should be the same than deploying a Docker image without hostname set (it uses local docker IP, which is NATted).
Your Setup
Internet => ELB => Cronicle container => NAT Gateway => Internet
Operating system and version?
AWS Fargate 1.3.0
Node.js version?
I've tried 8 and 10, lts and latest
Cronicle software version?
Cronicle 0.8.28 (latest as of writing)
Are you using a multi-server setup, or just a single server?
Single server
Are you using the filesystem as back-end storage, or S3/Couchbase?
No
Can you reproduce the crash consistently?
Always
Log Excerpts
No exceptional logs.