in punnycode -- is the encoding of -, thus i wouldn't want to use that.
In [36]: "-_☃.com".encode('idna')
Out[36]: b'xn---_-gsx.com'
I wish that idna module would do something sensible, and allow invalid chars to be encoded into xn-* string as unicode codepoints, but nothing seems to do that in python. Maybe time for an RFC update?!
Maybe it is worth talking to the cloud admins about using idna-safe zone names.
Most clouds use '-' for region name separators. We don't need round trip safety, as one can always query the zone name from the cloud-init metadata.
Thus cloud init imho, should be replacing any invalid chars with '-' (slightly better than dropping them, as the string length remains the same)
In terms of applying "HttpProtocolOptions Unsafe" on the cloud-mirror side, we should do this to support all the already launched instances, and those that are getting launched with cloud-init versions that generate unsafe urls, because otherwise those instances do not receive any updates. (I hope i understand the option right, and support strategy)
in punnycode -- is the encoding of -, thus i wouldn't want to use that.
In [36]: "-_☃.com" .encode( 'idna')
Out[36]: b'xn---_-gsx.com'
I wish that idna module would do something sensible, and allow invalid chars to be encoded into xn-* string as unicode codepoints, but nothing seems to do that in python. Maybe time for an RFC update?!
Maybe it is worth talking to the cloud admins about using idna-safe zone names.
Most clouds use '-' for region name separators. We don't need round trip safety, as one can always query the zone name from the cloud-init metadata.
Thus cloud init imho, should be replacing any invalid chars with '-' (slightly better than dropping them, as the string length remains the same)
In terms of applying "HttpProtocolOp tions Unsafe" on the cloud-mirror side, we should do this to support all the already launched instances, and those that are getting launched with cloud-init versions that generate unsafe urls, because otherwise those instances do not receive any updates. (I hope i understand the option right, and support strategy)