Commit Graph

47 Commits

Author SHA1 Message Date
Rene Pfeuffer
32a0a6868f Fix security findings
- Add security headers:
  - X-Frame-Options
  - X-Content-Type-Options
  - Content-Security-Policy
  - Permissions-Policy
- Do not send server information header

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-06-14 15:57:01 +02:00
Rene Pfeuffer
83c7e0523d Fix various performance issues
- Avoiding read attempts for stores that do not exist (AbstractStore).
- Use of ReadWrite locks (everything withLockedFileForRead or withLockedFileForWrite)
- Caching of JAXB Context (TypedStoreContext.java)
- Avoid unnecessary writes to the UserGroupCache

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-02 11:05:04 +01:00
René Pfeuffer
85761d2399 Migrate SCM-Manager from GitHub to Cloudogu EcoSystem
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-12-02 11:32:39 +01:00
Konstantin Schaper
84f220e5b2 Replace lerna with turborepo (#2073)
This change allows our ui libraries to be built separately. It is therefore to utilize different build tools for individual projects, as well as using build caches for the local build.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
2022-06-22 11:49:26 +02:00
René Pfeuffer
9bfb074805 Use Java 11 as compile version (#2033)
This sets Java 11 for compilation. To do so, this has to use the gradle smp plugin with the pull request scm-manager/gradle-smp-plugin#16. If the smp plugin is not released as version 0.10.4, the version has to be corrected for org.scm-manager.smpin the various build.gradle files.

It might be necessary to delete all build folders when switching between Java 8 and Java 11:

rm -rf build */build scm-plugins/*/build

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-05-18 08:56:41 +02:00
Eduard Heimbuch
b85dc8f0e6 Split frontend code by routes (#1955)
Split large frontend components into own bundles. This way we decrease loading times and load the bundles right as they are used. We replace SystemJS with our own implementation to load the lazy modules right as there are required.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-02-18 14:47:37 +01:00
Eduard Heimbuch
63ec4e6172 Add security notifications to inform about vulnerabilities (#1924)
Add security notifications in SCM-Manager to inform running instances about known security issues. These alerts can be core or plugin specific and will be shown to every user in the header.

Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
Co-authored-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-01-19 11:58:55 +01:00
Matthias Thieroff
8136aa1cbd Set the line ending used for license files to LF (#1904)
Set line ending explicitly to LF because on Windows using the system line ending does not get along well with our git settings.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-12-23 09:43:32 +01:00
Sebastian Sdorra
3bc3554420 Mark isValid as internal method 2021-12-02 11:17:40 +01:00
Sebastian Sdorra
85117ded16 Mark committer as optional 2021-12-02 10:59:48 +01:00
Sebastian Sdorra
e1100af7b8 Add missing getter for nested author and committer 2021-12-02 10:32:52 +01:00
Sebastian Sdorra
9dee08f68d Update Gradle to 7.3 (#1873)
Update Gradle to 7.3. in order to profit from the performance improvement and to prepare for dependency lockfiles. Due to the upgrade to 7.x we had to use a license plugin which supports Gradle 7.
2021-11-29 09:05:24 +01:00
Sebastian Sdorra
3083910270 Update node to version 16.13.0 2021-11-08 08:29:13 +01:00
Eduard Heimbuch
d0d182ea29 Fix gradle run task for development builds 2021-11-04 09:30:13 +01:00
Matthias Thieroff
07f0b22031 Fix process stop for windows builds 2021-11-03 17:03:57 +01:00
Eduard Heimbuch
2e2965b0d1 Use simpleCachingWorkingCopyPool for internal working copies to improve the performance dramatically 2021-07-29 15:19:43 +02:00
René Pfeuffer
d9d3547a22 Create custom initial user (#1707)
Using a default user with a default password has the implicit risk, that this user is not changed and therefore this system can be compromised. With this change, SCM-Manager does not create the default user with the default password on startup any more, but it shows an initial form where the initial values for the administration user have to be entered by the user. To secure this form, a random token is created on startup and printed in the log.

To implement this form, the concept of an InitializationStep is introduced. This extension point can be implemented to offer different setup tasks. The creation of the administration user is the first implementation, others might be things like first plugin selections or the like.

Frontend components are selected by the name of these initialization steps, whose names will be added to the index resource
(whichever is active at the moment) and will be show accordingly.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-06-24 09:29:42 +02:00
Sebastian Sdorra
b975fb655d Feature/global notifications (#1646)
Add global notifications
2021-05-05 14:43:16 +02:00
Sebastian Sdorra
8f2272885b Metrics for events (#1601)
Updates legman to version 2, which allows the usage of the MicrometerPlugin. The plugin will collect metrics for subscriber invocations and the underlying executor.

Furthermore this change will fix the usage of wrong subject context in the asynchronous events.
2021-03-24 15:54:29 +01:00
Eduard Heimbuch
cd73ce00a3 Set xerces documentBuilderFactory because xerces is in classpath 2021-01-21 11:57:53 +01:00
Sebastian Sdorra
c21f09ccd8 Upload only if skip is not set 2021-01-15 07:32:36 +01:00
Sebastian Sdorra
8964b6ff23 Set java user home to scm home 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
64cb20a951 Use Input instead of InputDirectory for directory property 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
4e1bf1d13b Update timestamps of test report if running on ci
We have to update the timestamps of our test reports on the ci server,
because Jenkins fails it the reports are older than x minutes.
2021-01-14 12:01:34 +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
7fd6b62b73 Revert "Add tasks to modify version", because it breaks run command
This reverts commit b07f00ea2f74b60663d7d2c4377fe338416d189e.
2021-01-14 12:01:34 +01:00
Sebastian Sdorra
ecc216276d Add tasks to modify version 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
225e095c11 Update readme to describe gradle build 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
3e9160a600 Use scm.home instead of home to align with plugins 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
dddc36a0ef Add missing scm-integration-test-plugin to scm-it 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
6c5793ca21 Rename serve to run to match plugin task 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
efce411a41 Implement publish for release-yaml 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
495326e990 Publishing tasks for rpm and deb packages 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
217f6348c0 Compile test classes to java 8 to fix enforcer 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
2bf87fb937 Implemented maven publishing 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
55507b3f35 Add license check 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
d6b655f430 Use custom logback configuration for serve task 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
6a624c202d Add debug options to serve task 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
58d3bc9695 Remove unused imports and remove unnecessary modifiers 2021-01-14 12:01:33 +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
c9ea026c52 Create release.yml 2021-01-14 11:56:05 +01:00
Sebastian Sdorra
87da653575 Create package.yml for each distributed package 2021-01-14 11:56:05 +01:00
Sebastian Sdorra
5c379a5bb4 Align dependency configurations and versions 2021-01-14 11:56:05 +01:00
Sebastian Sdorra
3a4a5a9d10 Migrate scm-it module to gradle 2021-01-14 11:55:28 +01:00
Sebastian Sdorra
224e9eabe5 Fix ui on serve 2021-01-14 11:55:27 +01:00
Sebastian Sdorra
acd8eb3a9a Add build information (version) to scm-core.jar 2021-01-14 11:55:27 +01:00
Sebastian Sdorra
fa7edc55b2 Implemented serve task for development mode 2021-01-14 11:55:27 +01:00