When starting the Cilium developer VM NFS=1 ./contrib/vagrant/start.sh, and listing all identities, I see the following:
vagrant@runtime1:~/go/src/github.com/cilium/cilium$ cilium identity list
ID LABELS
1 [reserved:host]
2 [reserved:world]
4 [reserved:health]
3 [reserved:cluster]
5 [reserved:init]
22260 [reserved:health]
The health endpoint is given the identity 22260:
vagrant@runtime1:~/go/src/github.com/cilium/cilium$ cilium endpoint list
ENDPOINT POLICY (ingress) POLICY (egress) IDENTITY LABELS (source:key[=value]) IPv6 IPv4 STATUS
ENFORCEMENT ENFORCEMENT
29898 Disabled Disabled 22260 reserved:health f00d::a0f:0:0:74ca 10.11.242.54 ready
It appears that identity 4 is never actually used.
Looks simple. I can take a look at this one?
Correct, it's not used but we don't apply policies for the reserved:health endpoint so it's just an extraneous identity. We should be able to fix this up without too much trouble, but it requires some understanding of how identity allocation works.
Will be a good exercise for me then. Since this issue is not super critical IMO, I can look at the code. Will ping you for pointers!
This is fixed in https://github.com/cilium/cilium/pull/3911, more particularly in this commit: https://github.com/cilium/cilium/pull/3911/commits/d003458ff45d0bde75cc7c44c6c26b3d282de9da