Added environment variable for run.sh to specify runner state file. #377

Merged
techknowlogick merged 1 commits from haxwithaxe/act_runner:main into main 2023-10-15 23:21:53 +00:00
Contributor

Added environment variable RUNNER_STATE_FILE to let users specify
where run.sh looks for the runner JSON file. Defaults to .runner
to preserve the original behavior.

Addresses issue #368. It's not my preferred solution but it's the least invasive one I can think of.

I'm happy to make any changes you want.

I didn't see an appropriate place to reference the change in the documentation. I will add documentation wherever you think is appropriate.

To test this I did the following:

  • Built an image with the make docker command and pushed it to my private registry.
  • Added that private image as the image in my existing docker stack that was exhibiting the behavior described in #368.
  • Added the RUNNER_STATE_FILE environment variable pointing to the runner JSON file set in my config.yml (/data/runner.json in this case).
  • Configured a new runner in gitea and added the token as an environment variable in the stack config.
  • Deployed the stack and verified the new runner was recognized (in the idle state).
  • Force updated the runner service to restart the container.
  • Verified the same runner was still recognized in gitea (in the idle state) once it was back up and running.

Here is the relevant config. It's stored as a template so I've left the things that would normally be redacted as they are in the template.

    runner:
     image: hub.hax.in.net/haxwithaxe/act_runner:dev1
      networks:
        - swarm-net
      environment:
       RUNNER_STATE_FILE: /data/runner.json
        CONFIG_FILE: /data/config.yml
        GITEA_INSTANCE_URL: "https://git_gitea"
        GITEA_RUNNER_REGISTRATION_TOKEN: "{{ git_runner_reg_token }}"
        GITEA_RUNNER_NAME: "git_runner"
      volumes:
        - runner_data:/data
        - /var/run/docker.sock:/var/run/docker.sock

runner_data is a glusterfs subvolume

Thanks for creating this gitea specific fork. Apart from the issue this pull request addresses it works so well I don't have to think about it once it's set up.

Added environment variable `RUNNER_STATE_FILE` to let users specify where `run.sh` looks for the runner JSON file. Defaults to ``.runner`` to preserve the original behavior. Addresses issue #368. It's not my preferred solution but it's the least invasive one I can think of. I'm happy to make any changes you want. I didn't see an appropriate place to reference the change in the documentation. I will add documentation wherever you think is appropriate. To test this I did the following: * Built an image with the `make docker` command and pushed it to my private registry. * Added that private image as the image in my existing docker stack that was exhibiting the behavior described in #368. * Added the RUNNER_STATE_FILE environment variable pointing to the runner JSON file set in my `config.yml` (``/data/runner.json`` in this case). * Configured a new runner in gitea and added the token as an environment variable in the stack config. * Deployed the stack and verified the new runner was recognized (in the idle state). * Force updated the runner service to restart the container. * Verified the same runner was still recognized in gitea (in the idle state) once it was back up and running. Here is the relevant config. It's stored as a template so I've left the things that would normally be redacted as they are in the template. ``` runner: image: hub.hax.in.net/haxwithaxe/act_runner:dev1 networks: - swarm-net environment: RUNNER_STATE_FILE: /data/runner.json CONFIG_FILE: /data/config.yml GITEA_INSTANCE_URL: "https://git_gitea" GITEA_RUNNER_REGISTRATION_TOKEN: "{{ git_runner_reg_token }}" GITEA_RUNNER_NAME: "git_runner" volumes: - runner_data:/data - /var/run/docker.sock:/var/run/docker.sock ``` `runner_data` is a glusterfs subvolume Thanks for creating this gitea specific fork. Apart from the issue this pull request addresses it works so well I don't have to think about it once it's set up.
haxwithaxe added 1 commit 2023-10-15 14:27:33 +00:00
Added environment variable for run.sh to specify runner state file.
Added environment variable `RUNNER_STATE_FILE` to let users specify
where `run.sh` looks for the runner json file. Defaults to ``.runner``
to preserve the original behavior.
All checks were successful
checks / check and test (pull_request) Successful in 1m25s
b58112172a
techknowlogick merged commit 130b9f1877 into main 2023-10-15 23:21:53 +00:00

Thanks for the PR!

Thanks for the PR!
Sign in to join this conversation.
No description provided.