This article contains a step-by-step guide to using flex-cm. Follow this guide exactly to successfully set up flex-cm, create repositories, configure environments and migrate components between different Flex environments.
Click here for detailed information about Flex-CM FlexCM - Configuration Manager
The steps for using flex-cm are:
- Prerequisites
- Pulling the FlexCM Docker Image
- Starting FlexCM and Creating a Repository
- Setting Up Environments
- Loading the Mapper
- Migration Steps
- Additional Updates and To-Dos
- Pending Tasks
- Conclusion
Prerequisites
Docker Access
Ensure you have the necessary permissions to access one of the following Docker registries:
- registry.services.ooflex.net/dalet-flex/flex-cm:<version>
- docker-registry.inetrf/dalet-flex/flex-cm:<version>
Authentication Tokens
Access rights must be configured using base64-encoded JSON Web Tokens (JWT) in your ~/.docker/config.json file.
Pulling the FlexCM Docker Image
Download the FlexCM Docker image using the following command:
docker pull registry.services.ooflex.net/flex/flex-cm:<version>
Replace <version> with the specific version number you require. If left empty, the latest version will be downloaded.
Starting FlexCM and Creating a Repository
Run the FlexCM Docker Container:
docker run --rm -v $(pwd)/miocm-config.yml:/root/miocm-config.yml -v $(pwd)/flexcm_repository:/root/flexcm_repository -it registry.services.ooflex.net/flex/flex-cm:<version>
- Volumes Mounted: miocm-config.yml (FlexCM configuration file) and flexcm_repository (repository directory).
Create a Repository:
repository --defaultPath /root/flexcm_repository --defaultRepository rf_staging_to_prod
- /root/flexcm_repository corresponds to $(pwd)/flexcm_repository on your host machine.
Setting Up Environments
Configure the source and target environments for migration.
For Migration from Staging to Production:
environment --envname source --endpoint https://xam.sazuxm.ooflex.net/api --username masteruser --password <source_password>
environment --envname target --endpoint https://dalet.flex-pp.inetrf:30044/api --username masteruser --password <target_password>
For Final Migration:
environment --envname source_final --endpoint https://master.flex-pp.inetrf/api --username masteruser --password <source_final_password>
environment --envname target_final --endpoint https://master.flex.inetrf/api --username masteruser --password <target_final_password>
Loading the Mapper
Establish a mapper between the owners of the objects in the source and target environments. Only necessary if some already existing objects on both sides do not have the same UUID.
Open a Session:
open --source source --target target
Load the Mapper File:
mapper --file /root/flexcm_repository/rf/owner_account_mapping.json
Migration Steps
Migrate components in the following dependency order:
- Accounts: Export and import accounts. Note: Update settings post-migration.
- Roles: Export and import roles. Note: Remove role visibility for user groups if needed.
- Users: Export and import users.
- Workspaces: Export and import workspaces. Update group memberships afterward.
- User Groups: Export and import user groups. Add externalID in rf_group_mapping if necessary.
- Resources: Export and import resources selectively. Use a script to include only specific resource types (e.g., .resourceSubType == "Storage"). Note: Hotfolders and inboxes depend on workflows and should be migrated after workflows. Order of import:
- Storage
- Folders
- Processes
- Transfers
- Transcodes
- Transcode Profiles: Export and import transcode profiles.
- Account Properties: Export and import account properties.
- Metadata Definitions: Export and import metadata definitions. Note: Verify drill-down configurations. Use a script to remove the tag field from the XML after pulling.
- Variants: Migrate variants manually.
- User-Defined Object Types (UDO Types): Export and import UDO types.n Note: Migrate roles again afterward to update permissions on the new UDOs.
- Timed Actions; Export and import timed actions.
- Message Templates: Export and import message templates.
- Actions: Export and import actions.
- Update HTTP requests manually (e.g., update BRIO URL).
- Plugin launch actions may fail if dependent on workflows.
- Resource actions might migrate as disabled; enable them to prevent blocking related workflows.
- Event Handlers: Export and import event handlers. Dependency: Must be done after actions, as events call scripts and actions.
- Workflow Definitions: Export and import workflow definitions. Dependency: Dependent on actions.
- Additional Resources:Add action types (e.g., launch actions, hotfolders, and inbox resources). Dependency: Should be done after workflows.
- Wizards: Export and import wizards. Dependency: Dependent on workflow definitions and metadata definitions. Note: Ensure the URI is set as a global variable.
- Quotas: Migrate quotas manually.
Final Updates
-
Accounts: Update accounts to include missing settings like folders and external authentication.
-
Groups: Update groups to add missing workspace memberships.
Additional Updates and To-Dos
-
Consul Key-Value Pairs: Update Consul KVs as needed.
-
External Authentication: Verify external authentication settings.
-
JAR File Imports: Manually transfer required JAR files.
-
Storage and Filestore: Migrate and mount the filestore content. Note: Ensure FLEX HR and LR storage are properly mounted.
IDs and URLs Adjustments
-
Workspace IDs: Update IDs for hotfolders.
-
Launch Actions: Modify to point to the correct workflows.
-
Wizard IDs and URLs: Update metadata definition and workflow definition id as necessary. Main URL should be made as a system property variable.
-
Metadata Definitions: Adjust IDs of object-type fields using scripts if needed.
Import UDOs
-
Action: Ensure all User-Defined Objects are imported and configured.
System Properties
-
Keyframe Action ID: Update the action ID for keyframe generation in system properties.
Flex Gateway Configuration
-
Action ID: Update the action ID for deletion in the Flex Gateway configuration within Consul.
Pending Tasks
BRIO IS: Update the BRIO IS URL and password when the new BRIO IS is installed.
External Authentication Check: Confirm that external authentication is functioning correctly.
UDO GUI Settings: Verify and adjust the GUI settings for User-Defined Objects.
User Passwords: Reset passwords for all users as required.
Conclusion
By following this guide, you will successfully set up FlexCM, create repositories, configure environments, and migrate components between staging and production environments. Always ensure sensitive information like passwords and tokens are handled securely. Backup configurations and data before performing migrations or updates.
Comments
0 comments
Please sign in to leave a comment.