You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Motivation:
Sometimes you need to restrict access to specific repositories without allowing mirroring for all repositories. These repositories may contain sensitive information or code that is only available to a select group of members.
Modifications:
- Add `MirrorAccessController` that can allow or disallow access to the remote repositories for mirroring.
- It is used to check if a scheduled mirroring task or a task triggered by UI is allowed to access.
- `MirrorListener.onCreate()` and `MirrorListener.onUpdate()` events are newly added. The events could be used as an extension point to detect a new remote URL pattern and integrate external systems such as a workflow or an email notification.
- Add CRUD REST API for administrators
- GET `/api/v1/mirror/access` to retrieve all mirror access controls.
- POST `/api/v1/mirror/access` to create a mirror access controls.
- and so on...
- In addition to the REST API, a mirror access control can be added with `MirrorAccessController.allow(...)` API which is exposed by `PluginContext.mirrorAccessController()`.
- Add `CrudRepository` abstraction to easily create and update a collection of entities in a directory.
- This API would be useful especially when we implement UI-based CRUD operations.
- Add mirror access control UI for administrators
- CRUD operations are supported.
Result:
- Administrators can restrict access to remote repositories when mirroring.
- You can receive notifications when a new mirror is created or an existing mirror is updated through `MirrorListener`.
0 commit comments