about summary refs log tree commit diff
path: root/nixos/tests/nextcloud
AgeCommit message (Collapse)AuthorFilesLines
2024-05-01nextcloud26: removeMaximilian Bosch1-1/+1
2024-04-25nixos/tests/nextcloud: test NextCloud 29 (Hub 8) tooRaito Bezarius1-1/+1
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-22Merge pull request #290507 from dotlambda/nextcloud-notify_push-metaMaximilian Bosch1-1/+1
nextcloud-notify_push.test_client: add meta
2024-02-21nextcloud-notify_push.test_client: add metaRobert Schütz1-1/+1
2024-02-10nixos/nextcloud: add regression test for not delivering code anymoreMaximilian Bosch1-1/+3
PR #277382 didn't fix just an issue with .mjs files for the `forms` app, but an underlying, more problematic issue: for `/nix-apps` & `/store-apps`, the fcgi config for PHP and the block for assets were never reached. That meant that e.g. `/nix-apps/notes/lib/AppInfo/Application.php` returned the PHP source code as text/plain. Considering that there was never a fundamental change to how this config's structure, I'm pretty sure that the issue was pretty much there since the module exists. After consulting the NixOS security team we agreed that this is most likely harmless because you'd have to use private apps with secrets in the raw PHP code of said app. However, this is still problematic because one important assumption - that PHP code is never sent to the browser - is broken which is why we decided on not mentioning this impact in the previous PR from December 2023. To make sure that we don't regress our nginx config, I decided to add the reproducer which fails on 8bbbb228b4f6c0ecbd746296a67be7723b0851b9 as testcase to our integration tests.
2024-01-26nixos/nextcloud: Rename extraOptions to settingsJonas Heinrich2-2/+2
2023-12-29Merge pull request #212430 from onny/nextcloud-cleanupMaximilian Bosch1-1/+1
nixos/nextcloud: Move options into now freeForm extraOptions
2023-12-29nixos/tests/nextcloud: replace activationScriptnikstur1-4/+6
Replace with a seprate systemd service
2023-12-29nixos/nextcloud: Move options into now freeForm extraOptionsJonas Heinrich1-1/+1
2023-12-13nextcloud28: init at 28.0.0Robert Schütz1-1/+1
2023-11-25nixos/tests/nextcloud: fix with-declarative-redis-and-secrets testSandro Jäckel1-4/+8
2023-10-27nixos/tests: remove unnecessary stateVersion assignmentsK9001-2/+0
2023-10-07nextcloud25: removeMaximilian Bosch2-114/+1
EOL of Nextcloud v25 is scheduled by the end of this month.
2023-08-09nixos/tests/nextcloud: Fix deprecation warningJonas Heinrich2-4/+4
2023-08-01nixos/tests/nextcloud: Fix broken webdav urlJonas Heinrich5-13/+13
Starting with Rclone v1.63, which is used in the Nextcloud tests for synchronization, the client relies on the correct WebDAV endpoint url, see https://github.com/rclone/rclone/issues/7103
2023-06-17nixos/tests/nextcloud: fix more issues related to redis testsMaximilian Bosch2-5/+13
* Ensure that the redis cache is actually used in the "trivial" case (`with-postgresql-and-redis`) * Test against all Nextcloud versions we've packaged * Actually set a secret to make sure that the provided secret is properly read by Nextcloud. * Add myself as maintainer to the secret-test to make sure that I don't miss any more changes like this that could break the functionality of that feature.
2023-06-16nixos/nextcloud: fix declarative cache configurationMaximilian Bosch1-8/+3
It's supposed to be `memcache.distributed`, not an associative PHP array named `memcache` with a key `distributed`. This was probably never caught because the initial `grep -q` check in the test was invalid: `redis-cli` prints nothing if no keys can be found when not writing to a tty apparently.
2023-06-16nextcloud27: initMaximilian Bosch1-1/+1
Fixes #237560
2023-05-19nixos/tests: fix typosfigsoda1-1/+1
2023-05-14nixos/nextcloud: default createLocally to falseGabriel Fontes4-0/+4
2023-05-01nixos/nextcloud: refactor database.createLocallyGabriel Fontes3-50/+24
Fixes https://github.com/NixOS/nixpkgs/issues/228971
2023-04-20nextcloud: remove nextcloud24, 25.0.5 -> 25.0.6, 26.0.0 -> 26.0.1Maximilian Bosch1-1/+1
2023-03-22nixos/nextcloud: minor fixupsMaximilian Bosch1-1/+0
* Apply review comments. * Default to PHP 8.2 for v26.
2023-03-22nixos/tests/nextcloud: do not expect failure on NC ≥26 with respect to RC4 bugRaito Bezarius1-1/+5
2023-03-22nixos/web-apps/nextcloud: introduce nextcloud26Raito Bezarius1-1/+1
2023-02-21nixosTests.nextcloud.with-postgresql-and-redis*: also test notify_pushajs1241-1/+12
2023-01-28Revert "nextcloud26: init at 26.0.0beta1"Sandro1-1/+1
2023-01-27nextcloud26: init at 26.0.0beta1Colin Arnott1-1/+1
Because nextcloud ships their prerelease versions on a different url, we are not parsing the version string to detect which path to use. We also enabled and validated this change via nixos module testing.
2022-11-11nixos/nextcloud: fixup openssl compat changeMaximilian Bosch3-4/+112
Upon testing the change itself I realized that it doesn't build properly because * the `pname` of a php extension is `php-<name>`, not `<name>`. * calling the extension `openssl-legacy` resulted in PHP trying to compile `ext/openssl-legacy` which broke since it doesn't exist: source root is php-8.1.12 setting SOURCE_DATE_EPOCH to timestamp 1666719000 of file php-8.1.12/win32/wsyslog.c patching sources cdToExtensionRootPhase /nix/store/48mnkga4kh84xyiqwzx8v7iv090i7z66-stdenv-linux/setup: line 1399: cd: ext/openssl-legacy: No such file or directory I didn't encounter that one before because I was mostly interested in having a sane behavior for everyone not using this "feature" and the documentation around this. My findings about the behavior with turning openssl1.1 on/off are still valid because I tested this on `master` with manually replacing `openssl` by `openssl_1_1` in `php-packages.nix`. To work around the issue I had to slightly modify the extension build-system for PHP: * The attribute `extensionName` is now relevant to determine the output paths (e.g. `lib/openssl.so`). This is not a behavioral change for existing extensions because then `extensionName==name`. However when specifying `extName` in `php-packages.nix` this value is overridden and it is made sure that the extension called `extName` NOT `name` (i.e. `openssl` vs `openssl-legacy`) is built and installed. The `name` still has to be kept to keep the legacy openssl available as `php.extensions.openssl-legacy`. Additionally I implemented a small VM test to check the behavior with server-side encryption: * For `stateVersion` below 22.11, OpenSSL 1.1 is used (in `basic.nix` it's checked that OpenSSL 3 is used). With that the "default" behavior of the module is checked. * It is ensured that the PHP interpreter for Nextcloud's php-fpm actually loads the correct openssl extension. * It is tested that (encrypted) files remain usable when (temporarily) installing OpenSSL3 (of course then they're not decryptable, but on a rollback that should still be possible). Finally, a few more documentation changes: * I also mentioned the issue in `nextcloud.xml` to make sure the issue is at least mentioned in the manual section about Nextcloud. Not too much detail here, but the relevant option `enableBrokenCiphersForSSE` is referenced. * I fixed a few minor wording issues to also give the full context (we're talking about Nextcloud; we're talking about the PHP extension **only**; please check if you really need this even though it's enabled by default). This is because I felt that sometimes it might be hard to understand what's going on when e.g. an eval-warning appears without telling where exactly it comes from.
2022-11-10nixos/nextcloud: minor docs cleanup for openssl changeMaximilian Bosch1-0/+2
* s/NextCloud/Nextcloud/g * `enableBrokenCiphersForSSE` should be enabled by default for any NixOS installation from before 22.11 to make sure existing installations don't run into the issue. Not the other way round. * Update release notes to reflect on that. * Improve wording of the warning a bit: explain which option to change to get rid of it. * Ensure that basic tests w/o `enableBrokenCiphersForSSE` run with OpenSSL 3.
2022-11-10nextcloud25: use openssl 1.1 as a PHP extension to fix RC4 encryptionRaito Bezarius2-0/+6
2022-10-23nextcloud25: initMaximilian Bosch1-1/+1
2022-09-10nixos/nextcloud: fix a deprecation warning in the tests using redisMaximilian Bosch2-6/+4
2022-07-06services/nextcloud: apply suggestionsstuebinm3-119/+14
2022-06-30Merge branch 'master' into nextcloud-secretsstuebinm1-1/+1
2022-05-21nextcloud22: dropMaximilian Bosch1-1/+1
Version 22 will be EOLed in July 2022[1] and we shouldn't have unsupported software in the soon-to-be-released NixOS 22.05, hence dropping it already. [1] https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
2022-05-06nextcloud24: init at 24.0.0Colin Arnott1-1/+1
Added Nextcloud 23 and set it as the default Nextcloud version for the NixOS module. Added PHP 8.1 as an option for phpPackage and default for Nextcloud ≥ 24.
2022-04-24Merge branch 'master' into nextcloud-secretsstuebinm4-34/+55
2022-04-24services/nextcloud: better secretFile teststuebinm1-2/+20
this is virtually identical to the declarative redis test now, except that the config json is set manually.
2022-04-24services/nextcloud: check redis configstuebinm1-0/+3
2022-04-19nixos/nextcloud: Support create database locallyJonas Heinrich1-22/+1
2022-03-15nextcloud21: removeMaximilian Bosch1-1/+1
EOLed by upstream in 2022-02[1]. [1] https://docs.nextcloud.com/server/23/admin_manual/release_schedule.html#older-versions
2022-01-18nixos/nextcloud: Fix nixos test on masterLara1-7/+8
Resolves #155509
2021-12-02nextcloud23: init at 23.0.0Ilan Joselevich1-5/+5
2021-10-25nextcloud20: dropMaximilian Bosch1-1/+1
The version 20 of Nextcloud will be EOLed by the end of this month[1]. Since the recommended default (that didn't raise an eval-warning) on 21.05 was Nextcloud 21, this shouldn't affect too many people. In order to ensure that nobody does a (not working) upgrade across several major-versions of Nextcloud, I replaced the derivation of `nextcloud20` with a `throw` that provides instructions how to proceed. The only case that I consider "risky" is a setup upgraded from 21.05 (or older) with a `system.stateVersion` <21.11 and with `services.nextcloud.package` not explicitly declared in its config. To avoid that, I also left the `else-if` for `stateVersion < 21.03` which now sets `services.nextcloud.package` to `pkgs.nextcloud20` and thus leads to an eval-error. This condition can be removed as soon as 21.05 is EOL because then it's safe to assume that only 21.11. is used as stable release where no Nextcloud <=20 exists that can lead to such an issue. It can't be removed earlier because then every `system.stateVersion < 21.11` would lead to `nextcloud21` which is a problem if `nextcloud19` is still used. [1] https://docs.nextcloud.com/server/20/admin_manual/release_schedule.html
2021-10-09nixos/nextcloud: fixup #119638Maximilian Bosch1-0/+6
A few minor changes to get #119638 - nextcloud: add option to set datadir and extensions - ready: * `cfg.datadir` now gets `cfg.home` as default to make the type non-nullable. * Enhanced the `basic` test to check the behavior with a custom datadir that's not `/var/lib/nextcloud`. * Fix hashes for apps in option example. * Simplify if/else for `appstoreenable` in override config. * Simplify a few `mapAttrsToList`-expressions in `nextcloud-setup.service`.
2021-10-08nixos/nextcloud: drop adminpass/dbpass options entirelyMaximilian Bosch2-3/+3
2021-10-01Merge pull request #140159 from Ma27/nextcloud-miscMaximilian Bosch4-11/+32
nextcloud: misc changes
2021-10-01nixos/nextcloud: run tests against each Nextcloud instanceMaximilian Bosch4-11/+32
2021-10-01nixos/nextcloud: temp fix for MariaDB >=10.6Maximilian Bosch1-0/+7
The MariaDB version 10.6 doesn't seem supported with current Nextcloud versions and the test fails with the following error[1]: nextcloud # [ 14.950034] nextcloud-setup-start[1001]: Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE. According to a support-thread in upstream's Discourse[2] this is because of a missing support so far. Considering that we haven't received any bugreports so far - even though the issue already exists on master - and the workaround[3] appears to work fine, an evaluation warning for administrators should be sufficient. [1] https://hydra.nixos.org/build/155015223 [2] https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/15 [3] setting `innodb_read_only_compressed=0`