Follow the steps below to get set up with everything you need to participate in the course!
- {% unless event.infrastructure.no_galaxy %}
+ {% if event.infrastructure.servers %}
+
Create a Galaxy Account
@@ -200,7 +201,7 @@
Create a Galaxy Account
- {% endunless %}
+ {% endif %}
{% if event.infrastructure.tiaas %}
diff --git a/_plugins/api.rb b/_plugins/api.rb
index 9b1d41d3c5ed3d..597b5a066c2372 100644
--- a/_plugins/api.rb
+++ b/_plugins/api.rb
@@ -279,7 +279,9 @@ def generate(site)
Jekyll::Hooks.register :site, :post_read do |site|
- Gtn::Hooks.by_tool(site)
+ if Jekyll.env == 'production'
+ Gtn::Hooks.by_tool(site)
+ end
end
# Basically like `PageWithoutAFile`, we just write out the ones we'd created earlier.
diff --git a/bin/schema-event.yaml b/bin/schema-event.yaml
index 52c6f69ca13363..9601ea7e6ee580 100644
--- a/bin/schema-event.yaml
+++ b/bin/schema-event.yaml
@@ -320,10 +320,6 @@ mapping:
type: str
description: |
Custom markdown formatted text to display. Note that Jekyll things like `{% snippet %}` or `{% include %}` will not work here.
- no_galaxy:
- type: bool
- description: |
- Set to `true` to disable the automatic "register for a galaxy account" card.
tags:
type: seq
sequence:
diff --git a/events/2025-01-28-src.md b/events/2025-01-28-src.md
new file mode 100644
index 00000000000000..60eb9037465329
--- /dev/null
+++ b/events/2025-01-28-src.md
@@ -0,0 +1,105 @@
+---
+layout: event
+
+# Status of this page, remove these lines when ready
+draft: true
+status: wip
+
+# Description of your event
+title: Galaxy at SURF Research Cloud workshop
+description: |
+ Half-day workshop demonstrating the local Galaxy instance built for users of SURF Research Cloud.
+
+
+
+# Practical Information
+date_start: 2025-01-28
+
+cost: free
+audience: This event is targeted towards researchers in the Netherlands who already have experience working with Galaxy.
+contact_email: mirela.minkova@surf.nl
+async: false
+mode: onsite
+
+registration:
+ message: Please send an email to mirela.minkova@surf.nl to register for the workshop!
+ deadline: 2025-01-10
+ open: true
+
+# Location of the event
+# For online events, just the 'name' is enough
+location:
+ name: SURF Amsterdam
+ address: Science Park 140
+ city: Amsterdam
+ country: The Netherlands
+ postcode: 1098 XG
+
+
+
+# People involved, organisers, speakers, funders, etc
+# Must be defined in CONTRIBUTORS.yaml file
+contributions:
+ organisers:
+ - mirelaminkova
+ instructors:
+ - mirelaminkova
+ - yuliiaorlova
+ funding:
+ - surf
+
+
+# Galaxy and other infrastructure that will be used for your event.
+# This will be used to create the setup instructions for participants
+infrastructure:
+ tiaas: false
+ custom:
+ description: |
+ Before joining the course, please make sure to:
+ - Bring a laptop with at least 8GB of RAM.
+ - Do the [Intro to Galaxy](http://training.galaxyproject.org/topics/introduction/tutorials/galaxy-intro-short/tutorial.html) tutorial if you are not yet familiar with Galaxy
+ - Up-to-date browser
+ - Experience in using SURF Research Cloudย
+
+# Program of your course
+# Add GTN tutorials by supplying the topic and tutorial name
+# For non-GTN sessions, add a "type:custom" session and description
+program:
+ - section: "Galaxy & Pulsar on SURF" # section title is optional
+ description: |
+ During the workshop, you will see a short demo and get a chance to test the catalog item yourself.
+ tutorials:
+ - name: SURF SRC introduction
+ type: custom
+ time: "13:00 - 13:40"
+
+ - name: surf-research-cloud-galaxy
+ topic: admin
+ time: "13:40 - 14:10"
+
+ - name: surf-research-cloud-pulsar
+ topic: admin
+ time: "14:10 - 14:40"
+
+ - type: custom
+ name: Coffee Break
+ time: "14:40"
+ - name: mapping
+ topic: sequence-analysis
+ time: "14:40 - 15:40"
+
+ - name: general-introduction
+ topic: assembly
+ time: "15:40 - 16:10"
+
+ - type: custom
+ name: General feedback from participants
+ time: "16:10"
+
+ - type: custom
+ name: Borreltje
+ time: "16:30 - 17:00"
+
+---
+
+During the workshop, you will see a short demo and get a chance to test the catalog item yourself. This will be followed by a discussion about your needs as Galaxy researchers, helping us work toward a better future for the Dutch research community. We will conclude the day with drinks and networking with fellow Galaxy NL users.
diff --git a/shared/images/surf.png b/shared/images/surf.png
new file mode 100644
index 00000000000000..9cd22f07f97db6
Binary files /dev/null and b/shared/images/surf.png differ
diff --git a/shared/images/surf.svg b/shared/images/surf.svg
new file mode 100644
index 00000000000000..0e42533fa7c5e9
--- /dev/null
+++ b/shared/images/surf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/1.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/1.png
new file mode 100644
index 00000000000000..5b8660eb23c5ce
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/1.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/10.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/10.png
new file mode 100644
index 00000000000000..9a25d25ce2db92
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/10.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/11.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/11.png
new file mode 100644
index 00000000000000..c1ba50c6052a1d
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/11.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/12.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/12.png
new file mode 100644
index 00000000000000..849e7aece3efc6
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/12.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/13.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/13.png
new file mode 100644
index 00000000000000..b1a9f3682e6dca
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/13.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/14.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/14.png
new file mode 100644
index 00000000000000..512770cad21381
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/14.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/15.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/15.png
new file mode 100644
index 00000000000000..b3c14f957c5cc5
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/15.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/16.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/16.png
new file mode 100644
index 00000000000000..54986d7c34e0b7
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/16.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/2.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/2.png
new file mode 100644
index 00000000000000..3750074009c0ab
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/2.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/3.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/3.png
new file mode 100644
index 00000000000000..81061629bd7e8a
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/3.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/4.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/4.png
new file mode 100644
index 00000000000000..31eef705e20675
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/4.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/5.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/5.png
new file mode 100644
index 00000000000000..ad5cf7c84d1ea0
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/5.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/6.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/6.png
new file mode 100644
index 00000000000000..6f2cbc0c798d90
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/6.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/7.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/7.png
new file mode 100644
index 00000000000000..ca200b5ec007c3
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/7.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/8.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/8.png
new file mode 100644
index 00000000000000..6f6aa1bf94c219
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/8.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/images/9.png b/topics/admin/tutorials/surf-research-cloud-galaxy/images/9.png
new file mode 100644
index 00000000000000..7da45ba9b072d4
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-galaxy/images/9.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-galaxy/tutorial.md b/topics/admin/tutorials/surf-research-cloud-galaxy/tutorial.md
new file mode 100644
index 00000000000000..423e9741fa7bd4
--- /dev/null
+++ b/topics/admin/tutorials/surf-research-cloud-galaxy/tutorial.md
@@ -0,0 +1,187 @@
+---
+layout: tutorial_hands_on
+
+title: "Galaxy usage on SURF Research Cloud"
+zenodo_link: ""
+questions:
+ - How do I start a Galaxy instance on SURF Research Cloud?
+ - How do I link to external storage from my Galaxy workspace?
+ - How do I install tools?
+objectives:
+ - Understand how to work with a Galaxy on-demand instance in SURF Research Cloud
+requirements:
+ - type: "none"
+ title: Access to the SURF Research Cloud
+ - type: "none"
+ title: SRAM authentication
+ - type: "none"
+ title: An SSH key connected to your account
+ - type: "none"
+ title: Have a basic understanding of how Galaxy works
+time_estimation: "30m"
+level: Introductory
+key_points:
+ - With SRC you can start your own Galaxy on-demand instance in a secure environment
+ - You can log in and use Galaxy via the SRC with your university credentials
+contributions:
+ authorship:
+ - mirelaminkova
+ - hexylena
+ - dometto
+ funding:
+ - surf
+
+edam_ontology:
+- topic_0605 # Informatics
+- topic_3071 # Data Management
+
+abbreviations:
+ SRC: SURF Research Cloud
+ GDPR: General Data Protection Regulations
+ SRAM: SURF Research Access Management
+ CO: Collaborative Organisation
+
+follow_up_training:
+ - type: "internal"
+ topic_name: admin
+ tutorials:
+ - surf-research-cloud-pulsar
+tags:
+ - deploying
+---
+
+Using Galaxy via the {SRC} allows researchers to start Galaxy instances on-demand and analyze their data in a secure environment following the {GDPR}. The instance provides secure authentication, where users must have a SURF Research account prior to this tutorial, have set the {SRAM} authentication method, and connect an SSH key to their accounts. In case you are not familiar with {SRC} and need help in setting up your accounts, please follow the instructions on the [SURF Knowledge Base](https://servicedesk.surf.nl/wiki/display/WIKI/SURF+Research+Cloud)
+
+In this training the aim is to focus on:
+
+- Understanding how to start Galaxy on {SRC}
+- Attaching external volumes for storage
+
+Galaxy instances can be started and stopped on demand, depending on personal cases and requirements. Inside the SRC members should have access to all publicly available catalog items. If you are not able to create a catalog item, please [contact SURF servicedesk](mailto:servicedesk@surf.nl).
+
+>
+>
+> 1. TOC
+> {:toc}
+>
+{: .agenda}
+
+
+# Prerequisites
+
+This tutorial assumes you are member of a {CO} in {SRAM} that has access to {SRC} and a wallet with budget in SRC with enough sources to create Galaxy and Pulsar catalog items. (For more information please refer to the [SURF Knowledge Base](https://servicedesk.surf.nl/wiki/display/WIKI/Budgets%2C+wallets%2C+contracts).
+
+You must have previous experience working with data inside Galaxy.
+
+# Starting a Galaxy instance inside SRC step-by-step
+
+> Access the SRC
+> 1. The first and most important step is to have access to the SURF Research Cloud.
+> 2. You will need to login to the [portal](https://portal.live.surfresearchcloud.nl).
+> ![login screen for SURF research cloud](./images/1.png)
+>
+> 3. Assuming you are a Dutch researcher, you should expect to see your educational institution listed on the authentication provider screen.
+> ![login with screen, showing an authentication provider being chosen.](./images/2.png)
+> 4. Log in with your institute credentials and follow the SRAM authentication on your phone. Inside the environment, you can see if there are any active virtual machines, the options to create a workspace, new storage or request new wallet for your projects.
+> ![SRC dashboard, options like create new workspace, storage, or request a new wallet are available. one workspace is listed as running: galaxy test tim.](./images/3.png)
+{: .hands_on}
+
+With this, you're ready to get started launching resources within {SRC}.
+
+## Create an external storage
+
+The purpose of the storage is to attach it to your workspace, where you will save your data. This way, if the machine is deleted, your data will not be lost. We strongly advise anyone using the SRC to create storages and attach them to their machines!
+
+
+> Create a Storage Volume
+> 1. Locate the "Create new storage" option
+> ![top half of the SRC dashboard showing options like create new workspace, storage, or request a new wallet.](./images/4.png)
+> 2. Click on "Create new".
+> 3. Select the collaborative organisation you want the storage to be part of.
+> 4. Select the desired cloud provider and the size of the volume you want to use.
+> > Unsure of the size required?
+> > If you are unsure about the size of the storage you need, contact your administrator. Consider also consulting [Galaxy from an Administrator's Point of View]({% link topics/admin/tutorials/introduction/slides.html %}#10)
+> {: .tip}
+>
+> ![create your storage dashboard showing a selection of providers like surf and aws and azure, and then a selection of storage sizes below ranging from 5GB to 1.5TB](./images/5.png)
+>
+> 6. Name your storage however you like and press on submit.
+>
+> ![form to provide name and preview what will be created.](./images/6.png)
+>
+> 7. You will be redirected to the main page, where you will be able to track the status of the storage creation.
+>
+> ![bottom half of home page showing the Storage tab, and a resource named storage-galaxy in state creating.](./images/7.png)
+{: .hands_on}
+
+Once the storage is deployed, you can attach it to any of your machines! ๐
+
+Be aware, that in order to attach an external storage to an existing machine, you would need to pause the workspace first! (If you are not sure how to do that please refer to [External storage volumes](https://servicedesk.surf.nl/wiki/display/WIKI/External+storage+volumes))
+
+# Create a new workspace
+
+Depending on userโs rights, you can create a new workspace for your collaboration.
+
+> A Workspace?
+> Workspaces may also be known as *Virtual Machines/VMs* or *Instances* in other cloud providers.
+{: .tip}
+
+> Create a Workspace
+> 1. On the right side under the "Workspaces" click on the "Add" button.
+>
+> ![dashboard of workspaces showing a single running workspace titled galaxy test tim, and on the right a button to add a new workspace.](./images/8.png)
+>
+> 2. Then, you will be redirected to a new page, where you must first choose the collaborative organisation in which you want to create your workspace (in case you are a member of multiple organisations). Once chosen, you a new page will be loaded, where you will have access to all available catalog items.
+>
+> ![Create your workspace screen showing 9 catalog items on the first page with pages more. Visible are Galaxy Pulsar node amongst some docker and ubuntu options.](./images/9.png)
+>
+> 3. Use the magnifying glass on the right side of the panel and search for Galaxy. Two catalog items will appear - the Galaxy instance designed for SURF and a Galaxy Pulsar node that can be connected to the instance. Select "Galaxy at SURF".
+>
+> ![similar to previous image, but the items described above](./images/10.png)
+>
+> 4. SURF Research Cloud allows researchers to host their catalog items on different cloud providers. The Galaxy catalog item is currently supported only on the HPC Cloud and for Ubuntu 22.04. On this page, users can select the number of cores and RAM that they want on their machine. More sizes can be added in the future, and on request. Choose wisely and in case you are not certain contact your administrator!
+>
+> ![workspace creation screen, choose the cloud provider is locked to SURF HPC, flavour is locked to 22.04, and the size options are available from 1GB/8CPU to 60C/750GB Hi-mem](./images/11.png)
+>
+> 5. Select the storage you have created earlier so it is attached to the new workspace.
+>
+> ![create your workspace screen, storage only lists one option named storage-galaxy](./images/12.png)
+>
+> 6. Lastly, before the workspace is deployed, you need to choose for how long the machine will run.
+>
+> > Expiration Date
+> > The standard life-time of the VM is 5 days. If you need it for longer, this option can be changed once the machine is running.
+> > Note, that once the machine is expired and deleted it cannot be restored! Plan accordingly and migrate your data in time to prevent data loss!
+> >
+> > This is an incredibly useful feature as it saves you from forgetting to destroy a VM. Especially for GPU nodes it can help you ensure that they disappear after your computation is complete.
+> {:.tip}
+>
+> 7. In this form, you can also select how to name your workspace, add a description (if you want) and specify the hostname. Then, scroll down and submit the workspace creation.
+> ![almost there, some final details reads the heading. an expiration date is set and galaxy at surf is provided in the name. the hostname is set to galaxyatsurf and the description is blank](./images/13.png)
+{: .hands_on}
+
+With that, your workspace will start being created.
+
+![A galaxy instance named galaxy demo is in status creating.](./images/14.png "Creating the workspace can take some time. You will see on the main page the status of your workspace.")
+
+> Also launching Pulsar?
+> While you are waiting, you can create your Galaxy Pulsar node simultaneously to save time.
+{: .tip}
+
+Once the workspace is running, press on the down arrow to check any information such as the ID, the owner of the workspace, the collaboration it is part of, when it is created and when it expires and the wallet it is using. Additionally, you can pause the workspace when you are not using it. Pressing on the storage option will display the storage that has been attached to the workspace.
+
+![the details panel of the galaxy demo instance is shown including fields like an id, owner, date created and expiration date, url., etc](./images/15.png)
+
+To access the Galaxy instance, press on the "Access" button. This will redirect you to a new webpage. The {SRAM} login will be displayed again, and after authenticating, you will be redirected to the Galaxy at SURF Research Cloud page!
+
+![A galaxy instance homepage is shown, with a brand indicating that it was deployed on surf research cloud featuring a cute surfer emoji.](./images/16.png)
+
+Congratulations! You have started a Galaxy instance inside the SURF Research Cloud! ๐โโ๏ธ๐
+
+If you have administrator rights, you can download tools that can be used by the members of the collaborative organisation. To obtain administrator rights you need to be part of the `src_co_admin` group inside the collaborative organisation. In case you are not sure how to download tools as a Galaxy administrator, please refer to [Installing Tools into Galaxy](https://galaxyproject.org/admin/tools/add-tool-from-toolshed-tutorial/).
+
+## Going Further with Pulsar?
+
+Another important step when starting a local Galaxy instance on {SRC} is connecting it to a Galaxy Pulsar Node, which you can do [in this Pulsar SRC tutorial]({% link topics/admin/tutorials/surf-research-cloud-pulsar/tutorial.md %}). The Pulsar is an useful component that is used to execute your tasks on remote servers/clusters. In this case, the Pulsar is started as a new workspace, allowing users to also run interactive tools.
+
+In SRC, this can also enable you to save costs. By choosing a smaller Galaxy instance, and attaching a large Pulsar node when you need to do computations, you can be sure to optimise your budget expenditures.
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/id1.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/id1.png
new file mode 100644
index 00000000000000..60777182d726ad
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/id1.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/id2.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/id2.png
new file mode 100644
index 00000000000000..03bd98194fdea7
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/id2.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf1.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf1.png
new file mode 100644
index 00000000000000..206a794be61730
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf1.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf10.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf10.png
new file mode 100644
index 00000000000000..af4f20e32d04f2
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf10.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf2.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf2.png
new file mode 100644
index 00000000000000..9671cb1caa3f2f
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf2.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf3.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf3.png
new file mode 100644
index 00000000000000..dbf7d35303f32f
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf3.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf4.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf4.png
new file mode 100644
index 00000000000000..0e3ba135f36d11
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf4.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf5.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf5.png
new file mode 100644
index 00000000000000..2f7609ba376943
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf5.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf6.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf6.png
new file mode 100644
index 00000000000000..0fe5f9e0a40c6b
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf6.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf7.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf7.png
new file mode 100644
index 00000000000000..517354bd5e8bd5
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf7.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf8.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf8.png
new file mode 100644
index 00000000000000..f6e8d4bf169ecf
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf8.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf9.png b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf9.png
new file mode 100644
index 00000000000000..2b29062f2a4f97
Binary files /dev/null and b/topics/admin/tutorials/surf-research-cloud-pulsar/images/surf9.png differ
diff --git a/topics/admin/tutorials/surf-research-cloud-pulsar/tutorial.md b/topics/admin/tutorials/surf-research-cloud-pulsar/tutorial.md
new file mode 100644
index 00000000000000..2459f083a51cd4
--- /dev/null
+++ b/topics/admin/tutorials/surf-research-cloud-pulsar/tutorial.md
@@ -0,0 +1,230 @@
+---
+layout: tutorial_hands_on
+
+title: "Pulsar usage on SURF Research Cloud"
+zenodo_link: ""
+questions:
+ - How do I start a Pulsar instance on SURF Research Cloud?
+ - How do I connect to Pulsar?
+objectives:
+ - Be able to attach a Pulsar node to Galaxy and use interactive tools
+requirements:
+ - type: "none"
+ title: Access to the SURF Research Cloud
+ - type: "none"
+ title: SRAM authentication
+ - type: "none"
+ title: An SSH key connected to your account
+ - type: "none"
+ title: Have a basic understanding of how Galaxy works
+time_estimation: "30m"
+level: Introductory
+contributions:
+ authorship:
+ - hexylena
+ - mirelaminkova
+ funding:
+ - surf
+
+edam_ontology:
+- topic_0605 # Informatics
+- topic_3071 # Data Management
+
+abbreviations:
+ SRC: SURF Research Cloud
+ GDPR: General Data Protection Regulations
+ SRAM: SURF Research Access Management
+ CO: Collaborative Organisation
+
+follow_up_training:
+ - type: "internal"
+ topic_name: admin
+ tutorials:
+ - surf-research-cloud-galaxy
+subtopic: cloud
+---
+
+
+Using Pulsar via the {SRC} allows researchers to start Pulsar instances on-demand to expand their computational resources and even access GPUs to help and analyze their data in a secure environment following the {GDPR}.
+
+The instance provides secure authentication, where users must have a SURF Research account prior to this tutorial, have set the {SRAM} authentication method, and connect an SSH key to their accounts. In case you are not familiar with {SRC} and need help in setting up your accounts, please follow the instructions on the [SURF Knowledge Base](https://servicedesk.surf.nl/wiki/display/WIKI/SURF+Research+Cloud)
+
+Pulsar instances can be started and stopped on demand, depending on personal cases and requirements. Inside the SRC members should have access to all publicly available catalog items. If you are not able to create a catalog item, please [contact SURF servicedesk](mailto:servicedesk@surf.nl).
+
+>
+>
+> 1. TOC
+> {:toc}
+>
+{: .agenda}
+
+# Prerequisites
+
+This tutorial assumes you are member of a {CO} in {SRAM} that has access to {SRC} and a wallet with budget in SRC with enough sources to create Galaxy and Pulsar catalog items. (For more information please refer to the [SURF Knowledge Base](https://servicedesk.surf.nl/wiki/display/WIKI/Budgets%2C+wallets%2C+contracts).
+
+You should have previous experience working with data inside Galaxy.
+
+> SSH Access Required
+> SSH access is required to reconfigure your Galaxy instance. Please make sure you set an SSH key in your SRAM account if you are planning to use Galaxy in SRC for this tutorial.
+{: .tip}
+
+> Log In to SRC
+> 1. Log in to [SURF Research Cloud](https://portal.live.surfresearchcloud.nl/)
+>
+> ![screenshot of SRC login portal with a bright yellow login button](images/surf1.png)
+{: .hands_on}
+
+# Launching Pulsar in SRC
+
+> Launching Pulsar
+> 1. In the **Workspaces Tab** on the bottom half of the screen, you'll find a **Plus Button** at right to add a new workspace
+>
+> ![A small plus button is hovered over which says Add. Below galaxy-test is shown running with a yellow Access button](images/surf3.png)
+>
+> 2. Clicking that will let you choose any of the *Catalog Items* from SRC. They've got a wide selection but we're only interested in the two Pulsar Catalog Items
+>
+> ![the two pulsar components in SRC: Galaxy Pulsar GPU Node (CUDA) and Galaxy Pulsar Node are shown. The second is expanded showing an author, Helena Rasche, and a description: let's you run galaxy jobs on another node](images/surf4.png)
+>
+> > GPUs are Expensive
+> > The GPU nodes are *expensive*. In fact it
+> > was the motivating reason for building this catalog item: to enable you to
+> > launch a node, run some computations, and shut it down, saving you money.
+> {: .warning}
+>
+> 3. Creating a "workspace" from a catalog item (a template) is easy, most of the options are fixed for you, you just need to choose the size of the item. Pick an appropriate size for whatever computations you need to do.
+>
+> ![workspace creation screen, choose the cloud provider is locked to SURF HPC, flavour is locked to 22.04, and the size options are available from 1GB/8CPU to 60C/750GB Hi-mem](images/surf5.png)
+>
+> 6. Pick a name, it can be anything, it does not matter. Check the expiration date to ensure it is just enough time for your computation and no more.
+>
+> > Expiration Date
+> > The standard life-time of the VM is 5 days. If you need it for longer, this option can be changed once the machine is running.
+> > Note, that once the machine is expired and deleted it cannot be restored! Plan accordingly and migrate your data in time to prevent data loss!
+> >
+> > This is an incredibly useful feature as it saves you from forgetting to destroy a VM. Especially for GPU nodes it can help you ensure that they disappear after your computation is complete.
+> {:.tip}
+>
+> ![almost there! some final details reads this page, asking for name and description. both have been filled out with 'pulsar'. a yellow submit button waits at the bottom](images/surf6.png)
+>
+> 7. Click submit when you are happy with the configuration.
+>
+{: .hands_on}
+
+Once done, the workspace will be created for you. You'll need to wait ~5 minutes usually. Go for a beverage โ๏ธ
+
+![workspace list showing a workspace named pulsar being created.](images/surf7.png)
+
+## Using Pulsar on SRC
+
+> Access the Information Page
+>
+> 1. Once the workspace is up, you'll see an **Access** link:
+>
+> ![A small plus button is hovered over which says Add. Below galaxy-test is shown running with a yellow Access button](images/surf3.png)
+>
+> 2. Click that will show you a Pulsar information page. This page is running on your pulsar node itself, and is restricted to ensure only authorised members can access the contents. It includes some configuration you will need to copy to your Galaxy node in order to make use of the Pulsar node.
+>
+> ![pulsar configuration information page showing an about with admins and metadata like workspace fqdn. Configuration for galaxy is shown below including XML changes](images/surf8.png)
+{: .hands_on}
+
+This information page should have more than enough information to connect this Pulsar instance to your Galaxy server. You will need to reference information from this page in the following steps:
+
+> Configuring Galaxy to use SRC Pulsar
+> 1. Collect the requirements for accessing the Galaxy machine. You will need:
+>
+> - your username from the first step
+> - your SSH key that is associated with your SRAM account
+>
+> 2. SSH into your *Galaxy* machine (not pulsar!).
+>
+> ```
+> ssh -i path/to/your/sram-ssh-key username@galaxy.src-winter-school.src.surf-hosted.nl
+> ```
+>
+> 3. You will need to `sudo su` to do anything useful. Do that now.
+> 4. `cd /srv/galaxy/` to move into the directory Galaxy configuration is stored.
+> 5. The configuration is discussed fully in the Pulsar information, but it will be briefly covered here as well. Generally there are a few steps that must be followed:
+>
+> - A runner must be registered
+> - A destination/environment must be added with the pulsar details
+> - Some tools should be redirected to this Pulsar
+>
+> Here is an example of what those changes *might* look like in your Galaxy node. In this example our pulsar node was called `p20` but that will be different for you.
+>
+> {% snippet topics/admin/faqs/diffs.md %}
+>
+>
+> ```diff
+> runners:
+> local:
+> load: galaxy.jobs.runners.local:LocalJobRunner
+> workers: 4
+> condor:
+> load: galaxy.jobs.runners.condor:CondorJobRunner
+> + pulsar:
+> + load: galaxy.jobs.runners.pulsar:PulsarRESTJobRunner
+>
+> execution:
+> default: docker_dispatch
+> environments:
+> local_destination:
+> runner: local
+> # ... probably some more environments here.
+>
+> + remote_p20:
+> + runner: pulsar
+> + url: https://p20.src-sensitive-i.src.surf-hosted.nl
+> + private_token: ySgfM1rnGIsiVN8Xlfk
+> + dependency_resolution: remote
+> + manager: _default_
+> + # Uncomment the following to enable interactive tools:
+> + docker_enabled: true
+> + docker_set_user: null
+> + docker_memory: "8G"
+> + singularity_enabled: false
+> + tmp_dir: true
+> + outputs_to_working_directory: false
+> + container_resolvers:
+> + - type: explicit
+> + require_container: True
+> + container_monitor_command: /mnt/pulsar/venv/bin/galaxy-container-monitor
+> + container_monitor_result: callback
+> + container_monitor_get_ip_method: command:echo p20.src-sensitive-i.src.surf-hosted.nl
+>
+>
+> tools:
+> - class: local # these special tools that aren't parameterized for remote execution - expression tools, upload, etc
+> environment: local_env
+> - id: Cut1
+> environment: condor_1x1
+> +- id: interactive_tool_jupyter_notebook
+> + environment: remote_p20
+> +- id: interactive_tool_rstudio
+> + environment: remote_p20
+> ```
+{: .hands_on}
+
+With the above, the minimal configuration is done, the Galaxy server will be aware of the Pulsar node, and two tools will be sent there: the Jupyter and RStudio Interactive Tools.
+
+While you will simply copy-paste the runner and environment, you will need to identify yourself which tools should go to this Pulsar node.
+You can find the tool ID from the dropdown at the top right, just to the left of "Execute" at the top:
+
+![url bar and tool interface for the Cut1 tool](./images/id2.png)
+
+> An Easy Configuration Option: Send Every Job to Pulsar
+>
+> If you are running jobs for a limited period of time, you might consider making this pulsar node the default destination. Remember to use the `remote_...` name of your pulsar node, based on what you copied. Not `remote_p20`.
+>
+> ```diff
+> execution:
+> - default: docker_dispatch
+> + default: remote_p20
+> environments:
+> local_destination:
+> runner: local
+> ```
+{: .tip}
+
+With that, you're done, and for the length of time your node is running, your chosen tools (or everything) will be executed on that Pulsar node with more memory and CPU than the Galaxy host, and maybe a GPU as well!
+
+Congratulations on launching Pulsar in SRC! ๐