Hi @Allan Y. I agree with @sal jefferson when he implies that a Pull solution in many cases makes more sense when distributing via a CDN. One of the advantages is e.g. that you are in control of the HTTP stream settings, like HLS chunk size, playlist size and cache expiration.
If you must push all streams to the CDN, and the default push-publish (aka. Stream Targets) is not an option, then the solution would be to develop a custom module that automatically starts pushing a stream to the CDN as soon as it gets published.