I've made my ZAC (ziti-console:8443) and Zrok controller (zrok-controller:18080) dark by simply not exposing their ports via my external firewall and creating ziti services with host configs that directly connect to them.
This configuration was working fine for a few days, but now that I've updated my ziti to containers to the recently released v0.30.4
and restarted everything I'm having a few issues.
For ZAC I get a connection reset by peer error, with the following logs on the controller/router side:
ziti-controller | [80037.413] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {now=[2023-10-03 22:13:57.412717914 +0000 UTC m=+63.033280146] identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033]} reporting identity from active ER conn pool: timedout
ziti-controller | [80037.413] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] now=[2023-10-03 22:13:57.412949676 +0000 UTC m=+63.033511948]} reporting identity from active ER conn pool: timedout
ziti-controller | [80037.413] DEBUG ziti/controller/handler_edge_ctrl.(*baseTunnelRequestContext).ensureSessionForService: {router=[ziti-home-edge-router] routerId=[UVUc5ScxZk] sessionType=[Dial] sessionId=[cln6irmy800gc01ppkh9h9due] operation=[tunnel.create.circuit]} session valid
ziti-controller | [80037.413] ERROR ziti/controller/handler_edge_ctrl.(*baseRequestHandler).returnError [ch{UVUc5ScxZk}->u{classic}->i{M6LV}]: {error=[service 4ryLLcOB6TGozmLZEaOufl has no terminators] routerId=[UVUc5ScxZk] operation=[tunnel.create.circuit]} responded with error
ziti-controller | [80037.488] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] now=[2023-10-03 22:13:57.48825907 +0000 UTC m=+63.108821262]} reporting identity from active ER conn pool: timedout
ziti-controller | [80037.488] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] identityId=[UVUc5ScxZk] now=[2023-10-03 22:13:57.488440391 +0000 UTC m=+63.109002623]} reporting identity from active ER conn pool: timedout
ziti-controller | [80037.489] DEBUG ziti/controller/handler_edge_ctrl.(*baseTunnelRequestContext).ensureSessionForService: {sessionType=[Dial] sessionId=[cln6irmy800gc01ppkh9h9due] router=[ziti-home-edge-router] operation=[tunnel.create.circuit] routerId=[UVUc5ScxZk]} session valid
ziti-controller | [80037.489] ERROR ziti/controller/handler_edge_ctrl.(*baseRequestHandler).returnError [ch{UVUc5ScxZk}->u{classic}->i{M6LV}]: {error=[service 4ryLLcOB6TGozmLZEaOufl has no terminators] routerId=[UVUc5ScxZk] operation=[tunnel.create.circuit]} responded with error
ziti-controller | [80038.714] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] now=[2023-10-03 22:13:58.713459069 +0000 UTC m=+64.334021221]} reporting identity from active ER conn pool: timedout
ziti-controller | [80038.714] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] now=[2023-10-03 22:13:58.71363799 +0000 UTC m=+64.334200222]} reporting identity from active ER conn pool: timedout
ziti-controller | [80038.714] DEBUG ziti/controller/handler_edge_ctrl.(*baseTunnelRequestContext).ensureSessionForService: {router=[ziti-home-edge-router] operation=[tunnel.create.circuit] routerId=[UVUc5ScxZk] sessionType=[Dial] sessionId=[cln6irmy800gc01ppkh9h9due]} session valid
ziti-controller | [80038.714] ERROR ziti/controller/handler_edge_ctrl.(*baseRequestHandler).returnError [ch{UVUc5ScxZk}->u{classic}->i{M6LV}]: {operation=[tunnel.create.circuit] error=[service 4ryLLcOB6TGozmLZEaOufl has no terminators] routerId=[UVUc5ScxZk]} responded with error
ziti-controller | [80038.788] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033] now=[2023-10-03 22:13:58.7884165 +0000 UTC m=+64.408978692]} reporting identity from active ER conn pool: timedout
ziti-controller | [80038.789] DEBUG ziti/controller/model.(*identityStatusMap).HasEdgeRouterConnection: {now=[2023-10-03 22:13:58.788605462 +0000 UTC m=+64.409167654] identityId=[UVUc5ScxZk] expiresAt=[2023-10-03 22:14:46.922159881 +0000 UTC m=+112.542722033]} reporting identity from active ER conn pool: timedout
ziti-controller | [80038.789] DEBUG ziti/controller/handler_edge_ctrl.(*baseTunnelRequestContext).ensureSessionForService: {routerId=[UVUc5ScxZk] sessionType=[Dial] sessionId=[cln6irmy800gc01ppkh9h9due] operation=[tunnel.create.circuit] router=[ziti-home-edge-router]} session valid
ziti-controller | [80038.789] ERROR ziti/controller/handler_edge_ctrl.(*baseRequestHandler).returnError [ch{UVUc5ScxZk}->u{classic}->i{M6LV}]: {routerId=[UVUc5ScxZk] operation=[tunnel.create.circuit] error=[service 4ryLLcOB6TGozmLZEaOufl has no terminators]} responded with error
For zrok it seems that the TCP 3-way handshake doesn't even complete and I see no logs. The curl connection just "hangs" on the client side.
Restarting the edge router container seems to make ZAC available, but zrok is still down. Here are the logs: https://filebin.net/nrdfoy7pvw4ijcsp/logs.txt
I confirmed that the hostnames defined in the host configs are reachable from the network namespace of the edge router. The service configuration page in ZAC shows this for zrok:
Edit: I rolled back the router to version 0.30.3
and I have the same issue :/.
Any ideas what could be happening here?