Commit Graph

310 Commits

Author SHA1 Message Date
Eduard Heimbuch
922dc27c49 Add delete method for configuration store (#1814)
Add method to delete configuration stores completely.
2021-09-30 08:54:22 +02:00
Sebastian Sdorra
0a26741ebd One index per type and parallel indexing (#1781)
Before this change the search uses a single index which distinguishes types (repositories, users, etc.) with a field (_type).
But it has turned out that this could lead to problems, in particular if different types have the same field and uses different analyzers for those fields. The following links show even more problems of a combined index:

    https://www.elastic.co/blog/index-vs-type
    https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html

With this change every type becomes its own index and the SearchEngine gets an api to modify multiple indices at once to remove all documents from all indices, which are related to a specific repository, for example.

The search uses another new api to coordinate the indexing, the central work queue.
The central work queue is able to coordinate long-running or resource intensive tasks. It is able to run tasks in parallel, but can also run tasks which targets the same resources in sequence. The queue is also persistent and can restore queued tasks after restart.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-08-25 15:40:11 +02:00
Eduard Heimbuch
dd0975b49a Feature/mirror (#1683)
Add mirror command and extension points.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-06-04 14:05:47 +02:00
René Pfeuffer
c8621061bf Overwrite files on import 2021-02-25 17:29:14 +01:00
Eduard Heimbuch
db2ce98721 Feature/import export encryption (#1533)
Add option to encrypt repository exports with a password and add possibility to decrypt them on repository import. Also make the repository export asynchronous. This implies that the repository export will be created on the server and can be downloaded multiple times. The repository export will be deleted automatically 10 days after creation.
2021-02-25 13:01:03 +01:00
René Pfeuffer
ee02ba096f Mark config entry stores explicitly in exports (#1545)
The default (XML) store of SCM-Manager does not distinguish between config and config entry stores in regards to
storage locations. Nonetheless, we want to make a difference in export files, so that other store providers can handle
these stores differently. To do so, this change adds an attribute to the top level xml element of config entry stores
to mark them. In exports, these store files can now be exported in a different folder. To mark existing stores, this
introduces an update step.
2021-02-23 09:37:59 +01:00
Eduard Heimbuch
ac5d145266 Repository export read-only lock (#1519)
* Lock repository for read-only access only while exporting
* Create read-only check api

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-02-04 15:29:49 +01:00
Eduard Heimbuch
d91c71ace1 Add the repository import and export with metadata for Subversion repositories (#1501)
* Add store exporter to collect the repository metadata
* Add EnvironmentInformationXmlGenerator
* Collect export data and put into compressed tar archive output stream
* Create full repository export endpoint.
* Add full repository export to ui
* Ignore irrelevant files from config store directory
* write metadata stores to file since a baos could teardown the server memory
* Migrate store name for git lfs files (#1504)

Changes the directory name for the git LFS blob store by
removing the repository id from the store name.

This is necessary for im- and exports of lfs blob stores,
because the original name had the repository id as a part
of it and therefore the old store would not be found when
the repository is imported with another id.

Existing blob files will be moved to the new store location
by an update step.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

* Introduce util for migrations (#1505)

With this util it is more simple to rename
or delete stores.

* Rename files in export

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-28 11:40:35 +01:00
Sebastian Sdorra
22375c8096 Do not abort on failing test, if we run on ci server 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
17706161ba Use Java 11 for build but 8 as target platform 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
8c27af2661 Remove maven build related files 2021-01-14 12:01:30 +01:00
Sebastian Sdorra
5c379a5bb4 Align dependency configurations and versions 2021-01-14 11:56:05 +01:00
Sebastian Sdorra
290e7decd8 Migrate module scm-dao-xml 2021-01-14 11:55:27 +01:00
CES Marvin
374d085fdd prepare for next development iteration 2020-12-17 15:24:34 +00:00
CES Marvin
38a7ff6acb release version 2.12.0 2020-12-17 14:55:08 +00:00
René Pfeuffer
8e3b0e4145 Archive repository (#1477)
This adds a flag "archived" to repositories. Repositories marked with this can no longer be modified in any way. To do this, we switch to a new version of Shiro Static Permissions (sdorra/shiro-static-permissions#4) and specify a permission guard to check for every permission request, whether the repository in question is archived or not. Further we implement checks in stores and other activies so that no writing request may be executed by mistake.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2020-12-16 10:58:29 +01:00
CES Marvin
56c63cb5b7 prepare for next development iteration 2020-12-07 15:01:20 +00:00
CES Marvin
baf04a551c release version 2.11.1 2020-12-07 14:24:49 +00:00
René Pfeuffer
eaf59f91c4 Harmonize logging string for repositories 2020-12-04 11:48:32 +01:00
CES Marvin
87d06a708b prepare for next development iteration 2020-12-04 08:10:20 +00:00
CES Marvin
df62ffbe16 release version 2.11.0 2020-12-04 07:27:13 +00:00
CES Marvin
4752fdeea1 prepare for next development iteration 2020-11-24 18:59:15 +00:00
CES Marvin
b283f782ab release version 2.10.1 2020-11-24 18:22:43 +00:00
CES Marvin
9baa1f930b prepare for next development iteration 2020-11-20 10:22:37 +00:00
CES Marvin
a4d0771f6f release version 2.10.0 2020-11-20 09:36:03 +00:00
CES Marvin
59e28ec313 prepare for next development iteration 2020-11-11 17:48:56 +00:00
CES Marvin
bc4c2df27c release version 2.9.1 2020-11-11 17:15:36 +00:00
CES Marvin
9930d82d32 prepare for next development iteration 2020-11-06 08:40:11 +00:00
CES Marvin
ea6e24c212 release version 2.9.0 2020-11-06 08:05:48 +00:00
CES Marvin
520db79a38 prepare for next development iteration 2020-10-27 08:35:13 +00:00
CES Marvin
1db75f4cf3 release version 2.8.0 2020-10-27 08:00:25 +00:00
CES Marvin
bb9f1adc52 prepare for next development iteration 2020-10-14 12:38:13 +00:00
CES Marvin
eb126a5bbe release version 2.7.1 2020-10-14 12:03:24 +00:00
CES Marvin
befd50eeef prepare for next development iteration 2020-10-12 13:26:08 +00:00
CES Marvin
abe8413802 release version 2.7.0 2020-10-12 12:41:15 +00:00
CES Marvin
bc7d4ed9f6 prepare for next development iteration 2020-09-30 08:15:47 +00:00
CES Marvin
5887c5c268 release version 2.6.1 2020-09-30 07:32:54 +00:00
CES Marvin
4e7d62ce2f prepare for next development iteration 2020-09-25 10:05:04 +00:00
CES Marvin
e2f8566a8b release version 2.6.0 2020-09-25 09:25:13 +00:00
René Pfeuffer
32d500cc44 Add root exception to new exception
This is needed to get an idea why the context could not be created.
2020-09-15 15:15:29 +02:00
Sebastian Sdorra
d4e9f46aac Fix missing synchronization during repository creation 2020-09-14 15:48:45 +02:00
CES Marvin
93f240e087 prepare for next development iteration 2020-09-11 06:21:29 +00:00
CES Marvin
fab108c3b7 release version 2.5.0 2020-09-11 05:46:15 +00:00
CES Marvin
a66ae32b61 prepare for next development iteration 2020-09-01 14:26:34 +00:00
CES Marvin
6913f642a1 release version 2.4.1 2020-09-01 13:52:15 +00:00
CES Marvin
c7309d8962 prepare for next development iteration 2020-08-14 08:51:55 +00:00
CES Marvin
81bfddd141 release version 2.4.0 2020-08-14 08:15:36 +00:00
CES Marvin
7352bdf55b prepare for next development iteration 2020-08-04 14:29:12 +00:00
CES Marvin
0394f8fd96 release version 2.3.1 2020-08-04 13:57:22 +00:00
CES Marvin
17da0b9a8a prepare for next development iteration 2020-07-23 12:17:00 +00:00