{"id":20358091,"url":"https://github.com/irods/irods_client_zone_management_tool","last_synced_at":"2025-07-27T04:03:29.022Z","repository":{"id":43196173,"uuid":"299785973","full_name":"irods/irods_client_zone_management_tool","owner":"irods","description":"A web application for managing an iRODS Zone","archived":false,"fork":false,"pushed_at":"2024-11-19T13:46:34.000Z","size":2446,"stargazers_count":6,"open_issues_count":26,"forks_count":9,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T03:15:11.395Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-09-30T02:10:22.000Z","updated_at":"2024-08-28T20:49:19.000Z","dependencies_parsed_at":"2024-11-14T23:27:03.587Z","dependency_job_id":"30e322fb-a5c8-4be4-b9bc-069d21b69795","html_url":"https://github.com/irods/irods_client_zone_management_tool","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_client_zone_management_tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_client_zone_management_tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_client_zone_management_tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_client_zone_management_tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irods","download_url":"https://codeload.github.com/irods/irods_client_zone_management_tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248510001,"owners_count":21116130,"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":[],"created_at":"2024-11-14T23:25:19.774Z","updated_at":"2025-04-12T03:15:16.869Z","avatar_url":"https://github.com/irods.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iRODS Zone Management Tool (ZMT)\n\nA web application for managing an iRODS Zone.\n\n![Zone Management Tool 0.1.0](design/images/ZMT-0.1.0.png)\n\n## Setup\n\n### 1. Install Docker and Docker Compose\nFollow instructions in Docker docs to install Docker and Docker Compose for your OS.\n\n### 2. Clone the repository from GitHub\n```\ngit clone https://github.com/irods/irods_client_zone_management_tool\n```\n\n### 3. Deploy the iRODS Client HTTP Mid-Tier API\nPlease refer to [iRODS Client HTTP API](https://github.com/irods/irods_client_http_api). You will need the hostname, port, and version of this service.\n\nThe C++ HTTP API must be version 0.3.0 or later.\n\n### 4. Setup Environment Variables\nCreate a file named '.env' and place under the root directory. Please refer to sample.env file, setup the following environment variables and save the file.\n\n```\n#######################################\n# Location of the iRODS Client HTTP API\n# \u003cprotocol\u003e://\u003chost\u003e:\u003cport\u003e/irods-http-api/\u003chttp_api_version\u003e\n#\n# e.g. https://example.org:8080/irods-http-api/0.4.0\n\nREACT_APP_HTTP_API_URL=\n\n#######################################\n# Defaults\n\nLISTEN_PORT=9000\nREACT_APP_APPBAR_LOGO=iRODS-logo.jpg\nREACT_APP_LOGIN_LOGO=iRODS-logo-1.png\nREACT_APP_BRANDING_NAME=Zone Management Tool\nREACT_APP_PRIMARY_COLOR=#04bdaf\n```\n\n### 5. Deploy the ZMT via Docker Compose\n\n#### Start Service\nUse the following code to start service.\n```\ndocker compose up\n```\n\n#### Stop Service\n```\ndocker compose down\n```\n\n## Health checks in ZMT\nZMT will load its health checks from two checkfile directories (default and custom).  Default checks are included and on by default.\n\nResults of each check are presented as 'healthy', 'warning', 'error', 'invalid', 'inactive', or 'unavailable'.\n\n### localStorage\n\n- `active` - Each health check's status.  Can be set to 'false' to no longer run.\n\n- `interval` - Each health check's interval between reaching out to the server, in seconds.\n\nZMT will hold each checkfile's settings in localStorage until Logout.\n\n### Custom health checks\nAdditional health checks can be added to your ZMT deployment.\n\nOn startup, ZMT will validate each checkfile and provide any errors in the table view (with additional information in the browser console).\n\n#### 1. Create a new checkfile\nCopy `src/data/checkfiles/checkfile_template.js` into the `src/data/checkfiles/custom_checkfiles` directory.  The name of the new checkfile does not matter.\n\n#### 2. Fill in the required values\n\nRequired:\n- `name` - non-empty string\n- `description` - non-empty string\n- `interval_in_seconds` - positive integer\n- `active` - true or false\n- `checker` - javascript object which returns a `result` object\n\nOptional:\n- `minimum_server_version` - string representing `major.minor.patch` level of the iRODS server\n- `maximum_server_version` - string representing `major.minor.patch` level of the iRODS server\n\n#### 3. Restart ZMT\nZMT will re-validate and re-run each defined checkfile.\n\n## Built With\n  - [React](https://reactjs.org/) - Reactive frontend framework built by Facebook\n  - [Material UI](https://material-ui.com/) - Material Design\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_client_zone_management_tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firods%2Firods_client_zone_management_tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_client_zone_management_tool/lists"}