{"id":16671379,"url":"https://github.com/jacoby/globus","last_synced_at":"2025-10-03T20:49:10.234Z","repository":{"id":142538941,"uuid":"53162435","full_name":"jacoby/Globus","owner":"jacoby","description":"Perl module that uses the Globus SSH API","archived":false,"fork":false,"pushed_at":"2016-03-09T14:53:01.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-06T02:16:40.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacoby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-03-04T20:08:18.000Z","updated_at":"2016-03-04T20:11:59.000Z","dependencies_parsed_at":"2023-04-25T18:30:53.337Z","dependency_job_id":null,"html_url":"https://github.com/jacoby/Globus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jacoby/Globus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacoby%2FGlobus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacoby%2FGlobus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacoby%2FGlobus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacoby%2FGlobus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacoby","download_url":"https://codeload.github.com/jacoby/Globus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacoby%2FGlobus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278227255,"owners_count":25951883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T11:44:16.388Z","updated_at":"2025-10-03T20:49:10.228Z","avatar_url":"https://github.com/jacoby.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Globus\n\nPerl module that uses the Globus SSH API\n\n## What is Globus?\n\n[Globus](https://www.globus.org/) is a project created to allow researchers to easily share data \nacross organizations and even continents.\n\nRoughly speaking, you create an **endpoint**, which could be an organization's large file server \nor simply your laptop, as long as it holds your data. You then grant **permission** to another \nuser and indicate what directory in that endpoint you want to share. \n\nThat user is notified that this permission has been granted, then starts a **transfer** of the \ncontents of that directory to another endpoint. \n\n## What is Globus.pm?\n\nGlobus exports two APIs: a REST API and one based on SSH. I had need to automate the creation \nof endpoints and the granting of permissions, so I wrote a Perl module to allow me to do so, \nand because getting going was easier with the [SSH API](https://docs.globus.org/cli/), \nI wrote it using Net::OpenSSH. \n\n## Dependencies\n\n+ [Perl](https://www.perl.org/)\n+ [Net::OpenSSH](https://metacpan.org/pod/Net::OpenSSH)\n\n## To-Do\n\nSince this tool was written to \"scratch my itch\", the module only includes functions I needed for\nmy project. I intend to add functionality.\n\nI have only tested this code on Linux machines. I expect this to be just as cross-platform as Perl\nand Net::OpenSSH, but cannot prove it yet.\n\nI also intend, eventually, to put this on cpan as *Net::Globus*.\n\n## Installation\n\nAs of this moment, installation is copying the Globus.pm file into your personal lib directory and \nsetting use lib and use Globus.\n\n## Configuration\n\nYour account information is managed by GlobusID.org, and this includes setting your SSH keys. \nWithin your application, you will need to set your Globus username and the path to your SSH keys.\n\nFor example:\n```perl\n    use lib '/home/globus_user/lib' ;\n    use Globus ;\n    my $g        = Globus-\u003enew() ;\n    my $username = 'globus_user' ;\n    $g-\u003eset_key_path('/home/globus_user/.ssh/id_globus') ;\n```\n\n## Documentation\n\nMore info in perldoc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacoby%2Fglobus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacoby%2Fglobus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacoby%2Fglobus/lists"}