Data Labs Lifecycle Configurations
A lifecycle configuration provides shell scripts that run only when user creates a Data Lab(of notebook type) or starts one. These scripts can be used to install packages or sample notebooks onto a Data Lab, to configure networking and security for it, or to customize it.
Users can create, update and share these scripts with other users. Once created, these scripts can be attached to the Data Lab. Users can check the Data Lab using this configuration under the Resources
tab available on the details page of the lifecycle configuration.
There will be also be some default system created lifecycle configurations which will be available to all the users. Details regarding the use case for these scripts can be found in the description on the details page of the respective lifecycle configuration.
- Scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started
- Based on the requirements, the necessary permissions(list/create/update/view/delete) must be added to the Amorphic role linked to the users.
Data Lab Lifecycle Configuration Operations
Below is the list of operations allowed on the Data Lab Lifecycle Configurations:
- Create Data Labs Lifecycle Configuration: Create a new Lifecycle Configuration
- Edit Data Labs Lifecycle Configuration: Edit an existing Lifecycle Configuration
- Attach a Lifecycle Configuration: Attach a Lifecycle Configuration to a Data Lab
- Delete Data Labs Lifecycle Configuration: Delete an existing Lifecycle Configuration
Create Data Labs Lifecycle Configuration
To create a Lifecycle Configuration:
- Click on
+ New Lifecycle Configuration
. User can even import any existing template to create a lifecycle configuration. - Fill in the details shown in the table:
Attribute | Description |
---|---|
Lifecycle Name | The name to used to create lifecycle configuration. The name needs to be unique across the Amorphic platform. The name can be up to 63 characters |
Description | A brief description describing the purpose of the lifecycle configuration and other important details. |
Keywords | Keywords are indexed and searchable in the app to help you find things quickly. |
On-Start Script | Optionally specify the script that will be run each time the Data Lab instance spins up. The script has a limit of 16384. |
On-Create Script | Optionally specify the script that will be run the first time a Data Lab instance is created. The script has a limit of 16384 |
Here are some sample Lifecycle Configuration scripts which address the common use cases. Please note that many of the sample scripts require additional configuration such as updating IAM permissions linked to the notebook instance. So manual role update might be necessary for these scripts to work
Edit Data Labs Lifecycle Configuration
To update a Lifecycle Configuration, click on the edit icon from the details or the listing page. Both the on-start and on-create scripts can be updated. Updating a Lifecycle Configuration would affect the Data Lab instances that are been linked to it.
System generated default Data Lab Lifecycle Configurations cannot be edited, but user can enable or disable them for use; granted permission to do so(namely most admins).
Attach a Lifecycle Configuration to a Data Lab
While creating a Data Lab of type notebook, users can optionally attach a lifecycle configuration that they have access to. The lifecycle configuration can be attached to the Data Lab by selecting it from the dropdown list available in the Lifecycle Configuration
field while creating the Data Lab.

-
When creating a sessions enabled notebook instance, the system generated lifecycle configuration
enable-glue-session
will be attached by default. However, if a user wants to attach a custom lifecycle configuration which has sessions enabled, then the base scripts which are present in theenable-glue-session
must be added along with the additional steps otherwise the sessions won't be created. -
Currently in Amorphic notebooks, we use Lifecycle Configurations (LCCs) for installing libraries to perform various actions, such as enabling Glue sessions in a notebook. There is no current impact or violation of Anaconda's Terms of Service with regards to their commerical usage on using these Amorphic-provided LCCs within the platform.
However, we advise users to exercise discretion when utilizing Anaconda channels in custom LCCs. It is imperative that you evaluate your specific needs concerning the Anaconda license. A critical requirement is that any company with over 200 employees must procure a commercial license to continue using the Anaconda repository. To ensure compliance and prevent any interruptions in your workflows, we strongly recommend reviewing the licensing requirements and making the necessary arrangements immediately. For more information, refer to the following chart and links :
Delete Data Labs Lifecycle Configuration
To delete a Lifecycle configuration, click on the delete icon, either from the details page or the listing page. If there are any dependent notebooks which are using this configuration, the lifecycle configuration cannot be deleted.
Default System Data Labs Lifecycle Configurations
Amorphic comes with four default system lifecycle configurations which are available to all users. These configurations are created by the system and cannot be edited. However, users can enable or disable them for use. The default configurations are:
auto-stop-idle-notebook
enable-glue-session
disable-uninstall-ssm-agent
enable-code-wisperer
These default can only be enabled or disabled by users who have the necessary permissions to do so.(In most scenarios, this would be the system Admins)