<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.c3g-app.sd4h.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vrocheleau</id>
	<title>SD4H wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.c3g-app.sd4h.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vrocheleau"/>
	<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/wiki/Special:Contributions/Vrocheleau"/>
	<updated>2026-05-16T22:58:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=161</id>
		<title>Object Store Quick Start</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=161"/>
		<updated>2025-04-24T20:55:45Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This section covers the required steps to get started with SD4H&#039;s object store.&lt;br /&gt;
&lt;br /&gt;
Some operations can be made in the OpenStack GUI, but features are limited.&lt;br /&gt;
CLI tools offer more control and will allow programmatic access to object store resources. &lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* Install and configure your [[OpenStack_Client|OpenStack CLI]]&lt;br /&gt;
&lt;br /&gt;
== API endpoints ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Object Store API Endpoints&lt;br /&gt;
!Object Store API&lt;br /&gt;
!Endpoint&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Swift&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://objets.juno.calculquebec.ca/swift/v1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;S3&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://objets.juno.calculquebec.ca&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Project Specific Endpoint Patterns (for public READ buckets)&lt;br /&gt;
!Object Store API&lt;br /&gt;
!Project endpoint pattern&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Swift&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;endpoint&amp;gt;/&#039;&#039;&#039;AUTH_&amp;lt;PROJECT ID&amp;gt;/&amp;lt;CONTAINER&amp;gt;/&amp;lt;OBJECT&amp;gt;&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;S3&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;endpoint&amp;gt;/&#039;&#039;&#039;&amp;lt;PROJECT ID&amp;gt;:&amp;lt;CONTAINER&amp;gt;/&amp;lt;OBJECT&amp;gt;&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting credentials for the object store ==&lt;br /&gt;
&lt;br /&gt;
=== The Swift Api ===&lt;br /&gt;
You can get access to the [https://docs.openstack.org/swift/latest/api/object_api_v1_overview.html Object Store swift Api]  directly with the same RC file credential that you created for the Openstack client in the prerequisites step, and the official [https://pypi.org/project/python-swiftclient/ Openstack Swift client]. &lt;br /&gt;
&lt;br /&gt;
Note that while the S3 Api is more feature rich and has better support, some operations can only be done with the Swift Api which is the native OpenStack Object Store Api. For example, to get the Quota of you account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight ,lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $ source $HOME/id/myproject-openrc.sh # created for the OpenStack client&lt;br /&gt;
 $ swift stat --lh&lt;br /&gt;
                                    Account: AUTH_d5f8b8e8e3e2442f81573b2f0951013b&lt;br /&gt;
                                 Containers: 11&lt;br /&gt;
                                    Objects: 2.0M&lt;br /&gt;
                                      Bytes: 1.1P&lt;br /&gt;
                                Quota Bytes: 1.5P&lt;br /&gt;
   Containers in policy &amp;quot;default-placement&amp;quot;: 11&lt;br /&gt;
      Objects in policy &amp;quot;default-placement&amp;quot;: 2.0M&lt;br /&gt;
        Bytes in policy &amp;quot;default-placement&amp;quot;: 1.1P&lt;br /&gt;
Objects in policy &amp;quot;default-placement-bytes&amp;quot;: 0&lt;br /&gt;
  Bytes in policy &amp;quot;default-placement-bytes&amp;quot;: 0&lt;br /&gt;
                      Meta Quota-Containers: 1000&lt;br /&gt;
                                X-Timestamp: 1745522890.88092&lt;br /&gt;
                X-Account-Bytes-Used-Actual: 1287786000326656&lt;br /&gt;
                                 X-Trans-Id: tx0000058e846920f427dfe-00680a90ca-83214639-default&lt;br /&gt;
                     X-Openstack-Request-Id: tx0000058e846920f427dfe-00680a90ca-83214639-default&lt;br /&gt;
                              Accept-Ranges: bytes&lt;br /&gt;
                               Content-Type: text/plain; charset=utf-8&lt;br /&gt;
                                     Server: Ceph Object Gateway (squid)&lt;br /&gt;
                                 Connection: close&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You see here an account with 11 Containers (Swift&#039;s Containers are S3 Buckets) 2 Million objects, and 1.1 PB used out of its 1.5 PB quota.&lt;br /&gt;
&lt;br /&gt;
=== The S3 Api ===&lt;br /&gt;
While the Switft API can be accessed with the OpenStack RC file credentials, the S3 object store maintains its own set of credentials.&lt;br /&gt;
&lt;br /&gt;
To create S3 credentials for a project/user:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
openstack ec2 credentials create&lt;br /&gt;
&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
| Field      | Value                                                                                            |&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
| access     | &amp;lt;S3 ACCESS KEY&amp;gt;                                                                                  |&lt;br /&gt;
| links      | {&#039;self&#039;: &#039;https://juno.calculquebec.ca:5000/v3/users/&amp;lt;USER ID&amp;gt;/credentials/OS-EC2/&amp;lt;ACCESS KEY&amp;gt;&#039;} |&lt;br /&gt;
| project_id | &amp;lt;OPENSTACK PROJECT ID&amp;gt;                                                                           |&lt;br /&gt;
| secret     | &amp;lt;S3 SECRET KEY&amp;gt;                                                                                  |&lt;br /&gt;
| trust_id   | None                                                                                             |&lt;br /&gt;
| user_id    | &amp;lt;USER ID&amp;gt;                                                                                        |&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Usage details coming soon!&lt;br /&gt;
&lt;br /&gt;
==What an Object Store is and isn&#039;t==&lt;br /&gt;
(from https://github.com/s3fs-fuse/s3fs-fuse?tab=readme-ov-file#limitations)&lt;br /&gt;
&lt;br /&gt;
Generally, an Object Store cannot offer the same performance or semantics as a local file system.  More specifically:&lt;br /&gt;
&lt;br /&gt;
*random writes or appends to files require rewriting the entire object, optimized with multi-part upload copy&lt;br /&gt;
*metadata operations such as listing directories have poor performance due to network latency&lt;br /&gt;
*non-AWS providers may have eventual consistency so reads can temporarily yield stale data (AWS offers read-after-write consistency since Dec 2020)&lt;br /&gt;
*no atomic renames of files or directories&lt;br /&gt;
*no coordination between multiple clients mounting the same bucket&lt;br /&gt;
*no hard links&lt;br /&gt;
*inotify detects only local modifications, not external ones by other clients or tools&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=160</id>
		<title>Object Store Quick Start</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=160"/>
		<updated>2025-04-24T20:54:11Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: API endpoints and S3 credentials&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This section covers the required steps to get started with SD4H&#039;s object store.&lt;br /&gt;
&lt;br /&gt;
Some operations can be made in the OpenStack GUI, but features are limited.&lt;br /&gt;
CLI tools offer more control and will allow programmatic access to object store resources. &lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* Install and configure your [[OpenStack_Client|OpenStack CLI]]&lt;br /&gt;
&lt;br /&gt;
== API endpoints ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Object Store API Endpoints&lt;br /&gt;
!Object Store API&lt;br /&gt;
!Endpoint&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Swift&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://objets.juno.calculquebec.ca/swift/v1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;S3&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://objets.juno.calculquebec.ca&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Project Specific Endpoint Patterns&lt;br /&gt;
!Object Store API&lt;br /&gt;
!Project endpoint pattern&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Swift&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;endpoint&amp;gt;/&#039;&#039;&#039;AUTH_&amp;lt;PROJECT ID&amp;gt;/&amp;lt;CONTAINER&amp;gt;/&amp;lt;OBJECT&amp;gt;&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;S3&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;endpoint&amp;gt;/&#039;&#039;&#039;&amp;lt;PROJECT ID&amp;gt;:&amp;lt;CONTAINER&amp;gt;/&amp;lt;OBJECT&amp;gt;&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting credentials for the object store ==&lt;br /&gt;
&lt;br /&gt;
=== The Swift Api ===&lt;br /&gt;
You can get access to the [https://docs.openstack.org/swift/latest/api/object_api_v1_overview.html Object Store swift Api]  directly with the same RC file credential that you created for the Openstack client in the prerequisites step, and the official [https://pypi.org/project/python-swiftclient/ Openstack Swift client]. &lt;br /&gt;
&lt;br /&gt;
Note that while the S3 Api is more feature rich and has better support, some operations can only be done with the Swift Api which is the native OpenStack Object Store Api. For example, to get the Quota of you account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight ,lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $ source $HOME/id/myproject-openrc.sh # created for the OpenStack client&lt;br /&gt;
 $ swift stat --lh&lt;br /&gt;
                                    Account: AUTH_d5f8b8e8e3e2442f81573b2f0951013b&lt;br /&gt;
                                 Containers: 11&lt;br /&gt;
                                    Objects: 2.0M&lt;br /&gt;
                                      Bytes: 1.1P&lt;br /&gt;
                                Quota Bytes: 1.5P&lt;br /&gt;
   Containers in policy &amp;quot;default-placement&amp;quot;: 11&lt;br /&gt;
      Objects in policy &amp;quot;default-placement&amp;quot;: 2.0M&lt;br /&gt;
        Bytes in policy &amp;quot;default-placement&amp;quot;: 1.1P&lt;br /&gt;
Objects in policy &amp;quot;default-placement-bytes&amp;quot;: 0&lt;br /&gt;
  Bytes in policy &amp;quot;default-placement-bytes&amp;quot;: 0&lt;br /&gt;
                      Meta Quota-Containers: 1000&lt;br /&gt;
                                X-Timestamp: 1745522890.88092&lt;br /&gt;
                X-Account-Bytes-Used-Actual: 1287786000326656&lt;br /&gt;
                                 X-Trans-Id: tx0000058e846920f427dfe-00680a90ca-83214639-default&lt;br /&gt;
                     X-Openstack-Request-Id: tx0000058e846920f427dfe-00680a90ca-83214639-default&lt;br /&gt;
                              Accept-Ranges: bytes&lt;br /&gt;
                               Content-Type: text/plain; charset=utf-8&lt;br /&gt;
                                     Server: Ceph Object Gateway (squid)&lt;br /&gt;
                                 Connection: close&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You see here an account with 11 Containers (Swift&#039;s Containers are S3 Buckets) 2 Million objects, and 1.1 PB used out of its 1.5 PB quota.&lt;br /&gt;
&lt;br /&gt;
=== The S3 Api ===&lt;br /&gt;
While the Switft API can be accessed with the OpenStack RC file credentials, the S3 object store maintains its own set of credentials.&lt;br /&gt;
&lt;br /&gt;
To create S3 credentials for a project/user:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
openstack ec2 credentials create&lt;br /&gt;
&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
| Field      | Value                                                                                            |&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
| access     | &amp;lt;S3 ACCESS KEY&amp;gt;                                                                                  |&lt;br /&gt;
| links      | {&#039;self&#039;: &#039;https://juno.calculquebec.ca:5000/v3/users/&amp;lt;USER ID&amp;gt;/credentials/OS-EC2/&amp;lt;ACCESS KEY&amp;gt;&#039;} |&lt;br /&gt;
| project_id | &amp;lt;OPENSTACK PROJECT ID&amp;gt;                                                                           |&lt;br /&gt;
| secret     | &amp;lt;S3 SECRET KEY&amp;gt;                                                                                  |&lt;br /&gt;
| trust_id   | None                                                                                             |&lt;br /&gt;
| user_id    | &amp;lt;USER ID&amp;gt;                                                                                        |&lt;br /&gt;
+------------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Usage details coming soon!&lt;br /&gt;
&lt;br /&gt;
==What an Object Store is and isn&#039;t==&lt;br /&gt;
(from https://github.com/s3fs-fuse/s3fs-fuse?tab=readme-ov-file#limitations)&lt;br /&gt;
&lt;br /&gt;
Generally, an Object Store cannot offer the same performance or semantics as a local file system.  More specifically:&lt;br /&gt;
&lt;br /&gt;
*random writes or appends to files require rewriting the entire object, optimized with multi-part upload copy&lt;br /&gt;
*metadata operations such as listing directories have poor performance due to network latency&lt;br /&gt;
*non-AWS providers may have eventual consistency so reads can temporarily yield stale data (AWS offers read-after-write consistency since Dec 2020)&lt;br /&gt;
*no atomic renames of files or directories&lt;br /&gt;
*no coordination between multiple clients mounting the same bucket&lt;br /&gt;
*no hard links&lt;br /&gt;
*inotify detects only local modifications, not external ones by other clients or tools&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=Technical_Documentation&amp;diff=156</id>
		<title>Technical Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=Technical_Documentation&amp;diff=156"/>
		<updated>2025-04-24T18:03:54Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: /* How to */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to the technical documentation wiki of the Secure Data for Health (SD4H) project.&amp;lt;/strong&amp;gt;&lt;br /&gt;
This is the primary source for users with questions on equipment and services.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Computing&lt;br /&gt;
|-&lt;br /&gt;
! Hardware   !! Description !!  Availability&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Compute VM   ||  Up to 64 vcores and 480 GB of RAM||   5184 vcores&lt;br /&gt;
|-&lt;br /&gt;
    || Up to 64 vcores and 240 GB of RAM || 6528 vcores  &lt;br /&gt;
|-&lt;br /&gt;
| High Availability VM ||  Up to 64 cores and 480 GB &amp;lt;br&amp;gt; Connected to UPS and Diesel Generators || 3072 vcores&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | GPU   ||  Up to 2 A100-40 per VM || 20 GPU&lt;br /&gt;
|-&lt;br /&gt;
    || Up to 2-A100-80 per VM || 8 GPU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Storage&lt;br /&gt;
|-&lt;br /&gt;
! Hardware   !! Description !!  Availability&lt;br /&gt;
|-&lt;br /&gt;
| Block Storage || All SSD   || 740 TB&lt;br /&gt;
|-&lt;br /&gt;
| Object Storage ||  S3 and Swift API || 59PB&lt;br /&gt;
|-&lt;br /&gt;
| Ceph FS || High performance multi read/write &amp;lt;br&amp;gt; All SSD || 1.2 PB &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How to==&lt;br /&gt;
* [[Store and Share data]] on the platform&lt;br /&gt;
* [[Networking]] between two projects.&lt;br /&gt;
* Install the [[OpenStack Client]]&lt;br /&gt;
* [[SSH to a server via Bastion]]&lt;br /&gt;
&lt;br /&gt;
==Services==&lt;br /&gt;
&lt;br /&gt;
* [[Globus]] Data transfer and Sharing&lt;br /&gt;
* [[Elastic HPC]]: High perforamce Computing in the Cloud&lt;br /&gt;
&lt;br /&gt;
==Object Store==&lt;br /&gt;
&lt;br /&gt;
* [[Object Store Quick Start]]&lt;br /&gt;
* [[Backing up Object Store]] buckets to tape&lt;br /&gt;
* Using [[rclone]] on our system&lt;br /&gt;
&lt;br /&gt;
==Openstack==&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=SSH_to_a_server_via_Bastion&amp;diff=155</id>
		<title>SSH to a server via Bastion</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=SSH_to_a_server_via_Bastion&amp;diff=155"/>
		<updated>2025-04-24T18:01:18Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bastion in a nutshell ==&lt;br /&gt;
[https://ovh.github.io/the-bastion/index.html The Bastion] is a single point of entry for SSH connections.&lt;br /&gt;
&lt;br /&gt;
Some servers in SD4H may not be publicly accessible from the public internet for security reasons.&lt;br /&gt;
&lt;br /&gt;
Bastion is used as an SSH proxy to connect users to servers.&lt;br /&gt;
&lt;br /&gt;
== User guide ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To use Bastion, an administrator must create an account for you.&lt;br /&gt;
&lt;br /&gt;
Please include the public SSH key you will use to connect to Bastion in your request for an account.&lt;br /&gt;
&lt;br /&gt;
After creating your account, the administrator will get back to you with your Bastion user name.&lt;br /&gt;
&lt;br /&gt;
=== Creating the Bastion alias ===&lt;br /&gt;
For your convenience, it is recommended to create an alias for the Bastion connection:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias bssh=&#039;ssh -t &amp;lt;YOUR BASTION USERNAME&amp;gt;@bastion.sd4h.ca --&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;After adding the alias, you can connect to Bastion!&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Interactive mode (signs out when idle)&lt;br /&gt;
bssh    # SSH into Bastion&lt;br /&gt;
help    # runs the Bastion &#039;help&#039; command&lt;br /&gt;
&lt;br /&gt;
# Non-interactive mode equivalent with &#039;--osh&#039;&lt;br /&gt;
bssh --osh help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Permissions ===&lt;br /&gt;
Bastion uses the principle of least privileges, meaning that users must be granted explicit access to servers.&lt;br /&gt;
&lt;br /&gt;
As such, a fresh Bastion user will not have access to anything at first, accesses must be granted by an administrator.&lt;br /&gt;
&lt;br /&gt;
=== Listing your server accesses ===&lt;br /&gt;
The &amp;lt;code&amp;gt;selfListAccesses&amp;lt;/code&amp;gt; command lists the servers you have access to in Bastion.&lt;br /&gt;
&lt;br /&gt;
To view your accesses, simply run the command:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bssh --osh selfListAccesses&lt;br /&gt;
&lt;br /&gt;
# Dear &amp;lt;USERNAME&amp;gt;, you have access to the following servers:&lt;br /&gt;
#             IP PORT             USER              ACCESS-BY   ADDED-BY   ADDED-AT&lt;br /&gt;
# -------------- ----   -------------- ---------------------- ---------- ----------&lt;br /&gt;
#  &amp;lt;SERVER 1 IP&amp;gt;   22  &amp;lt;SERVER 1 USER&amp;gt;  &amp;lt;GROUP&amp;gt;(group-member) vrocheleau 2024-09-11&lt;br /&gt;
#  &amp;lt;SERVER 2 IP&amp;gt;   22  &amp;lt;SERVER 2 USER&amp;gt;               personal vrocheleau 2024-09-11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting to a server ===&lt;br /&gt;
You can connect to any server that is listed by the &amp;lt;code&amp;gt;selfListAccesses&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Taking the example output from the previous section:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# connect to &amp;quot;SERVER 1&amp;quot;&lt;br /&gt;
bssh &amp;lt;SERVER 1 USER&amp;gt;@&amp;lt;SERVER 1 IP&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# connect to &amp;quot;SERVER 2&amp;quot;&lt;br /&gt;
bssh &amp;lt;SERVER 2 USER&amp;gt;@&amp;lt;SERVER 2 IP&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access types ===&lt;br /&gt;
Coming soon!&lt;br /&gt;
&lt;br /&gt;
==== Group ====&lt;br /&gt;
&lt;br /&gt;
==== Personal ====&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=SSH_to_a_server_via_Bastion&amp;diff=151</id>
		<title>SSH to a server via Bastion</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=SSH_to_a_server_via_Bastion&amp;diff=151"/>
		<updated>2025-04-24T17:21:04Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: Created page with &amp;quot;== Bastion in a nutshell == [https://ovh.github.io/the-bastion/index.html The Bastion] is a single point of entry for SSH connections.  Some servers in SD4H may not be publicly accessible from the public internet for security reasons.  Bastion is used as an SSH proxy to connect users to servers.  == Creating the Bastion alias ==  For your convenience, it is recommended to create an alias for the Bastion connection:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bastion in a nutshell ==&lt;br /&gt;
[https://ovh.github.io/the-bastion/index.html The Bastion] is a single point of entry for SSH connections.&lt;br /&gt;
&lt;br /&gt;
Some servers in SD4H may not be publicly accessible from the public internet for security reasons.&lt;br /&gt;
&lt;br /&gt;
Bastion is used as an SSH proxy to connect users to servers.&lt;br /&gt;
&lt;br /&gt;
== Creating the Bastion alias ==&lt;br /&gt;
&lt;br /&gt;
For your convenience, it is recommended to create an alias for the Bastion connection:&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
	<entry>
		<id>https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=147</id>
		<title>Object Store Quick Start</title>
		<link rel="alternate" type="text/html" href="https://wiki.c3g-app.sd4h.ca/index.php?title=Object_Store_Quick_Start&amp;diff=147"/>
		<updated>2025-04-23T21:22:23Z</updated>

		<summary type="html">&lt;p&gt;Vrocheleau: Created page with &amp;quot; This section covers the required steps to get started with SD4H&amp;#039;s object store.  Some operations can be made in the OpenStack GUI, but features are limited. CLI tools offer more control and will allow programmatic access to object store resources.   == Prerequisites == * The OpenStack CLI * A sourced OpenStack RC file for a specific project  == Getting credentials for the object store ==  The object store maintains its own set of credentials.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This section covers the required steps to get started with SD4H&#039;s object store.&lt;br /&gt;
&lt;br /&gt;
Some operations can be made in the OpenStack GUI, but features are limited.&lt;br /&gt;
CLI tools offer more control and will allow programmatic access to object store resources. &lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* The OpenStack CLI&lt;br /&gt;
* A sourced OpenStack RC file for a specific project&lt;br /&gt;
&lt;br /&gt;
== Getting credentials for the object store ==&lt;br /&gt;
&lt;br /&gt;
The object store maintains its own set of credentials.&lt;/div&gt;</summary>
		<author><name>Vrocheleau</name></author>
	</entry>
</feed>