{"id":13535291,"url":"https://github.com/galaxyproject/gxadmin","last_synced_at":"2025-04-23T13:55:32.967Z","repository":{"id":37100078,"uuid":"151743800","full_name":"galaxyproject/gxadmin","owner":"galaxyproject","description":"Handy command line utility for Galaxy administrators :rocket:","archived":false,"fork":false,"pushed_at":"2025-03-10T15:44:49.000Z","size":1745,"stargazers_count":23,"open_issues_count":17,"forks_count":29,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-12T05:13:58.881Z","etag":null,"topics":["automation","galaxy","galaxy-project","hacktoberfest","postgres-databases","sql","sysadmin"],"latest_commit_sha":null,"homepage":"https://galaxyproject.github.io/gxadmin/#/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/galaxyproject.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-05T15:45:51.000Z","updated_at":"2025-03-10T15:44:54.000Z","dependencies_parsed_at":"2023-02-17T20:31:27.327Z","dependency_job_id":"c70f25d7-3271-4d59-adb9-747a30c4caf3","html_url":"https://github.com/galaxyproject/gxadmin","commit_stats":null,"previous_names":["usegalaxy-eu/gxadmin"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fgxadmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fgxadmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fgxadmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galaxyproject%2Fgxadmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/galaxyproject","download_url":"https://codeload.github.com/galaxyproject/gxadmin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250444678,"owners_count":21431696,"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","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":["automation","galaxy","galaxy-project","hacktoberfest","postgres-databases","sql","sysadmin"],"created_at":"2024-08-01T08:00:52.851Z","updated_at":"2025-04-23T13:55:32.938Z","avatar_url":"https://github.com/galaxyproject.png","language":"Shell","readme":"# gxadmin: Make Galaxy administration magical 🌈\n\nA command line tool for [Galaxy](https://github.com/galaxyproject/galaxy)\nadministrators to run common queries against our Postgres databases. It additionally\nincludes some code for managing Galaxy and associated features, and other utilities.\n\nMostly gxadmin acts as a repository for the common queries we all run regularly\nbut fail to share with each other.\n\nIt comes with a wide array of useful queries that you might want to run,\nbut you can also easily add more to your installation with local functions. gxadmin\nattempts to be a very readable bash script and avoids using fancy new bash\nfeatures.\n\nSubcommand | Functions\n----       | ---\nquery      | 104\nserver     | 22\nmutate     | 22\nmeta       | 12\ngalaxy     | 12\nreport     | 5\nfilter     | 3\nconfig     | 2\ncluster    | 1\n\n\nThis script **requires a postgres database** and has **no** plans to support\nmysql or sqlite3.\n\nIf we do support sqlite3 in the future, it will be on a \"if you're lucky\" type basis, we won't be modifying queries to remove postgres-ism.\n\n## Installation\n\n```\ncurl -L https://github.com/galaxyproject/gxadmin/releases/latest/download/gxadmin \u003e /usr/bin/gxadmin\nchmod +x /usr/bin/gxadmin\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n## Changelog\n\n[Changelog](CHANGELOG.md)\n\n## Contributors\n\n- Helena Rasche, BDFL ([@hexylena](https://github.com/hexylena)) 🏳️‍🌈🏳️‍⚧️\n- Nate Coraor ([@natefoo](https://github.com/natefoo))\n- Simon Gladman ([@slugger70](https://github.com/slugger70))\n- Anthony Bretaudeau ([@abretaud](https://github.com/abretaud))\n- John Chilton ([@jmchilton](https://github.com/jmchilton))\n- Gianmauro Cuccuru ([@gmauro](https://github.com/gmauro))\n- Lucille Delisle ([@lldelisle](https://github.com/lldelisle))\n- Manuel Messner (mm@skellet.io)\n- Kim Brügger ([@bruggerk](https://github.com/bruggerk))\n- Catherine Bromhead ([@cat-bro](https://github.com/cat-bro))\n- Michelle Savage ([@hujambo-dunia](https://github.com/hujambo-dunia))\n\n## License\n\nGPLv3\n\n## Configuration\n\n`gxadmin` does not have much configuration, mostly env vars and functions will complain if you don't have them set properly.\n\n### Postgres\n\nQueries support being run in normal postgres table, csv, or tsv output as you\nneed. Just use `gxadmin query`, `gxadmin tsvquery`, or `gxadmin csvquery` as\nappropriate.\n\nYou should have a `~/.pgpass` with the database connection information, and set\n`PGDATABASE`, `PGHOST`, and `PGUSER` in your environment.\n\nExample .pgpass:\n\n```\n\u003cpg_host\u003e:5432:*:\u003cpg_user\u003e:\u003cpg_password\u003e\n```\n\n### InfluxDB\n\nIn order to use functions like `gxadmin meta influx-post`, `gxadmin` requires\na few environment variables to be set. Namely\n*  `INFLUX_URL`\n*  `INFLUX_PASS`\n*  `INFLUX_USER`\n*  `INFLUX_DB`\n\n### Other Environment Variables\n\nSome subcommands may ask you to set these environment variables, if they aren't already.\n\nVariable | Example Value\n--- | --- \n`GALAXY_CONFIG_DIR` | `/srv/galaxy/config/`\n`GALAXY_CONFIG_FILE` | `/srv/galaxy/config/galaxy.yml` \n`GALAXY_LOG_DIR` | `/var/log/galaxy/` \n`GALAXY_MUTABLE_CONFIG_DIR` |  `/srv/galaxy/var/`\n`GALAXY_ROOT` | `/srv/galaxy/server/` \n`VIRTUAL_ENV` | `/srv/galaxy/venv/` \n\n\n### GDPR\n\nYou may want to set `GDPR_MODE=1`. Please determine your own legal responsibilities, the authors take no responsibility for anything you may have done wrong.\n\nIf you want to publish data, first be careful! Second, the `GDPR_MODE` variable is part of the hash, so you can set it to something like `GDPR_MODE=$(openssl rand -hex 24 2\u003e/dev/null) gxadmin query ...` for hashing and \"throwing away the key\"\n\n### Local Functions\n\nIf you want to add some site-specific functions, you can do this in `~/.config/gxadmin-local.sh` (location can be overridden by setting `$GXADMIN_SITE_SPECIFIC`)\n\nYou should write a bash script which looks like. **ALL functions must be prefixed with `local_`**\n\n```bash\nlocal_cats() { ## : Makes cat noises\n\thandle_help \"$@\" \u003c\u003c-EOF\n\t\tHere is some documentation on this function\n\tEOF\n\n\techo \"Meow\"\n}\n```\n\nThis can then be called with `gxadmin` like:\n\n```console\n$ gxadmin local cats --help\ngxadmin local functions usage:\n\n    cats   Cute kitties\n\nhelp / -h / --help : this message. Invoke '--help' on any subcommand for help specific to that subcommand\n$ gxadmin local cats\nMeow\n$\n```\n\nIf you prefix the function name with `query-`, e.g. `local_query-cats`, then it will be run as a database query. CSV/TSV/Influx queries are not currently supported.\n","funding_links":[],"categories":["Awesome Galaxy administration"],"sub_categories":["Tutorials and Trainings"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaxyproject%2Fgxadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalaxyproject%2Fgxadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalaxyproject%2Fgxadmin/lists"}