Skip to content

Conversation

@krisrowe
Copy link
Contributor

This pull request introduces a new feat/scripts branch that significantly improves the developer and user experience of the Apigee Migration Assessment Tool by adding a new set of scripts and automation.

Key Capabilities Introduced:

  • Simplified Setup and Execution with Makefile:

    • A new Makefile provides a set of make commands to streamline common tasks.
    • make install: Sets up a local development environment with all dependencies.
    • make test: Runs the full suite of unit tests.
    • make build: Builds the Docker image for the tool.
    • make run: Runs the assessment tool in a Docker container.
    • make clean-run: Ensures a clean run by removing previous outputs.
    • make token: Generates an Apigee authentication token.
  • Easier Configuration and Setup:

    • scripts/setup.py: A new script that automates the creation of the input.properties file and the output directory.
    • .env file support: The Makefile now supports a .env file for managing credentials like APIGEE_USERNAME and APIGEE_PASSWORD, so they don't have to be passed on the command line.
  • Improved MFA Token Generation:

    • scripts/get_token.sh: A new script that simplifies the process of generating an Apigee authentication token, especially for users with MFA enabled.
  • Enhanced Documentation:

    • CONTRIBUTING.md: Updated with a "Local Development Setup" section to guide developers on how to use the new make commands.
    • MFA_TOKEN_INSTRUCTIONS.md: A new user-facing guide that explains how to use the new make commands to run the tool, with a focus on MFA token generation.
    • README.md: Updated to link to the new MFA documentation.

These changes make the tool easier to set up, use, and develop, reducing the friction for both end-users and contributors.

…xecution

- Add Makefile with targets for token generation, setup, and execution
- Add get_token.sh script for automated token retrieval with MFA support
- Add setup.py script for automated environment setup and Docker configuration
- Add .env file support for non-interactive workflow with environment variables
- Add comprehensive test suite using unittest and context managers
- Fix end-to-end workflow for non-interactive usage
- Add output/ directory to .gitignore for generated files
- Improve error handling and user experience across all scripts

All scripts work seamlessly together for a streamlined development experience.
- Check for existing output files before running assessment
- Provide clear warning and options when old output exists
- Add clean-run target for automatic cleanup
- Add run-force target to bypass safety check
- Update help text with new commands
@google-cla
Copy link

google-cla bot commented Nov 17, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant