1. A method comprising: storing an end state definition that identifies a standard set of source components for a software image that is subscribed to by a plurality of target software deployments; receiving a new patch from a service provider for a particular software system; adding the new patch from the service provider to the standard set of source components; determining that at least one target software deployment of the plurality of target software deployments has applied a set of one or more patches that do not comply with the end state definition thereby causing the at least one target software deployment to have drifted from the standard set of source components identified by the end state definition; determining whether to add the set of one or more patches that do not comply with the end state definition to the standard set of source components identified by the end state definition; and in response to determining to add the set of one or more patches that do not comply to the standard set of source components, generating an updated version of the software image that includes the set of one or more patches and the new patch from the service provider.