Skip to content

improve local dev for server side development #1051

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

MattShirley
Copy link
Collaborator

@MattShirley MattShirley commented May 2, 2025

How to use:

  1. Replace your local helm chart with the one available in this PR for: helm/servicex/templates/app/deployment.yaml
  2. Update your local helm values file to include:
  environment: dev
  mount_local: true
  reload: true
  1. Install Overmind. You can view installation documentation here: https://github.com/DarthSim/overmind. While the instructions include installing tmux, you will also need to install ruby if not installed: brew install ruby or sudo apt install ruby or your OS's equivalent. Note that when installing Overmind via gem, you may need to install with the --local-install argument. i.e. gem install overmind --user-install. If you enable this option, Overmind will be installed in your home directory. You will need to locate it and make sure it is available in your path.
  2. Navigate to your ServiceX checkout. You will need to set your ServiceX directory, your helm chart directory, and your helm values file as environment variables (the values file can be either absolute or relative to $CHART_DIR). My command is:
    LOCAL_DIR=/home/matt/Projects/ServiceX CHART_DIR=/home/matt/servicex VALUES_FILE=local-values.yaml overmind start
  3. Since that command is a bit unwieldy, I suggest adding aliases inside your ~/.bashrc file.
alias servicex-up='cd ~/Projects/ServiceX && LOCAL_DIR=/home/matt/Projects/ServiceX VALUES_FILE=local-values.yaml CHART_DIR=/home/matt/servicex overmind start'
alias servicex-down='helm delete servicex'
alias servicex-start='servicex-up; servicex-down;'

Open a new terminal or execute source ~/.bashrc to reload your environment. Now you can start servicex with servicex-start. Killing the process will also uninstall the helm deployment (but minikube will still be running).

Once complete, this PR introduces two changes:

  1. Changes to your local ServiceX checkout will be immediately reflected in your running app pods and gunicorn workers reloaded.
  2. The minikube mount process and separate port forward processes are collected into a single Procfile and executed via Overmind.

overmind

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