DataFed icon indicating copy to clipboard operation
DataFed copied to clipboard

Individual docker scripts

Open nedvedba opened this issue 10 months ago • 3 comments

PR Description

This PR serves to introduce two scripts that will create the individual container scripts needed to run the application in production.

Tasks

  • [ ] - A description of the PR has been provided, and a diagram included if it is a new feature.
  • [ ] - Formatter has been run
  • [ ] - CHANGELOG comment has been added
  • [ ] - Labels have been assigned to the pr
  • [ ] - A reviewer has been added
  • [ ] - A user has been assigned to work on the pr
  • [ ] - If new feature a unit test has been added

Summary by Sourcery

This pull request introduces scripts to generate individual Docker container scripts for metadata and repository services, and enhances the generate_datafed.sh script to support specifying the database port.

New Features:

  • Introduces two new scripts, generate_metadata_container_scripts.sh and generate_repo_container_scripts.sh, to generate individual container scripts for running the application in production.
  • generate_metadata_container_scripts.sh creates scripts for managing ArangoDB, DataFed Core, DataFed Web, and Nginx containers, including creation, stopping, and removal.
  • generate_repo_container_scripts.sh creates scripts for managing DataFed Repo and GCS containers, including creation, stopping, and removal.

Enhancements:

  • The generate_datafed.sh script now includes an option to specify the database port via the DATAFED_DATABASE_PORT environment variable.

nedvedba avatar Feb 24 '25 10:02 nedvedba

Reviewer's Guide by Sourcery

This PR introduces two new scripts, generate_metadata_container_scripts.sh and generate_repo_container_scripts.sh, to create individual container scripts for running the application in production. It also adds DATAFED_DATABASE_PORT to the datafed.sh config file.

No diagrams generated as the changes look simple and do not need a visual representation.

File-Level Changes

Change Details Files
Added a script to generate container scripts for the metadata server.
  • Added a script that takes in a docker tag and backup directory and generates scripts to run, stop, and remove arango, core, web, and nginx containers.
  • The generated scripts are placed in the DATAFED_INSTALL_PATH/scripts directory.
  • The script includes options for setting the docker tag and backup directory via command line arguments or environment variables.
scripts/generate_metadata_container_scripts.sh
Added a script to generate container scripts for the repository server.
  • Added a script that takes in a docker tag, IP address, repo domain, and optional repo volume mounts and generates scripts to run, stop, and remove repo and gcs containers.
  • The generated scripts are placed in the DATAFED_INSTALL_PATH/scripts directory.
  • The script includes options for setting the docker tag, IP address, repo domain, and repo volume mounts via command line arguments or environment variables.
scripts/generate_repo_container_scripts.sh
Added DATAFED_DATABASE_PORT to the datafed.sh config file.
  • Added logic to check if the DATAFED_DATABASE_PORT environment variable is set, and if not, defaults to 8529.
  • Exported the DATAFED_DATABASE_PORT variable.
scripts/generate_datafed.sh

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Feb 24 '25 10:02 sourcery-ai[bot]

https://github.com/ORNL/DataFed/pull/974

AronPerez avatar Feb 24 '25 15:02 AronPerez

Dependant on https://github.com/ORNL/DataFed/pull/1336

AronPerez avatar May 14 '25 13:05 AronPerez