Question about how Octopus pushes deploys to tentacles

I have a somewhat unique situation and I have heard some mixed ideas about how this works so I wanted to ask the question to clarify.

My situation:
I have a multi-tenant environment where I have customers that have their own software installed on their cloud/network in various locations. The customers where we have software installed on their local network have a VPN tunnel which allows our Octopus server to communicate with tentacles on their servers. I have customers set up with their own environments, because the nature of the hardware for their install differs between customers (the software does not, but the hardware and install locations do).

My concern:
Say I have a customer with an environment that has something like 100 servers that need code, each of the servers have an octopus tentacle on them, the nuget deploy package is 100 megabytes and I press the button to [Deploy] to this customer… Will this cause a bandwidth nightmare where octopus deploy is trying to push 100 packages @ 100 megabytes each (10 gigs) to the customer over the VPN tunnel?

The reason I ask is because I heard from someone that Octopus might do some type of p2p magic to ensure that a package is really only copied to an environment once. I’m not sure if this is true and I was having a hard time finding the answer to this specific question.

Thanks a bunch in advance!


Thanks for getting in touch.

Unfortunately Octopus doesn’t do any P2P magic at the moment, though it is a great suggestion.

One possible solution would be to host your package feed closer to your customer’s Tentacles and get each Tentacle to download directly from the package feed. When you configure a package step to download from an external feed you will be presented with the option to download direct on Tentacles.

Hope this helps.


Thanks Shane, I will see what I can do about getting the packages closer to the client. Thanks for that suggestion.