GithubHelp home page GithubHelp logo

issues-chris's Introduction

ChRIS Development Setup

Prerequisite docker, not podman

As big of a fan of podman/kubernetes that I am, this is a docker project, not a podman project. I recommend installing docker instead.

Clone the issues-chris repository to start developing for ChRIS.

sudo install -d -o $USER -g $USER /usr/local/src/issues-chris
git clone [email protected]:team19hackathon2021/issues-chris.git /usr/local/src/issues-chris
cd /usr/local/src/issues-chris
ansible-playbook -K chris_dev_setup.yml

issues-chris's People

Contributors

computate avatar

Watchers

 avatar

issues-chris's Issues

define the ChRIS pman systemd service file.

Mission define the ChRIS pman systemd service file.

Mission

Your mission, should you choose to accept it, is define the ChRIS pman systemd service file. .

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_pman/templates/chris_pman.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ PMAN_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ PMAN_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ PMAN_SRC }}:/home/localuser/pman --rm -e "STOREBASE={{ APP_DATA }}" -e "SECRET_KEY={{ APP_SECRET_KEY }}" -e "CONTAINER_ENV=podman" -e 'PODMAN_IP_ADDRESS={{ PODMAN_IP_ADDRESS }}' {{ PMAN_IMAGE }}:{{ PMAN_VERSION }}
ExecStop=/usr/bin/podman rm {{ PMAN_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

Package pman in the Red Hat Container Catalog

Hackathon Task for Team-19 Hackathon 2021

Package pman in the Red Hat Container Catalog

Hackathon Task for Team-19 Hackathon 2021

Task description:

Help ease-of-use in standing up the ChRIS platform would be to get two core backend components of ChRIS - pman - packaged for and listed in the Red Hat Container Catalog (or some other public container registry if another one is deemed more suitable.) The end goal is making it easier to get ChRIS up and running on OpenShift.

define the ending Ansible tasks to install ChRIS to podman locally

Mission define the ending Ansible tasks to install ChRIS to podman locally

Mission

Your mission, should you choose to accept it, is define the ending Ansible tasks to install ChRIS to podman locally.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_after/tasks/main.yml

---
# hackathonLabels: ansible,yml

This message will not self-destruct.

This message will not self destruct, because this project is open source.

create an Ansible Playbook to setup the pman container locally

Mission create an Ansible Playbook to setup the pman container locally

Mission

Your mission, should you choose to accept it, is create an Ansible Playbook to setup the pman container locally.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

define the playbook to run locally

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/chris_pman.yml

---
# define the playbook to run locally
- name: Install the ChRIS containers locally in podman with Ansible
  connection: local
  hosts: localhost

Run the chris_defaults role to load the ChRIS related variables.


  # Run the chris_defaults role to load the ChRIS related variables. 
  roles:
    - chris_defaults
    # Now run the chris_pman role to install the pman container to podman. 
    - chris_pman

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS store systemd service file.

Mission define the ChRIS store systemd service file.

Mission

Your mission, should you choose to accept it, is define the ChRIS store systemd service file. .

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_store/templates/chris_store.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ STORE_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ STORE_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} --rm -e "DJANGO_SETTINGS_MODULE=config.settings.production" -e "DJANGO_DB_MIGRATE=on" -e "DJANGO_ALLOWED_HOSTS=*" -e 'DJANGO_SECRET_KEY={{ APP_SECRET_KEY }}' -e "DJANGO_CORS_ORIGIN_ALLOW_ALL=true" -e "DJANGO_CORS_ORIGIN_WHITELIST=babymri.org" -e "DJANGO_SECURE_PROXY_SSL_HEADER=" -e "DJANGO_USE_X_FORWARDED_HOST=false" -e "DATABASE_HOST={{ STORE_HOSTNAME }}" -e "DATABASE_PORT={{ DEV_DB_PORT }}" -e "SWIFT_AUTH_URL=http://{{ SWIFT_HOSTNAME }}:{{ SWIFT_PORT }}/auth/v1.0" -e "POSTGRES_DB={{ STORE_DB_DATABASE }}" -e "POSTGRES_USER={{ STORE_DB_USER }}" -e "POSTGRES_PASSWORD={{ STORE_DB_PASSWORD }}" -e "SWIFT_USERNAME={{ SWIFT_USERNAME }}" -e "SWIFT_KEY={{ SWIFT_KEY }}" -e "SWIFT_CONTAINER_NAME=store_users" {{ STORE_IMAGE }}:{{ STORE_VERSION }} python manage.py runserver 0.0.0.0:{{ STORE_PORT }}
ExecStop=/usr/bin/podman rm {{ STORE_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

Package pfcon in the Red Hat Container Catalog

Hackathon Task for Team-19 Hackathon 2021

Package pfcon in the Red Hat Container Catalog

Hackathon Task for Team-19 Hackathon 2021

Task description:

Help ease-of-use in standing up the ChRIS platform would be to get two core backend components of ChRIS - pfcon - packaged for and listed in the Red Hat Container Catalog (or some other public container registry if another one is deemed more suitable.) The end goal is making it easier to get ChRIS up and running on OpenShift.

DataLad

Hackathon Task for Team-19 Hackathon 2021

DataLad

Hackathon Task for Team-19 Hackathon 2021

Task description:

https://www.datalad.org/ (To enable importing DataLad repos into ChRIS feeds)

Web browser testing for ChRIS UI on an iPhone

Hackathon Task for Team-19 Hackathon 2021

Web browser testing for ChRIS UI on an iPhone

Hackathon Task for Team-19 Hackathon 2021

Task description:

We would like to instead of perf testing have folks test setting up the ChRIS platform end-to-end, first with a completely local configuration (running CUBE, ChRIS UI, pfcon, pman, etc. locally), then testing it with a local ChRIS/CUBE configured to use a remote pfcon and pman running on OpenShift. Pre-req will be either ability to stand up a k8s/OpenShift somewhere accessible, or access to a public OpenShift account. We would like volunteers setting these things up to document any missteps / confusion / deficiencies in the documentation so we can improve the setup workflow as well as our docs that support setting these up.

define the default Ansible variables to use

Mission define the default Ansible variables to use

Mission

Your mission, should you choose to accept it, is define the default Ansible variables to use.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

Define the main application variables.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_defaults/defaults/main.yml

---
# Define the main application variables. 
APP_NAME: ChRIS
APP_POD: "{{ APP_NAME }}_pod"
APP_NETWORK: "ChRIS"
APP_PYTHON: "{{ '/usr/bin/python' if lookup('file', '/usr/bin/python', errors='ignore') else '/usr/bin/python3' }}"
APP_SRC: "/usr/local/src/ChRIS_ultron_backEnd"
APP_OPT: "/opt/{{ APP_NAME }}"
APP_VAR: "/var/{{ APP_NAME }}"
APP_DATA: "{{ APP_VAR }}/data"
APP_DEV_DB_DATA: "{{ APP_SRC }}/chris_dev_db_data"
APP_STORE_DB_DATA: "{{ APP_SRC }}/chris_store_db_data"
APP_SWIFT_DATA: "{{ APP_SRC }}/swift_storage_dev"
APP_QUEUE_DATA: "{{ APP_SRC }}/queue_data"
APP_BACKEND_DATA: "{{ APP_SRC }}/chris_backend"
APP_CONF: "{{ APP_OPT }}/conf/zoo.cfg"
APP_REPO: "https://github.com/FNNDSC/ChRIS_ultron_backEnd.git"
APP_VERSION: 
APP_TAG: ""
APP_USER: "root"
APP_SECRET_KEY: "w1kxu^l=@pnsf!5piqz6!!5kdcdpo79y6jebbp+2244yjm*#+k"
APP_SUPER_USER_NAME: rudolph
APP_SUPER_USER_PASSWORD: rudolph1234
APP_SUPER_USER_EMAIL: [email protected]

Define the pman application variables.


# Define the pman application variables. 
PMAN_NAME: "{{ APP_NAME }}_pman"
PMAN_POD: "{{ APP_NAME }}_pod"
PMAN_HOSTNAME: "localhost"
PMAN_IMAGE: "docker.io/computate/pman"
PMAN_VERSION: "latest"
PMAN_SERVICE: "{{ PMAN_NAME }}"
PMAN_SYSTEMD: "/usr/lib/systemd/system/{{ PMAN_SERVICE }}.service"
PMAN_SRC: "/usr/local/src/pman"
PMAN_REPO: "[email protected]:FNNDSC/pman.git"
PMAN_PORT: "5010"

Define the pfcon application variables.


# Define the pfcon application variables. 
PFCON_NAME: "{{ APP_NAME }}_pfcon"
PFCON_POD: "{{ APP_NAME }}_pod"
PFCON_HOSTNAME: "localhost"
PFCON_IMAGE: "fnndsc/pfcon"
PFCON_VERSION: "latest"
PFCON_SERVICE: "{{ PFCON_NAME }}"
PFCON_SYSTEMD: "/usr/lib/systemd/system/{{ PFCON_SERVICE }}.service"
PFCON_SRC: "/usr/local/src/pfcon"
PFCON_REPO: "[email protected]:FNNDSC/pfcon.git"
PFCON_PORT: "30005"

Define the dev application variables.


# Define the dev application variables. 
DEV_NAME: "{{ APP_NAME }}_dev"
DEV_POD: "{{ APP_NAME }}_pod"
DEV_HOSTNAME: "localhost"
DEV_IMAGE: "fnndsc/chris"
DEV_VERSION: "dev"
DEV_SERVICE: "{{ DEV_NAME }}"
DEV_SYSTEMD: "/usr/lib/systemd/system/{{ DEV_SERVICE }}.service"
DEV_PORT: "8000"

Define the dev database application variables.


# Define the dev database application variables. 
DEV_DB_NAME: "{{ APP_NAME }}_dev_db"
DEV_DB_POD: "{{ APP_NAME }}_pod"
DEV_DB_HOSTNAME: "localhost"
DEV_DB_IMAGE: "postgres"
DEV_DB_VERSION: "13"
DEV_DB_SERVICE: "{{ DEV_DB_NAME }}"
DEV_DB_SYSTEMD: "/usr/lib/systemd/system/{{ DEV_DB_SERVICE }}.service"
DEV_DB_PORT: "5432"
DEV_DB_DATABASE: "chris_dev"
DEV_DB_USER: "chris"
DEV_DB_PASSWORD: "Chris1234"
DEV_DB_BECOME_USER: "{{ DEV_DB_USER }}"
DEV_DB_BECOME_PASSWORD: "{{ DEV_DB_PASSWORD }}"

Define the store database application variables.


# Define the store database application variables. 
STORE_DB_DATABASE: "chris_store"
STORE_DB_USER: "chris"
STORE_DB_PASSWORD: "Chris1234"

Define the swift storage application variables.


# Define the swift storage application variables. 
SWIFT_NAME: "{{ APP_NAME }}_swift"
SWIFT_POD: "{{ APP_NAME }}_pod"
SWIFT_HOSTNAME: "localhost"
SWIFT_IMAGE: "fnndsc/docker-swift-onlyone"
SWIFT_VERSION: "latest"
SWIFT_SERVICE: "{{ SWIFT_NAME }}"
SWIFT_SYSTEMD: "/usr/lib/systemd/system/{{ SWIFT_SERVICE }}.service"
SWIFT_USERNAME: "chris:chris1234"
SWIFT_KEY: "testing"
SWIFT_PORT: "8080"

Define the RabbitMQ queue application variables.


# Define the RabbitMQ queue application variables. 
QUEUE_NAME: "{{ APP_NAME }}_queue"
QUEUE_POD: "{{ APP_NAME }}_pod"
QUEUE_HOSTNAME: "localhost"
QUEUE_IMAGE: "rabbitmq"
QUEUE_VERSION: "3"
QUEUE_SERVICE: "{{ QUEUE_NAME }}"
QUEUE_SYSTEMD: "/usr/lib/systemd/system/{{ QUEUE_SERVICE }}.service"

Define the ChRIS store application variables.


# Define the ChRIS store application variables. 
STORE_NAME: "{{ APP_NAME }}_store"
STORE_POD: "{{ APP_NAME }}_pod"
STORE_HOSTNAME: "localhost"
STORE_IMAGE: "fnndsc/chris_store"
STORE_VERSION: "latest"
STORE_SERVICE: "{{ STORE_NAME }}"
STORE_SYSTEMD: "/usr/lib/systemd/system/{{ STORE_SERVICE }}.service"
STORE_PORT: "8010"

Define the scheduler application variables.


# Define the scheduler application variables. 
SCHEDULER_NAME: "{{ APP_NAME }}_scheduler"
SCHEDULER_POD: "{{ APP_NAME }}_pod"
SCHEDULER_HOSTNAME: "localhost"
SCHEDULER_IMAGE: "fnndsc/chris"
SCHEDULER_VERSION: "dev"
SCHEDULER_SERVICE: "{{ SCHEDULER_NAME }}"
SCHEDULER_SYSTEMD: "/usr/lib/systemd/system/{{ SCHEDULER_SERVICE }}.service"

Define the worker periodic application variables.


# Define the worker periodic application variables. 
WORKER_PERIODIC_NAME: "{{ APP_NAME }}_worker_periodic"
WORKER_PERIODIC_POD: "{{ APP_NAME }}_pod"
WORKER_PERIODIC_HOSTNAME: "localhost"
WORKER_PERIODIC_IMAGE: "fnndsc/chris"
WORKER_PERIODIC_VERSION: "dev"
WORKER_PERIODIC_SERVICE: "{{ WORKER_PERIODIC_NAME }}"
WORKER_PERIODIC_SYSTEMD: "/usr/lib/systemd/system/{{ WORKER_PERIODIC_SERVICE }}.service"

Define the worker application variables.


# Define the worker application variables. 
WORKER_NAME: "{{ APP_NAME }}_worker"
WORKER_POD: "{{ APP_NAME }}_pod"
WORKER_HOSTNAME: "localhost"
WORKER_IMAGE: "fnndsc/chris"
WORKER_VERSION: "dev"
WORKER_SERVICE: "{{ WORKER_NAME }}"
WORKER_SYSTEMD: "/usr/lib/systemd/system/{{ WORKER_SERVICE }}.service"

Define the ChRIS UI application variables.


# Define the ChRIS UI application variables. 
UI_NAME: "ChRIS_ui"
UI_REPO: "[email protected]:FNNDSC/ChRIS_ui.git"
UI_SRC: "/usr/local/src/{{ UI_NAME }}"
UI_POD: "{{ APP_NAME }}_pod"
UI_HOSTNAME: "localhost"
UI_IMAGE: "fnndsc/chris_ui"
UI_VERSION: "dev"
UI_SERVICE: "{{ UI_NAME }}"
UI_SYSTEMD: "/usr/lib/systemd/system/{{ UI_SERVICE }}.service"
UI_PORT: "3000"
UI_DATA: "{{ UI_SRC }}"

Define the Podman TCP related application variables.


# Define the Podman TCP related application variables. 
##############
# Podman TCP #
##############

PODMAN_TCP_NAME: "podman_tcp"
PODMAN_TCP_SERVICE: "{{ PODMAN_TCP_NAME }}"
PODMAN_TCP_SYSTEMD: "/usr/lib/systemd/system/{{ PODMAN_TCP_SERVICE }}.service"
PODMAN_IP_ADDRESS: "{{ lookup('env', 'HOSTNAME') }}"
PODMAN_TCP_PORT: 5000

Define other Ansible related application variables.



# Define other Ansible related application variables. 
####################
# Ansible defaults #
####################

# Add to an ansible-vault the username of your user on your computer (echo $HOSTNAME). 
USER_NAME: "{{ lookup('env', 'USER') }}"

This message will not self-destruct.

This message will not self destruct, because this project is open source.

create an Ansible Playbook to setup everything

Mission create an Ansible Playbook to setup everything

Mission

Your mission, should you choose to accept it, is create an Ansible Playbook to setup everything.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

Define the playbook to run locally.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/install_all.yml

---
# Define the playbook to run locally. 
- name: Install the ChRIS containers locally in podman with Ansible
  connection: local
  hosts: localhost

Call the all the ChRIS Ansible roles.


  # Call the all the  ChRIS Ansible roles. 
  roles:
    - chris_defaults
    - chris_before
    - chris_dev_db
    - chris_pman
    - chris_pfcon
    - chris_podman_tcp
    - chris_queue
    - chris_scheduler
    - chris_swift
    - chris_worker
    - chris_worker_periodic
    - chris_dev
    - chris_ui
    - chris_store
    - chris_after
    - chris_plugins

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS dev systemd service file

Mission define the ChRIS dev systemd service file

Mission

Your mission, should you choose to accept it, is define the ChRIS dev systemd service file.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_dev/templates/chris_dev.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ DEV_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ DEV_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ APP_SRC }}/chris_backend:/home/localuser/chris_backend --rm -e "DJANGO_SETTINGS_MODULE=config.settings.local" -e "DJANGO_DB_MIGRATE=on" -e "DJANGO_COLLECTSTATIC=off" -e "SWIFT_HOSTNAME={{ SWIFT_HOSTNAME }}" -e "STORE_HOSTNAME={{ STORE_HOSTNAME }}" -e "PFCON_HOSTNAME={{ PFCON_HOSTNAME }}" -e "QUEUE_HOSTNAME={{ QUEUE_HOSTNAME }}" -e "DEV_DB_HOSTNAME={{ DEV_DB_HOSTNAME }}" {{ DEV_IMAGE }}:{{ DEV_VERSION }} python manage.py runserver 0.0.0.0:{{ DEV_PORT }}
ExecStop=/usr/bin/podman rm {{ DEV_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS Podman TCP systemd service file

Mission define the ChRIS Podman TCP systemd service file

Mission

Your mission, should you choose to accept it, is define the ChRIS Podman TCP systemd service file.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_podman_tcp/templates/chris_podman_tcp.service

Description=Podman TCP API Service
After=network.service
StartLimitIntervalSec=0

[Service]
Type=exec
KillMode=process
Environment=LOGGING="--log-level=info"
\{\% if (PODMAN_MAJOR_VERSION | int) > 1 \%\}
ExecStart=/usr/bin/podman $LOGGING system service tcp:{{ PODMAN_IP_ADDRESS }}:{{ PODMAN_TCP_PORT }} -t 0
\{\% else \%\}
ExecStart=/usr/bin/podman varlink tcp:{{ PODMAN_IP_ADDRESS }}:{{ PODMAN_TCP_PORT }} -t 0
\{\% endif \%\}

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS RabbitMQ queue systemd service file

Mission define the ChRIS RabbitMQ queue systemd service file

Mission

Your mission, should you choose to accept it, is define the ChRIS RabbitMQ queue systemd service file.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_queue/templates/chris_queue.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ QUEUE_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ QUEUE_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ APP_QUEUE_DATA }}:/var/lib/rabbitmq --rm {{ QUEUE_IMAGE }}:{{ QUEUE_VERSION }}
ExecStop=/usr/bin/podman rm {{ QUEUE_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the Ansible tasks to setup all the main ChRIS plugins

Mission define the Ansible tasks to setup all the main ChRIS plugins

Mission

Your mission, should you choose to accept it, is define the Ansible tasks to setup all the main ChRIS plugins.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_plugins/tasks/main.yml

---
- name: "Add the superuser to the ChRIS store container"
  shell: /usr/bin/podman exec {{ STORE_NAME }} python manage.py createsuperuser --noinput --username '{{ APP_SUPER_USER_NAME }}' --email '{{ APP_SUPER_USER_EMAIL }}'
  become: true
  ignore_errors: true
- name: "Set the superuser password to the ChRIS store container"
  shell: /usr/bin/podman exec {{ STORE_NAME }} python manage.py shell -c "from django.contrib.auth.models import User; user=User.objects.get(username='{{ APP_SUPER_USER_NAME }}'); user.set_password('{{ APP_SUPER_USER_PASSWORD }}'); user.save(); "
  become: true
- name: "Install ChRIS plugins"
  include_role:
    name: chris_plugin
  loop: "{{ APP_PLUGINS }}"
  loop_control:
    loop_var: APP_PLUGIN

This message will not self-destruct.

This message will not self destruct, because this project is open source.

create an Ansible Playbook to setup the main ChRIS plugins

Mission create an Ansible Playbook to setup the main ChRIS plugins

Mission

Your mission, should you choose to accept it, is create an Ansible Playbook to setup the main ChRIS plugins.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

Define the playbook to run locally.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/install_plugins.yml

---
# Define the playbook to run locally. 
- name: Install only the ChRIS plugins locally in podman with Ansible
  connection: local
  hosts: localhost

Run the chris_plugins role to load the main ChRIS plugins.


  # Run the chris_plugins role to load the main ChRIS plugins. 
  roles:
    - chris_plugins

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the Ansible tasks to setup the pman application as a container in podman

Mission define the Ansible tasks to setup the pman application as a container in podman

Mission

Your mission, should you choose to accept it, is define the Ansible tasks to setup the pman application as a container in podman.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

automate the setup of the ChRIS pman source code repository.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_pman/tasks/main.yml

---
# automate the setup of the ChRIS pman source code repository. 
- name: Check for the {{ PMAN_NAME }} README file
  stat:
    path: "{{ PMAN_SRC }}/README.rst"
  register: PMAN_README
- name: Create the {{ PMAN_NAME }} source directory {{ PMAN_SRC }}
  file:
    name: "{{ PMAN_SRC }}"
    state: directory
    owner: "{{ USER_NAME }}"
  when: not PMAN_README.stat.exists
  become: true
- name: Clone the {{ PMAN_REPO }} source code into {{ PMAN_SRC }}
  git:
    repo: "{{ PMAN_REPO }}"
    dest: "{{ PMAN_SRC }}"
  when: not PMAN_README.stat.exists
- name: set SELinux permissions on {{ PMAN_SRC }}
  sefcontext:
    target: "{{ PMAN_SRC }}(/.*)?"
    setype: container_file_t
  become: true
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: reload SELinux policy to ensure that {{ APP_NAME }} is executable
  command: "restorecon -irv {{ PMAN_SRC }}"
  become: true

Automate the deployment of ChRIS pman as a Podman container running as a Systemd service.


# Automate the deployment of ChRIS pman as a Podman container running as a Systemd service. 
- name: Create the {{ PMAN_NAME }} systemd service {{ PMAN_SYSTEMD }}. 
  template:
    src: chris_pman.service
    dest: "{{ PMAN_SYSTEMD }}"
  become: true
  when: ansible_pkg_mgr != 'homebrew'
- name: Reload the services. 
  systemd:
    daemon_reload: true
  become: true
  when: ansible_pkg_mgr != 'homebrew'
- name: Start and enable the {{ PMAN_SERVICE }} service. 
  service:
    name: "{{ PMAN_SERVICE }}"
    enabled: true
    state: restarted
  become: true

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the Ansible tasks to install the pfcon application as a container in podman

Mission define the Ansible tasks to install the pfcon application as a container in podman

Mission

Your mission, should you choose to accept it, is define the Ansible tasks to install the pfcon application as a container in podman.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

automate the setup of the ChRIS pfcon source code repository.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_pfcon/tasks/main.yml

---
# automate the setup of the ChRIS pfcon source code repository. 
- name: Check for the {{ PFCON_NAME }} README file
  stat:
    path: "{{ PFCON_SRC }}/README.rst"
  register: PFCON_README
- name: Create the {{ PFCON_NAME }} source directory {{ PFCON_SRC }}
  file:
    name: "{{ PFCON_SRC }}"
    state: directory
    owner: "{{ USER_NAME }}"
  when: not PFCON_README.stat.exists
  become: true
- name: Clone the {{ PFCON_REPO }} source code into {{ PFCON_SRC }}
  git:
    repo: "{{ PFCON_REPO }}"
    dest: "{{ PFCON_SRC }}"
  when: not PFCON_README.stat.exists
- name: set SELinux permissions on {{ PFCON_SRC }}
  sefcontext:
    target: "{{ PFCON_SRC }}(/.*)?"
    setype: container_file_t
  become: true
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: reload SELinux policy to ensure that {{ APP_NAME }} is executable
  command: "restorecon -irv {{ PFCON_SRC }}"
  become: true

Automate the deployment of ChRIS pfcon as a Podman container running as a Systemd service.


# Automate the deployment of ChRIS pfcon as a Podman container running as a Systemd service. 
- name: Create the {{ PFCON_NAME }} systemd service {{ PFCON_SYSTEMD }}. 
  template:
    src: chris_pfcon.service
    dest: "{{ PFCON_SYSTEMD }}"
  become: true
  when: ansible_pkg_mgr != 'homebrew'
- name: Reload the services. 
  systemd:
    daemon_reload: true
  become: true
  when: ansible_pkg_mgr != 'homebrew'
- name: Start and enable the {{ PFCON_SERVICE }} service. 
  service:
    name: "{{ PFCON_SERVICE }}"
    enabled: true
    state: restarted
  become: true
  when: ansible_pkg_mgr != 'homebrew'

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS plugin default variables

Mission define the ChRIS plugin default variables

Mission

Your mission, should you choose to accept it, is define the ChRIS plugin default variables.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_plugins/defaults/main.yml

---
APP_NAME: ChRIS
DEV_NAME: "{{ APP_NAME }}_dev"
STORE_NAME: "{{ APP_NAME }}_store"
APP_SUPER_USER_NAME: rudolph
APP_SUPER_USER_PASSWORD: rudolph1234
APP_SUPER_USER_EMAIL: [email protected]
PFCON_HOSTNAME: "localhost"
PFCON_PORT: "30005"

APP_PLUGINS:
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-dsdircopy
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-simplefsapp
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-simpledsapp
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-s3push
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-pfdicom_tagextract
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-pfdicom_tagsub
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mpcs
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mpcs
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-fshack
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-fastsurfer_inference
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-freesurfer_pp
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-freesurfer_pp
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-z2labelmap
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-z2labelmap
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mri10yr06mo01da_normal
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mri10yr06mo01da_normal
    CONTAINER_ENVIRONMENT: moc
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mgz2lut_report
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-pfdo_mgz2img
  - CONTAINER_REPO: jonocameron
    CONTAINER_IMAGE: pl-sevstack
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-topologicalcopy
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-brainmgz
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-pfdorun
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-mgz2imageslices
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-multipass
  - CONTAINER_REPO: fnndsc
    CONTAINER_IMAGE: pl-heatmap

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS scheduler systemd service file.

Mission define the ChRIS scheduler systemd service file.

Mission

Your mission, should you choose to accept it, is define the ChRIS scheduler systemd service file. .

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_scheduler/templates/chris_scheduler.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ SCHEDULER_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ SCHEDULER_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ APP_BACKEND_DATA }}:/home/localuser/chris_backend --rm -e "DJANGO_SETTINGS_MODULE=config.settings.local" -e "DJANGO_DB_MIGRATE=off" -e "DJANGO_COLLECTSTATIC=off" -e "SWIFT_HOSTNAME={{ SWIFT_HOSTNAME }}" -e "STORE_HOSTNAME={{ STORE_HOSTNAME }}" -e "PFCON_HOSTNAME={{ PFCON_HOSTNAME }}" -e "QUEUE_HOSTNAME={{ QUEUE_HOSTNAME }}" -e "DEV_DB_HOSTNAME={{ DEV_DB_HOSTNAME }}" {{ SCHEDULER_IMAGE }}:{{ SCHEDULER_VERSION }} celery -A core beat -l info --pidfile /home/localuser/celerybeat.pid --scheduler django_celery_beat.schedulers:DatabaseScheduler
ExecStop=/usr/bin/podman rm {{ SCHEDULER_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the beginning Ansible tasks to install ChRIS to podman locally

Mission define the beginning Ansible tasks to install ChRIS to podman locally

Mission

Your mission, should you choose to accept it, is define the beginning Ansible tasks to install ChRIS to podman locally.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

Automate the installation of ChRIS dependencies.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_before/tasks/main.yml

---
# Automate the installation of ChRIS dependencies. 
- name: "Setup podman Linux virtual machine on MacOS"
  shell: "podman machine init"
  when: ansible_pkg_mgr == 'homebrew'
- name: "Start the podman Linux virtual machine on MacOS"
  shell: "podman machine start"
  when: ansible_pkg_mgr == 'homebrew'
- name: "install podman dependency"
  package:
    name:
      - python3
      - python3-pip
      - libselinux-python
      - libsemanage-python
      - podman
    state: present
  become: true
  when: ansible_pkg_mgr != 'homebrew' and APP_PYTHON == '/usr/bin/python'
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: "install podman dependency"
  package:
    name:
      - python3
      - python3-pip
      - python3-libselinux
      - python3-libsemanage
      - podman
    state: present
  become: true
  when: ansible_pkg_mgr != 'homebrew' and APP_PYTHON == '/usr/bin/python3'
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: "install python pip dependencies"
  pip:
    name: psycopg2-binary
    state: present
  become: true
  when: ansible_pkg_mgr != 'homebrew' and APP_PYTHON == '/usr/bin/python3'
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: "install podman dependency"
  package:
    name:
      - python3
      - python3-pip
      - python3-libselinux
      - python3-libsemanage
      - podman
    state: present
  become: true
  when: ansible_pkg_mgr != 'homebrew' and APP_PYTHON == '/usr/bin/python3'
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"

Check the system podman version to determine network settings.


# Check the system podman version to determine network settings. 
- name: Check podman version
  shell: "podman -v | cut -d ' ' -f3 | cut -d '.' -f1"
  register: PODMAN_MAJOR_VERSION_SHELL
- name: Set podman major version
  set_fact:
    PODMAN_MAJOR_VERSION: "{{ PODMAN_MAJOR_VERSION_SHELL.stdout }}"
- debug:
    var: PODMAN_MAJOR_VERSION
- name: Set network vars
  set_fact:
    APP_POD_NETWORK: "{{ (APP_NETWORK if (PODMAN_MAJOR_VERSION | int) > 1) | default(omit) }}"
    APP_CONTAINER_NETWORK: "{{ ('host' if (PODMAN_MAJOR_VERSION | int) <= 1) | default(omit) }}"
- debug:
    var: APP_POD_NETWORK
- debug:
    var: APP_CONTAINER_NETWORK
- name: Create a podman network {{ APP_NETWORK }}
  containers.podman.podman_network:
    name: "{{ APP_NETWORK }}"
    state: present
  become: true
  when: APP_POD_NETWORK is defined
  ignore_errors: true

Allow Podman to run containers as systemd services for better logging, starting, stopping and enabling services.


# Allow Podman to run containers as systemd services for better logging, starting, stopping and enabling services. 
- name: Set container_manage_cgroup flag on to run podman containers as systemd services and keep it persistent across reboots
  ansible.posix.seboolean:
    name: container_manage_cgroup
    state: true
    persistent: true
  become: true
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"

Automate the deployment of a shared podman pod for the ChRIS applications on a shared network.


# Automate the deployment of a shared podman pod for the ChRIS applications on a shared network. 
- name: Create a podman pod {{ APP_POD }} with network {{ APP_POD_NETWORK }}
  containers.podman.podman_pod:
    name: "{{ APP_POD }}"
    network: "{{ APP_POD_NETWORK }}"
    publish:
      - "{{ PFCON_PORT }}:30005"
      - "{{ PMAN_PORT }}:5010"
      - "{{ DEV_DB_PORT }}:5432"
      - "{{ SWIFT_PORT }}:8080"
      - "{{ DEV_PORT }}:8000"
      - "{{ STORE_PORT }}:8010"
      - "{{ UI_PORT }}:3000"
      - "6900-6905:6900-6905"
    state: started
  become: true
  when: APP_POD_NETWORK is defined

Setup the ChRIS data directory.


# Setup the ChRIS data directory. 
- name: Create the {{ APP_NAME }} data directory {{ APP_DATA }}. 
  file:
    name: "{{ APP_DATA }}"
    state: directory
    owner: "{{ APP_USER }}"
    mode: 0777
  become: true
- name: set SELinux permissions on {{ APP_DATA }}
  sefcontext:
    target: "{{ APP_DATA }}(/.*)?"
    setype: container_file_t
  become: true
  vars:
    ansible_python_interpreter: "{{ APP_PYTHON }}"
- name: reload SELinux policy to ensure that {{ APP_NAME }} is executable
  command: "restorecon -irv {{ APP_DATA }}"
  become: true

This message will not self-destruct.

This message will not self destruct, because this project is open source.

Create pl-gc-retrieve plugin

Hackathon Task for Team-19 Hackathon 2021

Create pl-gc-retrieve plugin

Hackathon Task for Team-19 Hackathon 2021

Task description:

Create pl-gc-retrieve for Google Cloud.

Test pl-s3retrieve app

Hackathon Task for Team-19 Hackathon 2021

Test pl-s3retrieve app

Hackathon Task for Team-19 Hackathon 2021

Task description:

A ChRIS ds app to retrieve data of interest from Amazon S3 service. Test https://github.com/FNNDSC/pl-s3retrieve (needed for enabling Serratus which uses S3) to make sure it works to pull data down from S3 into ChRIS storage.

define the ChRIS dev database systemd service file

Mission define the ChRIS dev database systemd service file

Mission

Your mission, should you choose to accept it, is define the ChRIS dev database systemd service file.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_dev_db/templates/chris_dev_db.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ DEV_DB_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ DEV_DB_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ APP_DEV_DB_DATA }}:/var/lib/postgresql/data --rm -e "POSTGRES_DB={{ DEV_DB_DATABASE }}" -e "POSTGRES_USER={{ DEV_DB_BECOME_USER }}" -e "POSTGRES_PASSWORD={{ DEV_DB_BECOME_PASSWORD }}" {{ DEV_DB_IMAGE }}:{{ DEV_DB_VERSION }}
ExecStop=/usr/bin/podman rm {{ DEV_DB_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

create an Ansible Playbook to setup the pfcon container locally.

Mission create an Ansible Playbook to setup the pfcon container locally.

Mission

Your mission, should you choose to accept it, is define the playbook to run locally.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service
developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/team19-hackathon-2021

The details of your mission:

define the playbook to run locally

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/chris_pfcon.yml

---
# define the playbook to run locally
- name: Install the ChRIS containers locally in podman with Ansible
  connection: local
  hosts: localhost
  

  # Run the chris_defaults role to load the ChRIS related variables. 
  roles:
    - chris_defaults
    # Now run the chris_pfcon role to install the pfcon container to podman. 
    - chris_pfcon

This message will not self-destruct.

This message will not self destruct, because this project is open source.

define the ChRIS pfcon systemd service file.

Mission define the ChRIS pfcon systemd service file.

Mission

Your mission, should you choose to accept it, is define the ChRIS pfcon systemd service file. .

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

create the code

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/roles/chris_pfcon/templates/chris_pfcon.service

[Unit]
Description=
After=network.service

[Service]
Type=simple
User={{ APP_USER }}
ExecStart=/usr/bin/podman run --name {{ PFCON_NAME }}\{\% if APP_POD_NETWORK is defined \%\} --pod {{ PFCON_POD }}\{\% endif \%\}\{\% if APP_CONTAINER_NETWORK is defined \%\} --network {{ APP_CONTAINER_NETWORK }}\{\% endif \%\} -v {{ APP_DATA }}:/home/localuser/storeBase:Z -v {{ PFCON_SRC }}:/home/localuser/pfcon --rm -e "SECRET_KEY={{ APP_SECRET_KEY }}" -e "COMPUTE_SERVICE_URL=http://{{ PMAN_HOSTNAME }}:5010/api/v1/" {{ PFCON_IMAGE }}:{{ PFCON_VERSION }} gunicorn -w 5 -b 0.0.0.0:30005 -t 200 pfcon.wsgi:application
ExecStop=/usr/bin/podman rm {{ PFCON_NAME }} -f
Restart=on-failure

[Install]
WantedBy=multi-user.target

This message will not self-destruct.

This message will not self destruct, because this project is open source.

create an Ansible Playbook to setup the initial ChRIS prerequisites

Mission create an Ansible Playbook to setup the initial ChRIS prerequisites

Mission

Your mission, should you choose to accept it, is create an Ansible Playbook to setup the initial ChRIS prerequisites.

The day of the operation is October 26th, 2021

You will have 4 hours to complete your mission.

ChRIS is a pervasively open source platform that utilizes cloud technologies to democratize medical analytics application development. It enables healthcare organizations to keep owning their data while benefiting from public cloud processing capabilities. ChRIS is developed as part of a collaborative effort between Boston Children’s Hospital, Red Hat, Boston University, and the Mass Open Cloud (MOC). ChRIS allows researchers the ability to simply deploy their applications in a cloud infrastructure with access to more data, more compute, and more collaboration to drive medical innovation. ChRIS uses leading open source technologies to standardize cloud-based healthcare application development, taking care of the infrastructure so medical researchers can focus on their data.

You will be joining a team of the boldest

of all Red Hatters for this mission, who will be at your service developing the code and automating the deployment to OpenShift.

  • Should you, or any of your force be taken or compromised that day, you must report back as many changes as you have made, and any knowledge of your actions, by pull request or comments on the issue on the board.

How to get started:

Follow the instructions here to setup the project: https://github.com/team19hackathon2021/ChRIS_ultron_backEnd/tree/master/ansible

The details of your mission:

Define the playbook to run locally.

Create a new file: /usr/local/src/ChRIS_ultron_backEnd/ansible/chris_before.yml

---
# Define the playbook to run locally. 
- name: Install the ChRIS containers locally in podman with Ansible
  connection: local
  hosts: localhost

Run the chris_defaults role to load the ChRIS related variables.


  # Run the chris_defaults role to load the ChRIS related variables. 
  roles:
    - chris_defaults

Now run the chris_before role to do the prerequisite steps to installing the other applications.


    # Now run the chris_before role to do the prerequisite steps to installing the other applications. 
    - chris_before

This message will not self-destruct.

This message will not self destruct, because this project is open source.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.