Computer-based methods and systems for performing automated distribution
of a software package to one or more target machines in one or more regions of
a distributed network of target machines, comprises the following steps. First,
a base software package is prepared for each of the one or more regions based on
at least one of: (i) policy data indicating which of the one or more regions are
candidates for receiving the software package, (ii) dependency information indicating
requisites for a service provided by the software package, and (iii) configuration
information for each of the candidate regions. The base software package is then
distributed to each of the candidate regions of the distributed network. The base
software package received at each of the candidate regions is then customized based
on at least one of: (i) regional distribution policies, (ii) dependency information
specific to one or more roles performed by the target machines in that region,
and (iii) individual target machine configuration information. Lastly, the software
package customized in each of the candidate regions is distributed to at least
one of the target machines in the candidate regions of the distributed network.