Not sure what you mean. The router renews its certificates automatically so this shouldn't be a problem?
It's "possible" right now, but it'll be really cumbersome to implement. You can use a "service edge router policy" to inform services where they can be "onboarded" to the overlay, and where they can offload from the overlay. You can then stand up a bespoke router for bespoke links and control that path precisely, but boy that'll be "work"... but you could do it!
Bespoke pathing like this is one of those features we've talked about before, but there's not been a substantial demand for the feature to date.
Make an ssh connection via ziti and you'll get results. If you're doing http requests, you basically need to do a tight loop to catch the path... I did exactly that to catch the http request I used to reply on this topic Inspecting the Fabric and Mesh - #6 by TheLumberjack
Here's a quick video showing you how to use traceroute and our complicated docker compose environment
Commands from the video
curl -so docker-compose.yaml https://get.openziti.io/dock/docker-compose.yml
curl -so .env https://get.openziti.io/dock/.env
docker compose --project-name traceroute up
docker exec -it traceroute-ziti-controller-1 vi ziti-fabric-router-br.yaml
listeners:
- binding: transport
groups:
- intermediary
docker exec -it traceroute-ziti-controller-1 vi ziti-private-blue.yaml
link:
dialers:
- binding: transport
groups:
- intermediary
docker compose --project-name traceroute restart ziti-fabric-router-br ziti-private-blue
docker exec -it traceroute-ziti-controller-1 bash -i -c "source ~/.bashrc && zitiLogin"
docker exec -it traceroute-ziti-controller-1 /var/openziti/ziti-bin/ziti fabric list links
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create config http.intercept.v1 intercept.v1 \
'{"protocols":["tcp"],"addresses":["http.ziti"], "portRanges":[{"low":80, "high":80}]}'
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create config http.host.v1 host.v1 \
'{"protocol":"tcp", "address":"web.test.blue", "port":8000}'
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create service http.svc \
--configs http.intercept.v1,http.host.v1
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create service-policy \
http.policy.dial Dial \
--service-roles "@http.svc" \
--identity-roles '#http-clients'
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create service-policy \
http.policy.bind Bind \
--service-roles '@http.svc' \
--identity-roles '@ziti-private-blue'
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge create identity traceroute-test \
-o traceroute-test.jwt \
-a 'http-clients'
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge enroll traceroute-test.jwt
docker exec -it traceroute-ziti-controller-1 \
/var/openziti/ziti-bin/ziti edge traceroute http.svc \
--config-file traceroute-test.json