Skip to content

Using ADS Enterprise Features

PhonicUK edited this page Jul 16, 2020 · 14 revisions

Prerequisites

When running in Enterprise Mode, the following requirements apply:

  • AMP must be served over HTTPS, either using a reverse proxy (recommended, supports LetsEncrypt) or with the internal implementation (PFX certificate required)
  • If FTP is enabled, it must be configured with a PFX certificate to enable FTPS.
  • On Linux systems, hidepid must be configured. Without it AMP will not create instances.
  • Official support is only offered (initially) for running Enterprise Edition on Ubuntu 18.04+ or Debian 8+ - support for other distributions and operating systems will follow.

Additionally the following changes are recommended:

  • New instances should be bound to 0.0.0.0 (or an explicit IP) rather than localhost if you want to allow users to access their instances directly instead of logging in via ADS.
  • Your auth server URL should be a fully-qualified URL as HTTPS is mandatory for the auth server URL in Enterprise mode.

Activating ADS

By default ADS can't be activated, and won't accept a key. To enable AMPs Enterprise features you need to set it up to allow activation, then activate it with your key. This will cause ADS to consume an activation same as an application instance.

At time of writing, an AMP Patreon Edition licence can be used to unlock the Enterprise features for testing - but this does not entitle you to use AMP commercially.

Run the following commands (Applies on any platform):

ampinstmgr reconfigure ADS01 +Core.AMP.RequireActivation True
ampinstmgr reactivate ADS01 *yourlicencekeygoeshere*

This will need doing on all of your controllers and targets.

Template Deployment Callbacks

ADS Controllers can be configured to invoke a HTTPS POST callback once a template has been deployed. This callback informs you as to whether the request was successful, and to which target it was deployed. The URL can be configured under the 'ADS' category in settings.

The callback data is JSON formatted, containing the following:

{
    "Success": true,
    "Secret": "MySecretString",
    "TargetId": "60008d3c-cf4b-401a-9383-25694115781f",
    "CreatedInstanceId": "1231ee16-5a1e-4fd3-bb3e-5f1ec3ee37ae"
}

You can then query the specified target for the instance containing the Tag specified during the DeployTemplate API call.

Clone this wiki locally