neutrinet_ynh merge requestshttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests2020-12-12T17:20:16Zhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/33Resolve "Add Yunohost pipeline status icons in the ReadMe"2020-12-12T17:20:16ZHgOResolve "Add Yunohost pipeline status icons in the ReadMe"Closes #25Closes #25Neutrinet v0.3.1~ynh3HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/26Create change url script2020-02-29T11:21:54ZHgOCreate change url scriptCloses #15Closes #15Neutrinet v0.3.0~ynh5https://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/24Explain how to install from the web interface2020-02-29T11:21:54ZHgOExplain how to install from the web interfaceCloses #14Closes #14Neutrinet v0.3.0~ynh5IljaIljahttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/23Use yunohost progress bar2020-02-29T11:21:54ZHgOUse yunohost progress barCloses #10
Things to be tested:
* [x] Install
* [x] Upgrade
* [x] Backup
* [x] Delete
* [x] Restore
In the upgrade script, I kept some `ynh_print_info` as they were in a condition, and I don't know if the progress bar would h...Closes #10
Things to be tested:
* [x] Install
* [x] Upgrade
* [x] Backup
* [x] Delete
* [x] Restore
In the upgrade script, I kept some `ynh_print_info` as they were in a condition, and I don't know if the progress bar would have worked.Neutrinet v0.3.0~ynh5https://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/21Resolve "Move master -> stable and develop -> unstable"2020-02-29T11:21:54ZHgOResolve "Move master -> stable and develop -> unstable"Closes #16Closes #16Neutrinet v0.3.0~ynh5https://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/42Simplify cron script and check ca server certificate expiration date2023-09-29T16:15:38ZHgOSimplify cron script and check ca server certificate expiration dateCloses #29Closes #29HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/41Release version 0.3.1~ynh52023-03-15T08:06:20ZHgORelease version 0.3.1~ynh5HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/40Resolve "Git detected dubious ownership in repository"2023-03-15T07:53:41ZHgOResolve "Git detected dubious ownership in repository"Closes #32Closes #32HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/39Release 0.3.1~ynh42022-04-09T16:57:31ZHgORelease 0.3.1~ynh4HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/38Resolve "super-old deprecated packaging practices ?"2022-04-10T14:29:44ZHgOResolve "super-old deprecated packaging practices ?"Closes #27Closes #27HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/37Release 0.3.1~ynh32022-04-09T14:42:00ZHgORelease 0.3.1~ynh3HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/36Resolve "Change url in manifest to upstream url"2022-04-09T14:39:34ZHgOResolve "Change url in manifest to upstream url"Closes #31Closes #31HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/35Resolve "Suppress warnings when cloning the renew-cert repo"2022-04-09T14:35:42ZHgOResolve "Suppress warnings when cloning the renew-cert repo"Closes #30Closes #30HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/34fix-27_super-old_deprecated_packaging_practices2022-04-09T14:43:00ZIljafix-27_super-old_deprecated_packaging_practicesFixes https://git.domainepublic.net/Neutrinet/neutrinet_ynh/-/issues/27
I checked with the [package_check tool](https://github.com/YunoHost/package_check) and cleaned everything up. This included generating the README files with <https:...Fixes https://git.domainepublic.net/Neutrinet/neutrinet_ynh/-/issues/27
I checked with the [package_check tool](https://github.com/YunoHost/package_check) and cleaned everything up. This included generating the README files with <https://github.com/YunoHost/apps/tree/master/tools/README-generator>. I had to do some manual modifications, but tried to have the result as close to a generated README.md as possible.
* Warnings we still have:
* `! The application has no associated category in YunoHost's apps catalog`
* Will be fixed with <https://github.com/YunoHost/apps/pull/1306>
* `! Consider adding your app to the YunoHost-Apps organization to allow the community to contribute more easily`
* Doesn't make sense for our case, so we'll keep it as is. I made an issue to have it as an Info instead: <https://github.com/YunoHost/package_check/issues/116>
* The linter also gives info
* `- 'url' is not meant to be the URL of the YunoHost package, but rather the website or repo of the upstream app itself...`
* It's just an info, and in this case we can say that the package kinda is it's own thing, so it makes sense in this case that the url is the package.
* The README_fr.md has some English parts because it took it from the files doc/DESCRIPTION.md and doc/DISCLAIMER.md
* I assume you can add doc/DESCRIPTION_fr.md and doc/DISCLAIMER_fr.md. Feel free to and I'll generate and adapt them again.
The package_check tool currently does 8 tests. More and custom tests are also possible, but are out of scope for this MR imo. Installation test also test removal and reinstallation after removal. It also tests if the resource is accessible by doing a call and expecting a status 200. We do not currently test the certificate check and renewal part. Step 7 is upgrade from the current stable version.
1. Package linter
2. Installation on the root
3. Installation in a sub path
4. Installation in private mode
5. Backup/Restore
6. Upgrade from the same version
7. Upgrade from 7afd659c62304c28c8f7232d931a3f2ea49be5f3
8. Change URL
Summary
```
============================================
Tests summary
============================================
Package linter: OK (2 warnings, 1 possible improvements)
Install (root): OK
Install (subdir): OK
Install (private): OK
Backup/restore: OK
Upgrade: OK
Upgrade (7afd659c): OK
Change url: OK
Level results
=============
Level 1 (Installable in at least one scenario) OK
Level 2 (Installable in all scenarios) OK
Level 3 (Can be upgraded) OK
Level 4 (Can be backup/restored) OK
Level 5 (No linter errors) OK
Level 6 (App is in a community-operated git org) OK
Level 7 (Pass all tests + no linter warnings)
Level 8 (Maintained and long-term good quality)
Level 9 (Flagged high-quality in app catalog)
Global level for this application: 6 (App is in a community-operated git org)
(Protip™ for CI admin: you should 'apt install wkhtmltopdf optipng --no-install-recommends' to enable result summary export to .png)
Global working time for all tests: 30 minutes, 35 seconds (01:01:34)
```IljaIljahttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/31Misc cleaning to make tests and linter happier on the CI2020-12-05T16:55:10ZAleksMisc cleaning to make tests and linter happier on the CIHey there !
I'm a bit late, but as promised, here's a PR (well, here it's called MR :D) to make the app pass tests on the CI.
I ended up cleaning a few things to adapt the app to common practices (maybe more things could be done but it...Hey there !
I'm a bit late, but as promised, here's a PR (well, here it's called MR :D) to make the app pass tests on the CI.
I ended up cleaning a few things to adapt the app to common practices (maybe more things could be done but it feels good enough). Many things are made simpler because either a) Yunohost's core does the check / normalizing before running the script and b) Using Yunohost nginx's helpers to handle nginx conf.
The most touchy thing is the handling of the path/path_url variable ... that thing is an horrible mess and I internally screamed during the whole thing, but basically the setting should be called `path` *but* the bash variable should be called `$path_url`. If you don't do this things ain't gonna work. (Yes, (╯°□°)╯︵ ┻━┻)
I was in fact surprised to see the var in manifest called `path_url` and not `path` ... but I see that this got changed recently and the neutrinet cube script is still using `path` here : https://gitlab.domainepublic.net/Neutrinet/neutrinet_cube_install/-/blob/stable/neutrinet_cube_install.sh#L842 ... (and even in unstable?) so I'm guessing it's okay to brutally revert to `path`.
Remaining todo is :
- [ ] Adding a LICENSE file to make linter happy. But since I'm only a one-time contributor to this package, I don't know what you wanna choose ?
- [ ] ~~I'm triggering tests on the dev CI in the background ... currently level 2 ... need to re-trigger a test after a typo fix for the upgrade : https://ci-apps-dev.yunohost.org/jenkins/view/aleks/job/neutrinet_ynh%20(aleks)/3/console (don't worry too much about the screaming red errors about template for now ... )~~ **App is level 4, but will be 7 once a LICENSE file added** :wink:
- [ ] Bump `~ynh` version number in manifest ?https://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/30Hotfix renew-cert CN certificates2020-05-03T11:06:40ZHgOHotfix renew-cert CN certificatesCloses #20
## Testing
### Upgrade
```shell
sudo yunohost app upgrade neutrinet -u https://git.domainepublic.net/Neutrinet/neutrinet_ynh/tree/hotfix-renew-cert-cn-certificates --debug
```
### Install
```shell
sudo yunoh...Closes #20
## Testing
### Upgrade
```shell
sudo yunohost app upgrade neutrinet -u https://git.domainepublic.net/Neutrinet/neutrinet_ynh/tree/hotfix-renew-cert-cn-certificates --debug
```
### Install
```shell
sudo yunohost app install https://git.domainepublic.net/Neutrinet/neutrinet_ynh/tree/hotfix-renew-cert-cn-certificates --debug
```
### Tests
These tests must be run for both upgrade and install.
First run:
```shell
/opt/neutrinet/renew_cert/renew_cert_cron.sh
```
This should NOT renew the certificate. However you should get some output saying how many days remain before renewal.
Then, to force the renewal:
```shell
/opt/neutrinet/renew_cert/renew_cert_cron.sh -f
```
(Optionally) Check that the quiet mode is working:
```shell
/opt/neutrinet/renew_cert/renew_cert_cron.sh -q -f
```
After each run of the script, check that you have an ip under `tun0` interface:
```shell
ip a show dev tun0
```
In particular, you should have an IPv4 address.
Check also the certificate's creation date:
```shell
openssl x509 -in /etc/openvpn/keys/user.crt -noout -startdate
```
HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/29fix 18: Add stable/unstable app lists2020-11-27T15:58:44ZIljafix 18: Add stable/unstable app lists* Removed references to apps.json
* Add a bullet point for testers in the Contributing section
* Changed a bit in the "Publish a new version of the app"* Removed references to apps.json
* Add a bullet point for testers in the Contributing section
* Changed a bit in the "Publish a new version of the app"IljaIljahttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/28Remove folders before reloading nginx2020-04-11T14:20:43ZHgORemove folders before reloading nginxCloses #17Closes #17HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/27Release Neutrinet v0.3.0~ynh52020-02-29T16:43:03ZHgORelease Neutrinet v0.3.0~ynh5# Release notes
* Use Yunohost progress bar (!23, #10)
* Explain how to install the script from the web interface (!24, #14)
* Improve static page (add Dutch translation, remove javascript, links underlined, add more links) (!20, #1...# Release notes
* Use Yunohost progress bar (!23, #10)
* Explain how to install the script from the web interface (!24, #14)
* Improve static page (add Dutch translation, remove javascript, links underlined, add more links) (!20, #13)
* Add script to move domain/path (!26, #15)
* Change branch from master to stable and from develop to unstable (!21, #16)
# Testing
You can test the app with:
- Install:
```shell
yunohost app install https://git.domainepublic.net/Neutrinet/neutrinet_ynh/tree/unstable
```
- Upgrade:
```shell
yunohost app upgrade neutrinet -u https://git.domainepublic.net/Neutrinet/neutrinet_ynh/tree/unstable
```
I'll setup the dev package list soon (see #16).
We should check the following:
- `<your-domain>/neutrinet` should display the Neutrinet contact details
- `yunohost app setting neutrinet path_url` should give the path of the app
- `yunohost app change-url neutrinet -d <some-domain> -p <some-path>` should work, even when path is /
We should also test the install and upgrade scripts (either on the root of a web domain or not)HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/merge_requests/20Resolve "Improve /neutrinet webpage"2020-02-29T11:21:54ZIljaResolve "Improve /neutrinet webpage"Closes #13
I did:
Remove Javascript
* Removed the ./sources/static/js folder and content
* Removed the `<script>` tags (loading the Javascript) from the ./sources/index.html file
Change links to underline instead of bold
* C...Closes #13
I did:
Remove Javascript
* Removed the ./sources/static/js folder and content
* Removed the `<script>` tags (loading the Javascript) from the ./sources/index.html file
Change links to underline instead of bold
* Changed the a in the ./sources/static/css/styled.css to have underline instead of bold
Add Dutch translation
* I added links on the top right of the page for the different languages (Dutch and French)
* I added an index_nl.html and index_fr.html (and removed index.html)
* The Dutch and French pages can be found on <path>/nl and <path>/fr respectively
* This setup makes it so that nginx can choose the default language
* Nginx (302) redirects <path>/ to <path>/fr which means that French is always default
Checking if the scripts need change
* The only one that needed change was the update script. It already copied the files (overwriting where needed), but that meant that the folders/files I removed are still there. I 'fixed' it by removing the whole webapp folder first and then recreate it. Another option would be to check if the file/folder still exist and remove them one by one, but this seemed easier and more general.
Add links
* Added the git repo and the repo for this app to the list of links
* I also checked if all the links still work, they still work
I just did the HTML and CSS as good as I could so it would work, if I did things that are considered 'bad practice', plz let me know so I can fix it.HgOHgO