{"id":23859212,"url":"https://github.com/openconext/openconext-manage","last_synced_at":"2025-09-08T07:30:47.197Z","repository":{"id":27306708,"uuid":"94891862","full_name":"OpenConext/OpenConext-manage","owner":"OpenConext","description":"Stores and publishes metadata of all entities known to OpenConext","archived":false,"fork":false,"pushed_at":"2025-08-29T14:15:07.000Z","size":19492,"stargazers_count":7,"open_issues_count":37,"forks_count":11,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-29T16:31:50.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenConext.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-20T13:03:06.000Z","updated_at":"2025-08-29T14:15:11.000Z","dependencies_parsed_at":"2024-03-04T16:02:14.856Z","dependency_job_id":"95cdede0-ff8b-4dd5-8097-98a6762f5610","html_url":"https://github.com/OpenConext/OpenConext-manage","commit_stats":null,"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/OpenConext/OpenConext-manage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-manage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-manage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-manage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-manage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenConext","download_url":"https://codeload.github.com/OpenConext/OpenConext-manage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-manage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274152117,"owners_count":25231285,"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-09-08T02:00:09.813Z","response_time":121,"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":"2025-01-03T03:32:54.170Z","updated_at":"2025-09-08T07:30:47.182Z","avatar_url":"https://github.com/OpenConext.png","language":"Java","readme":"# OpenConext-manage\n[![Build Status](https://travis-ci.org/OpenConext/OpenConext-manage.svg)](https://travis-ci.org/OpenConext/OpenConext-manage)\n[![codecov.io](https://codecov.io/github/OpenConext/OpenConext-manage/coverage.svg)](https://codecov.io/github/OpenConext/OpenConext-manage)\n\nStores and publishes metadata of all entities known to OpenConext\n\n## Disclaimer\n\n### PdP integration\n\nThe 8.x.x version of Manage contains functionality to import policies from PdP. This functionality has been removed in \n9.0.0. Before migrating to Manage 9.0.0 ensure that all PdP policies are migrated.\n\n### Janus\n\nNote that the original migration from Janus was removed in version 3.0.0. If you want to run the migrations from a Janus\n database then install version 2.0.8.\n\n## [Getting started](#getting-started)\n\n### [System Requirements](#system-requirements)\n\n- Java 21\n- Maven 3\n- MongoDB\n- yarn\n- Node v20.8.0 (best managed with `nvm`, current version in [.nvmrc](manage-gui/.nvmrc))\n- ansible\n\nIf you have installed MongoDB with your package manager, you'll have to enable transactions:\n\n```\nmongosh\n\u003e rs.initiate()\n```\n\n## [Building and running](#building-and-running)\n\n### [The manage-server](#manage-server)\n\nThis project uses Spring Boot and Maven. To run locally, type:\n\n`cd manage-server`\n\n`mvn spring-boot:run -Drun.jvmArguments=\"-Dspring.profiles.active=dev\"`\n\nWhen developing, it's convenient to just execute the applications main-method, which is in [Application](manage-server/src/main/java/manage/Application.java). Don't forget\nto set the active profile to dev.\n\n### [The manage-gui](#manage-gui)\n\nThe client is build with react and to get initially started:\n\n```\ncd manage-gui\nyarn install\nyarn start\n```\nSee https://github.com/facebook/create-react-app/issues/11762#issuecomment-1002285279 for troubleshooting the proxy settings.\n\nBrowse to the [application homepage](http://localhost:3000/).\n\nTo add new dependencies:\n\n`yarn add package --dev`\n\nWhen new yarn dependencies are added:\n\n`yarn install`\n\nTo run all JavaScript tests:\n```\ncd client\nyarn test\n```\nOr to run all the tests and do not watch - like CI:\n```\ncd client\nCI=true yarn test\n```\n\n### [Wiki](#wiki)\n\nSee the Manage [github wiki](https://github.com/OpenConext/OpenConext-manage/wiki) for\nadditional documentation.\n\n### [New MetaData Type](#new-metadata-type)\n\nNew MetaData types must first be described in JSON Schema and the schema must be placed in src/main/resources/metadata_configuration. This\nis all that is required for the server. Of course support for CRUD in the GUI needs to be coded.     \n\n### [Configuration and deployment](#configuration-and-deployment)\n\nOn its classpath, the application has an [application.yml](manage-server/src/main/resources/application.yml) file that\ncontains configuration defaults that are convenient when developing.\n\nWhen the application actually gets deployed to a meaningful platform, it is pre-provisioned with ansible and the application.yml depends on\nenvironment specific properties in the group_vars. See the project OpenConext-deploy and the role `manage` for more information.\n\nFor details, see the [Spring Boot manual](https://docs.spring.io/spring-boot/docs/1.2.1.RELEASE/reference/htmlsingle/).\n\n#### [Optional configuration](#optional-configuration)\n\nThe following configurations are not shown in the application.yml file but are available:\n\n| Configuration             | Description                                                                                    | Default value |\n|:--------------------------|:-----------------------------------------------------------------------------------------------|:--------------|\n| metadata_import.useragent | Set a custom (String) value for the User-Agent header used in SAML metadata retrieval requests | null          |\n\n### [MetaData Import](#metadata-import)\n\nWhen you want to import existing metaData into your local mongodb you can use the following command:\n```\nmongoimport --db metadata --collection saml20_idp --type json --file identity-providers.json --jsonArray\n```\n\n### Change requests\n```\ncd ./manage-server/src/test/resources/json\ncurl -u sysadmin:secret -X POST -H 'Content-Type: application/json' -d '@change_request.json' 'https://manage.test2.surfconext.nl/manage/api/internal/change-requests'\n```\nOr the other supported flavour: an incremental change\n```\ncurl -u sp-portal:secret -X POST -H 'Content-Type: application/json' -d '@incremental_change_request.json' 'https://manage.test2.surfconext.nl/manage/api/internal/change-requests'\ncurl -u sp-portal:secret -X POST -H 'Content-Type: application/json' -d '@incremental_change_request.json' 'http://localhost:8080/manage/api/internal/change-requests'\n```\n ","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenconext%2Fopenconext-manage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenconext%2Fopenconext-manage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenconext%2Fopenconext-manage/lists"}