Rhys Arkins
c296c4a113
fix: cache requests for npm, github only
2020-03-13 09:56:34 +01:00
Michael Kriese
9617072f75
fix: catch cache error ( #5707 )
2020-03-13 07:40:34 +01:00
Michael Kriese
7a6025e3ab
fix: revert async handler ( #5706 )
...
got does not support async handlers
2020-03-13 07:29:04 +01:00
Rhys Arkins
85cbc96184
fix: remove host stats
2020-03-13 06:47:20 +01:00
Rhys Arkins
eee910a512
feat: log outstandingRequests
2020-03-12 21:41:51 +01:00
Rhys Arkins
eab96b2d6e
fix: remove high water mark setting
2020-03-12 21:30:40 +01:00
Rhys Arkins
18d2c52327
fix: delete cached promise when got fails
2020-03-12 15:59:03 +01:00
Rhys Arkins
c60737a285
fix: revert datasource error handling changes
2020-03-12 12:48:57 +01:00
Rhys Arkins
81b4f7740d
fix: more xargs typos
2020-03-09 22:18:53 +01:00
Rhys Arkins
b68f5fd7cc
fix(exec): — typo
2020-03-09 22:01:23 +01:00
Rhys Arkins
20b46ae454
fix: better xargs and tests
2020-03-09 21:30:48 +01:00
Rhys Arkins
d1203bdc41
fix(exec): xargs --no-run-if-empty
2020-03-09 20:47:27 +01:00
Rhys Arkins
3725417f43
logs: downgrade docker warn to info
2020-03-09 19:54:44 +01:00
Rhys Arkins
3371b95403
feat: clean up dangling docker containers at startup ( #5678 )
2020-03-09 15:56:50 +01:00
Rhys Arkins
98393c0b9b
feat: docker run timeout / cleanup ( #5673 )
...
Closes #5671
2020-03-09 13:33:45 +01:00
Rhys Arkins
036c7727db
logs: more exec logging
2020-03-09 09:16:42 +01:00
Rhys Arkins
bce6036a8e
fix: move datasource error handling into index ( #5662 )
2020-03-07 12:13:31 +01:00
Rhys Arkins
364163e7a0
fix: move tests into lib ( #5635 )
2020-03-05 21:57:24 +01:00
Michael Kriese
6c4892b593
chore(types): fix more typescript types ( #5615 )
2020-03-02 12:06:16 +01:00
Rhys Arkins
6293edc19a
feat: replace datasource constants with IDs ( #5595 )
...
Co-Authored-By: Michael Kriese <michael.kriese@visualon.de>
2020-03-01 08:01:12 +01:00
Rhys Arkins
57cbe3a42c
chore: lgtm ignore
2020-02-24 20:23:46 +01:00
Rhys Arkins
f1d0b7b5fe
refactor: lower some levels from info to debug
...
Ref #5555
2020-02-24 09:26:42 +01:00
Rhys Arkins
5dbfd54aff
refactor: centralize matchAt and replaceAt ( #5540 )
2020-02-21 14:52:48 +01:00
Sergio Zharinov
969701ad6b
feat(util): Fetch docker tag according to version constraints ( #5497 )
2020-02-19 19:02:11 +01:00
Pascal Mathis
c9357cc340
feat: add support for gitea platform ( #5509 )
2020-02-19 11:19:25 +01:00
Rhys Arkins
485f66914e
feat: versionScheme -> versioning ( #5504 )
2020-02-18 08:34:10 +01:00
Rhys Arkins
e13cb52ed5
feat: validate managers
2020-02-16 06:49:09 +01:00
Sergio Zharinov
23e254eee9
refactor: Extract module loading code out to utils ( #5444 )
2020-02-16 05:57:12 +01:00
Rhys Arkins
8598c5edea
fix(npm): increase highWaterMark
2020-02-16 05:32:03 +01:00
Rhys Arkins
0eb616f876
fix: replace subDirectory with cwdFile in util/exec
...
Closes #5436
2020-02-12 17:55:27 +01:00
Rhys Arkins
90b7916995
fix(npm): skip cache when retrying
2020-02-12 13:17:48 +01:00
Ricky Patel
d93036b8ab
feat: hostRules findAll function
2020-02-11 14:46:31 +01:00
Sourav Das
bdaa7b8e49
feat(constants): Host Types ( #5171 )
2020-02-06 12:15:54 +00:00
Michael Kriese
2ffad1363e
chore(eslint): stricter settings ( #5375 )
2020-02-05 18:17:20 +00:00
Michael Kriese
8719f70dea
chore(eslint): simplify / update settings ( #5296 )
2020-02-04 10:37:00 +01:00
Sergio Zharinov
aa49a21e54
fix(exec): Whitelist LC_ALL and LANG ( #5239 )
2020-01-29 06:29:53 +01:00
Martín Fernández
8da8d7a072
feat: Add DOCKER_HOST to child env ( #5222 )
...
Currently the DOCKER_HOST env variable is not passed to the child
environment making it impossible to use a non default docker host.
2020-01-25 19:30:43 +01:00
Sergio Zharinov
6b2ef2822c
refactor(exec): Explicit extraEnv
defaults and nullable docke… ( #5219 )
2020-01-24 10:42:09 +01:00
Sergio Zharinov
8b6d280741
feat(exec): Allow for extra docker commands ( #5208 )
2020-01-22 11:45:21 +01:00
Rhys Arkins
c44a82e60b
refactor: rename docker exec helper
2020-01-22 11:08:29 +01:00
Sergio Zharinov
60d895bd5c
feat(exec): Cache Docker image prefetch info ( #5205 )
2020-01-22 09:19:29 +01:00
Rhys Arkins
a56e0de4c7
feat: move localDir awareness to util/exec ( #5207 )
2020-01-21 18:04:50 +01:00
Rhys Arkins
d2c0b0e727
fix: binarySource docker only if opts set
2020-01-20 22:05:41 +01:00
Sergio Zharinov
ef7357d022
fix(exec): Refactor binarySource out to global setting ( #5190 )
...
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2020-01-20 16:50:32 +01:00
Sergio Zharinov
ad0708d88d
fix(exec): Don't call bash for non-docker commands ( #5175 )
2020-01-16 22:05:50 +01:00
renovate[bot]
36a37dada8
chore(deps): update dependency prettier to v1.19.1 ( #5169 )
...
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2020-01-16 16:21:07 +01:00
Rhys Arkins
57300ead3d
feat: centralized exec timing ( #5153 )
2020-01-15 08:14:44 +01:00
Sergio Zharinov
69dabac278
feat: improved exec wrapper ( #5131 )
2020-01-14 12:12:03 +01:00
Rhys Arkins
56d94e259f
refactor: centralized docker volumes ( #5132 )
2020-01-12 19:47:39 +01:00
Sourav Das
ee153e560e
feat: use error constants ( #5088 ) ( #5100 )
...
Use defined error constants throughout codebase.
2020-01-12 08:50:11 +01:00
Rhys Arkins
2715603ad3
refactor: centralize dockerUser logic
...
Closes #5124
2020-01-10 17:38:27 +01:00
Rhys Arkins
1617a193c0
refactor: move util/exec to own folder ( #5125 )
...
Also moves related docker and env files
2020-01-10 16:39:15 +01:00
Sergio Zharinov
5fd6361c56
refactor: add env awareness to util/exec ( #5095 )
2020-01-10 15:18:41 +01:00
Michael Kriese
e4164115a2
chore: remove duplicate type definition ( #5111 )
2020-01-07 10:06:24 +00:00
Sergio Zharinov
f1d703272c
refactor(docker): Use pre/post commands instead of wrapping ( #5103 )
...
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2020-01-07 07:47:12 +00:00
Rhys Arkins
f5e76ae073
fix: use re2 for packageRules
2019-12-30 09:12:04 +00:00
Sergio Zharinov
9277da8951
refactor: Introduce centralized docker run
execution ( #4983 )
...
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2019-12-23 15:59:57 +01:00
Rhys Arkins
ce266f8004
chore: info not warn for version comparison
2019-12-13 12:47:04 +01:00
Rhys Arkins
28085a8ad5
fix(package-rules): check for version match first
2019-12-03 13:54:44 +01:00
Rhys Arkins
76e8fd18f8
fix(package-rules): handle case of no current version found
2019-11-29 13:59:25 +01:00
Rhys Arkins
8d0aa39920
refactor(eslint): '@typescript-eslint/explicit-function-return-type' improvements
2019-11-24 08:43:24 +01:00
Zach Willard
9d9d7ec84e
feat(docker): add insecureRegistry hostRule ( #4590 )
2019-10-08 09:19:11 +02:00
Jamie Magee
0c538ebf78
feat(emoji): Adds support for configuring emoji types ( #4409 )
2019-09-25 11:40:16 +02:00
Michael Kriese
49325143bd
feat(sanitize): refactor ( #4479 )
2019-09-12 12:48:31 +02:00
Rhys Arkins
8a4e5ccb12
fix: add try/throw within util/regex ( #4453 )
2019-09-09 12:21:01 +02:00
Rhys Arkins
95d54baf83
feat: centralized sanitation ( #4446 )
...
Adds a sanitize function to host-rules that redacts tokens and passwords from issues and PRs.
Closes #4444
2019-09-07 14:51:00 +02:00
Michael Kriese
79f72f0b5d
chore: move clone to utils ( #4434 )
2019-09-06 06:48:25 +02:00
Michael Kriese
b0d1de8e59
fix: optional re2 package ( #4367 )
2019-08-25 14:29:51 +02:00
Michael Kriese
2b11b661ed
feat(config): convert to ts ( #4299 )
2019-08-23 15:46:31 +02:00
Michael Kriese
4c485b727a
feat(utils): convert to ts ( #4237 )
2019-08-15 08:26:21 +02:00
Rhys Arkins
ee101648fa
refactor: remove versioning destructuring ( #4284 )
2019-08-13 22:02:06 +02:00
Michael Kriese
fd847da4a8
fix: refactor exec ( #4155 )
2019-07-23 14:39:15 +02:00
Michael Kriese
d97737914e
refactor: add js type check ( #4098 )
2019-07-17 10:14:56 +02:00
Jamie Magee
f334c568a5
feat(typescript): convert logger to typescript ( #3671 )
2019-07-15 11:04:05 +02:00
praveshtora
aaa80f8055
fix: Pass PROXY in child Process ( #4013 )
2019-07-13 08:23:03 +02:00
Tanuel
ffbc39680d
fix(host-rules): Handle invalid URLs ( #4049 )
2019-07-11 16:24:45 +02:00
Michael Kriese
5a2eb752e0
fix(got): repoCache was not updated ( #3958 )
2019-06-24 13:17:02 +03:00
Rhys Arkins
1ccb45601e
refactor(package-rules): split logic into separate function and return earlier
2019-06-21 22:04:42 +02:00
Rhys Arkins
bc853ad309
fix(package-rules): check compareVersion is a version first
...
Closes #3952
2019-06-21 21:45:34 +02:00
Rhys Arkins
e13a223f18
fix(got): don’t cache streams
2019-06-21 07:59:25 +02:00
Rhys Arkins
9c63ac033d
fix(package-rules): check currentValue before isVersion
2019-06-15 08:53:19 +02:00
Rhys Arkins
73f953ca94
refactor(gitlab): use util/got/auth
2019-05-27 09:29:22 +02:00
Rhys Arkins
d4a00b7a4d
fix(github): use token not Bearer
2019-05-27 08:03:43 +02:00
Rhys Arkins
ec301b1c48
refactor(bitbucket-server): use util/got ( #3815 )
2019-05-26 20:51:27 +02:00
Rhys Arkins
aa38e6af4f
feat: host stats ( #3812 )
...
Collects latency stats for hosts and dumps them at the end of each run.
2019-05-26 09:33:09 +02:00
Rhys Arkins
84cd62349f
chore: downgrade got debugging to trace
...
# Conflicts:
# lib/util/got/host-rules.js
2019-05-25 20:12:40 +02:00
Rhys Arkins
490e0689a7
refactor(host-rules): cleaner got processing
2019-05-25 20:09:16 +02:00
Rhys Arkins
11c77d07f6
fix(host-rules): massage timeout properly
2019-05-25 19:57:25 +02:00
Rhys Arkins
06cb50cf10
fix: Revert "fix: Revert "feat(host-rules): configurable timeout""
...
This reverts commit e3937fa89a
.
2019-05-25 19:48:05 +02:00
Rhys Arkins
e3937fa89a
fix: Revert "feat(host-rules): configurable timeout"
...
This reverts commit c9bfccfd9c
.
2019-05-25 19:33:13 +02:00
Rhys Arkins
c9bfccfd9c
feat(host-rules): configurable timeout
...
Closes #3640
2019-05-25 17:36:46 +02:00
Rhys Arkins
bc076c37a0
feat: convert token to bearer auth automatically
2019-05-25 17:17:22 +02:00
Rhys Arkins
7a4f12777a
refactor(host-rules): simplify auth
2019-05-25 08:27:14 +02:00
Rhys Arkins
d550d554c7
fix(host-rule): always return an object
2019-05-25 07:52:02 +02:00
Rhys Arkins
5f11c5e8d9
feat: hostRules rewrite ( #3801 )
...
Rewrites hostRules for increased flexibility. Includes renames of existing fields within a hostRule:
- `endpoint` -> `baseUrl`
- `host` -> `hostName`
Additionally, `domainName` has been added. Migration scripts should take care of these for users but it's recommended to update configs to match the new fields anyway.
2019-05-24 17:40:39 +02:00
Rhys Arkins
87f2b04f4e
feat(host-rules): remove overrides option ( #3785 )
2019-05-21 15:12:53 +02:00
Rhys Arkins
c02abf0976
feat: rename hostRules.platform to hostRules.hostType ( #3768 )
...
Refactors hostRules to use field “hostType” instead of “platform”. hostType can include datasources like npm, maven, pypi, etc.
2019-05-21 13:20:09 +02:00
Michael Kriese
0ecc16baf0
chore(build): fix linting ( #3769 )
2019-05-21 11:15:50 +02:00
Michael Kriese
cc52c20533
feat(bitbucket-server): convert to typescript ( #3756 )
2019-05-20 15:08:18 +02:00
Rhys Arkins
ee218097dc
feat: refactor platform authentication ( #3758 )
2019-05-20 10:59:30 +02:00
Rhys Arkins
335a57364f
feat(host-rules): allow find by endpoint
2019-05-20 06:15:06 +02:00
Michael Kriese
2efc90613c
refactor: convert host-rules to ts ( #3730 )
2019-05-18 07:49:53 +02:00
Michael Kriese
1d474e409f
feat: add 60s timeout to all requests ( #3641 )
2019-05-10 11:54:01 +02:00
Rhys Arkins
2b4bf85b63
fix: run minimatch with dotfile matching enabled
2019-04-25 07:00:52 +02:00
Rhys Arkins
6471c64f4f
fix(host-rules): allow missing username
2019-04-18 10:19:00 +02:00
Dmitry
5d045c1e31
feat(package-rules): add datasources selector ( #3344 )
2019-03-12 07:27:49 +01:00
Rhys Arkins
5bb6802bab
refactor: rename deepcopy to clone
2019-03-11 23:43:30 +01:00
Rishabh Jain
8acc17eea4
feat(packageRules): support baseBranchList ( #3358 )
2019-03-11 17:42:30 +01:00
Rhys Arkins
57af6160c2
fix(package-rules): check lockedVersion against matchCurrentVersion
2019-03-10 08:24:21 +01:00
Rhys Arkins
3414421f6f
feat: got host rules ( #3327 )
2019-03-08 08:20:12 +01:00
Rhys Arkins
6417aba868
refactor: deepcopy
2019-03-07 10:56:06 +01:00
Rhys Arkins
aadeb23a28
logs: debug hostRule setting
2019-02-21 08:01:44 +01:00
Vladimir Starkov
8a841a7c81
feat(bitbucket): Bitbucket Server platform support ( #2774 )
...
Closes #2482
2019-02-07 20:04:23 +01:00
Rhys Arkins
a9332a8db0
feat: replace purl with datasource ( #3154 )
...
This deprecates the (internal) use of package URLs and instead replaces with `datasource`/`lookupName`.
Closes #3005
2019-02-04 09:41:22 +01:00
Rhys Arkins
5b985b713e
feat: got wrapper ( #3159 )
...
Wraps the `got` library in our own wrapper to add:
- Renovate user agent
- Memory cache wrapper
2019-02-03 19:53:44 +01:00
Rhys Arkins
dd73bc8c35
refactor: purl return subset
2019-01-30 10:39:52 +01:00
Rhys Arkins
48ac359e20
chore: refactor res purl
2019-01-30 10:35:08 +01:00
Rhys Arkins
64dfb59c21
refactor: purl registryUrls
2019-01-30 10:34:04 +01:00
Rhys Arkins
371003fabb
refactor: purl use subpath for lookupType
2019-01-30 10:23:44 +01:00
Rhys Arkins
b794c9ec84
refactor: maven repositoryUrls
2019-01-30 06:46:41 +01:00
Rhys Arkins
debc75f3f4
refactor: move lookupType out of qualifiers
2019-01-30 06:46:41 +01:00
Rhys Arkins
7e7ec8cc56
refactor: remove purl namespace and name
2019-01-30 06:46:41 +01:00
Rhys Arkins
f145e886a1
refactor: ignore purl.version
2019-01-30 06:46:41 +01:00
Rhys Arkins
82cc45b2e5
refactor: purl.type -> purl.datasource
2019-01-30 06:46:41 +01:00
Rhys Arkins
d0018cbd2d
refactor: purl.fullname -> lookupName
2019-01-30 06:46:41 +01:00
Ilya Savchuk
f6ed2256f7
refactor: changed all VSTS to Azure DevOps ( #3022 )
...
Rename all VSTS references to be Azure DevOps.
Closes #2810
BREAKING CHANGE: 'vsts' platform is now renamed to 'azure'
2019-01-22 09:41:06 +01:00
Rhys Arkins
b212f8d6df
feat: packageRules filter on depTypes
...
Needed for package managers that support more than one depType (e.g. Bundler).
Closes #3076
2019-01-21 05:44:14 +01:00
Fedor Lukyanov
1a7326efeb
refactor: Extract mask token function from npm datasource to utils ( #3040 )
...
Helps with https://github.com/renovatebot/renovate/pull/3039 😄
2019-01-07 06:38:24 +01:00
Rhys Arkins
8c2cad0647
feat: packageRules>languages
...
Adds new filter option “languages” to packageRules to filter on language time.
2018-12-11 12:55:12 +01:00
Rhys Arkins
31849e215b
feat: packageRules>managers
...
Adds new filter option `managers` to `packageRules`. This allows you to define rules that filter on package manager (e.g. pipenv) before applying the rule.
2018-12-11 12:40:35 +01:00
Rhys Arkins
6819764295
feat: packageRules>sourceUrlPrefixes
...
Adds filtering option “sourceUrlPrefixes” to allow matching updates based on one or more prefixes. Prefixes could be a full source repo, e.g. https://github.com/renovatebot/presets , or it could be an org prefix like https://github.com/renovatebot/
This will make monorepo groupings easier.
2018-12-11 12:03:09 +01:00
Rhys Arkins
6b12fc4ea4
refactor(versioning): use get function
2018-12-08 16:46:13 +01:00
Mike Bryant
05f08ee845
fix(docker): Merge correct platforms variable ( #2900 )
...
Fixes #2899
2018-12-05 18:46:14 +01:00
Ayoub Kaanich
08d22eba50
feat: Support setup.py files ( #2805 )
2018-11-15 18:42:01 +01:00
Rhys Arkins
ba80991bac
fix(hostRules): support endpoint-only rule
2018-10-15 13:43:17 +02:00
Rhys Arkins
fc9037a270
logs: correct depName/dependency
2018-09-20 12:13:18 +02:00
Rhys Arkins
ba1544800f
fix(docker): hostRules exception
2018-09-13 06:48:08 +02:00
Rhys Arkins
c92ba52766
fix(docker): don’t crash DOCKER_USERNAME DOCKER_PASSWORD
...
Definitely fixes the crash, hopefully the auth is fully working now too.
Closes #2512
2018-09-13 05:31:18 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules ( #2509 )
...
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
bc40c98f95
fix: check depName before matching
2018-09-07 10:23:40 +02:00
Vladimir Starkov
608d8c5be0
feat: Bitbucket Cloud support
...
Adds platform support for Bitbucket cloud.
Closes #136 , Closes #2238
2018-08-29 07:30:23 +02:00
Rhys Arkins
d1ee797e54
fix: add trailing / to endpoint
...
Closes #2363
2018-08-20 12:53:57 +02:00
Rhys Arkins
9555b27d9e
fix(lookup): use major/minor/patch updateType instead of bump
...
Helps https://github.com/renovatebot/config-help/issues/67 and https://github.com/renovatebot/config-help/issues/70#issuecomment-407595535
2018-07-25 08:58:17 +02:00
Ayoub Kaanich
219950399e
feat: endpoints credentials handling
2018-07-06 07:26:52 +02:00
Rhys Arkins
d4f2572651
fix: assign config.force after every mergeChildConfig
2018-07-05 18:55:00 +02:00
Rhys Arkins
0144bac228
fix: force config after each package rules apply
2018-07-05 12:37:46 +02:00
Rhys Arkins
6ba8722a2a
fix: don’t delete packageRules after apply
2018-07-05 12:29:37 +02:00
Rhys Arkins
8e14804a2c
fix: typo delete packageRules
2018-07-05 12:25:28 +02:00
Rhys Arkins
fb6271e4f7
refactor: rename update.type -> update.updateType
2018-07-04 10:11:53 +02:00
Rhys Arkins
38334fc362
feat: packageRules updateTypes
...
Adds an `updateTypes` field to `packageRules` that lets you specify rules based on update types such as major, minor, patch, pin, etc.
2018-07-04 09:30:29 +02:00
Rhys Arkins
068ff16ec4
fix: Revert "feat: endpoint credentials handling ( #2146 )"
...
This reverts commit 04e0ca1f80
.
2018-07-02 13:18:37 +02:00
Ayoub Kaanich
04e0ca1f80
feat: endpoint credentials handling ( #2146 )
...
Refactors credentials/token handling to rely less on env variables and instead use an endpoints middleware for credentials handling.
First step towards #2105
2018-07-02 10:01:42 +02:00
Rhys Arkins
4ccbc20bc1
fix: match current version ( #2135 )
...
fix: match current version
2018-06-16 09:28:11 +02:00
Rhys Arkins
71c662c11f
fix: purl return empty qualifiers object
2018-06-11 07:32:38 +02:00
Ayoub Kaanich
1a5ffae679
refactor: package rules use versionScheme
2018-06-03 18:32:44 +02:00
Ayoub Kaanich
6278410be1
refactor: remove semver.intersects, use matches instead
2018-06-03 17:13:51 +02:00
Rhys Arkins
bc7728f1d2
refactor: use purl.parse
2018-06-01 14:48:49 +02:00
Rhys Arkins
addf184473
feat: refactor getPackageUpdates for manager expansion ( #1994 )
...
The goal of this PR is to refactor npm's version lookup/grouping as much as possible to enable the same logic to be used for other package managers.
2018-05-28 09:09:22 +02:00
Rhys Arkins
7a1d30c8b6
refactor: move semver to lib/versioning
2018-05-21 17:30:55 +02:00
Rhys Arkins
6fbcc1ae73
fix: check for empty packageRules before applying
2018-05-06 12:04:48 +02:00
Rhys Arkins
1c6be50172
fix: move delete packageRules
2018-05-03 14:44:20 +02:00
Rhys Arkins
acafbbb66f
refactor: rename package rules config for readability
2018-05-03 14:42:27 +02:00
Rhys Arkins
45f3c4c765
refactor: move package rules logic to separate file
2018-05-03 14:41:04 +02:00
Rhys Arkins
0415a05cc4
refactor: move package-rules to separate file
2018-05-03 14:28:14 +02:00
Țurcanu Dragomir
305f094bd4
Added matchCurrentVersion selector to packageRules ( #1835 )
...
The matchCurrentVersion option sets a range of versions that a package update can be in. If the package's current version doesn't satisfy the matchCurrentVersion range, it won't match the rule.
Closes #1771
2018-04-27 05:45:22 +02:00
Rhys Arkins
6af4facf91
fix: refactor isValidSemver to avoid Invalid Version errors
2018-04-10 06:02:48 +02:00
Rhys Arkins
523b02fbc8
refactor: npm and semver ( #1817 )
2018-04-10 05:20:46 +02:00