{"id":26234018,"url":"https://github.com/teragrep/pth_05","last_synced_at":"2026-04-01T19:49:51.023Z","repository":{"id":227671488,"uuid":"771995971","full_name":"teragrep/pth_05","owner":"teragrep","description":"Authorization scheme for Teragrep archive","archived":false,"fork":false,"pushed_at":"2026-03-20T11:48:18.000Z","size":68,"stargazers_count":0,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-21T04:13:24.330Z","etag":null,"topics":["authorization","s3","s3-api","s3-gateway","teragrep"],"latest_commit_sha":null,"homepage":"https://teragrep.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teragrep.png","metadata":{"files":{"readme":"README.adoc","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":"2024-03-14T10:37:46.000Z","updated_at":"2026-03-20T11:45:02.000Z","dependencies_parsed_at":"2025-07-21T19:50:47.924Z","dependency_job_id":null,"html_url":"https://github.com/teragrep/pth_05","commit_stats":null,"previous_names":["teragrep/pth_05"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/teragrep/pth_05","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fpth_05","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fpth_05/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fpth_05/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fpth_05/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teragrep","download_url":"https://codeload.github.com/teragrep/pth_05/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fpth_05/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["authorization","s3","s3-api","s3-gateway","teragrep"],"created_at":"2025-03-13T01:18:31.903Z","updated_at":"2026-04-01T19:49:50.988Z","avatar_url":"https://github.com/teragrep.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= pth_05\n\n== Functionality\n\npth_05 receives requests for OBJ-01 access via S3 protocol.\nRequests are authenticated using credentials.json gathered by tool provided in the HDP-01 package.\nRequested object path is then processed to determine host and tag parts of the object.\nHost and tag is used to resolve index by searching the CFE-12 lookup files.\nRequest proceeds to authorization stage if index is found from the lookups.\nRequests are authorized using authorize.json (generated by pth_05 provided generate_index_mapping.py tool) which contains index to unix group mappings.\nIntersection is calculated by using the two sets of groups, one which are member of the index and the other which the identity is member of.\nRequest is accepted if any groups intersect within the two sets.\n\n== Usage\npth_05 is a micro-service which can be deployed via RPM or a container. Only RPM\ninstructions are provided currently. However the Dockerfile shows what is to be\nconfigured in order to get the container up and running as well.\n\n=== Installation\npth_05 can be installed via the rpm package as follows:\n[source,bash]\n----\nyum install pth_05.rpm\n----\n\n=== Configuration\n\n==== Data files\npth_05 requires following data available:\n\n* lookup-files\n* authorize.json\n* credentials.json\n\nLookup-files are sourced from CFE-12. Authorize.json-file can be generated with\nthe provided generate_index_mapping.py which ingests CFE-04 related\nauthorize.conf format. Credentials.json-file is produced by HDP-01 version 1.2.0\nor greater.\n\nAll of the files can be hand crafted and examples are provided within the RPM.\n\n==== Execution\n\nProperties file configures the execution of pth_05 and is located at path:\n/opt/teragrep/pth_05/etc/pth_05.properties\n\n[source,properties]\n----\npth_05.endpoint=http://127.0.0.1:8080\npth_05.credentials.file=/opt/teragrep/pth_05/etc/credentials.json\npth_05.authorize.file=/opt/teragrep/pth_05/etc/authorize.json\npth_05.lookup.path=/opt/teragrep/pth_05/etc/lookup\njclouds.provider=s3\njclouds.identity=xxxxxxxxxxxxxxxxxxxx\njclouds.credential=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\njclouds.endpoint=https://s3.domain.tld\n----\nInformation about the variables\n\npth_05 specific:\n\n* pth_05.endpoint configures the address which the pth_05 listens at.\n* pth_05.credentials.file is a path to the credentials.json-file.\n* pth_05.authorize.file is a path to the authorize.json-file.\n* pth_05.lookup.path is a path to the lookup directory.\n\nJClouds common:\n\n* jclouds.provider configures which type of a service is proxied to. Use \"s3\".\n* jclouds.identity configures the identity to the proxied target.\n* jclouds.credential configures the credential to the proxied target.\n* jclouds.endpoint configures the location to the proxied target.\n\n==== Memory settings\n\nRun `systemctl edit --full pth_05` to edit the memory settings. Currently the default values are:\n\n`-Xms512m`\n\n`-Xmx1024m`\n\n==== JMX\n\nRun `systemctl edit --full pth_05` and add the following to enable JMX:\n\n[systemctl edit --full pth_05]\n----\n    -Dcom.sun.management.jmxremote \\\n    -Dcom.sun.management.jmxremote.port=9996 \\\n    -Dcom.sun.management.jmxremote.authenticate=false \\\n    -Dcom.sun.management.jmxremote.ssl=false \\\n----\n\n==== Logging\n\npth_05 uses Logback to configure logging. Log configuration is at path:\n/opt/teragrep/pth_05/etc/logback.xml\n\n=== Running\npth_05 is shipped with systemd service descriptor file and therefore is\navailable as a systemd-unit.\n[source,bash]\n----\nsystemctl enable pth_05.service\nsystemctl start pth_05.service\n----\n\n=== Adding extra jars to classpath\nSimply drop extra jars that might be required by logback configuration to `/opt/teragrep/pth_05/share/`\n\n== Build Artifacts\nJAR\nRPM\nContainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Fpth_05","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteragrep%2Fpth_05","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Fpth_05/lists"}