We have situation where we are running docker instances with Node JS agent. The Appdynamics NPM module calls out to packages.appdynamics.com to pull native dependencies for each platform and NodeJS version. As such, npm and yarn install commands will fail with checksum errors if the development platform and build-time platforms are different when package-lock or yarn.lock files are used.Our applications are typically developed on either Windows or the Mac OS and are built on Linux, causing checksum errors due to AppDynamics.As per docs from Appdynamics the directions is to either ensure that the development and build-time platforms are the same or to not use lock files in applications. The purpose of a lock file is to provide consistency between application builds by ensuring that all packages and their dependencies are installed in the exact same way across environments. They protect teams from situations where a fresh install pulls a newer version of a transient dependency which causes a behavioral change that is not expected or evident to the development team. This generally results in a significant investment of time to identify and address. Dependency locking is a recommended practice for node apps and is one that we recommend to our teams. Having our teams not to lock dependencies so that they can use a single module is not acceptable by our CISO.
If a security issue is discovered in one of the dynamic dependencies in AppDynamics, we can’t simply remove the offending version from our mirror as those dynamic dependencies will be pulled at build time anyway.
The suggestion from AppDynamics on this forum thread to disguise the user agent and manually copy it to the machine is a good approach but is not scalable and is unacceptable for our organization.
I was wondering if the controller has a copy option where once my new agent gets registered i could intiate a copy from an already existing node.
This feature will save a lot of time for environments trying to scale in the cloud.
... View more
Thank you for checking. was hoping as there would be a way using the API after looking at the example in the link you shared (https://docs.appdynamics.com/display/PRO43/Configuration+Import+and+Export+API)
It does have the term warroom in it. was hoping that their could be some addtional code that would help get the information.
Any idea why they have mentioned warRoom.
curl --user user1@customer1:secret http://demo.appdynamics.com/controller/CustomDashboardImportExportServlet?dashboardId=8
"schemaVersion" : null,
"dashboardFormatVersion" : "3.0",
"name" : "Analytics-BrowserData",
"warRoom" : false,
"template" : false
... View more