Scripts to automate lift-and-shift with CloudEndure and the AWS Migration Factory
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guillaume Donval 88bb2ca50a
doc: updates CHANGELOG
1 week ago
config feat: adds SMTP notifier implementation 1 month ago
post-launch removed the AWSPowerShell PSModule which caused a freeze on the post migration script 1 week ago
scripts test: debug 6 days ago
tools fix: missing import for tools 1 month ago
.gitignore chore: Add pre-commit config and run it 1 month ago
.pre-commit-config.yaml doc: Add contribution/tolling infromation in README 1 month ago doc: updates CHANGELOG 6 days ago
Jenkinsfile chore: Add Jenkinsfile pipeline 1 month ago
LICENSE fix: various fixes 2 months ago refactor: use MF library for endpoints read 1 month ago Revert "tech: install debug mode" 1 month ago
requirements.txt feat: adds notification library with Teams implementation 1 month ago


Linux and Windows compliant scripts for the AWS Migration Factory.

These scripts replace and add many features above the scripts given by AWS for the migration execution server.


  1. Install python3, gssntlmssp, pwsh 7 with your OS package manager.


You need to have git and curl install on the machine.

  1. Clone this repository;
  2. Move to into it;
  3. Run # (careful, needs root permissions). You can use --cron to force scripts installation regularly, making sure VCS and server have the same code;
  4. Modify the file /etc/migration_factory/endpoints.yml to add URL API;
  5. Modify the file /etc/migration_factory/defaults.yml to give the defaults values by environments;
  6. optional - Add an alias on your shell profile to run the script mf_setup_environment properly. alias mf_setup_environment="source /usr/local/bin/mf_setup_environment"
  7. Enjoy !


A file containing default values will be installed. See installation. When environment in passed as an argument of any script, it will check dynamically that a key corresponding to the given environment exists in the defaults file.

Environment variable

Here are all supported environment variable:

  • MF_USERNAME: The username used to log on the migration factory
  • MF_PASSWORD: The password used to log on the migration factory
  • MF_CE_API_TOKEN: The Cloud Endure API token
  • MF_AWS_ACCESS_KEY_ID: The AWS access key id of the target account
  • MF_AWS_SECRET_ACCESS_KEY: The AWS secret access key of the target account
  • MF_AWS_REGION: The AWS region of the target account
  • MF_ENDPOINT_CONFIG_FILE: The location of endpoint config file
  • MF_WINDOWS_USERNAME: The Windows username to connect to source host
  • MF_WINDOWS_PASSWORD: The Windows password to connect to source host

You can also use the command source mf_setup_environment to set all these environment variables

Technical documentation

See this repository wiki.


This repository follows Semantic Versioning 2.0.0

Git Hooks

This repository uses pre-commit hooks.


pre-commit install
pre-commit install -t commit-msg

Commit Messages

This repository follows the afcmf standard for it's commit messages.


  • This works only on Linux
  • is not working for now.