Unless you are going to rebuild those services with a new version number and package them all together, what you are attempting to do won't work. All services from a repository must advertise the same version. The version select tool which is used (say hdp-select) must be able to interact will all of them, which means that it would also need to support your custom services. There's no way to make custom services upgradeable if they don't actually belong to that stack and advertise the same version. Take HDP and HDF, for example. When you install either, you'll get ZooKeeper. However, the ZooKeeper which comes with HDP is packaged differently than that which comes with HDF. The repositories used to install HDF will install ZooKeeper from a version which matches the HDF version. This allows the HDF stack to be managed as an upgradable stack since all of the components are built together. On the other hand, if you just drop an HDF service, like NIFI, into an HDP cluster, the NIFI service won't be upgradable since it's not truly a part of that stack. It won't broadcast its version, and it won't participate in upgrades.
... View more
Althought this isn't supported by ambari, the fact that his runs as the same users as ambari, means you may have tools you need. The ambari users does run as a user that has passwordless ssh access to all nodes, this can be used to scp files to nodes. (Something I abuse a lot to move file to all servers.)
... View more