Indeed this is an interesting thought. Please find my thoughts below:
> So in some cases where installing puppet into the cartridge is not > practical or used, a cartridge should rely on its own artifact fetching > mechanism for package config as the current "application artifact > synchronization" mechanism as implemented can't be used for server > bootstrapping and post install config. > Yes exactly this is the current design. Puppet is not mandatory to run Stratos and ADC has no relationship with puppet. Stratos Manager and Cartridge Agent manages ADC via Message Broker and given Git repository. > Just wanted to point out that moving the code that perform a git pull > before the start server phase, preserves the ability to perform application > artifact deployment but would also allow the artifact repository to be also > used for other types of artifacts distribution. > IMO in this design we might need to introduce an intermediate artefact repository. As a result the artifact synchronization process would need to synchronize on two levels. External repo -> Stratos repo -> Instances. Don't you think this is unnecessary and increase the possibility of causing synchronisation issues? Thanks