Compare commits

...
This repository has been archived on 2022-10-07. You can view files and clone it, but cannot push or open issues or pull requests.

589 Commits

Author SHA1 Message Date
Karol Wypchło 3da3cf949f
Merge pull request #2255 from SkynetLabs/renovate/skynetlabs-webportal-health-check-1.x
chore(deps): update skynetlabs/webportal-health-check docker tag to v1
2022-10-06 01:47:34 +02:00
renovate[bot] 15d5d7c0d7
chore(deps): update skynetlabs/webportal-health-check docker tag to v1 2022-10-05 23:46:59 +00:00
Karol Wypchło 9559ec160c
Merge pull request #2254 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.4
2022-10-05 21:07:44 +02:00
renovate[bot] f21f718c13
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.4 2022-10-05 19:04:22 +00:00
Karol Wypchło f1ac4c5653
Merge pull request #2252 from SkynetLabs/renovate/certbot-dns-route53-1.x
chore(deps): update certbot/dns-route53 docker tag to v1.31.0
2022-10-05 09:56:53 +02:00
Karol Wypchło 17ea999288
Merge pull request #2253 from SkynetLabs/renovate/jaegertracing
chore(deps): update jaegertracing to v1.38.1
2022-10-05 09:56:13 +02:00
renovate[bot] f91cb72db7
chore(deps): update jaegertracing to v1.38.1 2022-10-05 01:35:25 +00:00
renovate[bot] f83f3cefe8
chore(deps): update certbot/dns-route53 docker tag to v1.31.0 2022-10-04 17:18:21 +00:00
Karol Wypchło e63fcbecb7
Merge pull request #2251 from SkynetLabs/renovate/mongo-4.x
chore(deps): update mongo docker tag to v4.4.17
2022-09-30 10:37:37 +02:00
Karol Wypchło 5ff2f5891e
Merge pull request #2250 from SkynetLabs/delete-skylink-dumps-older-than-week
delete skylink dumps older than week
2022-09-30 10:29:44 +02:00
renovate[bot] b7afcd1feb
chore(deps): update mongo docker tag to v4.4.17 2022-09-29 23:10:43 +00:00
Karol Wypchlo ba106d69f2
delete skylink dumps older than week 2022-09-29 19:48:59 +02:00
Karol Wypchło 8ce5c9d7e6
Merge pull request #2246 from SkynetLabs/amend-skyd-logrotate-and-add-pinner
Amend skyd logrotate and add pinner
2022-09-27 13:18:14 +02:00
Karol Wypchlo b2313c602a
new pinner logrotate config 2022-09-26 11:30:24 +02:00
Karol Wypchlo 2ea337a3b0
change skyd logrotate to copytruncate 2022-09-26 11:30:13 +02:00
Karol Wypchło 919d22b314
Merge pull request #2245 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.8
2022-09-23 14:30:13 +02:00
renovate[bot] 983602e5aa
chore(deps): update skynetlabs/pinner docker tag to v0.7.8 2022-09-23 12:26:22 +00:00
Karol Wypchło bb8485b1cc
Merge pull request #2244 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.7
2022-09-22 15:25:33 +02:00
renovate[bot] 91e8fad3b1
chore(deps): update skynetlabs/pinner docker tag to v0.7.7 2022-09-22 13:23:36 +00:00
Karol Wypchło 74b72f4f47
add skynet-webportal-skyd logrotate config 2022-09-22 12:33:47 +02:00
Karol Wypchło a940f2728f
add skynet-webportal-nginx logrotate config 2022-09-22 12:33:16 +02:00
Karol Wypchło 634c623e48
Merge pull request #2243 from SkynetLabs/revert-2237-logrotated
Revert "logrotate.d configuration"
2022-09-22 12:18:27 +02:00
Karol Wypchło d926c22aa4
Revert "logrotate.d configuration" 2022-09-22 12:13:09 +02:00
Karol Wypchło 9958b66faf
Merge pull request #2236 from SkynetLabs/remove-deploy-configuration
remove deploy configuration
2022-09-21 14:03:15 +02:00
Karol Wypchło 8381555ce7
Merge pull request #2237 from SkynetLabs/logrotated
logrotate.d configuration
2022-09-21 14:02:16 +02:00
Karol Wypchło 94860262a5
Merge pull request #2240 from SkynetLabs/renovate/skynetlabs-webportal-handshake-api-0.x
chore(deps): update skynetlabs/webportal-handshake-api docker tag to v0.1.3
2022-09-21 14:00:56 +02:00
Karol Wypchło c4243968e1
Merge pull request #2238 from SkynetLabs/revert-1428-sevey/mute-more-pings
Revert "Mute check failures unless server is down"
2022-09-21 14:00:47 +02:00
Karol Wypchło c49cb57315
Merge pull request #2239 from SkynetLabs/renovate/skynetlabs-webportal-dnslink-api-0.x
chore(deps): update skynetlabs/webportal-dnslink-api docker tag to v0.2.1
2022-09-21 14:00:39 +02:00
Karol Wypchło 1334537729
Merge pull request #2241 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.1
2022-09-21 14:00:24 +02:00
Karol Wypchło 823efb2238
Merge pull request #2242 from SkynetLabs/renovate/skynetlabs-webportal-website-0.x
chore(deps): update skynetlabs/webportal-website docker tag to v0.2.3
2022-09-21 13:59:43 +02:00
renovate[bot] b3c300d7bf
chore(deps): update skynetlabs/webportal-website docker tag to v0.2.3 2022-09-21 11:51:34 +00:00
renovate[bot] 89a263bfc6
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.1 2022-09-21 11:51:30 +00:00
renovate[bot] d5cc81f934
chore(deps): update skynetlabs/webportal-handshake-api docker tag to v0.1.3 2022-09-21 11:51:25 +00:00
renovate[bot] 1f0d66a33a
chore(deps): update skynetlabs/webportal-dnslink-api docker tag to v0.2.1 2022-09-21 11:51:20 +00:00
Karol Wypchło 686e20b8a3
use best gzip compression 2022-09-21 13:22:04 +02:00
Karol Wypchło 70b80bb072
use best gzip compression 2022-09-21 13:21:50 +02:00
Karol Wypchło 167a56383f
use best gzip compression 2022-09-21 13:21:27 +02:00
Karol Wypchło c054ffb0ea
Revert "Mute check failures unless server is down" 2022-09-20 15:18:34 +02:00
Karol Wypchlo 17e4d782ca
no need to logrotate 3 levels deep 2022-09-20 14:46:03 +02:00
Karol Wypchlo 4b52d3c671
logrotate.d 2022-09-20 13:51:40 +02:00
Karol Wypchlo c85d788939
remove deploy configuration 2022-09-19 15:16:57 +02:00
Karol Wypchło e4cd4bf991
Merge pull request #2235 from SkynetLabs/renovate/jaegertracing
chore(deps): update jaegertracing to v1.38.0
2022-09-19 12:49:24 +02:00
renovate[bot] 263b733480
chore(deps): update jaegertracing to v1.38.0 2022-09-16 15:26:08 +00:00
Ivaylo Novakov 7ddec93e59
Merge pull request #2232 from SkynetLabs/remove-outdated-readme-info
remove outdated readme info
2022-09-14 14:12:11 +02:00
Christopher Schinnerl ac7942640f
Merge pull request #2231 from SkynetLabs/cleanup-setup-scripts
remove outdated scripts
2022-09-14 14:08:13 +02:00
Christopher Schinnerl 46f8ef0836
Merge branch 'master' into remove-outdated-readme-info 2022-09-14 14:05:46 +02:00
Karol Wypchlo 63323685cc
bring back up and down scripts 2022-09-14 11:29:46 +02:00
Ivaylo Novakov e281e9ca78
Merge branch 'master' into cleanup-setup-scripts 2022-09-14 11:07:12 +02:00
Karol Wypchlo d753be9383
remove more unused scripts 2022-09-13 17:12:45 +02:00
Karol Wypchło bcb0c0cf24
Merge pull request #2233 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.6
2022-09-13 16:18:44 +02:00
Karol Wypchło 47046ab31e
Merge pull request #2234 from SkynetLabs/renovate/skynetlabs-skyd-1.x
chore(deps): update skynetlabs/skyd docker tag to v1.6.9
2022-09-13 16:18:28 +02:00
renovate[bot] be8359791e
chore(deps): update skynetlabs/skyd docker tag to v1.6.9 2022-09-13 14:06:35 +00:00
renovate[bot] 4689844014
chore(deps): update skynetlabs/pinner docker tag to v0.7.6 2022-09-13 14:06:30 +00:00
Karol Wypchło 1d1096fd3b
remove outdated readme info 2022-09-13 13:45:49 +02:00
Karol Wypchlo 08c21cafe4
remove outdated setup scripts 2022-09-13 13:39:00 +02:00
Ivaylo Novakov 378ce234dc
Merge pull request #2230 from SkynetLabs/renovate/skynetlabs-webportal-accounts-dashboard-2.x
chore(deps): update skynetlabs/webportal-accounts-dashboard docker tag to v2.1.1
2022-09-13 13:02:14 +02:00
renovate[bot] 3f66dd30dd
chore(deps): update skynetlabs/webportal-accounts-dashboard docker tag to v2.1.1 2022-09-13 10:44:12 +00:00
Karol Wypchło 1c3bcbc063
Update authorized_keys 2022-09-13 12:08:01 +02:00
Ivaylo Novakov 4ccbd351f5
Merge pull request #2229 from SkynetLabs/renovate/skynetlabs-webportal-nginx-1.x
chore(deps): update skynetlabs/webportal-nginx docker tag to v1
2022-09-13 11:13:28 +02:00
Ivaylo Novakov 00a1481091
Merge branch 'master' into renovate/skynetlabs-webportal-nginx-1.x 2022-09-13 11:12:58 +02:00
Ivaylo Novakov e566dad718
Merge pull request #2228 from SkynetLabs/renovate/skynetlabs-webportal-dnslink-api-0.x
chore(deps): update skynetlabs/webportal-dnslink-api docker tag to v0.2.0
2022-09-13 11:12:45 +02:00
renovate[bot] 2ec8b1bdec
chore(deps): update skynetlabs/webportal-nginx docker tag to v1 2022-09-12 10:23:43 +00:00
renovate[bot] 72e7de53db
chore(deps): update skynetlabs/webportal-dnslink-api docker tag to v0.2.0 2022-09-12 10:23:38 +00:00
Ivaylo Novakov cb81ff738b
Merge pull request #2178 from SkynetLabs/pj/abuse-scanner-updates
Update abuse-scanner compose file
2022-09-08 11:11:53 +02:00
Ivaylo Novakov 9477ae03a5
Merge pull request #2227 from SkynetLabs/renovate/certbot-dns-route53-1.x
chore(deps): update certbot/dns-route53 docker tag to v1.30.0
2022-09-08 11:10:54 +02:00
renovate[bot] 88bd55fe64
chore(deps): update certbot/dns-route53 docker tag to v1.30.0 2022-09-07 20:33:02 +00:00
PJ 2de3d03cd0
Bump image tag 2022-09-01 14:58:21 +02:00
PJ 47175686db
Update docker-compose file 2022-09-01 12:54:03 +02:00
Christopher Schinnerl b510f2e5c3
Merge pull request #2225 from SkynetLabs/renovate/skynetlabs-skyd-1.x
chore(deps): update skynetlabs/skyd docker tag to v1.6.8
2022-08-30 17:42:54 +02:00
renovate[bot] be3db7aa0f
chore(deps): update skynetlabs/skyd docker tag to v1.6.8 2022-08-30 15:41:47 +00:00
Christopher Schinnerl fd1dfb2185
Merge pull request #2224 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.5
2022-08-30 14:34:19 +02:00
renovate[bot] 7e0f429ec4
chore(deps): update skynetlabs/pinner docker tag to v0.7.5 2022-08-30 12:05:23 +00:00
Christopher Schinnerl 61cd003013
Merge pull request #2223 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.4
2022-08-25 17:31:58 +02:00
renovate[bot] 9d728b1855
chore(deps): update skynetlabs/pinner docker tag to v0.7.4 2022-08-25 15:18:37 +00:00
Karol Wypchło 681d0d95bc
Merge pull request #2222 from SkynetLabs/renovate/skynetlabs-webportal-website-0.x
chore(deps): update skynetlabs/webportal-website docker tag to v0.2.2
2022-08-25 16:50:36 +02:00
renovate[bot] 739b96cd5a
chore(deps): update skynetlabs/webportal-website docker tag to v0.2.2 2022-08-25 14:47:45 +00:00
Ivaylo Novakov e629e7bc7f
Merge pull request #2214 from SkynetLabs/ivo/jaeger_clean
Use Jaeger's own cleanup container
2022-08-25 13:37:22 +02:00
Karol Wypchło 7d33fbd93f
Merge pull request #2220 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.3
2022-08-25 13:35:45 +02:00
renovate[bot] 500fb3bfd7
chore(deps): update skynetlabs/pinner docker tag to v0.7.3 2022-08-25 11:35:12 +00:00
Karol Wypchło fd53ef99c1
Merge pull request #2219 from SkynetLabs/renovate/skynetlabs-skyd-1.x
chore(deps): update skynetlabs/skyd docker tag to v1.6.7
2022-08-25 10:43:00 +02:00
renovate[bot] 9964e276fc
chore(deps): update skynetlabs/skyd docker tag to v1.6.7 2022-08-25 08:42:26 +00:00
Karol Wypchło e378e3adf9
Merge pull request #2215 from SkynetLabs/renovate/docker.elastic.co-elasticsearch-elasticsearch-7.x
chore(deps): update docker.elastic.co/elasticsearch/elasticsearch docker tag to v7.17.6
2022-08-24 18:13:03 +02:00
Karol Wypchło 1caaebbefe
Merge pull request #2216 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.2
2022-08-24 18:12:37 +02:00
Karol Wypchło a6403b94c1
Merge pull request #2217 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update skynetlabs/webportal-nginx docker tag to v0.5.2
2022-08-24 18:12:19 +02:00
renovate[bot] 0e841cacda
chore(deps): update skynetlabs/webportal-nginx docker tag to v0.5.2 2022-08-24 15:48:09 +00:00
renovate[bot] 185fc811fb
chore(deps): update skynetlabs/pinner docker tag to v0.7.2 2022-08-24 15:48:04 +00:00
renovate[bot] eacdd78cc1
chore(deps): update docker.elastic.co/elasticsearch/elasticsearch docker tag to v7.17.6 2022-08-24 15:47:51 +00:00
Matthew Sevey 9ca5c48629
Merge pull request #2211 from SkynetLabs/renovate/skynetlabs-webportal-handshake-api-0.x
chore(deps): update skynetlabs/webportal-handshake-api docker tag to v0.1.2
2022-08-23 10:06:54 -04:00
Matthew Sevey 0aeb98ff76
Merge branch 'master' into renovate/skynetlabs-webportal-handshake-api-0.x 2022-08-23 10:04:41 -04:00
Matthew Sevey dfb5e32db5
Merge pull request #2212 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.0
2022-08-23 10:04:23 -04:00
Ivaylo Novakov 4a7ea93076
Cron is not a TTY. 2022-08-22 12:26:54 +02:00
Ivaylo Novakov 89f7b96d5e
Replace our in-house Jaeger cleanup script with their own container that does that. 2022-08-22 12:09:43 +02:00
Ivaylo Novakov 475bcc310a
Merge pull request #2213 from SkynetLabs/renovate/mongo-4.x
chore(deps): update mongo docker tag to v4.4.16
2022-08-22 11:57:08 +02:00
renovate[bot] d24edc4285
chore(deps): update mongo docker tag to v4.4.16 2022-08-20 01:41:23 +00:00
renovate[bot] d1e0ee0fe6
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.5.0 2022-08-19 17:21:24 +00:00
renovate[bot] ffd9af803a
chore(deps): update skynetlabs/webportal-handshake-api docker tag to v0.1.2 2022-08-19 17:21:19 +00:00
Christopher Schinnerl 655851cb69
Merge pull request #2208 from SkynetLabs/renovate/skynetlabs-skyd-1.x
chore(deps): update skynetlabs/skyd docker tag to v1.6.6
2022-08-18 17:45:23 +02:00
renovate[bot] 61e9d3170d
chore(deps): update skynetlabs/skyd docker tag to v1.6.6 2022-08-18 15:43:16 +00:00
Ivaylo Novakov 47cd62f793
Merge pull request #2203 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update skynetlabs/pinner docker tag to v0.7.1
2022-08-18 17:25:52 +02:00
renovate[bot] 36d65fadc8
chore(deps): update skynetlabs/pinner docker tag to v0.7.1 2022-08-18 15:25:26 +00:00
Ivaylo Novakov 96d876b1d2
Merge pull request #2207 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.4.0
2022-08-18 17:24:52 +02:00
renovate[bot] 8414d9b793
chore(deps): update skynetlabs/webportal-health-check docker tag to v0.4.0 2022-08-18 15:12:37 +00:00
Ivaylo Novakov c70bc4b953
Merge pull request #2206 from SkynetLabs/do-not-report-when-env-file-does-not-exist
do not report from dc when env file does not exist
2022-08-18 12:00:17 +02:00
Karol Wypchlo 169ca25d67
do not report from dc when env file does not exist 2022-08-16 10:36:54 +02:00
Karol Wypchło 36f37e9be8
Merge pull request #2205 from SkynetLabs/ivo/fix_dc
Fix the path at which `dc` looks for `.env`.
2022-08-16 10:24:25 +02:00
Ivaylo Novakov ab4468ebf5
Fix the path at which `dc` looks for `.env`. 2022-08-16 10:12:11 +02:00
Matthew Sevey e35a0c8354
Merge pull request #2204 from SkynetLabs/ivo/new_pinner
New pinner version.
2022-08-15 14:21:44 -04:00
Ivaylo Novakov 350d2e30fa
New pinner version. 2022-08-15 20:04:51 +02:00
Matthew Sevey 7deaf1c0b9
Merge pull request #2202 from SkynetLabs/allow-relative-call-to-dc-script
allow relative call to dc script
2022-08-15 09:47:59 -04:00
Ivaylo Novakov fd41aa0518
Merge pull request #2192 from SkynetLabs/remove-outdated-blocklist-scripts
remove outdated blocklist scripts
2022-08-15 10:30:47 +02:00
Karol Wypchło 5e1fd0dcf1
Merge branch 'master' into allow-relative-call-to-dc-script 2022-08-12 22:06:47 +02:00
Karol Wypchlo 063f0b0b7b
simplify script and add more information 2022-08-12 21:06:04 +02:00
Matthew Sevey fea1366075
Merge pull request #2201 from SkynetLabs/upgrade-docker-compose-version
upgrade docker compose to 3.8
2022-08-12 10:10:01 -04:00
Karol Wypchlo 747bc1659a
allow relative call to dc script 2022-08-11 23:29:27 +02:00
Karol Wypchlo ad423e9050
upgrade to 3.8 2022-08-11 23:13:03 +02:00
Karol Wypchło 259b25c8c1
Merge pull request #2193 from SkynetLabs/renovate/skynetlabs-skyd-1.x
chore(deps): update dependency skynetlabs/skyd to v1.6.5
2022-08-09 16:08:25 +02:00
renovate[bot] ed8a2e1f17
chore(deps): update dependency skynetlabs/skyd to v1.6.5 2022-08-09 14:06:38 +00:00
Karol Wypchlo e53a8ba46a
remove airtable blocklist scripts 2022-08-09 15:06:20 +02:00
Karol Wypchlo 9e1a8600a5
Revert "remove outdated blocklist scripts"
This reverts commit 0a26516bdf.
2022-08-09 15:05:11 +02:00
Karol Wypchlo 0a26516bdf
remove outdated blocklist scripts 2022-08-09 14:23:06 +02:00
Karol Wypchło 08dae2e238
Merge pull request #2191 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update dependency skynetlabs/webportal-nginx to v0.5.1
2022-08-09 13:46:12 +02:00
renovate[bot] 1b1ecb2c11
chore(deps): update dependency skynetlabs/webportal-nginx to v0.5.1 2022-08-09 11:38:19 +00:00
Christopher Schinnerl 088bef8937
Merge pull request #2190 from SkynetLabs/add-args-to-skyd-example
add args to skyd service example
2022-08-09 10:24:19 +02:00
Karol Wypchlo 43d1da72fb
add args to skyd service example 2022-08-09 10:23:04 +02:00
Karol Wypchło 67313136df
Merge pull request #2189 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update dependency skynetlabs/pinner to v0.6.0
2022-08-05 16:25:15 +02:00
Karol Wypchło 60d767cf69
Merge pull request #2188 from SkynetLabs/renovate/skynetlabs-webportal-dnslink-api-0.x
chore(deps): update dependency skynetlabs/webportal-dnslink-api to v0.1.2
2022-08-05 16:25:06 +02:00
renovate[bot] 7a34fc914d
chore(deps): update dependency skynetlabs/pinner to v0.6.0 2022-08-05 14:24:20 +00:00
renovate[bot] d85f24428b
chore(deps): update dependency skynetlabs/webportal-dnslink-api to v0.1.2 2022-08-05 14:24:13 +00:00
Matthew Sevey d6a6f4f878
Merge pull request #2185 from SkynetLabs/karol/sky-1397-switch-to-using-docker-skyd-image-in
use skynetlabs/skyd image
2022-08-05 10:16:49 -04:00
Karol Wypchło c8ff1fb7f4
bump to v1.6.4 2022-08-05 16:14:20 +02:00
Karol Wypchło a63689ed53
Merge pull request #2186 from SkynetLabs/renovate/jaegertracing
chore(deps): update jaegertracing to v1.37.0
2022-08-05 16:01:56 +02:00
renovate[bot] 63465b930e
chore(deps): update jaegertracing to v1.37.0 2022-08-03 21:02:43 +00:00
Karol Wypchlo a7c18b85c1
use skynetlabs/skyd:1.6.3 2022-08-01 16:52:32 +02:00
Ivaylo Novakov fb2ba712f4
Merge pull request #2183 from SkynetLabs/renovate/skynetlabs-webportal-accounts-dashboard-2.x
chore(deps): update dependency skynetlabs/webportal-accounts-dashboard to v2.1.0
2022-08-01 16:37:23 +02:00
Ivaylo Novakov 7e2d69cc9f
Merge pull request #2182 from SkynetLabs/renovate/skynetlabs-skynet-accounts-1.x
chore(deps): update dependency skynetlabs/skynet-accounts to v1.3.0
2022-08-01 16:36:58 +02:00
Ivaylo Novakov 591ef6ab69
Merge pull request #2181 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update dependency skynetlabs/pinner to v0.5.0
2022-08-01 16:36:36 +02:00
Ivaylo Novakov 649914dc18
Merge pull request #2180 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update dependency skynetlabs/webportal-nginx to v0.5.0
2022-08-01 16:36:02 +02:00
Karol Wypchlo aa0a91472b
use skynetlabs/skyd:1.6.2 2022-08-01 13:48:58 +02:00
renovate[bot] 45feb45d31
chore(deps): update dependency skynetlabs/webportal-accounts-dashboard to v2.1.0 2022-08-01 10:55:23 +00:00
renovate[bot] 1f13674785
chore(deps): update dependency skynetlabs/skynet-accounts to v1.3.0 2022-08-01 10:55:18 +00:00
renovate[bot] ad743b3a3d
chore(deps): update dependency skynetlabs/pinner to v0.5.0 2022-08-01 10:55:13 +00:00
renovate[bot] a78f1d2745
chore(deps): update dependency skynetlabs/webportal-nginx to v0.5.0 2022-07-29 12:10:54 +00:00
Karol Wypchło a41ea10f64
upgrade to handshakeorg/hsd:4.0.2 (#2179)
* use handshakeorg/hsd:4.0.2

* add --no-auth
2022-07-29 12:05:01 +02:00
PJ 82e869bf34
Update abuse-scanner compose file 2022-07-27 16:06:37 +02:00
Ivaylo Novakov c7d445e44a
Merge pull request #2177 from SkynetLabs/ivo/log_hsd
Show HSD logs by default.
2022-07-25 19:48:04 +02:00
Ivaylo Novakov 61f153efe6
Remove the var altogether. 2022-07-25 20:03:41 +03:00
Ivaylo Novakov 03df7c7b33
Show HSD logs by default. 2022-07-25 19:28:56 +03:00
Ivaylo Novakov deaf20306a
Merge pull request #2164 from SkynetLabs/improve-certbot-docs
add readme note about certbot plugin
2022-07-25 12:39:46 +02:00
Karol Wypchło 4ca5bb397e
Merge pull request #2176 from SkynetLabs/remove-codeql
remove codeql
2022-07-20 11:57:18 +02:00
Karol Wypchło f6fbf4242d
remove codeql 2022-07-19 10:51:28 +02:00
Michał Leszczyk 453f1210ab
Merge pull request #2175 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update dependency skynetlabs/webportal-nginx to v0.4.0
2022-07-11 11:42:46 +02:00
renovate[bot] b636894aa2
chore(deps): update dependency skynetlabs/webportal-nginx to v0.4.0 2022-07-11 09:41:30 +00:00
Michał Leszczyk fb75018ce0
Merge pull request #2172 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update dependency skynetlabs/webportal-health-check to v0.3.0
2022-07-11 11:09:03 +02:00
Michał Leszczyk 8ca17995e2
Merge pull request #2173 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update dependency skynetlabs/pinner to v0.4.1
2022-07-11 11:07:29 +02:00
Michał Leszczyk dd74ad8b3b
Merge pull request #2174 from SkynetLabs/renovate/skynetlabs-webportal-accounts-dashboard-2.x
chore(deps): update dependency skynetlabs/webportal-accounts-dashboard to v2
2022-07-11 11:07:09 +02:00
Michał Leszczyk d13a4ae154
Don't pass GATSBY_ env vars to dashboard anymore (#2163)
* Don't pass GATSBY_ env vars to dashboard anymore

* Bump dashboard image to 2.0.0
2022-07-11 11:03:19 +02:00
renovate[bot] 79c8cd997a
chore(deps): update dependency skynetlabs/webportal-accounts-dashboard to v2 2022-07-10 13:44:11 +00:00
renovate[bot] 2c3978babf
chore(deps): update dependency skynetlabs/pinner to v0.4.1 2022-07-08 15:29:01 +00:00
Karol Wypchło 2f2c90f83e
Merge branch 'master' into improve-certbot-docs 2022-07-08 10:50:58 +02:00
Karol Wypchlo f3ec6f5f33
cloudflare example 2022-07-08 10:49:19 +02:00
Karol Wypchło b2814a68d9
Merge pull request #2171 from SkynetLabs/karol/sky-1240-use-remote-sia-dockerfile-until-ansible
use remote sia dockerfile until ansible is ready to use image
2022-07-08 10:34:25 +02:00
Ivaylo Novakov 4f7729052c
Merge pull request #2166 from SkynetLabs/ivo/pinner_log_file
Define a log file for pinner.
2022-07-08 10:15:50 +02:00
renovate[bot] 60717027dd
chore(deps): update dependency skynetlabs/webportal-health-check to v0.3.0 2022-07-07 11:12:58 +00:00
Karol Wypchlo 266e9a9307
remove unused PORTAL_MODULES env variable 2022-07-06 18:51:01 +02:00
Karol Wypchlo dd5e362b2d
adjust command for new skyd container 2022-07-06 18:48:10 +02:00
Karol Wypchlo 5031229e18
remove dockerfile linter from this repository 2022-07-06 18:44:35 +02:00
Karol Wypchlo 241de3f2ae
use remote sia dockerfile 2022-07-06 18:40:24 +02:00
Matthew Sevey 7b3d8d1430
Merge pull request #2152 from SkynetLabs/add-davids-pub-key
Update authorized_keys
2022-07-06 10:46:53 -04:00
David Vorick a395f84cdb
Merge branch 'master' into add-davids-pub-key 2022-07-06 10:46:33 -04:00
Karol Wypchło 59af9b8ae6
Update setup-scripts/support/authorized_keys 2022-07-06 15:28:40 +02:00
Karol Wypchło 743b5940d6
Merge pull request #2170 from SkynetLabs/renovate/certbot-dns-route53-1.x
chore(deps): update dependency certbot/dns-route53 to v1.29.0
2022-07-06 10:48:30 +02:00
Karol Wypchło a6868085a6
Merge pull request #2165 from SkynetLabs/renovate/jaegertracing
chore(deps): update jaegertracing to v1.36.0
2022-07-06 10:48:19 +02:00
Ivaylo Novakov 44a0f74bd2
Merge pull request #2167 from SkynetLabs/renovate/skynetlabs-skynet-accounts-1.x
chore(deps): update dependency skynetlabs/skynet-accounts to v1.2.3
2022-07-06 10:04:50 +02:00
Ivaylo Novakov 1f2e274e55
Merge pull request #2168 from SkynetLabs/renovate/skynetlabs-pinner-0.x
chore(deps): update dependency skynetlabs/pinner to v0.4.0
2022-07-06 10:04:26 +02:00
Ivaylo Novakov 2d28208722
Merge pull request #2169 from SkynetLabs/renovate/mongo-4.x
chore(deps): update dependency mongo to v4.4.15
2022-07-06 09:44:27 +02:00
renovate[bot] 2941d33ee5
chore(deps): update dependency certbot/dns-route53 to v1.29.0 2022-07-06 02:53:05 +00:00
renovate[bot] 62e300ca0c
chore(deps): update dependency mongo to v4.4.15 2022-07-06 00:11:49 +00:00
renovate[bot] 04f3579f60
chore(deps): update dependency skynetlabs/pinner to v0.4.0 2022-07-05 15:35:57 +00:00
renovate[bot] 9e8def4c5d
chore(deps): update dependency skynetlabs/skynet-accounts to v1.2.3 2022-07-05 15:35:52 +00:00
Ivaylo Novakov 6bfc12287d
Clean up redundant code. 2022-07-05 17:11:41 +03:00
Ivaylo Novakov 919061a6ec
Define a log file for pinner. 2022-07-05 16:23:46 +03:00
renovate[bot] 975ede05f5
chore(deps): update jaegertracing to v1.36.0 2022-07-05 13:00:10 +00:00
Karol Wypchlo db579f6ebd
add readme note about certbot plugin 2022-07-01 16:40:34 +02:00
Michał Leszczyk beb6e2c3af
Merge pull request #2162 from SkynetLabs/renovate/docker.elastic.co-elasticsearch-elasticsearch-7.x
chore(deps): update dependency docker.elastic.co/elasticsearch/elasticsearch to v7.17.5
2022-06-29 13:46:31 +02:00
Ivaylo Novakov 5a47c89e59
Merge pull request #2150 from SkynetLabs/renovate/jaegertracing
chore(deps): update jaegertracing to v1.35.2
2022-06-29 11:18:25 +02:00
renovate[bot] b3d344ec81
chore(deps): update dependency docker.elastic.co/elasticsearch/elasticsearch to v7.17.5 2022-06-28 16:51:56 +00:00
Matthew Sevey 6343cff81b
Merge pull request #2161 from SkynetLabs/karol/sky-1133-set-codeowners-for-skynet-webportal
Create CODEOWNERS
2022-06-28 12:50:00 -04:00
Ivaylo Novakov c341e3e4f8
Merge pull request #2159 from SkynetLabs/renovate/skynetlabs-blocker-0.x
chore(deps): update dependency skynetlabs/blocker to v0.1.2
2022-06-28 11:37:40 +02:00
Ivaylo Novakov e3be698f34
Merge pull request #2160 from SkynetLabs/renovate/skynetlabs-abuse-scanner-0.x
chore(deps): update dependency skynetlabs/abuse-scanner to v0.2.0
2022-06-28 11:37:23 +02:00
Karol Wypchło dd192c11b2
Create CODEOWNERS 2022-06-28 10:36:30 +02:00
renovate[bot] 8bc3da2bfb
chore(deps): update dependency skynetlabs/abuse-scanner to v0.2.0 2022-06-27 18:16:48 +00:00
renovate[bot] b57dd97b24
chore(deps): update dependency skynetlabs/blocker to v0.1.2 2022-06-27 18:16:43 +00:00
Ivaylo Novakov d00a472b94
Merge pull request #2157 from SkynetLabs/renovate/skynetlabs-webportal-health-check-0.x
chore(deps): update dependency skynetlabs/webportal-health-check to v0.2.0
2022-06-27 16:15:01 +02:00
Ivaylo Novakov e4178ec85a
Merge pull request #2156 from SkynetLabs/renovate/skynetlabs-webportal-website-0.x
chore(deps): update dependency skynetlabs/webportal-website to v0.2.1
2022-06-27 16:14:45 +02:00
Ivaylo Novakov e9c7613c08
Merge pull request #2155 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update dependency skynetlabs/webportal-nginx to v0.3.3
2022-06-27 16:14:23 +02:00
Ivaylo Novakov 6327e5a961
Merge pull request #2154 from SkynetLabs/renovate/skynetlabs-skynet-accounts-1.x
chore(deps): update dependency skynetlabs/skynet-accounts to v1.2.2
2022-06-27 16:14:07 +02:00
renovate[bot] fa156a208d
chore(deps): update dependency skynetlabs/webportal-health-check to v0.2.0 2022-06-27 14:11:14 +00:00
renovate[bot] 46d1099561
chore(deps): update dependency skynetlabs/webportal-website to v0.2.1 2022-06-27 14:11:08 +00:00
renovate[bot] cdf5c3f732
chore(deps): update dependency skynetlabs/webportal-nginx to v0.3.3 2022-06-27 14:11:03 +00:00
renovate[bot] f17e78f7c4
chore(deps): update dependency skynetlabs/skynet-accounts to v1.2.2 2022-06-27 11:01:11 +00:00
Matthew Sevey e273491360
Update authorized_keys 2022-06-25 23:48:35 -04:00
Christopher Schinnerl 22a1ac6348
Merge pull request #2151 from SkynetLabs/renovate/skynetlabs-webportal-website-0.x
chore(deps): update dependency skynetlabs/webportal-website to v0.2.0
2022-06-21 17:37:10 +02:00
renovate[bot] d88c3b65fa
chore(deps): update dependency skynetlabs/webportal-website to v0.2.0 2022-06-21 15:32:28 +00:00
renovate[bot] a603879277
chore(deps): update jaegertracing to v1.35.2 2022-06-21 15:31:38 +00:00
Ivaylo Novakov e01752d5aa
Merge pull request #2148 from SkynetLabs/group-renovate-jaegertracing
group renovate jaegertracing
2022-06-21 17:12:29 +02:00
Ivaylo Novakov fb46a740cc
Merge pull request #2139 from SkynetLabs/renovate/mongo-4.x
chore(deps): update dependency mongo to v4.4.14
2022-06-21 17:11:21 +02:00
Ivaylo Novakov f0531b0831
Merge pull request #2140 from SkynetLabs/renovate/certbot-dns-route53-1.x
chore(deps): update dependency certbot/dns-route53 to v1.28.0
2022-06-21 17:09:08 +02:00
Ivaylo Novakov 4a7cbd7c00
Merge pull request #2141 from SkynetLabs/renovate/docker.elastic.co-elasticsearch-elasticsearch-7.x
chore(deps): update dependency docker.elastic.co/elasticsearch/elasticsearch to v7.17.4
2022-06-21 17:08:40 +02:00
Christopher Schinnerl 1a8791e814
Merge pull request #2149 from SkynetLabs/renovate/skynetlabs-webportal-nginx-0.x
chore(deps): update dependency skynetlabs/webportal-nginx to v0.3.1
2022-06-21 17:06:19 +02:00
renovate[bot] c1f6ae9e04
chore(deps): update dependency skynetlabs/webportal-nginx to v0.3.1 2022-06-21 15:01:58 +00:00
Karol Wypchlo cbc3d6560e
group renovate jaegertracing 2022-06-21 13:40:45 +02:00
renovate[bot] de310cf873
chore(deps): update dependency docker.elastic.co/elasticsearch/elasticsearch to v7.17.4 2022-06-21 11:35:37 +00:00
renovate[bot] 7719089dbd
chore(deps): update dependency certbot/dns-route53 to v1.28.0 2022-06-21 11:35:33 +00:00
renovate[bot] 990ad41c0f
chore(deps): update dependency mongo to v4.4.14 2022-06-21 11:35:28 +00:00
Christopher Schinnerl 61f85a9109
Merge pull request #2138 from SkynetLabs/renovate/configure
Configure Renovate
2022-06-21 13:33:31 +02:00
Karol Wypchlo 4e18dfaca0
configure only docker-compose files 2022-06-21 13:26:51 +02:00
renovate[bot] 66b12f1d77
chore(deps): add renovate.json 2022-06-21 11:00:02 +00:00
Michał Leszczyk 65d9b7ddb3
Merge pull request #2135 from SkynetLabs/update-webportal-nginx-to-version-0.3.0
update webportal-nginx to version 0.3.0
2022-06-21 12:38:14 +02:00
Karol Wypchło 09c0fcfc35
update webportal-nginx to version 0.3.0 2022-06-21 11:22:26 +02:00
Karol Wypchło 4474b3e5cb
Merge pull request #2134 from SkynetLabs/bump-dashboard-to-1.1.2
Bump webportal-accounts-dashboard to 1.1.2
2022-06-20 15:53:43 +02:00
Michał Leszczyk 582526b735
Bump webportal-accounts-dashboard to 1.1.2 2022-06-20 15:39:01 +02:00
Matthew Sevey 7d62814e11
Merge pull request #2133 from SkynetLabs/bump-dashboard-n-accounts
Bump dashboard image to 1.1.1
2022-06-09 11:20:59 -04:00
Michał Leszczyk 79c41d5979
Bump dashboard image to 1.1.1 2022-06-09 17:17:13 +02:00
Ivaylo Novakov a02887c13a
Merge pull request #2132 from SkynetLabs/ivo/bump
Bump pinner to 0.3.1 and accounts to 1.2.0.
2022-06-08 16:23:38 +02:00
Ivaylo Novakov a24a54aed9
Bump pinner to 0.3.1 and accounts to 1.2.0. 2022-06-08 15:50:43 +02:00
Matthew Sevey 7f2f35db7b
Merge pull request #2129 from SkynetLabs/sky-762
ops: configure new dashboard
2022-06-02 09:38:13 -04:00
Michał Leszczyk 8a2cbcc5e8
ops: bump webportal-nginx to 0.2.0 2022-06-02 15:37:11 +02:00
Matthew Sevey aa9dbc3b17
Merge branch 'master' into sky-762 2022-06-02 09:29:15 -04:00
Ivaylo Novakov ff0035c89b
Merge pull request #2130 from SkynetLabs/ivo/bump_versions
Bump pinner and accounts versions.
2022-06-02 15:28:12 +02:00
Ivaylo Novakov 145fb0807c
Bump pinner version to 0.3.0.
Bump accounts version to 1.1.1.
2022-06-02 15:20:18 +02:00
Michał Leszczyk b2731e820b
ops: bump webportal-accounts-dashboard to 1.1.0 2022-06-02 15:11:30 +02:00
Michał Leszczyk 936c1a5cdd
ops: configure new dashboard 2022-06-01 14:25:21 +02:00
Matthew Sevey 3eded4bb0c
Merge pull request #2109 from SkynetLabs/matt/sky-585-update-webportal-repo
remove dashboard related code
2022-05-27 09:43:05 -04:00
Matthew Sevey 0450b35016
Merge branch 'master' into matt/sky-585-update-webportal-repo 2022-05-27 09:39:16 -04:00
Karol Wypchło 9ec9c5630f
Merge pull request #2110 from SkynetLabs/matt/sky-567-pr-to-update-docker-compose-on-webportal
Remove Health-Check package
2022-05-27 15:37:53 +02:00
Matthew Sevey d459a7eab5
Fix merge conflicts 2022-05-27 09:35:19 -04:00
Matthew Sevey e30efa45fa
Fix dependabot file 2022-05-27 09:32:56 -04:00
Matthew Sevey 417c7afe58
Merge branch 'matt/sky-567-pr-to-update-docker-compose-on-webportal' of github.com:SkynetLabs/skynet-webportal into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 09:32:05 -04:00
Matthew Sevey 56c5b444e3
Merge branch 'matt/sky-567-pr-to-update-docker-compose-on-webportal' of github.com:SkynetLabs/skynet-webportal into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 09:31:38 -04:00
Karol Wypchło fbd03b87ed
Merge branch 'master' into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 15:31:29 +02:00
Matthew Sevey f3f4220053
Merge branch 'matt/sky-567-pr-to-update-docker-compose-on-webportal' of github.com:SkynetLabs/skynet-webportal into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 09:30:47 -04:00
Karol Wypchło 2615916ee6
Merge branch 'master' into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 15:30:29 +02:00
Karol Wypchło 819aa17499
Merge branch 'master' into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 15:29:31 +02:00
Matthew Sevey 1dbd2bab76
Merge branch 'master' into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 09:29:29 -04:00
Matthew Sevey b5c2d4cda8
Merge branch 'master' into matt/sky-585-update-webportal-repo 2022-05-27 09:28:27 -04:00
Matthew Sevey df0e949bee
Merge branch 'matt/sky-567-pr-to-update-docker-compose-on-webportal' of github.com:SkynetLabs/skynet-webportal into matt/sky-567-pr-to-update-docker-compose-on-webportal 2022-05-27 09:26:04 -04:00
Matthew Sevey 9126a45352
Merge pull request #2108 from SkynetLabs/matt/sky-571-update-webportal-docker-compose
Remove dsn-link related code and files
2022-05-27 09:25:48 -04:00
Karol Wypchło 831565f4a2
Merge branch 'master' into matt/sky-571-update-webportal-docker-compose 2022-05-27 15:25:43 +02:00
Karol Wypchło 227df6cc28
Update docker-compose.yml
Co-authored-by: Michał Leszczyk <michasko37@gmail.com>
2022-05-27 15:24:05 +02:00
Karol Wypchło 82659c481a
Merge pull request #2112 from SkynetLabs/matt/sky-593-nginx-update-webportal-docker-compose
Remove NGINX code
2022-05-27 15:20:47 +02:00
Matthew Sevey 91b55e67ff
Merge pull request #2111 from SkynetLabs/matt/sky-577-handshake-update-webportal
Remove handshake API code
2022-05-27 09:19:35 -04:00
Karol Wypchło 09e66279f7
Merge pull request #2113 from SkynetLabs/matt/sky-702-remove-website-subpackage-from-webportal
Remove website subpackage from webportal
2022-05-27 15:18:04 +02:00
Matthew Sevey b9798dab14
Merge pull request #2107 from SkynetLabs/matt/sky-665-update-webportal-repo
Remove dashboard V2
2022-05-27 09:12:52 -04:00
Karol Wypchlo 591dfa37a6
clean up dependabot configuration 2022-05-27 12:52:18 +02:00
Karol Wypchło 9446f9bb75
Merge branch 'master' into matt/sky-665-update-webportal-repo 2022-05-27 12:49:59 +02:00
Karol Wypchło 93ffd77d54
Merge branch 'master' into matt/sky-585-update-webportal-repo 2022-05-27 12:49:28 +02:00
Karol Wypchlo ca40bc1bc0
clean up dependabot health-check configuration 2022-05-27 12:37:33 +02:00
Matthew Sevey 2ef8c7c288
Update health check image 2022-05-27 12:35:25 +02:00
Matthew Sevey ba72d340ab
Remove Health-Check package 2022-05-27 12:35:23 +02:00
Karol Wypchlo cccab4d497
clean up website dependabot and gitignore 2022-05-27 12:29:58 +02:00
Karol Wypchło 286445365d
Merge branch 'master' into matt/sky-702-remove-website-subpackage-from-webportal 2022-05-27 12:28:21 +02:00
Karol Wypchlo 4a72b7e5e5
clean up dnslink-api dependabot config 2022-05-27 11:34:01 +02:00
Karol Wypchło 51926242de
Merge branch 'master' into matt/sky-571-update-webportal-docker-compose 2022-05-27 11:32:46 +02:00
Karol Wypchlo 9cb81842a8
clean up handshake-api dependabot 2022-05-27 11:29:04 +02:00
Karol Wypchło 06c1847857
Merge branch 'master' into matt/sky-577-handshake-update-webportal 2022-05-27 11:07:18 +02:00
Karol Wypchlo eafd2da5bd
remove local nginx references 2022-05-27 10:46:15 +02:00
Karol Wypchło 5bd7f9a946
Merge branch 'master' into matt/sky-593-nginx-update-webportal-docker-compose 2022-05-27 10:42:34 +02:00
Matthew Sevey dab29fead5
Merge pull request #2106 from SkynetLabs/fix-single-server-portals-health-check
skip server_domain check on single server portals
2022-05-27 03:04:04 -04:00
Matthew Sevey b1f0019220
Update docker image 2022-05-26 14:32:33 -04:00
Matthew Sevey 40381e0afb
Update image 2022-05-26 14:24:00 -04:00
Matthew Sevey f3cb494d1a
Update docker image 2022-05-26 14:16:19 -04:00
Matthew Sevey 1533b1527e
Update image 2022-05-26 13:43:00 -04:00
Matthew Sevey f25c2ab7bf
Set to stock website image 2022-05-26 13:22:40 -04:00
Matthew Sevey cc66e397a3
update docke compose for new website docker image 2022-05-26 13:17:48 -04:00
Matthew Sevey 2c00bdd86f
remove website files 2022-05-26 13:16:26 -04:00
Matthew Sevey c3c369c312
Update health check image 2022-05-26 13:12:58 -04:00
Matthew Sevey 526445f499
update docker compose 2022-05-25 15:25:23 -04:00
Matthew Sevey 26d255bee7
Forgot to save fiel 2022-05-25 15:24:17 -04:00
Matthew Sevey 37a56e5568
Remove NGINX code 2022-05-25 15:18:12 -04:00
Matthew Sevey db39492bdb
Remove handshake API code 2022-05-25 15:14:26 -04:00
Matthew Sevey 68f36209f8
Fix branch name 2022-05-25 15:06:11 -04:00
Matthew Sevey f8331577f6
fix branch name 2022-05-25 15:04:13 -04:00
Matthew Sevey b1884bb365
Remove Health-Check package 2022-05-25 11:47:53 -04:00
Matthew Sevey c4a8020f0b
update docker compose 2022-05-25 10:55:46 -04:00
Matthew Sevey 0041c5cd90
remove dashboard related code 2022-05-25 10:53:55 -04:00
Matthew Sevey 623319da42
Remove DNSlint related code and files 2022-05-25 10:50:13 -04:00
Matthew Sevey a69b77d328
remove storybook action 2022-05-25 09:35:48 -04:00
Matthew Sevey 9e20478f4c
Remove outdated github actions 2022-05-25 09:31:37 -04:00
Matthew Sevey 6085224a5d
remove dashboard v2 files and update docker compose 2022-05-25 09:30:54 -04:00
Karol Wypchlo 4af101cb4c
skip server_domain check on single server portals 2022-05-25 15:15:33 +02:00
Matthew Sevey 98d6884391
Merge pull request #2105 from SkynetLabs/michalleszczyk/sky-652-fix-subscription-plans-view
Dashboard V2: Fix extraneous tiers on /payments screen
2022-05-25 08:50:57 -04:00
Michał Leszczyk 599bdc1338
Dashboard V2: Fix extraneous tiers on /payments screen 2022-05-24 18:58:12 +02:00
Ivaylo Novakov 3b142fe0d6
Merge pull request #2104 from SkynetLabs/revert-2103
Revert #2103
2022-05-24 18:24:30 +02:00
Marcin S 734cc3bc57
Revert #2103 2022-05-24 10:59:16 -05:00
Marcin S 49a2dfcd14
Merge pull request #2103 from SkynetLabs/marcins/sky-630-update-upload-widget-on-website-to-use
Update upload widget on website to use latest beta
2022-05-24 10:40:59 -05:00
Karol Wypchło 7b9f1ebac5
Merge pull request #2096 from SkynetLabs/ivo/pinner
Add Pinner to the stack.
2022-05-24 15:07:22 +02:00
Ivaylo Novakov 78c5b9947b
set other log level 2022-05-24 13:48:58 +02:00
Ivaylo Novakov d33b7c8296
Merge branch 'master' into ivo/pinner 2022-05-24 11:44:03 +02:00
Ivaylo Novakov 0bcdf36f27
Set a pinner version. 2022-05-24 11:04:39 +02:00
Marcin S 64162d68c4
Update upload widget on website to use latest beta 2022-05-23 10:33:50 -05:00
Karol Wypchło df3a33db34
Merge pull request #2101 from SkynetLabs/fix-server-domain
server domain workaround for single server portals
2022-05-17 14:56:37 +02:00
Karol Wypchło e2f7e646b7
Merge pull request #2102 from SkynetLabs/do-not-build-dashboard-v2
Do not build dashboard-v2
2022-05-17 14:55:25 +02:00
Karol Wypchło 4389406466
Merge pull request #2099 from SkynetLabs/update-skynet-accounts
update skynet-accounts version
2022-05-17 14:54:14 +02:00
Karol Wypchło 26df82a263
Do not build dashboard-v2
Do not build dashboard-v2 until we're ready to make a switch
2022-05-17 14:34:38 +02:00
Karol Wypchlo 1ac4c04e42
server domain workaround for single server portals 2022-05-17 13:04:34 +02:00
Karol Wypchło 9f7b676ec3
update skynet-accounts version 2022-05-16 16:30:41 +02:00
Ivaylo Novakov d675d7184d
Merge pull request #2097 from SkynetLabs/fil/sky-381-fix-s3-backups-missing-logs-dir
Fil/sky 381 fix s3 backups missing logs dir
2022-05-11 11:37:34 +02:00
Filip Rysavy 600ed72bbb
Rename logs dummy file 2022-05-11 10:29:07 +02:00
Filip Rysavy 2cf142ef45
Update comment 2022-05-11 10:06:57 +02:00
Filip Rysavy 139ba377d8
Fix missing logs dir for backup/cron scripts 2022-05-11 10:04:31 +02:00
Ivaylo Novakov 8d74c86254
Fix the service name. 2022-05-10 17:18:10 +02:00
Ivaylo Novakov 0128b492bc
Add changelog. 2022-05-10 17:16:49 +02:00
Ivaylo Novakov 77c09bf902
Add Pinner service to the stack. 2022-05-10 17:13:50 +02:00
Karol Wypchło 32e5130504
website: dynamic emails and site metadata (#2056)
* emails should use current domain dynamically

* build and serve in a service

* use portal domain for site url meta

* clean up unused import

* update build job

* fix url and add safeguard

* mount cache and public gatsby dirs to improve build times

* use new env vars for abuse and contact emails

* use PORTAL_DOMAIN instead of window hostname
2022-05-09 10:24:21 +02:00
Karol Wypchło df3a1a7006
Merge pull request #2095 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-manifest-4.13.0
build(deps): bump gatsby-plugin-manifest from 4.12.1 to 4.13.0 in /packages/website
2022-05-05 10:41:16 +02:00
dependabot[bot] 512a8c47c7
build(deps): bump gatsby-plugin-manifest in /packages/website
Bumps [gatsby-plugin-manifest](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-manifest) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-manifest/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-manifest@4.13.0/packages/gatsby-plugin-manifest)

---
updated-dependencies:
- dependency-name: gatsby-plugin-manifest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-05 08:31:25 +00:00
Karol Wypchło a5cf3312e1
Merge pull request #2092 from SkynetLabs/dependabot/npm_and_yarn/packages/website/fontsource/source-sans-pro-4.5.9
build(deps): bump @fontsource/source-sans-pro from 4.5.6 to 4.5.9 in /packages/website
2022-05-04 17:32:44 +02:00
Karol Wypchło bfd289173d
Merge pull request #2094 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-image-2.13.0
build(deps): bump gatsby-plugin-image from 2.12.1 to 2.13.0 in /packages/website
2022-05-04 17:32:37 +02:00
dependabot[bot] de2f8409b0
build(deps): bump @fontsource/source-sans-pro in /packages/website
Bumps [@fontsource/source-sans-pro](https://github.com/fontsource/fontsource/tree/HEAD/fonts/google/source-sans-pro) from 4.5.6 to 4.5.9.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/HEAD/fonts/google/source-sans-pro)

---
updated-dependencies:
- dependency-name: "@fontsource/source-sans-pro"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 13:36:54 +00:00
dependabot[bot] 4170e5bb51
build(deps): bump gatsby-plugin-image in /packages/website
Bumps [gatsby-plugin-image](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-image) from 2.12.1 to 2.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-image/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-image@2.13.0/packages/gatsby-plugin-image)

---
updated-dependencies:
- dependency-name: gatsby-plugin-image
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 13:36:54 +00:00
Karol Wypchło 5b09aa78b9
Merge pull request #2087 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-transformer-yaml-4.13.0
build(deps): bump gatsby-transformer-yaml from 4.12.1 to 4.13.0 in /packages/website
2022-05-04 15:34:27 +02:00
Karol Wypchło 156e925e6e
Merge pull request #2091 from SkynetLabs/dependabot/npm_and_yarn/packages/website/fontsource/sora-4.5.8
build(deps): bump @fontsource/sora from 4.5.5 to 4.5.8 in /packages/website
2022-05-04 15:34:16 +02:00
Karol Wypchło dba9351ee0
Merge pull request #2093 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-react-helmet-5.13.0
build(deps): bump gatsby-plugin-react-helmet from 5.12.1 to 5.13.0 in /packages/website
2022-05-04 15:34:09 +02:00
dependabot[bot] 4283121499
build(deps): bump gatsby-plugin-react-helmet in /packages/website
Bumps [gatsby-plugin-react-helmet](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-react-helmet) from 5.12.1 to 5.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-react-helmet/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-react-helmet@5.13.0/packages/gatsby-plugin-react-helmet)

---
updated-dependencies:
- dependency-name: gatsby-plugin-react-helmet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 13:14:28 +00:00
dependabot[bot] da0ed55317
build(deps): bump gatsby-transformer-yaml in /packages/website
Bumps [gatsby-transformer-yaml](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-transformer-yaml) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-yaml/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-transformer-yaml@4.13.0/packages/gatsby-transformer-yaml)

---
updated-dependencies:
- dependency-name: gatsby-transformer-yaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 13:12:21 +00:00
dependabot[bot] 4d68080f7e
build(deps): bump @fontsource/sora in /packages/website
Bumps [@fontsource/sora](https://github.com/fontsource/fontsource/tree/HEAD/fonts/google/sora) from 4.5.5 to 4.5.8.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/HEAD/fonts/google/sora)

---
updated-dependencies:
- dependency-name: "@fontsource/sora"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 13:11:34 +00:00
Karol Wypchło 45834d95f5
Merge pull request #2086 from SkynetLabs/dependabot/npm_and_yarn/packages/website/cypress-9.6.0
build(deps-dev): bump cypress from 9.5.4 to 9.6.0 in /packages/website
2022-05-04 15:08:02 +02:00
Karol Wypchło d8d04f4f54
Merge pull request #2089 from SkynetLabs/dependabot/npm_and_yarn/packages/website/autoprefixer-10.4.7
build(deps-dev): bump autoprefixer from 10.4.5 to 10.4.7 in /packages/website
2022-05-04 15:07:56 +02:00
Karol Wypchło 02b6525153
Merge pull request #2090 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-transformer-sharp-4.13.0
build(deps): bump gatsby-transformer-sharp from 4.12.1 to 4.13.0 in /packages/website
2022-05-04 15:07:45 +02:00
Karol Wypchło 99cd1f2d23
Merge pull request #2088 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-4.13.1
build(deps): bump gatsby from 4.12.1 to 4.13.1 in /packages/website
2022-05-04 15:07:36 +02:00
dependabot[bot] 0004fb0598
build(deps): bump gatsby-transformer-sharp in /packages/website
Bumps [gatsby-transformer-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-transformer-sharp) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-sharp/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-transformer-sharp@4.13.0/packages/gatsby-transformer-sharp)

---
updated-dependencies:
- dependency-name: gatsby-transformer-sharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 12:02:29 +00:00
dependabot[bot] f4b486bb34
build(deps-dev): bump autoprefixer in /packages/website
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.5 to 10.4.7.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.5...10.4.7)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 12:01:29 +00:00
dependabot[bot] 9d4e5c57ab
build(deps): bump gatsby from 4.12.1 to 4.13.1 in /packages/website
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 4.12.1 to 4.13.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.12.1...gatsby@4.13.1)

---
updated-dependencies:
- dependency-name: gatsby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 12:01:16 +00:00
dependabot[bot] 0b8d2ba4b0
build(deps-dev): bump cypress from 9.5.4 to 9.6.0 in /packages/website
Bumps [cypress](https://github.com/cypress-io/cypress) from 9.5.4 to 9.6.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v9.5.4...v9.6.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:59:18 +00:00
Karol Wypchło b2edf9dcb2
Merge pull request #2081 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/tailwindcss/forms-0.5.1
build(deps-dev): bump @tailwindcss/forms from 0.5.0 to 0.5.1 in /packages/dashboard
2022-05-04 13:55:15 +02:00
Karol Wypchło 9c5cf5d1e5
Merge pull request #2077 from SkynetLabs/dependabot/npm_and_yarn/packages/website/react-dropzone-14.2.0
build(deps): bump react-dropzone from 12.0.5 to 14.2.0 in /packages/website
2022-05-04 13:54:56 +02:00
Karol Wypchło 8ccdda108e
Merge pull request #2085 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/fontsource/sora-4.5.8
build(deps): bump @fontsource/sora from 4.5.5 to 4.5.8 in /packages/dashboard
2022-05-04 13:51:06 +02:00
Karol Wypchło 824a51e94c
Merge pull request #2080 from SkynetLabs/dependabot/npm_and_yarn/packages/website/postcss-8.4.13
build(deps): bump postcss from 8.4.12 to 8.4.13 in /packages/website
2022-05-04 13:50:55 +02:00
Karol Wypchło 8e94853685
Merge pull request #2074 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/react-toastify-9.0.0
build(deps): bump react-toastify from 8.2.0 to 9.0.0 in /packages/dashboard
2022-05-04 13:50:46 +02:00
Karol Wypchło 2b43627958
Merge pull request #2063 from SkynetLabs/dependabot/npm_and_yarn/packages/health-check/express-4.18.1
build(deps): bump express from 4.17.3 to 4.18.1 in /packages/health-check
2022-05-04 13:48:41 +02:00
dependabot[bot] 735b75a43c
build(deps): bump express in /packages/health-check
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.18.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.18.1)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:36:52 +00:00
Karol Wypchło 3008c0ffa4
Merge pull request #2058 from SkynetLabs/dependabot/npm_and_yarn/packages/handshake-api/express-4.18.1
build(deps): bump express from 4.17.3 to 4.18.1 in /packages/handshake-api
2022-05-04 13:34:31 +02:00
Karol Wypchło 74bfdbf421
Merge pull request #2059 from SkynetLabs/dependabot/npm_and_yarn/packages/dnslink-api/express-4.18.1
build(deps): bump express from 4.17.3 to 4.18.1 in /packages/dnslink-api
2022-05-04 13:34:23 +02:00
dependabot[bot] c58260c98c
build(deps-dev): bump @tailwindcss/forms in /packages/dashboard
Bumps [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.0...v0.5.1)

---
updated-dependencies:
- dependency-name: "@tailwindcss/forms"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:34:06 +00:00
dependabot[bot] f278369096
build(deps): bump @fontsource/sora in /packages/dashboard
Bumps [@fontsource/sora](https://github.com/fontsource/fontsource/tree/HEAD/fonts/google/sora) from 4.5.5 to 4.5.8.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/HEAD/fonts/google/sora)

---
updated-dependencies:
- dependency-name: "@fontsource/sora"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:33:49 +00:00
dependabot[bot] c19bf748c0
build(deps): bump express in /packages/handshake-api
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.18.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.18.1)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:33:36 +00:00
dependabot[bot] fafee9b49b
build(deps): bump express from 4.17.3 to 4.18.1 in /packages/dnslink-api
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.18.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.18.1)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:33:28 +00:00
Karol Wypchło 5cacaa2418
Merge pull request #2072 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/autoprefixer-10.4.7
build(deps-dev): bump autoprefixer from 10.4.4 to 10.4.7 in /packages/dashboard
2022-05-04 13:32:49 +02:00
Karol Wypchło b713bfcea8
Merge pull request #2083 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/eslint-config-next-12.1.6
build(deps-dev): bump eslint-config-next from 12.1.5 to 12.1.6 in /packages/dashboard
2022-05-04 13:32:31 +02:00
Karol Wypchło 6263dfe38f
Merge pull request #2084 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/express-jwt-7.6.2
build(deps): bump express-jwt from 7.5.2 to 7.6.2 in /packages/dashboard
2022-05-04 13:32:18 +02:00
dependabot[bot] fe7c31d721
build(deps): bump postcss from 8.4.12 to 8.4.13 in /packages/website
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.12 to 8.4.13.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.12...8.4.13)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:30:41 +00:00
dependabot[bot] e9f23f76d8
build(deps-dev): bump eslint-config-next in /packages/dashboard
Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 12.1.5 to 12.1.6.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v12.1.6/packages/eslint-config-next)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:29:44 +00:00
dependabot[bot] 5b7114271c
build(deps): bump express-jwt from 7.5.2 to 7.6.2 in /packages/dashboard
Bumps [express-jwt](https://github.com/auth0/express-jwt) from 7.5.2 to 7.6.2.
- [Release notes](https://github.com/auth0/express-jwt/releases)
- [Changelog](https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/express-jwt/compare/v7.5.2...v7.6.2)

---
updated-dependencies:
- dependency-name: express-jwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 11:29:15 +00:00
Karol Wypchło f4f8dae8b3
Merge pull request #2067 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-source-filesystem-4.13.0
build(deps): bump gatsby-source-filesystem from 4.12.1 to 4.13.0 in /packages/website
2022-05-04 13:27:57 +02:00
Karol Wypchło 8f3e830b66
Merge pull request #2078 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-sitemap-5.13.0
build(deps): bump gatsby-plugin-sitemap from 5.12.1 to 5.13.0 in /packages/website
2022-05-04 13:27:46 +02:00
Karol Wypchło a528c97795
Merge pull request #2079 from SkynetLabs/dependabot/npm_and_yarn/packages/website/nanoid-3.3.4
build(deps): bump nanoid from 3.3.3 to 3.3.4 in /packages/website
2022-05-04 13:27:32 +02:00
Karol Wypchło c823077ba6
Merge pull request #2082 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/fontsource/source-sans-pro-4.5.9
build(deps): bump @fontsource/source-sans-pro from 4.5.6 to 4.5.9 in /packages/dashboard
2022-05-04 13:27:17 +02:00
dependabot[bot] 7d598d97d9
build(deps): bump nanoid from 3.3.3 to 3.3.4 in /packages/website
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.3...3.3.4)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:35:24 +00:00
dependabot[bot] 3f032b890f
build(deps): bump gatsby-plugin-sitemap in /packages/website
Bumps [gatsby-plugin-sitemap](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sitemap) from 5.12.1 to 5.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sitemap/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sitemap@5.13.0/packages/gatsby-plugin-sitemap)

---
updated-dependencies:
- dependency-name: gatsby-plugin-sitemap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:34:56 +00:00
dependabot[bot] c77d434aee
build(deps): bump @fontsource/source-sans-pro in /packages/dashboard
Bumps [@fontsource/source-sans-pro](https://github.com/fontsource/fontsource/tree/HEAD/fonts/google/source-sans-pro) from 4.5.6 to 4.5.9.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/HEAD/fonts/google/source-sans-pro)

---
updated-dependencies:
- dependency-name: "@fontsource/source-sans-pro"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:34:17 +00:00
dependabot[bot] cbf0632673
build(deps): bump react-toastify in /packages/dashboard
Bumps [react-toastify](https://github.com/fkhadra/react-toastify) from 8.2.0 to 9.0.0.
- [Release notes](https://github.com/fkhadra/react-toastify/releases)
- [Commits](https://github.com/fkhadra/react-toastify/compare/v8.2.0...v9.0.0)

---
updated-dependencies:
- dependency-name: react-toastify
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:34:01 +00:00
dependabot[bot] 34f74e7d4b
build(deps): bump gatsby-source-filesystem in /packages/website
Bumps [gatsby-source-filesystem](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-source-filesystem) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-filesystem/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-source-filesystem@4.13.0/packages/gatsby-source-filesystem)

---
updated-dependencies:
- dependency-name: gatsby-source-filesystem
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:33:46 +00:00
dependabot[bot] 2a6ddb3dbc
build(deps-dev): bump autoprefixer in /packages/dashboard
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.4 to 10.4.7.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.4...10.4.7)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:33:31 +00:00
Karol Wypchło b9d31db474
Merge pull request #2076 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/postcss-8.4.13
build(deps-dev): bump postcss from 8.4.12 to 8.4.13 in /packages/dashboard
2022-05-04 12:32:38 +02:00
Karol Wypchło 82be646951
Merge pull request #2075 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe-8.220.0
build(deps): bump stripe from 8.219.0 to 8.220.0 in /packages/dashboard
2022-05-04 12:32:29 +02:00
Karol Wypchło 2103a7d5be
Merge pull request #2073 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/next-12.1.6
build(deps): bump next from 12.1.5 to 12.1.6 in /packages/dashboard
2022-05-04 12:32:20 +02:00
dependabot[bot] c5d1a2250a
build(deps): bump react-dropzone in /packages/website
Bumps [react-dropzone](https://github.com/react-dropzone/react-dropzone) from 12.0.5 to 14.2.0.
- [Release notes](https://github.com/react-dropzone/react-dropzone/releases)
- [Commits](https://github.com/react-dropzone/react-dropzone/compare/v12.0.5...v14.2.0)

---
updated-dependencies:
- dependency-name: react-dropzone
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:31:01 +00:00
dependabot[bot] f65b736336
build(deps-dev): bump postcss in /packages/dashboard
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.12 to 8.4.13.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.12...8.4.13)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:30:26 +00:00
dependabot[bot] 5795efbf20
build(deps): bump stripe from 8.219.0 to 8.220.0 in /packages/dashboard
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.219.0 to 8.220.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.219.0...v8.220.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:30:21 +00:00
dependabot[bot] 806f247f19
build(deps): bump next from 12.1.5 to 12.1.6 in /packages/dashboard
Bumps [next](https://github.com/vercel/next.js) from 12.1.5 to 12.1.6.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v12.1.5...v12.1.6)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-04 10:30:06 +00:00
Karol Wypchło 8e399111c0
Merge pull request #2066 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/express-jwt-7.5.2
build(deps): bump express-jwt from 6.1.2 to 7.5.2 in /packages/dashboard
2022-05-04 12:29:51 +02:00
Karol Wypchło 302aff49e9
Merge pull request #2065 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe-8.219.0
build(deps): bump stripe from 8.218.0 to 8.219.0 in /packages/dashboard
2022-05-04 12:29:32 +02:00
Karol Wypchło ea2a4097af
Merge pull request #2064 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe/stripe-js-1.29.0
build(deps): bump @stripe/stripe-js from 1.27.0 to 1.29.0 in /packages/dashboard
2022-05-04 12:29:23 +02:00
Karol Wypchło c2dba51a39
Merge pull request #2061 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/eslint-8.14.0
build(deps-dev): bump eslint from 8.13.0 to 8.14.0 in /packages/dashboard
2022-05-04 12:29:12 +02:00
Karol Wypchło ee53a24f17
Merge pull request #2060 from SkynetLabs/dependabot/npm_and_yarn/packages/health-check/jest-28.0.3
build(deps-dev): bump jest from 27.5.1 to 28.0.3 in /packages/health-check
2022-05-04 12:29:02 +02:00
Karol Wypchło d1c6fa0cb4
Merge pull request #2068 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-sharp-4.13.0
build(deps): bump gatsby-plugin-sharp from 4.12.1 to 4.13.0 in /packages/website
2022-05-04 12:28:35 +02:00
Karol Wypchło 79d03b325a
Merge pull request #2070 from SkynetLabs/dependabot/npm_and_yarn/packages/website/autoprefixer-10.4.5
build(deps-dev): bump autoprefixer from 10.4.4 to 10.4.5 in /packages/website
2022-05-04 12:28:27 +02:00
Karol Wypchło d040bb1690
Merge pull request #2069 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-postcss-5.13.0
build(deps): bump gatsby-plugin-postcss from 5.12.1 to 5.13.0 in /packages/website
2022-05-04 12:28:18 +02:00
Karol Wypchło bf12f68c7c
Merge pull request #2071 from SkynetLabs/dependabot/npm_and_yarn/packages/website/framer-motion-6.3.3
build(deps): bump framer-motion from 6.3.0 to 6.3.3 in /packages/website
2022-05-04 12:28:10 +02:00
dependabot[bot] 8b947cb29a
build(deps): bump framer-motion from 6.3.0 to 6.3.3 in /packages/website
Bumps [framer-motion](https://github.com/framer/motion) from 6.3.0 to 6.3.3.
- [Release notes](https://github.com/framer/motion/releases)
- [Changelog](https://github.com/framer/motion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/framer/motion/compare/v6.3.0...v6.3.3)

---
updated-dependencies:
- dependency-name: framer-motion
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:10:13 +00:00
dependabot[bot] fb9926acb6
build(deps-dev): bump autoprefixer in /packages/website
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.4 to 10.4.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.4...10.4.5)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:09:57 +00:00
dependabot[bot] 247128c7c1
build(deps): bump gatsby-plugin-postcss in /packages/website
Bumps [gatsby-plugin-postcss](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-postcss) from 5.12.1 to 5.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-postcss/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-postcss@5.13.0/packages/gatsby-plugin-postcss)

---
updated-dependencies:
- dependency-name: gatsby-plugin-postcss
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:09:42 +00:00
dependabot[bot] 4df2b00354
build(deps): bump gatsby-plugin-sharp in /packages/website
Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sharp/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@4.13.0/packages/gatsby-plugin-sharp)

---
updated-dependencies:
- dependency-name: gatsby-plugin-sharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:08:29 +00:00
dependabot[bot] 0d8dbd9a6a
build(deps): bump express-jwt from 6.1.2 to 7.5.2 in /packages/dashboard
Bumps [express-jwt](https://github.com/auth0/express-jwt) from 6.1.2 to 7.5.2.
- [Release notes](https://github.com/auth0/express-jwt/releases)
- [Changelog](https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/express-jwt/compare/v6.1.2...v7.5.2)

---
updated-dependencies:
- dependency-name: express-jwt
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:04:10 +00:00
dependabot[bot] 75564c4ee3
build(deps): bump stripe from 8.218.0 to 8.219.0 in /packages/dashboard
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.218.0 to 8.219.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.218.0...v8.219.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:03:58 +00:00
dependabot[bot] 1320a7d707
build(deps): bump @stripe/stripe-js in /packages/dashboard
Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.27.0 to 1.29.0.
- [Release notes](https://github.com/stripe/stripe-js/releases)
- [Commits](https://github.com/stripe/stripe-js/compare/v1.27.0...v1.29.0)

---
updated-dependencies:
- dependency-name: "@stripe/stripe-js"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:03:42 +00:00
dependabot[bot] a982ed27c0
build(deps-dev): bump eslint in /packages/dashboard
Bumps [eslint](https://github.com/eslint/eslint) from 8.13.0 to 8.14.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.13.0...v8.14.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:02:56 +00:00
dependabot[bot] 22380e5f97
build(deps-dev): bump jest in /packages/health-check
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 27.5.1 to 28.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.0.3/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 12:02:49 +00:00
Karol Wypchło a70c35df56
fix website image running params (#2055) 2022-04-28 14:52:06 +02:00
Ivaylo Novakov 99e8f3847f
Merge pull request #2053 from SkynetLabs/pj/stop-grace-period
Stop Grace Period
2022-04-28 13:08:02 +02:00
Karol Wypchło c650a7e9e0
Merge pull request #2054 from SkynetLabs/fix-dnsmasq-versioning
fix dnsmasq versioning in health-check dockerfile
2022-04-28 13:04:50 +02:00
Karol Wypchlo bb5478d4d8
fix dnsmasq versioning 2022-04-28 11:55:40 +02:00
PJ 4ce00c7673
Add stop grace period 2022-04-28 11:19:29 +02:00
Karol Wypchło 188b06c605
Merge pull request #2013 from SkynetLabs/dashboard-v2-stripe
Dashboard v2 - Stripe integration + bunch of fixes & improvements
2022-04-27 12:34:42 +02:00
Ivaylo Novakov f64dc4898b
Merge pull request #2052 from SkynetLabs/pj/update-abuse-tags
Update Release Versions
2022-04-27 11:20:11 +02:00
PJ 744b410ba7
Update abuse tags 2022-04-27 08:48:16 +02:00
firyx 82cc22f367
Fix dashboard-v2 Dockerfile context (#2051) 2022-04-26 16:39:35 +02:00
Karol Wypchło 05e1ae18cc
Merge pull request #2045 from SkynetLabs/slim-down-default-website-image
use multi stage build for website to slim down the image
2022-04-25 10:44:33 +02:00
Ivaylo Novakov 3fff75aab5
Mongo: ShardingTaskExecutorPoolMinSize=10 (#2038) 2022-04-25 10:06:27 +02:00
Matthew Sevey 750261d81f
Merge pull request #2048 from SkynetLabs/revert-2047-revert-f3ec613
Revert "Revert "Merge pull request #1917 from SkynetLabs/use-accounts-image""
2022-04-22 13:51:10 -04:00
Matthew Sevey cdfd94d290
Revert "Revert "Merge pull request #1917 from SkynetLabs/use-accounts-image"" 2022-04-22 13:50:28 -04:00
Karol Wypchło a6ab6b31b7
Merge pull request #2046 from SkynetLabs/track-uploader-ip
track uploader ip
2022-04-22 17:38:39 +02:00
Matthew Sevey 64a90ab22b
Merge pull request #2047 from SkynetLabs/revert-f3ec613
Revert "Merge pull request #1917 from SkynetLabs/use-accounts-image"
2022-04-22 11:35:52 -04:00
Karol Wypchlo 446049986c
Revert "Merge pull request #1917 from SkynetLabs/use-accounts-image"
This reverts commit f3ec613a5a, reversing
changes made to 25d573b9ba.
2022-04-22 17:33:26 +02:00
Karol Wypchlo 0772958064
use pairs instead of ipairs 2022-04-22 17:06:17 +02:00
Karol Wypchlo f88dcf3eee
include unit tests for uploader ip 2022-04-22 15:38:09 +02:00
Karol Wypchlo 39f9b4d196
fix headers 2022-04-22 15:19:07 +02:00
Karol Wypchlo 5301384609
do not include form header 2022-04-22 15:16:07 +02:00
Karol Wypchlo e8babb625e
try formvalue 2022-04-22 15:08:01 +02:00
Karol Wypchlo 20f6831eb0
track file uploader ip 2022-04-22 15:00:05 +02:00
Karol Wypchlo 1c1615cd5f
convert CMD into JSON notation 2022-04-22 14:49:58 +02:00
Karol Wypchlo 5bde83fc19
use multi stage build for website to slim down the image 2022-04-22 14:45:44 +02:00
Karol Wypchło 5d33b79f69
Merge pull request #2041 from SkynetLabs/nginx-docker-improvements
Nginx docker improvements
2022-04-22 14:35:55 +02:00
Karol Wypchło 695e09e913
Merge pull request #2044 from SkynetLabs/track-anon-uploads
track anon uploads
2022-04-22 14:29:16 +02:00
Karol Wypchlo d27dca72d1
remove unused variable 2022-04-22 14:26:34 +02:00
Karol Wypchlo b88cdf6d76
track anon uploads 2022-04-22 14:23:01 +02:00
Karol Wypchlo d65397ac67
include nginx list of license conditions and disclaimer 2022-04-22 14:00:33 +02:00
Ivaylo Novakov 36e5cbbdd5
Merge pull request #2040 from SkynetLabs/use-dashboard-image
use dashboard dockerhub image
2022-04-22 13:36:19 +02:00
Matthew Sevey 2a84ebe8a9
Merge pull request #2043 from SkynetLabs/sevey/docker-image-versions
Point to latest semver release for docker images
2022-04-22 04:23:16 -04:00
Karol Wypchlo 9e675a2a04
add comment about skynet_portal_domain being set to server domain 2022-04-22 10:17:30 +02:00
Matthew Sevey c9c393ae4f
Point to latest semver release for docker images 2022-04-21 12:57:09 -04:00
Karol Wypchlo 1d6d3cbfb6
fix DL3025 warning 2022-04-21 16:01:20 +02:00
Karol Wypchlo ac99a426b3
fix DL3014 warning 2022-04-21 15:59:07 +02:00
Karol Wypchlo 873f23b7bf
add nginx license source 2022-04-21 15:57:16 +02:00
Karol Wypchlo 6d2d053e23
lint testing nginx dockerfile 2022-04-21 15:36:17 +02:00
Karol Wypchlo 306442eef3
use volumes to mount nginx configuration 2022-04-21 15:34:52 +02:00
Karol Wypchlo 98306b473c
use official nginx entrypoint with envsubst and custom restart script 2022-04-21 15:21:58 +02:00
Karol Wypchło 8a6eec3e7b
Merge pull request #2010 from SkynetLabs/dnslink-sponsor
pass skylink from request context to /user/limits
2022-04-21 12:55:42 +02:00
Karol Wypchło 35b32023e3
Merge pull request #2039 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/express-jwt-6.1.2
build(deps): bump express-jwt from 6.1.1 to 6.1.2 in /packages/dashboard
2022-04-21 11:37:26 +02:00
Karol Wypchlo 68bd26f17e
fix context on dasboard-v2 container 2022-04-21 11:27:34 +02:00
Karol Wypchlo de7e7879b7
use dashboard dockerhub image 2022-04-21 10:48:53 +02:00
Karol Wypchło 3857028339
Merge pull request #2028 from SkynetLabs/lua-tests-only-when-files-modified
run lua unit tests only when lua path has modified files
2022-04-20 17:10:12 +02:00
dependabot[bot] abf202ca54
build(deps): bump express-jwt from 6.1.1 to 6.1.2 in /packages/dashboard
Bumps [express-jwt](https://github.com/auth0/express-jwt) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/auth0/express-jwt/releases)
- [Changelog](https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/express-jwt/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: express-jwt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 15:05:11 +00:00
Karol Wypchło fc55e165ed
Merge pull request #2037 from SkynetLabs/dependabot-schedule-change
change weekly dependabot schedule to monthly
2022-04-20 17:03:49 +02:00
Karol Wypchło 274f83eedc
Merge branch 'master' into dashboard-v2-stripe 2022-04-19 15:32:46 +02:00
Michał Leszczyk f433287bb6
Dashboard v2 - fixes + publishing under /v2 path (#2008)
* fix(dashboard-v2): fix current usage graph on portals without Stripe configured

* ops(dashboard-v2): publish new dashboard under /v2 prefix

* ops(dashboard-v2): fix SkynetClient on multi-server portals

* fix(dashboard-v2): fix skylinks validation for sponsor keys

* ops(dashboard-v2): don't actually launch the new dashboard yet :)

* chore(dashboard-v2): cleanup console.log call

* fix(dashboard-v2): always set portal domain for SkynetClient
2022-04-19 13:16:57 +02:00
Karol Wypchło 16c7e0bafa
Merge pull request #2025 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe-8.218.0
build(deps): bump stripe from 8.217.0 to 8.218.0 in /packages/dashboard
2022-04-19 12:02:17 +02:00
dependabot[bot] fe227f4449
build(deps): bump stripe from 8.217.0 to 8.218.0 in /packages/dashboard
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.217.0 to 8.218.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.217.0...v8.218.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:59:57 +00:00
Karol Wypchło 0e480051a3
change weekly dependabot schedule to monthly 2022-04-19 11:55:41 +02:00
Karol Wypchło a5109404ab
Merge pull request #2035 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-transformer-yaml-4.12.1
build(deps): bump gatsby-transformer-yaml from 4.11.0 to 4.12.1 in /packages/website
2022-04-19 11:53:51 +02:00
Karol Wypchło 091b7e730b
Merge pull request #2036 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-source-filesystem-4.12.1
build(deps): bump gatsby-source-filesystem from 4.10.1 to 4.12.1 in /packages/website
2022-04-19 11:53:42 +02:00
dependabot[bot] 316eb3bef9
build(deps): bump gatsby-source-filesystem in /packages/website
Bumps [gatsby-source-filesystem](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-source-filesystem) from 4.10.1 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-filesystem/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-source-filesystem@4.12.1/packages/gatsby-source-filesystem)

---
updated-dependencies:
- dependency-name: gatsby-source-filesystem
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:47:08 +00:00
dependabot[bot] 1132429035
build(deps): bump gatsby-transformer-yaml in /packages/website
Bumps [gatsby-transformer-yaml](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-transformer-yaml) from 4.11.0 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-yaml/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-transformer-yaml@4.12.1/packages/gatsby-transformer-yaml)

---
updated-dependencies:
- dependency-name: gatsby-transformer-yaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:46:26 +00:00
Karol Wypchło 5599ecb61e
Merge pull request #2034 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-sitemap-5.12.1
build(deps): bump gatsby-plugin-sitemap from 5.11.1 to 5.12.1 in /packages/website
2022-04-19 11:43:40 +02:00
dependabot[bot] 3d6f5b57ea
build(deps): bump gatsby-plugin-sitemap in /packages/website
Bumps [gatsby-plugin-sitemap](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sitemap) from 5.11.1 to 5.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sitemap/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sitemap@5.12.1/packages/gatsby-plugin-sitemap)

---
updated-dependencies:
- dependency-name: gatsby-plugin-sitemap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:39:06 +00:00
Karol Wypchło 85cb084a77
Merge pull request #2029 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-react-helmet-5.12.1
build(deps): bump gatsby-plugin-react-helmet from 5.10.0 to 5.12.1 in /packages/website
2022-04-19 11:36:49 +02:00
Karol Wypchło a91c5d9dc7
Merge pull request #2031 from SkynetLabs/dependabot/npm_and_yarn/packages/website/swr-1.3.0
build(deps): bump swr from 1.2.2 to 1.3.0 in /packages/website
2022-04-19 11:36:38 +02:00
Karol Wypchło 75752862db
Merge pull request #2033 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-transformer-sharp-4.12.1
build(deps): bump gatsby-transformer-sharp from 4.10.0 to 4.12.1 in /packages/website
2022-04-19 11:36:02 +02:00
Karol Wypchło 85209e02e8
Merge pull request #2030 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-manifest-4.12.1
build(deps): bump gatsby-plugin-manifest from 4.11.1 to 4.12.1 in /packages/website
2022-04-19 11:35:51 +02:00
Karol Wypchło 3a9ef07d61
Merge pull request #2032 from SkynetLabs/dependabot/npm_and_yarn/packages/website/cypress-9.5.4
build(deps-dev): bump cypress from 9.5.2 to 9.5.4 in /packages/website
2022-04-19 11:35:42 +02:00
dependabot[bot] 8736e1ff31
build(deps): bump gatsby-transformer-sharp in /packages/website
Bumps [gatsby-transformer-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-transformer-sharp) from 4.10.0 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-sharp/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-transformer-sharp@4.12.1/packages/gatsby-transformer-sharp)

---
updated-dependencies:
- dependency-name: gatsby-transformer-sharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:29:59 +00:00
dependabot[bot] 8dca68f154
build(deps-dev): bump cypress from 9.5.2 to 9.5.4 in /packages/website
Bumps [cypress](https://github.com/cypress-io/cypress) from 9.5.2 to 9.5.4.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v9.5.2...v9.5.4)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:28:59 +00:00
dependabot[bot] 409406832f
build(deps): bump swr from 1.2.2 to 1.3.0 in /packages/website
Bumps [swr](https://github.com/vercel/swr) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/vercel/swr/releases)
- [Commits](https://github.com/vercel/swr/compare/1.2.2...1.3.0)

---
updated-dependencies:
- dependency-name: swr
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:28:42 +00:00
dependabot[bot] 455fce5511
build(deps): bump gatsby-plugin-manifest in /packages/website
Bumps [gatsby-plugin-manifest](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-manifest) from 4.11.1 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-manifest/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-manifest@4.12.1/packages/gatsby-plugin-manifest)

---
updated-dependencies:
- dependency-name: gatsby-plugin-manifest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:28:30 +00:00
dependabot[bot] 3973cfc057
build(deps): bump gatsby-plugin-react-helmet in /packages/website
Bumps [gatsby-plugin-react-helmet](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-react-helmet) from 5.10.0 to 5.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-react-helmet/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-react-helmet@5.12.1/packages/gatsby-plugin-react-helmet)

---
updated-dependencies:
- dependency-name: gatsby-plugin-react-helmet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:27:29 +00:00
Karol Wypchlo 8e14d33a17
run lua unit tests only when lua path has modified files 2022-04-19 11:20:24 +02:00
Karol Wypchło 218b0046cf
Merge pull request #2019 from SkynetLabs/dependabot/npm_and_yarn/packages/website/skynet-js-4.1.0
build(deps): bump skynet-js from 4.0.26-beta to 4.1.0 in /packages/website
2022-04-19 11:15:35 +02:00
Karol Wypchło 04110bce0a
Merge pull request #2014 from SkynetLabs/dependabot/npm_and_yarn/packages/health-check/skynet-js-4.1.0
build(deps): bump skynet-js from 4.0.19-beta to 4.1.0 in /packages/health-check
2022-04-19 11:15:24 +02:00
dependabot[bot] 9441c6d2e8
build(deps): bump skynet-js in /packages/website
Bumps [skynet-js](https://github.com/SkynetLabs/skynet-js) from 4.0.26-beta to 4.1.0.
- [Release notes](https://github.com/SkynetLabs/skynet-js/releases)
- [Changelog](https://github.com/SkynetLabs/skynet-js/blob/master/CHANGELOG-BETA.md)
- [Commits](https://github.com/SkynetLabs/skynet-js/compare/v4.0.26-beta...v4.1.0)

---
updated-dependencies:
- dependency-name: skynet-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:10:53 +00:00
Karol Wypchło 4b49d8a84f
Merge pull request #2026 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe/react-stripe-js-1.7.2
build(deps): bump @stripe/react-stripe-js from 1.7.1 to 1.7.2 in /packages/dashboard
2022-04-19 11:09:54 +02:00
Karol Wypchło 7bf00b27ea
Merge pull request #2027 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/tailwindcss-3.0.24
build(deps-dev): bump tailwindcss from 3.0.23 to 3.0.24 in /packages/dashboard
2022-04-19 11:09:43 +02:00
dependabot[bot] 31cf7445b6
build(deps): bump skynet-js in /packages/health-check
Bumps [skynet-js](https://github.com/SkynetLabs/skynet-js) from 4.0.19-beta to 4.1.0.
- [Release notes](https://github.com/SkynetLabs/skynet-js/releases)
- [Changelog](https://github.com/SkynetLabs/skynet-js/blob/master/CHANGELOG-BETA.md)
- [Commits](https://github.com/SkynetLabs/skynet-js/compare/v4.0.19-beta...v4.1.0)

---
updated-dependencies:
- dependency-name: skynet-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:07:55 +00:00
Karol Wypchło 8201536e65
Merge pull request #2020 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/next-12.1.5
build(deps): bump next from 12.1.4 to 12.1.5 in /packages/dashboard
2022-04-19 11:07:14 +02:00
dependabot[bot] 07f56fad02
build(deps-dev): bump tailwindcss in /packages/dashboard
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.23 to 3.0.24.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.23...v3.0.24)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:07:12 +00:00
Karol Wypchło 1288e4cb91
Merge pull request #2021 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/dayjs-1.11.1
build(deps): bump dayjs from 1.11.0 to 1.11.1 in /packages/dashboard
2022-04-19 11:07:01 +02:00
Karol Wypchło b1d9698974
Merge pull request #2016 from SkynetLabs/dependabot/npm_and_yarn/packages/website/nanoid-3.3.3
build(deps): bump nanoid from 3.3.2 to 3.3.3 in /packages/website
2022-04-19 11:06:53 +02:00
dependabot[bot] 35df124ccc
build(deps): bump @stripe/react-stripe-js in /packages/dashboard
Bumps [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/stripe/react-stripe-js/releases)
- [Changelog](https://github.com/stripe/react-stripe-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/react-stripe-js/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: "@stripe/react-stripe-js"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-19 09:06:51 +00:00
Karol Wypchło 19a87b44ef
Merge pull request #2017 from SkynetLabs/dependabot/npm_and_yarn/packages/website/framer-motion-6.3.0
build(deps): bump framer-motion from 6.2.10 to 6.3.0 in /packages/website
2022-04-19 11:06:43 +02:00
Karol Wypchło 570914253e
Merge pull request #2015 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-image-2.12.1
build(deps): bump gatsby-plugin-image from 2.11.1 to 2.12.1 in /packages/website
2022-04-19 11:06:25 +02:00
Karol Wypchło cb5a9bd12b
Merge pull request #2018 from SkynetLabs/dependabot/npm_and_yarn/packages/website/polished-4.2.2
build(deps): bump polished from 4.2.1 to 4.2.2 in /packages/website
2022-04-19 11:06:11 +02:00
Karol Wypchło 3ebb4383a0
Merge pull request #2022 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/eslint-config-next-12.1.5
build(deps-dev): bump eslint-config-next from 12.1.4 to 12.1.5 in /packages/dashboard
2022-04-19 11:06:02 +02:00
Karol Wypchło 3b87785c8a
Merge pull request #2024 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe-8.217.0
build(deps): bump stripe from 8.216.0 to 8.217.0 in /packages/dashboard
2022-04-19 11:05:49 +02:00
dependabot[bot] dac20c400c
build(deps): bump stripe from 8.216.0 to 8.217.0 in /packages/dashboard
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.216.0 to 8.217.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.216.0...v8.217.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:16:06 +00:00
dependabot[bot] 67f798a0dd
build(deps-dev): bump eslint-config-next in /packages/dashboard
Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 12.1.4 to 12.1.5.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v12.1.5/packages/eslint-config-next)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:15:44 +00:00
dependabot[bot] de824d5c35
build(deps): bump dayjs from 1.11.0 to 1.11.1 in /packages/dashboard
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.0...v1.11.1)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:15:28 +00:00
dependabot[bot] 075f1aa113
build(deps): bump next from 12.1.4 to 12.1.5 in /packages/dashboard
Bumps [next](https://github.com/vercel/next.js) from 12.1.4 to 12.1.5.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v12.1.4...v12.1.5)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:15:15 +00:00
dependabot[bot] 48067ac101
build(deps): bump polished from 4.2.1 to 4.2.2 in /packages/website
Bumps [polished](https://github.com/styled-components/polished) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/styled-components/polished/releases)
- [Commits](https://github.com/styled-components/polished/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: polished
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:14:13 +00:00
dependabot[bot] 4eb5683168
build(deps): bump framer-motion in /packages/website
Bumps [framer-motion](https://github.com/framer/motion) from 6.2.10 to 6.3.0.
- [Release notes](https://github.com/framer/motion/releases)
- [Changelog](https://github.com/framer/motion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/framer/motion/compare/v6.2.10...v6.3.0)

---
updated-dependencies:
- dependency-name: framer-motion
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:14:02 +00:00
dependabot[bot] b9046189e2
build(deps): bump nanoid from 3.3.2 to 3.3.3 in /packages/website
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:13:50 +00:00
dependabot[bot] 7863faa701
build(deps): bump gatsby-plugin-image in /packages/website
Bumps [gatsby-plugin-image](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-image) from 2.11.1 to 2.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-image/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-image@2.12.1/packages/gatsby-plugin-image)

---
updated-dependencies:
- dependency-name: gatsby-plugin-image
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 12:13:40 +00:00
Michał Leszczyk 581c93d0cd
Add stripe's publishable key for Gatsby 2022-04-15 23:16:15 +02:00
Michał Leszczyk ea11c3de48
feat(dashboard-v2): add sharing features, pagination and mobile view for /files page 2022-04-15 20:58:44 +02:00
Matthew Sevey 07f5352bf0
Update README.md 2022-04-15 12:50:26 -04:00
Matthew Sevey 8a0bbfc299
Update README.md 2022-04-15 12:50:07 -04:00
Michał Leszczyk c325865faa
chore(dashboard-v2): hide notifications and import/export links 2022-04-15 17:10:29 +02:00
Michał Leszczyk 3ed20e670b
feat(dashboard-v2): add custom 404 page 2022-04-15 17:03:13 +02:00
Michał Leszczyk 910270bca4
refactor(dashboard-v2): move upgrade screen under /payments url 2022-04-15 16:53:49 +02:00
Michał Leszczyk 525583af88
fix(dashboard-v2): allow passing additional classnames to Panels + ensure all slides are equal height 2022-04-15 16:19:55 +02:00
Michał Leszczyk b9d9059de4
feat(dashboard-v2): add platform-specific favicons 2022-04-15 16:19:29 +02:00
Michał Leszczyk 7e8d033bed
fix(dashboard-v2): fix Button styles on Safari when used as polymorphic component 2022-04-15 16:19:29 +02:00
Michał Leszczyk 5a2a2b6508
feat(dashboard-v2): add Stripe integration 2022-04-15 16:19:29 +02:00
Michał Leszczyk 916a420b72
refactor(dashboard-v2): replace pretty-bytes with in-house solution 2022-04-15 16:19:29 +02:00
Michał Leszczyk 7248147ba7
fix(dashboard-v2): always set portal domain for SkynetClient 2022-04-15 16:19:04 +02:00
Michał Leszczyk d6fe2d2f1d
chore(dashboard-v2): cleanup console.log call 2022-04-14 18:41:20 +02:00
Michał Leszczyk 77d3145c0b
ops(dashboard-v2): don't actually launch the new dashboard yet :) 2022-04-14 18:37:30 +02:00
Michał Leszczyk 03c9fe01b2
fix(dashboard-v2): fix skylinks validation for sponsor keys 2022-04-14 18:34:16 +02:00
Michał Leszczyk babb6a48ad
ops(dashboard-v2): fix SkynetClient on multi-server portals 2022-04-14 18:33:39 +02:00
Michał Leszczyk e4fe4dd901
ops(dashboard-v2): publish new dashboard under /v2 prefix 2022-04-14 18:30:27 +02:00
Michał Leszczyk 1e713c61c9
fix(dashboard-v2): fix current usage graph on portals without Stripe configured 2022-04-14 18:29:07 +02:00
Karol Wypchlo ad090fd1ff
pass skylink from request context to /user/limits 2022-04-14 15:58:01 +02:00
Karol Wypchło c1d07083fb
Merge pull request #1974 from SkynetLabs/improve-lua-stability-and-test-coverage
improve lua stability and test coverage
2022-04-14 13:20:07 +02:00
Karol Wypchło 162e6de77a
Merge pull request #1996 from SkynetLabs/dashboard-v2-copy-changes
Dashboard v2 - addressing ops team feedback + DX improvements
2022-04-14 13:14:13 +02:00
Karol Wypchło 7e9eb2bd6c
Merge pull request #1991 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/swr-1.3.0
build(deps): bump swr from 1.2.2 to 1.3.0 in /packages/dashboard
2022-04-14 11:49:02 +02:00
Karol Wypchło 7dc15a941c
Merge pull request #2002 from SkynetLabs/dependabot/npm_and_yarn/packages/website/framer-motion-6.2.10
build(deps): bump framer-motion from 6.2.8 to 6.2.10 in /packages/website
2022-04-14 11:46:23 +02:00
Karol Wypchło b6941aa476
Merge pull request #2004 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-sharp-4.12.1
build(deps): bump gatsby-plugin-sharp from 4.10.2 to 4.12.1 in /packages/website
2022-04-14 11:46:15 +02:00
Karol Wypchło 803de74c28
Merge pull request #2006 from SkynetLabs/dependabot/npm_and_yarn/packages/website/tailwindcss-3.0.24
build(deps-dev): bump tailwindcss from 3.0.23 to 3.0.24 in /packages/website
2022-04-14 11:46:03 +02:00
dependabot[bot] 47e8abd532
build(deps-dev): bump tailwindcss in /packages/website
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.23 to 3.0.24.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.23...v3.0.24)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-14 09:37:04 +00:00
dependabot[bot] ed3850bb77
build(deps): bump framer-motion in /packages/website
Bumps [framer-motion](https://github.com/framer/motion) from 6.2.8 to 6.2.10.
- [Release notes](https://github.com/framer/motion/releases)
- [Changelog](https://github.com/framer/motion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/framer/motion/compare/v6.2.8...v6.2.10)

---
updated-dependencies:
- dependency-name: framer-motion
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-14 09:36:52 +00:00
dependabot[bot] bfae3dc9ae
build(deps): bump gatsby-plugin-sharp in /packages/website
Bumps [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sharp) from 4.10.2 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sharp/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sharp@4.12.1/packages/gatsby-plugin-sharp)

---
updated-dependencies:
- dependency-name: gatsby-plugin-sharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-14 09:36:51 +00:00
Karol Wypchło fffc0c338a
Merge pull request #2005 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-postcss-5.12.1
build(deps): bump gatsby-plugin-postcss from 5.10.0 to 5.12.1 in /packages/website
2022-04-14 11:33:35 +02:00
Karol Wypchło 88c95ced1c
Merge pull request #2003 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-4.12.1
build(deps): bump gatsby from 4.11.2 to 4.12.1 in /packages/website
2022-04-14 11:33:21 +02:00
dependabot[bot] 96402be5ed
build(deps): bump gatsby-plugin-postcss in /packages/website
Bumps [gatsby-plugin-postcss](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-postcss) from 5.10.0 to 5.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-postcss/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-postcss@5.12.1/packages/gatsby-plugin-postcss)

---
updated-dependencies:
- dependency-name: gatsby-plugin-postcss
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-14 09:03:43 +00:00
dependabot[bot] ef53c3a7b1
build(deps): bump gatsby from 4.11.2 to 4.12.1 in /packages/website
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 4.11.2 to 4.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.11.2...gatsby@4.12.1)

---
updated-dependencies:
- dependency-name: gatsby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-14 09:03:07 +00:00
Karol Wypchło 2ff5b31315
Merge pull request #2000 from SkynetLabs/dependabot/npm_and_yarn/packages/website/react-dropzone-12.0.5
build(deps): bump react-dropzone from 12.0.4 to 12.0.5 in /packages/website
2022-04-14 10:59:23 +02:00
Karol Wypchło e6e19d40d3
Merge pull request #1999 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-robots-txt-1.7.1
build(deps): bump gatsby-plugin-robots-txt from 1.7.0 to 1.7.1 in /packages/website
2022-04-14 10:59:00 +02:00
Michał Leszczyk 9d079830ac
refactor(dashboard-v2): fix typos, change copies, rename components 2022-04-13 15:25:17 +02:00
Michał Leszczyk bf55ca8fbe
fix(dashboard-v2): use unambigous date format 2022-04-13 08:30:31 +02:00
Michał Leszczyk a392863cbe
fix(dashboard-v2): use binary: true 2022-04-13 08:29:11 +02:00
Michał Leszczyk b731d80ea0
ops(dashboard-v2): remove .env.development from repo 2022-04-13 08:23:44 +02:00
dependabot[bot] f9dfb364c0
build(deps): bump react-dropzone in /packages/website
Bumps [react-dropzone](https://github.com/react-dropzone/react-dropzone) from 12.0.4 to 12.0.5.
- [Release notes](https://github.com/react-dropzone/react-dropzone/releases)
- [Commits](https://github.com/react-dropzone/react-dropzone/compare/v12.0.4...v12.0.5)

---
updated-dependencies:
- dependency-name: react-dropzone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 13:04:05 +00:00
dependabot[bot] ab002ab5dd
build(deps): bump gatsby-plugin-robots-txt in /packages/website
Bumps [gatsby-plugin-robots-txt](https://github.com/mdreizin/gatsby-plugin-robots-txt) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/mdreizin/gatsby-plugin-robots-txt/releases)
- [Commits](https://github.com/mdreizin/gatsby-plugin-robots-txt/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: gatsby-plugin-robots-txt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 13:03:52 +00:00
dependabot[bot] a8976b79f7
build(deps): bump swr from 1.2.2 to 1.3.0 in /packages/dashboard
Bumps [swr](https://github.com/vercel/swr) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/vercel/swr/releases)
- [Commits](https://github.com/vercel/swr/compare/1.2.2...1.3.0)

---
updated-dependencies:
- dependency-name: swr
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 13:03:10 +00:00
Karol Wypchło 5b1bd0c3d0
Merge pull request #1992 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe/stripe-js-1.27.0
build(deps): bump @stripe/stripe-js from 1.26.0 to 1.27.0 in /packages/dashboard
2022-04-12 15:02:52 +02:00
dependabot[bot] 331776675f
build(deps): bump @stripe/stripe-js in /packages/dashboard
Bumps [@stripe/stripe-js](https://github.com/stripe/stripe-js) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/stripe/stripe-js/releases)
- [Commits](https://github.com/stripe/stripe-js/compare/v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: "@stripe/stripe-js"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 13:02:44 +00:00
Karol Wypchło e59db4af05
Merge pull request #1984 from SkynetLabs/dependabot/npm_and_yarn/packages/health-check/graceful-fs-4.2.10
build(deps): bump graceful-fs from 4.2.9 to 4.2.10 in /packages/health-check
2022-04-12 15:02:12 +02:00
Karol Wypchło 074daf7b27
Merge pull request #1983 from SkynetLabs/dependabot/npm_and_yarn/packages/health-check/yargs-17.4.1
build(deps): bump yargs from 17.4.0 to 17.4.1 in /packages/health-check
2022-04-12 15:01:50 +02:00
Karol Wypchło 09e5278181
Merge pull request #1990 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe-8.216.0
build(deps): bump stripe from 8.215.0 to 8.216.0 in /packages/dashboard
2022-04-12 15:01:37 +02:00
Karol Wypchło fd7d6e3f47
Merge pull request #1987 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/stripe/react-stripe-js-1.7.1
build(deps): bump @stripe/react-stripe-js from 1.7.0 to 1.7.1 in /packages/dashboard
2022-04-12 15:01:23 +02:00
Karol Wypchło f56b9eea69
Merge pull request #1986 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-plugin-sitemap-5.11.1
build(deps): bump gatsby-plugin-sitemap from 5.10.2 to 5.11.1 in /packages/website
2022-04-12 15:01:07 +02:00
Karol Wypchło 37d594fef9
Merge pull request #1988 from SkynetLabs/dependabot/npm_and_yarn/packages/website/gatsby-4.11.2
build(deps): bump gatsby from 4.11.1 to 4.11.2 in /packages/website
2022-04-12 15:00:56 +02:00
Karol Wypchło 1b7a7fc217
Merge pull request #1989 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard/eslint-8.13.0
build(deps-dev): bump eslint from 8.12.0 to 8.13.0 in /packages/dashboard
2022-04-12 15:00:42 +02:00
Karol Wypchło af4a1d91b0
Merge pull request #1985 from SkynetLabs/dependabot/npm_and_yarn/packages/website/prettier-2.6.2
build(deps-dev): bump prettier from 2.6.1 to 2.6.2 in /packages/website
2022-04-12 15:00:32 +02:00
Karol Wypchło 1f3ec0c74b
Merge pull request #1980 from SkynetLabs/dependabot/npm_and_yarn/packages/dashboard-v2/moment-2.29.2
build(deps): bump moment from 2.29.1 to 2.29.2 in /packages/dashboard-v2
2022-04-12 15:00:18 +02:00
Karol Wypchło 737cda45c8
Merge pull request #1979 from SkynetLabs/dependabot/npm_and_yarn/packages/website/moment-2.29.2
build(deps): bump moment from 2.29.1 to 2.29.2 in /packages/website
2022-04-12 15:00:08 +02:00
Michał Leszczyk e839184ee5
style(dashboard-v2): prettier run 2022-04-12 13:22:59 +02:00
Michał Leszczyk b572cdf72c
feat(dashboard-v2): proper copies on user settings pages + fix for account removal redirection 2022-04-12 13:22:26 +02:00
Michał Leszczyk 38407f6a31
fix(dashboard-v2): fix redirect after creating an account 2022-04-12 13:21:24 +02:00
Michał Leszczyk efed2045af
feat(dashboard-v2): proper copies about api keys 2022-04-12 13:20:40 +02:00
Michał Leszczyk 53b0687b21
fix(dashboard-v2): get rid of downloads section 2022-04-12 13:18:15 +02:00
Karol Wypchło 9b4f39e1c8
Merge pull request #1975 from SkynetLabs/dnslink-sponsor
add skynet-sponsor-key functionality
2022-04-12 13:02:22 +02:00
Michał Leszczyk d15d2146f5
ops(dashboard-v2): improve local developer experience 2022-04-12 12:55:09 +02:00
Karol Wypchło a611dd5d07
Merge pull request #1994 from SkynetLabs/dashboard-v2-feedback-fixes-main-screen
Dashboard v2 - Address feedback regarding main dashboard
2022-04-12 12:43:27 +02:00
Karol Wypchło f7b7392449
Merge pull request #1982 from SkynetLabs/dashboard-v2-feedback-fixes-auth-pages
Dashboard v2 -- Address feedback regarding /auth/ pages
2022-04-12 12:41:24 +02:00
Michał Leszczyk 8c56fba6a8
Merge pull request #1981 from SkynetLabs/dashboard-v2-improvements
refactor(dashboard-v2): move access guards outside of SWRConfig
2022-04-12 09:19:48 +02:00
Matthew Sevey 5dcb57d982
Merge pull request #1995 from SkynetLabs/link-to-skynetfree
Invite siasky.net users to manage their account via skynetfree.net
2022-04-11 15:08:22 -04:00
Michał Leszczyk b4485201d5
Invite siasky.net users to recover their account on skynetfree.net 2022-04-11 19:23:51 +02:00
Ivaylo Novakov d0a253c5fe
Merge pull request #1973 from SkynetLabs/ivo/update_portal_scripts
Update portal control scripts
2022-04-11 18:09:17 +02:00
dependabot[bot] 31d94f5f12
build(deps): bump stripe from 8.215.0 to 8.216.0 in /packages/dashboard
Bumps [stripe](https://github.com/stripe/stripe-node) from 8.215.0 to 8.216.0.
- [Release notes](https://github.com/stripe/stripe-node/releases)
- [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-node/compare/v8.215.0...v8.216.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:15:22 +00:00
dependabot[bot] 068091c584
build(deps-dev): bump eslint in /packages/dashboard
Bumps [eslint](https://github.com/eslint/eslint) from 8.12.0 to 8.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.12.0...v8.13.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:15:15 +00:00
dependabot[bot] ccccff697e
build(deps): bump gatsby from 4.11.1 to 4.11.2 in /packages/website
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 4.11.1 to 4.11.2.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.11.1...gatsby@4.11.2)

---
updated-dependencies:
- dependency-name: gatsby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:15:13 +00:00
dependabot[bot] 712040dac1
build(deps): bump @stripe/react-stripe-js in /packages/dashboard
Bumps [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stripe/react-stripe-js/releases)
- [Changelog](https://github.com/stripe/react-stripe-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/react-stripe-js/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: "@stripe/react-stripe-js"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:15:05 +00:00
dependabot[bot] e6a839fca6
build(deps): bump gatsby-plugin-sitemap in /packages/website
Bumps [gatsby-plugin-sitemap](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-sitemap) from 5.10.2 to 5.11.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-sitemap/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-sitemap@5.11.1/packages/gatsby-plugin-sitemap)

---
updated-dependencies:
- dependency-name: gatsby-plugin-sitemap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:14:03 +00:00
dependabot[bot] 9ccb313533
build(deps-dev): bump prettier from 2.6.1 to 2.6.2 in /packages/website
Bumps [prettier](https://github.com/prettier/prettier) from 2.6.1 to 2.6.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.6.1...2.6.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:12:52 +00:00
dependabot[bot] 8d8f7ac4f1
build(deps): bump graceful-fs in /packages/health-check
Bumps [graceful-fs](https://github.com/isaacs/node-graceful-fs) from 4.2.9 to 4.2.10.
- [Release notes](https://github.com/isaacs/node-graceful-fs/releases)
- [Commits](https://github.com/isaacs/node-graceful-fs/compare/v4.2.9...v4.2.10)

---
updated-dependencies:
- dependency-name: graceful-fs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:11:36 +00:00
dependabot[bot] 00d760eb24
build(deps): bump yargs from 17.4.0 to 17.4.1 in /packages/health-check
Bumps [yargs](https://github.com/yargs/yargs) from 17.4.0 to 17.4.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v17.4.0...v17.4.1)

---
updated-dependencies:
- dependency-name: yargs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:11:28 +00:00
Michał Leszczyk d164e538cd
fix(dashboard-v2): hide View All link when there's nothing to view 2022-04-11 13:32:22 +02:00
Michał Leszczyk 2965c8bbc6
fix(dashboard-v2): hide 'WAIT' since already says 'Processing' 2022-04-11 13:20:51 +02:00
Michał Leszczyk 2e7bccf604
fix(dashboard-v2): bound graph labels to the container box 2022-04-11 13:10:33 +02:00
Michał Leszczyk d093577909
dashboard-v2: move static elements of auth pages to AuthLayout 2022-04-11 12:37:14 +02:00
Michał Leszczyk 9cfea2266a
dashboard-v2: rename /signup to /registration 2022-04-11 12:27:57 +02:00
Michał Leszczyk ea8a63f328
dashboard-v2: CSS fixes on signup page 2022-04-11 12:26:37 +02:00
Michał Leszczyk 10dde68875
dashboard-v2: pin dropdown animation to toggle 2022-04-11 12:18:14 +02:00
Michał Leszczyk 2c2a1259d3
refactor(dashboard-v2): move access guards outside of SWRConfig 2022-04-11 09:09:39 +02:00
dependabot[bot] 8b4b298349
build(deps): bump moment from 2.29.1 to 2.29.2 in /packages/dashboard-v2
Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.1...2.29.2)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 14:49:12 +00:00
dependabot[bot] 8edd2e21bb
build(deps): bump moment from 2.29.1 to 2.29.2 in /packages/website
Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.1...2.29.2)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 12:31:58 +00:00
Karol Wypchlo cfe4ca0d87
add skynet-sponsor-key dnslink functionality 2022-04-08 13:56:20 +02:00
Karol Wypchlo 2e39fb4736
remove spy stub that will never be called 2022-04-08 13:24:35 +02:00
Karol Wypchlo a0693ac6b6
fix bad test title 2022-04-08 13:20:48 +02:00
Karol Wypchlo 4e64ddd798
match lowercase true/false 2022-04-08 13:20:05 +02:00
Karol Wypchło decb62d15a
Merge branch 'master' into improve-lua-stability-and-test-coverage 2022-04-08 11:52:59 +02:00
Karol Wypchlo 1c3fcf6999
add newlines on eof 2022-04-08 11:51:53 +02:00
Karol Wypchło 51952c88ed
Merge pull request #1978 from SkynetLabs/update-dashboard-v2-ip
update dashboard-v2 ip
2022-04-07 18:00:29 +02:00
Karol Wypchło 45df1c9e40
Merge pull request #1977 from SkynetLabs/website-docker-image
replace local docker builds with docker images
2022-04-07 16:24:16 +02:00
Karol Wypchlo 66cdd712f0
revert using image for dashboard 2022-04-07 15:16:25 +02:00
Karol Wypchło 6a1e73db21
update dashboard-v2 ip 2022-04-07 15:08:51 +02:00
Karol Wypchlo 8bdb64e745
build gatsby as a part of docker build process 2022-04-07 14:57:53 +02:00
Karol Wypchlo 7707a34564
fix dashboard-v2 dockerfile 2022-04-07 14:55:54 +02:00
Karol Wypchlo e8d68a0fa0
clean up docker images 2022-04-07 14:52:04 +02:00
Karol Wypchlo 7963c2cb63
use dashboard docker images 2022-04-07 14:47:49 +02:00
Karol Wypchlo 73dad081ea
use health-check docker image 2022-04-07 14:41:18 +02:00
Karol Wypchlo 1d50d51f29
use dnslink-api docker image 2022-04-07 14:39:53 +02:00
Karol Wypchlo 40b8390c19
use handshake-api docker image 2022-04-07 14:38:19 +02:00
Karol Wypchlo d577f332b6
use website docker image 2022-04-07 14:12:24 +02:00
Karol Wypchło e7183f471b
remove max body size constraint on tus endpoint (#1976) 2022-04-07 13:52:23 +02:00
Michał Leszczyk 688dbbd52f
ops(dashboard-v2): prepare Dockerfile (#1971)
* ops(dashboard-v2): prepare Dockerfile

* ops(dashboard-v2): lint dashboard-v2/Dockerfile
2022-04-07 12:59:20 +02:00
Ivaylo Novakov a6687a8457
Fix README link. 2022-04-06 18:19:20 +02:00
Ivaylo Novakov e2171b5a89
Don't use a default reason when downing a portal. 2022-04-06 18:18:32 +02:00
Karol Wypchlo 9b3e659ec5
lua testing and codecov v3 2022-04-06 15:14:44 +02:00
Ivaylo Novakov 5473b8475a
Update portal control scripts, so they can talk to the new health-check container. 2022-04-06 11:59:28 +02:00
551 changed files with 212 additions and 57654 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1 @@
* @kwypchlo @meeh0w

View File

@ -1,50 +1,6 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/packages/dashboard"
schedule:
interval: weekly
- package-ecosystem: npm
directory: "/packages/dnslink-api"
schedule:
interval: weekly
- package-ecosystem: npm
directory: "/packages/handshake-api"
schedule:
interval: weekly
- package-ecosystem: npm
directory: "/packages/health-check"
schedule:
interval: weekly
- package-ecosystem: npm
directory: "/packages/website"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/docker/nginx"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/docker/sia"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/packages/dashboard"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/packages/dnslink-api"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/packages/handshake-api"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/packages/health-check"
schedule:
interval: weekly
- package-ecosystem: docker
directory: "/packages/website"
schedule:
interval: weekly
interval: monthly

View File

@ -1,71 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '32 21 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@ -1,31 +0,0 @@
name: Build Storybook - packages/dashboard-v2
on:
push:
branches:
- master
paths:
- "packages/dashboard-v2/**"
pull_request:
paths:
- "packages/dashboard-v2/**"
defaults:
run:
working-directory: packages/dashboard-v2
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn install
- run: yarn build-storybook
- name: "Deploy to Skynet"
uses: skynetlabs/deploy-to-skynet-action@v2
with:
upload-dir: packages/dashboard-v2/storybook-build
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,49 +0,0 @@
name: Deploy website to Skynet
on:
push:
branches:
- master
paths:
- "packages/website/**"
pull_request:
paths:
- "packages/website/**"
defaults:
run:
working-directory: packages/website
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn build
- name: "Integration tests"
uses: cypress-io/github-action@v2
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
working-directory: packages/website
install: false
record: true
start: yarn develop
wait-on: http://localhost:8000
wait-on-timeout: 120
config: baseUrl=http://localhost:8000
- name: "Deploy to Skynet"
uses: skynetlabs/deploy-to-skynet-action@v2
with:
upload-dir: packages/website/public
github-token: ${{ secrets.GITHUB_TOKEN }}
registry-seed: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && secrets.WEBSITE_REGISTRY_SEED || '' }}

View File

@ -1,27 +0,0 @@
name: Dockerfile Lint
on:
push:
branches:
- master
pull_request:
jobs:
hadolint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
dockerfile:
- docker/nginx/Dockerfile
- docker/sia/Dockerfile
- packages/dashboard/Dockerfile
- packages/dnslink-api/Dockerfile
- packages/handshake-api/Dockerfile
- packages/health-check/Dockerfile
- packages/website/Dockerfile
steps:
- uses: actions/checkout@v3
- uses: hadolint/hadolint-action@v2.0.0
with:
dockerfile: ${{ matrix.dockerfile }}

View File

@ -1,24 +0,0 @@
name: Lint - packages/dashboard-v2
on:
pull_request:
paths:
- packages/dashboard-v2/**
defaults:
run:
working-directory: packages/dashboard-v2
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check
- run: yarn lint

View File

@ -1,24 +0,0 @@
name: Lint - packages/dashboard
on:
pull_request:
paths:
- packages/dashboard/**
defaults:
run:
working-directory: packages/dashboard
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check .
- run: yarn next lint

View File

@ -1,23 +0,0 @@
name: Lint - packages/dnslink-api
on:
pull_request:
paths:
- packages/dnslink-api/**
defaults:
run:
working-directory: packages/dnslink-api
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check .

View File

@ -1,23 +0,0 @@
name: Lint - packages/handshake-api
on:
pull_request:
paths:
- packages/handshake-api/**
defaults:
run:
working-directory: packages/handshake-api
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check .

View File

@ -1,23 +0,0 @@
name: Lint - packages/health-check
on:
pull_request:
paths:
- packages/health-check/**
defaults:
run:
working-directory: packages/health-check
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check .

View File

@ -1,23 +0,0 @@
name: Lint - packages/website
on:
pull_request:
paths:
- packages/website/**
defaults:
run:
working-directory: packages/website
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn prettier --check .

View File

@ -1,53 +0,0 @@
# Install and run unit tests with busted
# Docs: http://olivinelabs.com/busted/
name: Nginx Lua Unit Tests
on:
push:
branches:
- "master"
paths:
- ".github/workflows/nginx-lua-unit-tests.yml"
- "docker/nginx/libs/**.lua"
pull_request:
paths:
- ".github/workflows/nginx-lua-unit-tests.yml"
- "docker/nginx/libs/**.lua"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: "3.x"
architecture: "x64"
- name: Install Dependencies
run: |
pip install hererocks
hererocks env --lua=5.1 -rlatest
source env/bin/activate
luarocks install busted
luarocks install luacov
luarocks install hasher
luarocks install luacheck
- name: Lint code
run: |
source env/bin/activate
luacheck docker/nginx/libs --std ngx_lua+busted
- name: Unit Tests
run: |
source env/bin/activate
busted --verbose --coverage --pattern=spec --directory=docker/nginx/libs .
cd docker/nginx/libs && luacov
- uses: codecov/codecov-action@v2
with:
directory: docker/nginx/libs
flags: nginx-lua

View File

@ -1,23 +0,0 @@
name: Test - packages/health-check
on:
pull_request:
paths:
- packages/health-check/**
defaults:
run:
working-directory: packages/health-check
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
- run: yarn
- run: yarn jest

8
.gitignore vendored
View File

@ -67,10 +67,6 @@ yarn-error.log
# Yarn Integrity file
.yarn-integrity
# Cypress
packages/website/cypress/screenshots
packages/website/cypress/videos
# Docker data
docker/data
@ -86,6 +82,10 @@ __pycache__
/.idea/
/venv*
# Luacov file
luacov.stats.out
luacov.report.out
# Setup-script log files
setup-scripts/serverload.log
setup-scripts/serverload.json

View File

@ -3,27 +3,10 @@
## Latest Setup Documentation
Latest Skynet Webportal setup documentation and the setup process Skynet Labs
supports is located at https://docs.siasky.net/webportal-management/overview.
supports is located at https://portal-docs.skynetlabs.com/.
Some of the scripts and setup documentation contained in this repository
(`skynet-webportal`) can be outdated and generally should not be used.
## Web application
Change current directory with `cd packages/website`.
Use `yarn start` to start the development server.
Use `yarn build` to compile the application to `/public` directory.
You can use the below build parameters to customize your web application.
- development example `GATSBY_API_URL=https://siasky.dev yarn start`
- production example `GATSBY_API_URL=https://siasky.net yarn build`
List of available parameters:
- `GATSBY_API_URL`: override api url (defaults to location origin)
Some scripts and setup documentation contained in this repository
(`skynet-webportal`) may be outdated and generally should not be used.
## License
@ -33,19 +16,3 @@ and distribute the software, but you must preserve the payment mechanism in the
For the purposes of complying with our code license, you can use the following Siacoin address:
`fb6c9320bc7e01fbb9cd8d8c3caaa371386928793c736837832e634aaaa484650a3177d6714a`
## Running a Portal
For those interested in running a Webportal, head over to our developer docs [here](https://docs.siasky.net/webportal-management/overview.) to learn more.
## Contributing
### Testing Your Code
Before pushing your code, you should verify that it will pass our online test suite.
**Cypress Tests**
Verify the Cypress test suite by doing the following:
1. In one terminal screen run `GATSBY_API_URL=https://siasky.net website serve`
1. In a second terminal screen run `yarn cypress run`

View File

@ -0,0 +1,2 @@
- Fix `dashboard-v2` Dockerfile context in `docker-compose.accounts.yml` to
avoid Ansible deploy (docker compose build) `permission denied` issues.

View File

@ -0,0 +1 @@
- Fix missing `logs` dir that is required for backup scripts (cron jobs).

View File

@ -0,0 +1 @@
- Add Pinner service to the portal stack. Activate it by selecting the 'p' module.

34
dc
View File

@ -5,51 +5,59 @@
# would use docker-compose with the only difference being that you don't need to specify compose files. For more
# information you can run `./dc` or `./dc help`.
if [ -f .env ]; then
OLD_IFS=$IFS
IFS=$'\n'
for x in $(grep -v '^#.*' .env); do export $x; done
IFS=$OLD_IFS
# get current working directory of this script and prefix all files with it to
# be able to call this script from anywhere and not only root directory of
# skynet-webportal project
cwd="$(dirname -- "$0";)";
# get portal modules configuration from .env file (if defined more than once, the last one is used)
if [[ -f "${cwd}/.env" ]]; then
PORTAL_MODULES=$(grep -e "^PORTAL_MODULES=" ${cwd}/.env | tail -1 | sed "s/PORTAL_MODULES=//")
fi
# include base docker compose file
COMPOSE_FILES="-f docker-compose.yml"
COMPOSE_FILES="-f ${cwd}/docker-compose.yml"
for i in $(seq 1 ${#PORTAL_MODULES}); do
# accounts module - alias "a"
if [[ ${PORTAL_MODULES:i-1:1} == "a" ]]; then
COMPOSE_FILES+=" -f docker-compose.mongodb.yml -f docker-compose.accounts.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.mongodb.yml -f ${cwd}/docker-compose.accounts.yml"
fi
# blocker module - alias "b"
if [[ ${PORTAL_MODULES:i-1:1} == "b" ]]; then
COMPOSE_FILES+=" -f docker-compose.mongodb.yml -f docker-compose.blocker.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.mongodb.yml -f ${cwd}/docker-compose.blocker.yml"
fi
# jaeger module - alias "j"
if [[ ${PORTAL_MODULES:i-1:1} == "j" ]]; then
COMPOSE_FILES+=" -f docker-compose.jaeger.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.jaeger.yml"
fi
# malware-scanner module - alias "s"
if [[ ${PORTAL_MODULES:i-1:1} == "s" ]]; then
COMPOSE_FILES+=" -f docker-compose.blocker.yml -f docker-compose.mongodb.yml -f docker-compose.malware-scanner.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.blocker.yml -f ${cwd}/docker-compose.mongodb.yml -f ${cwd}/docker-compose.malware-scanner.yml"
fi
# mongodb module - alias "m"
if [[ ${PORTAL_MODULES:i-1:1} == "m" ]]; then
COMPOSE_FILES+=" -f docker-compose.mongodb.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.mongodb.yml"
fi
# abuse-scanner module - alias "u"
if [[ ${PORTAL_MODULES:i-1:1} == "u" ]]; then
COMPOSE_FILES+=" -f docker-compose.mongodb.yml -f docker-compose.blocker.yml -f docker-compose.abuse-scanner.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.mongodb.yml -f ${cwd}/docker-compose.blocker.yml -f ${cwd}/docker-compose.abuse-scanner.yml"
fi
# pinner module - alias "p"
if [[ ${PORTAL_MODULES:i-1:1} == "p" ]]; then
COMPOSE_FILES+=" -f ${cwd}/docker-compose.mongodb.yml -f ${cwd}/docker-compose.pinner.yml"
fi
done
# override file if exists
if [[ -f docker-compose.override.yml ]]; then
COMPOSE_FILES+=" -f docker-compose.override.yml"
COMPOSE_FILES+=" -f ${cwd}/docker-compose.override.yml"
fi
docker-compose $COMPOSE_FILES $@

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -10,7 +10,7 @@ services:
abuse-scanner:
# uncomment "build" and comment out "image" to build from sources
# build: https://github.com/SkynetLabs/abuse-scanner.git#main
image: skynetlabs/abuse-scanner
image: skynetlabs/abuse-scanner:0.4.0
container_name: abuse-scanner
restart: unless-stopped
logging: *default-logging
@ -36,3 +36,6 @@ services:
depends_on:
- mongo
- blocker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp:/tmp

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -22,7 +22,7 @@ services:
accounts:
# uncomment "build" and comment out "image" to build from sources
# build: https://github.com/SkynetLabs/skynet-accounts.git#main
image: skynetlabs/skynet-accounts
image: skynetlabs/skynet-accounts:1.3.0
container_name: accounts
restart: unless-stopped
logging: *default-logging
@ -55,23 +55,23 @@ services:
- mongo
dashboard:
build:
context: ./packages/dashboard
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-accounts-dashboard.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-accounts-dashboard:2.1.1
container_name: dashboard
restart: unless-stopped
logging: *default-logging
env_file:
- .env
environment:
- NEXT_PUBLIC_PORTAL_DOMAIN=${PORTAL_DOMAIN}
- NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLISHABLE_KEY}
volumes:
- ./docker/data/dashboard/.next:/usr/app/.next
- ./docker/data/dashboard/.cache:/usr/app/.cache
- ./docker/data/dashboard/public:/usr/app/public
networks:
shared:
ipv4_address: 10.10.10.85
expose:
- 3000
- 9000
depends_on:
- mongo

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -15,7 +15,7 @@ services:
blocker:
# uncomment "build" and comment out "image" to build from sources
# build: https://github.com/SkynetLabs/blocker.git#main
image: skynetlabs/blocker
image: skynetlabs/blocker:0.1.2
container_name: blocker
restart: unless-stopped
logging: *default-logging

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -21,7 +21,7 @@ services:
- JAEGER_REPORTER_LOG_SPANS=false
jaeger-agent:
image: jaegertracing/jaeger-agent:1.32.0
image: jaegertracing/jaeger-agent:1.38.1
command:
[
"--reporter.grpc.host-port=jaeger-collector:14250",
@ -43,7 +43,7 @@ services:
- jaeger-collector
jaeger-collector:
image: jaegertracing/jaeger-collector:1.32.0
image: jaegertracing/jaeger-collector:1.38.1
entrypoint: /wait_to_start.sh
container_name: jaeger-collector
restart: on-failure
@ -68,7 +68,7 @@ services:
- elasticsearch
jaeger-query:
image: jaegertracing/jaeger-query:1.32.0
image: jaegertracing/jaeger-query:1.38.1
entrypoint: /wait_to_start.sh
container_name: jaeger-query
restart: on-failure
@ -93,7 +93,7 @@ services:
- elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6
container_name: elasticsearch
restart: on-failure
logging: *default-logging

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -17,10 +17,6 @@ services:
- ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro
expose:
- 3310 # NEVER expose this outside of the local network!
deploy:
resources:
limits:
cpus: "${CLAMAV_CPU:-0.50}"
networks:
shared:
ipv4_address: 10.10.10.100
@ -28,7 +24,7 @@ services:
malware-scanner:
# uncomment "build" and comment out "image" to build from sources
# build: https://github.com/SkynetLabs/malware-scanner.git#main
image: skynetlabs/malware-scanner
image: skynetlabs/malware-scanner:0.1.0
container_name: malware-scanner
restart: unless-stopped
logging: *default-logging

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -14,8 +14,8 @@ services:
- MONGODB_PASSWORD=${SKYNET_DB_PASS}
mongo:
image: mongo:4.4.1
command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET:-skynet}
image: mongo:4.4.17
command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET:-skynet} --setParameter ShardingTaskExecutorPoolMinSize=10
container_name: mongo
restart: unless-stopped
logging: *default-logging

30
docker-compose.pinner.yml Normal file
View File

@ -0,0 +1,30 @@
version: "3.8"
x-logging: &default-logging
driver: json-file
options:
max-size: "10m"
max-file: "3"
services:
pinner:
# uncomment "build" and comment out "image" to build from sources
# build: https://github.com/SkynetLabs/pinner.git#main
image: skynetlabs/pinner:0.7.8
container_name: pinner
restart: unless-stopped
logging: *default-logging
env_file:
- .env
volumes:
- ./docker/data/pinner/logs:/logs
environment:
- PINNER_LOG_LEVEL=${PINNER_LOG_LEVEL:-info}
expose:
- 4000
networks:
shared:
ipv4_address: 10.10.10.130
depends_on:
- mongo
- sia

View File

@ -1,4 +1,4 @@
version: "3.7"
version: "3.8"
x-logging: &default-logging
driver: json-file
@ -15,16 +15,19 @@ networks:
services:
sia:
build:
context: ./docker/sia
dockerfile: Dockerfile
args:
branch: portal-latest
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/docker-skyd.git#main
# dockerfile: scratch/Dockerfile
# args:
# branch: master
image: skynetlabs/skyd:1.6.9
command: --disable-api-security --api-addr :9980 --modules gctwra
container_name: sia
restart: unless-stopped
stop_grace_period: 5m
logging: *default-logging
environment:
- SIA_MODULES=gctwra
- SKYD_DISK_CACHE_ENABLED=${SKYD_DISK_CACHE_ENABLED:-true}
- SKYD_DISK_CACHE_SIZE=${SKYD_DISK_CACHE_SIZE:-53690000000} # 50GB
- SKYD_DISK_CACHE_MIN_HITS=${SKYD_DISK_CACHE_MIN_HITS:-3}
@ -40,7 +43,24 @@ services:
- 9980
certbot:
image: certbot/dns-route53:v1.25.0
# replace this image with the image supporting your dns provider from
# https://hub.docker.com/r/certbot/certbot and adjust CERTBOT_ARGS env variable
# note: you will need to authenticate your dns request so consult the plugin docs
# configuration https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins
#
# =================================================================================
# example docker-compose.yml changes required for Cloudflare dns provider:
#
# image: certbot/dns-cloudflare
# environment:
# - CERTBOT_ARGS=--dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini
#
# create ./docker/data/certbot/cloudflare.ini file with the following content:
# dns_cloudflare_api_token = <api key generated at https://dash.cloudflare.com/profile/api-tokens>
#
# make sure that the file has 0400 permissions with:
# chmod 0400 ./docker/data/certbot/cloudflare.ini
image: certbot/dns-route53:v1.31.0
entrypoint: sh /entrypoint.sh
container_name: certbot
restart: unless-stopped
@ -54,9 +74,11 @@ services:
- ./docker/data/certbot:/etc/letsencrypt
nginx:
build:
context: ./docker/nginx
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-nginx.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-nginx:1.0.0
container_name: nginx
restart: unless-stopped
logging: *default-logging
@ -82,12 +104,17 @@ services:
- website
website:
build:
context: ./packages/website
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-website.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-website:0.2.3
container_name: website
restart: unless-stopped
logging: *default-logging
volumes:
- ./docker/data/website/.cache:/usr/app/.cache
- ./docker/data/website/.public:/usr/app/public
env_file:
- .env
networks:
@ -97,18 +124,11 @@ services:
- 9000
handshake:
image: skynetlabs/hsd:3.0.1
command: --chain-migrate=2 --wallet-migrate=1
image: handshakeorg/hsd:4.0.2
command: --chain-migrate=3 --no-wallet --no-auth --compact-tree-on-init --network=main --http-host=0.0.0.0
container_name: handshake
restart: unless-stopped
logging: *default-logging
environment:
- HSD_LOG_CONSOLE=false
- HSD_HTTP_HOST=0.0.0.0
- HSD_NETWORK=main
- HSD_PORT=12037
env_file:
- .env
volumes:
- ./docker/data/handshake/.hsd:/root/.hsd
networks:
@ -118,9 +138,11 @@ services:
- 12037
handshake-api:
build:
context: ./packages/handshake-api
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-handshake-api.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-handshake-api:0.1.3
container_name: handshake-api
restart: unless-stopped
logging: *default-logging
@ -140,9 +162,11 @@ services:
- handshake
dnslink-api:
build:
context: ./packages/dnslink-api
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-dnslink-api.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-dnslink-api:0.2.1
container_name: dnslink-api
restart: unless-stopped
logging: *default-logging
@ -153,9 +177,11 @@ services:
- 3100
health-check:
build:
context: ./packages/health-check
dockerfile: Dockerfile
# uncomment "build" and comment out "image" to build from sources
# build:
# context: https://github.com/SkynetLabs/webportal-health-check.git#main
# dockerfile: Dockerfile
image: skynetlabs/webportal-health-check:1.0.0
container_name: health-check
restart: unless-stopped
logging: *default-logging

View File

@ -1,26 +0,0 @@
FROM openresty/openresty:1.19.9.1-focal
WORKDIR /
RUN luarocks install lua-resty-http && \
luarocks install hasher && \
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
-subj '/CN=local-certificate' \
-keyout /etc/ssl/local-certificate.key \
-out /etc/ssl/local-certificate.crt
COPY mo ./
COPY libs /etc/nginx/libs
COPY conf.d /etc/nginx/conf.d
COPY conf.d.templates /etc/nginx/conf.d.templates
COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
CMD [ "bash", "-c", \
"./mo < /etc/nginx/conf.d.templates/server.account.conf > /etc/nginx/conf.d/server.account.conf ; \
./mo < /etc/nginx/conf.d.templates/server.api.conf > /etc/nginx/conf.d/server.api.conf; \
./mo < /etc/nginx/conf.d.templates/server.dnslink.conf > /etc/nginx/conf.d/server.dnslink.conf; \
./mo < /etc/nginx/conf.d.templates/server.hns.conf > /etc/nginx/conf.d/server.hns.conf; \
./mo < /etc/nginx/conf.d.templates/server.skylink.conf > /etc/nginx/conf.d/server.skylink.conf ; \
while :; do sleep 6h & wait ${!}; /usr/local/openresty/bin/openresty -s reload; done & \
/usr/local/openresty/bin/openresty '-g daemon off;'" \
]

View File

@ -1,45 +0,0 @@
{{#ACCOUNTS_ENABLED}}
{{#PORTAL_DOMAIN}}
server {
server_name account.{{PORTAL_DOMAIN}}; # example: account.siasky.net
include /etc/nginx/conf.d/server/server.http;
}
server {
server_name account.{{PORTAL_DOMAIN}}; # example: account.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{PORTAL_DOMAIN}}" }
set_by_lua_block $skynet_server_domain {
-- fall back to portal domain if server domain is not defined
if "{{SERVER_DOMAIN}}" == "" then
return "{{PORTAL_DOMAIN}}"
end
return "{{SERVER_DOMAIN}}"
}
include /etc/nginx/conf.d/server/server.account;
}
{{/PORTAL_DOMAIN}}
{{#SERVER_DOMAIN}}
server {
server_name account.{{SERVER_DOMAIN}}; # example: account.eu-ger-1.siasky.net
include /etc/nginx/conf.d/server/server.http;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
server {
server_name account.{{SERVER_DOMAIN}}; # example: account.eu-ger-1.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{SERVER_DOMAIN}}" }
set_by_lua_block $skynet_server_domain { return "{{SERVER_DOMAIN}}" }
include /etc/nginx/conf.d/server/server.account;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
{{/SERVER_DOMAIN}}
{{/ACCOUNTS_ENABLED}}

View File

@ -1,43 +0,0 @@
{{#PORTAL_DOMAIN}}
server {
server_name {{PORTAL_DOMAIN}}; # example: siasky.net
include /etc/nginx/conf.d/server/server.http;
}
server {
server_name {{PORTAL_DOMAIN}}; # example: siasky.net
set_by_lua_block $skynet_portal_domain { return "{{PORTAL_DOMAIN}}" }
set_by_lua_block $skynet_server_domain {
-- fall back to portal domain if server domain is not defined
if "{{SERVER_DOMAIN}}" == "" then
return "{{PORTAL_DOMAIN}}"
end
return "{{SERVER_DOMAIN}}"
}
include /etc/nginx/conf.d/server/server.api;
}
{{/PORTAL_DOMAIN}}
{{#SERVER_DOMAIN}}
server {
server_name {{SERVER_DOMAIN}}; # example: eu-ger-1.siasky.net
include /etc/nginx/conf.d/server/server.http;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
server {
server_name {{SERVER_DOMAIN}}; # example: eu-ger-1.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{SERVER_DOMAIN}}" }
set_by_lua_block $skynet_server_domain { return "{{SERVER_DOMAIN}}" }
include /etc/nginx/conf.d/server/server.api;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
{{/SERVER_DOMAIN}}

View File

@ -1,25 +0,0 @@
lua_shared_dict dnslink 10m;
server {
listen 80 default_server;
include /etc/nginx/conf.d/server/server.dnslink;
}
server {
listen 443 default_server;
ssl_certificate /etc/ssl/local-certificate.crt;
ssl_certificate_key /etc/ssl/local-certificate.key;
set_by_lua_block $skynet_portal_domain { return "{{PORTAL_DOMAIN}}" }
set_by_lua_block $skynet_server_domain {
-- fall back to portal domain if server domain is not defined
if "{{SERVER_DOMAIN}}" == "" then
return "{{PORTAL_DOMAIN}}"
end
return "{{SERVER_DOMAIN}}"
}
include /etc/nginx/conf.d/server/server.dnslink;
}

View File

@ -1,45 +0,0 @@
{{#PORTAL_DOMAIN}}
server {
server_name *.hns.{{PORTAL_DOMAIN}}; # example: *.hns.siasky.net
include /etc/nginx/conf.d/server/server.http;
}
server {
server_name *.hns.{{PORTAL_DOMAIN}}; # example: *.hns.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{PORTAL_DOMAIN}}" }
set_by_lua_block $skynet_server_domain {
-- fall back to portal domain if server domain is not defined
if "{{SERVER_DOMAIN}}" == "" then
return "{{PORTAL_DOMAIN}}"
end
return "{{SERVER_DOMAIN}}"
}
proxy_set_header Host {{PORTAL_DOMAIN}};
include /etc/nginx/conf.d/server/server.hns;
}
{{/PORTAL_DOMAIN}}
{{#SERVER_DOMAIN}}
server {
server_name *.hns.{{SERVER_DOMAIN}}; # example: *.hns.eu-ger-1.siasky.net
include /etc/nginx/conf.d/server/server.http;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
server {
server_name *.hns.{{SERVER_DOMAIN}}; # example: *.hns.eu-ger-1.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{SERVER_DOMAIN}}" }
set_by_lua_block $skynet_server_domain { return "{{SERVER_DOMAIN}}" }
proxy_set_header Host {{SERVER_DOMAIN}};
include /etc/nginx/conf.d/server/server.hns;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
{{/SERVER_DOMAIN}}

View File

@ -1,43 +0,0 @@
{{#PORTAL_DOMAIN}}
server {
server_name *.{{PORTAL_DOMAIN}}; # example: *.siasky.net
include /etc/nginx/conf.d/server/server.http;
}
server {
server_name *.{{PORTAL_DOMAIN}}; # example: *.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{PORTAL_DOMAIN}}" }
set_by_lua_block $skynet_server_domain {
-- fall back to portal domain if server domain is not defined
if "{{SERVER_DOMAIN}}" == "" then
return "{{PORTAL_DOMAIN}}"
end
return "{{SERVER_DOMAIN}}"
}
include /etc/nginx/conf.d/server/server.skylink;
}
{{/PORTAL_DOMAIN}}
{{#SERVER_DOMAIN}}
server {
server_name *.{{SERVER_DOMAIN}}; # example: *.eu-ger-1.siasky.net
include /etc/nginx/conf.d/server/server.http;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
server {
server_name *.{{SERVER_DOMAIN}}; # example: *.eu-ger-1.siasky.net
set_by_lua_block $skynet_portal_domain { return "{{SERVER_DOMAIN}}" }
set_by_lua_block $skynet_server_domain { return "{{SERVER_DOMAIN}}" }
include /etc/nginx/conf.d/server/server.skylink;
set_by_lua_block $server_alias { return string.match("{{SERVER_DOMAIN}}", "^([^.]+)") }
}
{{/SERVER_DOMAIN}}

View File

@ -1,8 +0,0 @@
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz
+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a
87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7
YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi
7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD
ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==
-----END DH PARAMETERS-----

View File

@ -1,18 +0,0 @@
# enables gzip compression
gzip on;
# set the gzip compression level (1-9)
gzip_comp_level 6;
# tells proxies to cache both gzipped and regular versions of a resource
gzip_vary on;
# informs NGINX to not compress anything smaller than the defined size
gzip_min_length 256;
# compress data even for clients that are connecting via proxies if a response header includes
# the "expired", "no-cache", "no-store", "private", and "Authorization" parameters
gzip_proxied expired no-cache no-store private auth;
# enables the types of files that can be compressed
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;

View File

@ -1,9 +0,0 @@
if ($request_method = 'OPTIONS') {
include /etc/nginx/conf.d/include/cors-headers;
more_set_headers 'Access-Control-Max-Age: 1728000';
more_set_headers 'Content-Type: text/plain; charset=utf-8';
more_set_headers 'Content-Length: 0';
return 204;
}
include /etc/nginx/conf.d/include/cors-headers;

View File

@ -1,5 +0,0 @@
more_set_headers 'Access-Control-Allow-Origin: $http_origin';
more_set_headers 'Access-Control-Allow-Credentials: true';
more_set_headers 'Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE';
more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,If-None-Match,Cache-Control,Content-Type,Range,X-HTTP-Method-Override,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,upload-concat,location,Skynet-API-Key';
more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range,ETag,Accept-Ranges,Skynet-File-Metadata,Skynet-Skylink,Skynet-Proof,Skynet-Portal-Api,Skynet-Server-Api,upload-offset,upload-metadata,upload-length,tus-version,tus-resumable,tus-extension,tus-max-size,upload-concat,location';

View File

@ -1,11 +0,0 @@
# Extract 2 sets of 2 characters from $request_id and assign to $dir1, $dir2
# respectfully. The rest of the $request_id is going to be assigned to $dir3.
# We use those variables to automatically generate a unique path for the uploaded file.
# This ensures that not all uploaded files end up in the same directory, which is something
# that causes performance issues in the renter.
# Example path result: /af/24/9bc5ec894920ccc45634dc9a8065
if ($request_id ~* "(\w{2})(\w{2})(\w+)") {
set $dir1 $1;
set $dir2 $2;
set $dir3 $3;
}

View File

@ -1,15 +0,0 @@
# optional variables initialisation - those variables are used in log_format
# but are not set on every route so we need to initialise them with empty value
# because otherwise logger with throw error
# set only on hns routes
set $hns_domain "";
# set only if server has been access through SERVER_DOMAIN
set $server_alias "";
# expose skylink variable so we can use it in access log
set $skylink "";
# cached account limits (json string) - applies only if accounts are enabled
set $account_limits "";

View File

@ -1,3 +0,0 @@
allow 127.0.0.1/32; # localhost
allow 10.10.10.0/24; # docker network
deny all;

View File

@ -1,94 +0,0 @@
include /etc/nginx/conf.d/include/proxy-pass-internal;
include /etc/nginx/conf.d/include/portal-access-check;
# variable definititions - we need to define a variable to be able to access it in lua by ngx.var.something
set $skylink ''; # placeholder for the raw 46 bit skylink
# resolve handshake domain by requesting to /hnsres endpoint and assign correct values to $skylink and $rest
rewrite_by_lua_block {
local json = require('cjson')
local httpc = require("resty.http").new()
-- make a get request to /hnsres endpoint with the domain name from request_uri
-- 10.10.10.50 points to handshake-api service (alias not available when using resty-http)
local hnsres_res, hnsres_err = httpc:request_uri("http://10.10.10.50:3100/hnsres/" .. ngx.var.hns_domain)
-- print error and exit with 500 or exit with response if status is not 200
if hnsres_err or (hnsres_res and hnsres_res.status ~= ngx.HTTP_OK) then
ngx.status = (hnsres_err and ngx.HTTP_INTERNAL_SERVER_ERROR) or hnsres_res.status
ngx.header["content-type"] = "text/plain"
ngx.say(hnsres_err or hnsres_res.body)
return ngx.exit(ngx.status)
end
-- since /hnsres endpoint response is a json, we need to decode it before we access it
-- example response: '{"skylink":"sia://XABvi7JtJbQSMAcDwnUnmp2FKDPjg8_tTTFP4BwMSxVdEg"}'
local hnsres_json = json.decode(hnsres_res.body)
-- define local variable containing rest of the skylink if provided
local skylink_rest
if hnsres_json.skylink then
-- try to match the skylink with sia:// prefix
skylink, skylink_rest = string.match(hnsres_json.skylink, "sia://([^/?]+)(.*)")
-- in case the skylink did not match, assume that there is no sia:// prefix and try to match again
if skylink == nil then
skylink, skylink_rest = string.match(hnsres_json.skylink, "/?([^/?]+)(.*)")
end
elseif hnsres_json.registry then
local publickey = hnsres_json.registry.publickey
local datakey = hnsres_json.registry.datakey
-- make a get request to /skynet/registry endpoint with the credentials from text record
-- 10.10.10.10 points to sia service (alias not available when using resty-http)
local registry_res, registry_err = httpc:request_uri("http://10.10.10.10:9980/skynet/registry?publickey=" .. publickey .. "&datakey=" .. datakey, {
headers = { ["User-Agent"] = "Sia-Agent" }
})
-- print error and exit with 500 or exit with response if status is not 200
if registry_err or (registry_res and registry_res.status ~= ngx.HTTP_OK) then
ngx.status = (registry_err and ngx.HTTP_INTERNAL_SERVER_ERROR) or registry_res.status
ngx.header["content-type"] = "text/plain"
ngx.say(registry_err or registry_res.body)
return ngx.exit(ngx.status)
end
-- since /skynet/registry endpoint response is a json, we need to decode it before we access it
local registry_json = json.decode(registry_res.body)
-- response will contain a hex encoded skylink, we need to decode it
local data = (registry_json.data:gsub('..', function (cc)
return string.char(tonumber(cc, 16))
end))
skylink = data
end
-- fail with a generic 404 if skylink has not been extracted from a valid /hnsres response for some reason
if not skylink then
return ngx.exit(ngx.HTTP_NOT_FOUND)
end
ngx.var.skylink = skylink
if ngx.var.path == "/" and skylink_rest ~= nil and skylink_rest ~= "" and skylink_rest ~= "/" then
ngx.var.path = skylink_rest
end
}
# we proxy to another nginx location rather than directly to siad because we do not want to deal with caching here
proxy_pass https://127.0.0.1/$skylink$path$is_args$args;
# in case siad returns location header, we need to replace the skylink with the domain name
header_filter_by_lua_block {
ngx.header["Skynet-Portal-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_portal_domain
ngx.header["Skynet-Server-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_server_domain
if ngx.header.location then
-- match location redirect part after the skylink
local path = string.match(ngx.header.location, "[^/?]+(.*)");
-- because siad will set the location header to ie. XABvi7JtJbQSMAcDwnUnmp2FKDPjg8_tTTFP4BwMSxVdEg/index.html
-- we need to replace the skylink with the domain_name so we are not redirected to skylink
ngx.header.location = ngx.var.hns_domain .. path
end
}

View File

@ -1,39 +0,0 @@
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/track-download;
limit_conn downloads_by_ip 100; # ddos protection: max 100 downloads at a time
# ensure that skylink that we pass around is base64 encoded (transform base32 encoded ones)
# this is important because we want only one format in cache keys and logs
set_by_lua_block $skylink { return require("skynet.skylink").parse(ngx.var.skylink) }
# default download rate to unlimited
set $limit_rate 0;
access_by_lua_block {
if require("skynet.account").accounts_enabled() then
-- check if portal is in authenticated only mode
if require("skynet.account").is_access_unauthorized() then
return require("skynet.account").exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if require("skynet.account").is_access_forbidden() then
return require("skynet.account").exit_access_forbidden()
end
-- get account limits of currently authenticated user
local limits = require("skynet.account").get_account_limits()
-- apply download speed limit
ngx.var.limit_rate = limits.download
end
}
limit_rate_after 512k;
limit_rate $limit_rate;
proxy_read_timeout 600;
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980/skynet/skylink/$skylink$path$is_args$args;

View File

@ -1,32 +0,0 @@
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/sia-auth;
include /etc/nginx/conf.d/include/track-registry;
limit_req zone=registry_access_by_ip burst=600 nodelay;
limit_req zone=registry_access_by_ip_throttled burst=200 nodelay;
proxy_set_header User-Agent: Sia-Agent;
proxy_read_timeout 600; # siad should timeout with 404 after 5 minutes
proxy_pass http://sia:9980/skynet/registry;
access_by_lua_block {
if require("skynet.account").accounts_enabled() then
-- check if portal is in authenticated only mode
if require("skynet.account").is_access_unauthorized() then
return require("skynet.account").exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if require("skynet.account").is_access_forbidden() then
return require("skynet.account").exit_access_forbidden()
end
-- get account limits of currently authenticated user
local limits = require("skynet.account").get_account_limits()
-- apply registry rate limits (forced delay)
if limits.registry > 0 then
ngx.sleep(limits.registry / 1000)
end
end
}

View File

@ -1,11 +0,0 @@
access_by_lua_block {
-- check portal access rules and exit if access is restricted
if require("skynet.account").is_access_unauthorized() then
return require("skynet.account").exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if require("skynet.account").is_access_forbidden() then
return require("skynet.account").exit_access_forbidden()
end
}

View File

@ -1,10 +0,0 @@
# ----------------------------------------------------------------
# this file should be included on all locations that proxy_pass to
# another nginx location - internal nginx traffic
# ----------------------------------------------------------------
# increase the timeout on internal nginx proxy_pass locations to a
# value that is significantly higher than expected and let the end
# location handle correct timeout
proxy_read_timeout 30m;
proxy_send_timeout 30m;

View File

@ -1,6 +0,0 @@
# Add a list of IPs here that should be severely rate limited on upload.
# Note that it is possible to add IP ranges as well as the full IP address.
#
# Examples:
# 192.168.0.0/24 1;
# 79.85.222.247 1;

View File

@ -1,4 +0,0 @@
rewrite_by_lua_block {
-- set basic authorization header with base64 encoded apipassword
ngx.req.set_header("Authorization", require("skynet.utils").authorization_header())
}

View File

@ -1,26 +0,0 @@
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1d&hsts=false&ocsp=false&guideline=5.6
ssl_certificate /etc/letsencrypt/live/skynet-portal/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/skynet-portal/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
ssl_dhparam /etc/nginx/conf.d/dhparam.pem;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;
# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;
# verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /etc/letsencrypt/live/skynet-portal/chain.pem;

View File

@ -1,55 +0,0 @@
log_by_lua_block {
local skynet_account = require("skynet.account")
-- tracking runs only when request comes from authenticated user
if skynet_account.is_authenticated() then
local function track(premature, skylink, status, body_bytes_sent, auth_headers)
if premature then return end
local httpc = require("resty.http").new()
local query = table.concat({ "status=" .. status, "bytes=" .. body_bytes_sent }, "&")
-- 10.10.10.70 points to accounts service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.70:3000/track/download/" .. skylink .. "?" .. query, {
method = "POST",
headers = auth_headers,
})
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed accounts service request /track/download/" .. skylink .. ": ", error_response)
end
end
if ngx.header["Skynet-Skylink"] and ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_SPECIAL_RESPONSE then
local auth_headers = skynet_account.get_auth_headers()
local ok, err = ngx.timer.at(0, track, ngx.header["Skynet-Skylink"], ngx.status, ngx.var.body_bytes_sent, auth_headers)
if err then ngx.log(ngx.ERR, "Failed to create timer: ", err) end
end
end
-- this block runs only when scanner module is enabled
if os.getenv("PORTAL_MODULES"):match("s") then
local function scan(premature, skylink)
if premature then return end
local httpc = require("resty.http").new()
-- 10.10.10.101 points to malware-scanner service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.101:4000/scan/" .. skylink, {
method = "POST",
})
if err or (res and res.status ~= ngx.HTTP_OK) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", error_response)
end
end
-- scan all skylinks but make sure to only run if skylink is present (empty if request failed)
if ngx.header["Skynet-Skylink"] then
local ok, err = ngx.timer.at(0, scan, ngx.header["Skynet-Skylink"])
if err then ngx.log(ngx.ERR, "Failed to create timer: ", err) end
end
end
}

View File

@ -1,33 +0,0 @@
log_by_lua_block {
local skynet_account = require("skynet.account")
-- tracking runs only when request comes from authenticated user
if skynet_account.is_authenticated() then
local function track(premature, request_method, auth_headers)
if premature then return end
local httpc = require("resty.http").new()
-- based on request method we assign a registry action string used
-- in track endpoint namely "read" for GET and "write" for POST
local registry_action = request_method == "GET" and "read" or "write"
-- 10.10.10.70 points to accounts service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.70:3000/track/registry/" .. registry_action, {
method = "POST",
headers = auth_headers,
})
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed accounts service request /track/registry/" .. registry_action .. ": ", error_response)
end
end
if ngx.status == ngx.HTTP_OK or ngx.status == ngx.HTTP_NOT_FOUND then
local auth_headers = skynet_account.get_auth_headers()
local ok, err = ngx.timer.at(0, track, ngx.req.get_method(), auth_headers)
if err then ngx.log(ngx.ERR, "Failed to create timer: ", err) end
end
end
}

View File

@ -1,55 +0,0 @@
log_by_lua_block {
local skynet_account = require("skynet.account")
-- tracking runs only when request comes from authenticated user
if skynet_account.is_authenticated() then
local function track(premature, skylink, auth_headers)
if premature then return end
local httpc = require("resty.http").new()
-- 10.10.10.70 points to accounts service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.70:3000/track/upload/" .. skylink, {
method = "POST",
headers = auth_headers,
})
if err or (res and res.status ~= ngx.HTTP_NO_CONTENT) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed accounts service request /track/upload/" .. skylink .. ": ", error_response)
end
end
-- report all skylinks (header empty if request failed) but only if jwt is preset (user is authenticated)
if ngx.header["Skynet-Skylink"] then
local auth_headers = skynet_account.get_auth_headers()
local ok, err = ngx.timer.at(0, track, ngx.header["Skynet-Skylink"], auth_headers)
if err then ngx.log(ngx.ERR, "Failed to create timer: ", err) end
end
end
-- this block runs only when scanner module is enabled
if os.getenv("PORTAL_MODULES"):match("s") then
local function scan(premature, skylink)
if premature then return end
local httpc = require("resty.http").new()
-- 10.10.10.101 points to malware-scanner service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.101:4000/scan/" .. skylink, {
method = "POST",
})
if err or (res and res.status ~= ngx.HTTP_OK) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed malware-scanner request /scan/" .. skylink .. ": ", error_response)
end
end
-- scan all skylinks but make sure to only run if skylink is present (empty if request failed)
if ngx.header["Skynet-Skylink"] then
local ok, err = ngx.timer.at(0, scan, ngx.header["Skynet-Skylink"])
if err then ngx.log(ngx.ERR, "Failed to create timer: ", err) end
end
end
}

View File

@ -1,7 +0,0 @@
# Every file from within this directory will be included in the server block
# of the nginx configuration, at the very end. See client.conf.
#
# Example:
# location /blog {
# root /var/www/blog;
# }

View File

@ -1,57 +0,0 @@
listen 443 ssl http2;
include /etc/nginx/conf.d/include/ssl-settings;
include /etc/nginx/conf.d/include/init-optional-variables;
location / {
proxy_pass http://dashboard:3000;
}
location /health {
proxy_pass http://accounts:3000;
}
location /stripe/webhook {
proxy_pass http://accounts:3000;
}
location /api/stripe/billing {
proxy_pass http://dashboard:3000;
}
location /api/stripe/checkout {
proxy_pass http://dashboard:3000;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://accounts:3000;
}
location /api/register {
include /etc/nginx/conf.d/include/cors;
rewrite /api/(.*) /$1 break;
proxy_pass http://accounts:3000;
}
location /api/user/pubkey/register {
include /etc/nginx/conf.d/include/cors;
rewrite /api/(.*) /$1 break;
proxy_pass http://accounts:3000;
}
location /api/login {
include /etc/nginx/conf.d/include/cors;
rewrite /api/(.*) /$1 break;
proxy_pass http://accounts:3000;
}
location /api/logout {
include /etc/nginx/conf.d/include/cors;
rewrite /api/(.*) /$1 break;
proxy_pass http://accounts:3000;
}

View File

@ -1,424 +0,0 @@
listen 443 ssl http2;
include /etc/nginx/conf.d/include/ssl-settings;
include /etc/nginx/conf.d/include/init-optional-variables;
# ddos protection: closing slow connections
client_body_timeout 1h;
client_header_timeout 1h;
send_timeout 1h;
proxy_connect_timeout 1h;
proxy_read_timeout 1h;
proxy_send_timeout 1h;
# Increase the body buffer size, to ensure the internal POSTs can always
# parse the full POST contents into memory.
client_body_buffer_size 128k;
client_max_body_size 128k;
# legacy endpoint rewrite
rewrite ^/portals /skynet/portals permanent;
rewrite ^/stats /skynet/stats permanent;
rewrite ^/skynet/blacklist /skynet/blocklist permanent;
rewrite ^/docs(?:/(.*))?$ https://sdk.skynetlabs.com/$1 permanent;
location / {
include /etc/nginx/conf.d/include/cors;
proxy_pass http://website:9000;
}
location /skynet/blocklist {
include /etc/nginx/conf.d/include/cors;
add_header X-Proxy-Cache $upstream_cache_status;
proxy_cache skynet;
proxy_cache_valid any 1m; # cache blocklist for 1 minute
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980/skynet/blocklist;
}
location /skynet/portal/blocklist {
include /etc/nginx/conf.d/include/cors;
add_header X-Proxy-Cache $upstream_cache_status;
proxy_cache skynet;
proxy_cache_valid 200 204 15m; # cache portal blocklist for 15 minutes
# 10.10.10.110 points to blocker service
proxy_pass http://10.10.10.110:4000/blocklist;
}
location /skynet/portals {
include /etc/nginx/conf.d/include/cors;
add_header X-Proxy-Cache $upstream_cache_status;
proxy_cache skynet;
proxy_cache_valid any 1m; # cache portals for 1 minute
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980/skynet/portals;
}
location /skynet/stats {
include /etc/nginx/conf.d/include/cors;
add_header X-Proxy-Cache $upstream_cache_status;
proxy_cache skynet;
proxy_cache_valid any 1m; # cache stats for 1 minute
proxy_set_header User-Agent: Sia-Agent;
proxy_read_timeout 5m; # extend the read timeout
proxy_pass http://sia:9980/skynet/stats;
}
# Define path for server load endpoint
location /serverload {
# Define root directory in the nginx container to load file from
root /usr/local/share;
# including this because of peer pressure from the other routes
include /etc/nginx/conf.d/include/cors;
# tell nginx to expect json
default_type 'application/json';
# Allow for /serverload to load /serverload.json file
try_files $uri $uri.json =404;
}
location /skynet/health {
include /etc/nginx/conf.d/include/cors;
add_header X-Proxy-Cache $upstream_cache_status;
proxy_cache skynet;
proxy_cache_key $request_uri; # use whole request uri (uri + args) as cache key
proxy_cache_valid any 1m; # cache responses for 1 minute
proxy_set_header User-Agent: Sia-Agent;
proxy_read_timeout 5m; # extend the read timeout
proxy_pass http://sia:9980;
}
location /health-check {
include /etc/nginx/conf.d/include/cors;
access_log off; # do not log traffic to health-check endpoint
proxy_pass http://10.10.10.60:3100; # hardcoded ip because health-check waits for nginx
}
location /abuse {
return 308 /0404guluqu38oaqapku91ed11kbhkge55smh9lhjukmlrj37lfpm8no/;
}
location /abuse/report {
include /etc/nginx/conf.d/include/cors;
# 10.10.10.110 points to blocker service
proxy_pass http://10.10.10.110:4000/powblock;
}
location /hns {
include /etc/nginx/conf.d/include/cors;
# match the request_uri and extract the hns domain and anything that is passed in the uri after it
# example: /hns/something/foo/bar matches:
# > hns_domain: something
# > path: /foo/bar/
set_by_lua_block $hns_domain { return string.match(ngx.var.uri, "/hns/([^/?]+)") }
set_by_lua_block $path { return string.match(ngx.var.uri, "/hns/[^/?]+(.*)") }
proxy_set_header Host $host;
include /etc/nginx/conf.d/include/location-hns;
}
location /hnsres {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/portal-access-check;
proxy_pass http://handshake-api:3100;
}
location /skynet/registry {
include /etc/nginx/conf.d/include/location-skynet-registry;
}
location /skynet/restore {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/sia-auth;
include /etc/nginx/conf.d/include/portal-access-check;
client_max_body_size 5M;
# increase request timeouts
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_request_buffering off; # stream uploaded files through the proxy as it comes in
proxy_set_header Expect $http_expect;
proxy_set_header User-Agent: Sia-Agent;
# proxy this call to siad endpoint (make sure the ip is correct)
proxy_pass http://sia:9980;
}
location /skynet/registry/subscription {
include /etc/nginx/conf.d/include/cors;
# default to unlimited bandwidth and no delay
set $bandwidthlimit "0";
set $notificationdelay "0";
rewrite_by_lua_block {
local skynet_account = require("skynet.account")
if skynet_account.accounts_enabled() then
-- check if portal is in authenticated only mode
if skynet_account.is_access_unauthorized() then
return skynet_account.exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if skynet_account.is_access_forbidden() then
return skynet_account.exit_access_forbidden()
end
-- get account limits of currently authenticated user
local limits = skynet_account.get_account_limits()
-- apply bandwidth limit and notification delay
ngx.var.bandwidthlimit = limits.download
ngx.var.notificationdelay = limits.registry
end
}
proxy_set_header User-Agent: Sia-Agent;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://sia:9980/skynet/registry/subscription?bandwidthlimit=$bandwidthlimit&notificationdelay=$notificationdelay;
}
location /skynet/skyfile {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/sia-auth;
include /etc/nginx/conf.d/include/track-upload;
include /etc/nginx/conf.d/include/generate-siapath;
include /etc/nginx/conf.d/include/portal-access-check;
limit_req zone=uploads_by_ip burst=10 nodelay;
limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 5;
limit_conn upload_conn_rl 1;
client_max_body_size 5000M; # make sure to limit the size of upload to a sane value
# increase request timeouts
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_request_buffering off; # stream uploaded files through the proxy as it comes in
proxy_set_header Expect $http_expect;
proxy_set_header User-Agent: Sia-Agent;
# proxy this call to siad endpoint (make sure the ip is correct)
proxy_pass http://sia:9980/skynet/skyfile/$dir1/$dir2/$dir3$is_args$args;
}
# endpoint implementing resumable file uploads open protocol https://tus.io
location /skynet/tus {
include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response
include /etc/nginx/conf.d/include/track-upload;
limit_req zone=uploads_by_ip burst=10 nodelay;
limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 5;
limit_conn upload_conn_rl 1;
# TUS chunks size is 40M + leaving 10M of breathing room
client_max_body_size 50M;
# Those timeouts need to be elevated since skyd can stall reading
# data for a while when overloaded which would terminate connection
client_body_timeout 1h;
proxy_send_timeout 1h;
# Add X-Forwarded-* headers
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
# rewrite proxy request to use correct host uri from env variable (required to return correct location header)
proxy_redirect $scheme://$host $scheme://$skynet_server_domain;
# proxy /skynet/tus requests to siad endpoint with all arguments
proxy_pass http://sia:9980;
access_by_lua_block {
local skynet_account = require("skynet.account")
if skynet_account.accounts_enabled() then
-- check if portal is in authenticated only mode
if skynet_account.is_access_unauthorized() then
return skynet_account.exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if skynet_account.is_access_forbidden() then
return skynet_account.exit_access_forbidden()
end
-- get account limits of currently authenticated user
local limits = skynet_account.get_account_limits()
-- apply upload size limits
ngx.req.set_header("SkynetMaxUploadSize", limits.maxUploadSize)
end
}
# extract skylink from base64 encoded upload metadata and assign to a proper header
header_filter_by_lua_block {
ngx.header["Skynet-Portal-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_portal_domain
ngx.header["Skynet-Server-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_server_domain
if ngx.header["Upload-Metadata"] then
local encodedSkylink = string.match(ngx.header["Upload-Metadata"], "Skylink ([^,?]+)")
if encodedSkylink then
ngx.header["Skynet-Skylink"] = ngx.decode_base64(encodedSkylink)
end
end
}
}
location /skynet/pin {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/sia-auth;
include /etc/nginx/conf.d/include/track-upload;
include /etc/nginx/conf.d/include/generate-siapath;
include /etc/nginx/conf.d/include/portal-access-check;
limit_req zone=uploads_by_ip burst=10 nodelay;
limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 5;
limit_conn upload_conn_rl 1;
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980$uri?siapath=$dir1/$dir2/$dir3&$args;
}
location /skynet/metadata {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/portal-access-check;
header_filter_by_lua_block {
ngx.header["Skynet-Portal-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_portal_domain
ngx.header["Skynet-Server-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_server_domain
}
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980;
}
location /skynet/resolve {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/portal-access-check;
header_filter_by_lua_block {
ngx.header["Skynet-Portal-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_portal_domain
ngx.header["Skynet-Server-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_server_domain
}
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980;
}
location ~ "^/(([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?)$" {
set $skylink $2;
set $path $3;
include /etc/nginx/conf.d/include/location-skylink;
}
location ~ "^/file/(([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?)$" {
set $skylink $2;
set $path $3;
set $args attachment=true&$args;
#set $is_args ?;
include /etc/nginx/conf.d/include/location-skylink;
}
location /skynet/trustless/basesector {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/track-download;
limit_conn downloads_by_ip 100; # ddos protection: max 100 downloads at a time
# default download rate to unlimited
set $limit_rate 0;
access_by_lua_block {
local skynet_account = require("skynet.account")
if skynet_account.accounts_enabled() then
-- check if portal is in authenticated only mode
if skynet_account.is_access_unauthorized() then
return skynet_account.exit_access_unauthorized()
end
-- check if portal is in subscription only mode
if skynet_account.is_access_forbidden() then
return skynet_account.exit_access_forbidden()
end
-- get account limits of currently authenticated user
local limits = skynet_account.get_account_limits()
-- apply download speed limit
ngx.var.limit_rate = limits.download
end
}
limit_rate_after 512k;
limit_rate $limit_rate;
proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980;
}
location /__internal/do/not/use/accounts {
include /etc/nginx/conf.d/include/cors;
charset utf-8;
charset_types application/json;
default_type application/json;
content_by_lua_block {
local json = require('cjson')
local skynet_account = require("skynet.account")
local accounts_enabled = skynet_account.accounts_enabled()
local is_auth_required = skynet_account.is_auth_required()
local is_subscription_required = skynet_account.is_subscription_required()
local is_authenticated = skynet_account.is_authenticated()
local has_subscription = skynet_account.has_subscription()
ngx.say(json.encode{
enabled = accounts_enabled,
auth_required = is_auth_required,
subscription_required = is_subscription_required,
authenticated = is_authenticated,
subscription = has_subscription,
})
return ngx.exit(ngx.HTTP_OK)
}
}
include /etc/nginx/conf.d/server-override/*;

View File

@ -1,44 +0,0 @@
include /etc/nginx/conf.d/include/init-optional-variables;
location / {
set $skylink "";
set $path $uri;
rewrite_by_lua_block {
local cache = ngx.shared.dnslink
local cache_value = cache:get(ngx.var.host)
if cache_value == nil then
local httpc = require("resty.http").new()
-- 10.10.10.55 points to dnslink-api service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.55:3100/dnslink/" .. ngx.var.host)
if err or (res and res.status ~= ngx.HTTP_OK) then
-- check whether we can fallback to regular skylink request
local match_skylink = ngx.re.match(ngx.var.uri, "^/([a-zA-Z0-9-_]{46}|[a-z0-9]{55})(/.*)?")
if match_skylink then
ngx.var.skylink = match_skylink[1]
ngx.var.path = match_skylink[2] or "/"
else
ngx.status = (err and ngx.HTTP_INTERNAL_SERVER_ERROR) or res.status
ngx.header["content-type"] = "text/plain"
ngx.say(err or res.body)
ngx.exit(ngx.status)
end
else
ngx.var.skylink = res.body
local cache_ttl = 300 -- 5 minutes cache expire time
cache:set(ngx.var.host, ngx.var.skylink, cache_ttl)
end
else
ngx.var.skylink = cache_value
end
ngx.var.skylink = require("skynet.skylink").parse(ngx.var.skylink)
}
include /etc/nginx/conf.d/include/location-skylink;
}

View File

@ -1,11 +0,0 @@
listen 443 ssl http2;
include /etc/nginx/conf.d/include/ssl-settings;
include /etc/nginx/conf.d/include/init-optional-variables;
location / {
set_by_lua_block $hns_domain { return string.match(ngx.var.host, "[^%.]+") }
set $path $uri;
include /etc/nginx/conf.d/include/location-hns;
}

View File

@ -1,7 +0,0 @@
listen 80;
include /etc/nginx/conf.d/include/init-optional-variables;
location / {
return 301 https://$host$request_uri;
}

View File

@ -1,16 +0,0 @@
listen 443 ssl http2;
include /etc/nginx/conf.d/include/ssl-settings;
include /etc/nginx/conf.d/include/init-optional-variables;
location / {
set_by_lua_block $skylink { return string.match(ngx.var.host, "%w+") }
set_by_lua_block $path {
-- strip ngx.var.request_uri from query params - this is basically the same as ngx.var.uri but
-- do not use ngx.var.uri because it will already be unescaped and we need to use escaped path
-- examples: escaped uri "/b%20r56+7" and unescaped uri "/b r56 7"
return string.gsub(ngx.var.request_uri, "?.*", "")
}
include /etc/nginx/conf.d/include/location-skylink;
}

View File

@ -1,301 +0,0 @@
-- source: https://github.com/aiq/basexx
-- license: MIT
-- modified: exposed from_basexx and to_basexx generic functions
--------------------------------------------------------------------------------
-- util functions
--------------------------------------------------------------------------------
local function divide_string( str, max )
local result = {}
local start = 1
for i = 1, #str do
if i % max == 0 then
table.insert( result, str:sub( start, i ) )
start = i + 1
elseif i == #str then
table.insert( result, str:sub( start, i ) )
end
end
return result
end
local function number_to_bit( num, length )
local bits = {}
while num > 0 do
local rest = math.floor( math.fmod( num, 2 ) )
table.insert( bits, rest )
num = ( num - rest ) / 2
end
while #bits < length do
table.insert( bits, "0" )
end
return string.reverse( table.concat( bits ) )
end
local function ignore_set( str, set )
if set then
str = str:gsub( "["..set.."]", "" )
end
return str
end
local function pure_from_bit( str )
return ( str:gsub( '........', function ( cc )
return string.char( tonumber( cc, 2 ) )
end ) )
end
local function unexpected_char_error( str, pos )
local c = string.sub( str, pos, pos )
return string.format( "unexpected character at position %d: '%s'", pos, c )
end
--------------------------------------------------------------------------------
local basexx = {}
--------------------------------------------------------------------------------
-- base2(bitfield) decode and encode function
--------------------------------------------------------------------------------
local bitMap = { o = "0", i = "1", l = "1" }
function basexx.from_bit( str, ignore )
str = ignore_set( str, ignore )
str = string.lower( str )
str = str:gsub( '[ilo]', function( c ) return bitMap[ c ] end )
local pos = string.find( str, "[^01]" )
if pos then return nil, unexpected_char_error( str, pos ) end
return pure_from_bit( str )
end
function basexx.to_bit( str )
return ( str:gsub( '.', function ( c )
local byte = string.byte( c )
local bits = {}
for _ = 1,8 do
table.insert( bits, byte % 2 )
byte = math.floor( byte / 2 )
end
return table.concat( bits ):reverse()
end ) )
end
--------------------------------------------------------------------------------
-- base16(hex) decode and encode function
--------------------------------------------------------------------------------
function basexx.from_hex( str, ignore )
str = ignore_set( str, ignore )
local pos = string.find( str, "[^%x]" )
if pos then return nil, unexpected_char_error( str, pos ) end
return ( str:gsub( '..', function ( cc )
return string.char( tonumber( cc, 16 ) )
end ) )
end
function basexx.to_hex( str )
return ( str:gsub( '.', function ( c )
return string.format('%02X', string.byte( c ) )
end ) )
end
--------------------------------------------------------------------------------
-- generic function to decode and encode base32/base64
--------------------------------------------------------------------------------
function basexx.from_basexx( str, alphabet, bits )
local result = {}
for i = 1, #str do
local c = string.sub( str, i, i )
if c ~= '=' then
local index = string.find( alphabet, c, 1, true )
if not index then
return nil, unexpected_char_error( str, i )
end
table.insert( result, number_to_bit( index - 1, bits ) )
end
end
local value = table.concat( result )
local pad = #value % 8
return pure_from_bit( string.sub( value, 1, #value - pad ) )
end
function basexx.to_basexx( str, alphabet, bits, pad )
local bitString = basexx.to_bit( str )
local chunks = divide_string( bitString, bits )
local result = {}
for _,value in ipairs( chunks ) do
if ( #value < bits ) then
value = value .. string.rep( '0', bits - #value )
end
local pos = tonumber( value, 2 ) + 1
table.insert( result, alphabet:sub( pos, pos ) )
end
table.insert( result, pad )
return table.concat( result )
end
--------------------------------------------------------------------------------
-- rfc 3548: http://www.rfc-editor.org/rfc/rfc3548.txt
--------------------------------------------------------------------------------
local base32Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
local base32PadMap = { "", "======", "====", "===", "=" }
function basexx.from_base32( str, ignore )
str = ignore_set( str, ignore )
return basexx.from_basexx( string.upper( str ), base32Alphabet, 5 )
end
function basexx.to_base32( str )
return basexx.to_basexx( str, base32Alphabet, 5, base32PadMap[ #str % 5 + 1 ] )
end
--------------------------------------------------------------------------------
-- crockford: http://www.crockford.com/wrmg/base32.html
--------------------------------------------------------------------------------
local crockfordAlphabet = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"
local crockfordMap = { O = "0", I = "1", L = "1" }
function basexx.from_crockford( str, ignore )
str = ignore_set( str, ignore )
str = string.upper( str )
str = str:gsub( '[ILOU]', function( c ) return crockfordMap[ c ] end )
return basexx.from_basexx( str, crockfordAlphabet, 5 )
end
function basexx.to_crockford( str )
return basexx.to_basexx( str, crockfordAlphabet, 5, "" )
end
--------------------------------------------------------------------------------
-- base64 decode and encode function
--------------------------------------------------------------------------------
local base64Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"..
"abcdefghijklmnopqrstuvwxyz"..
"0123456789+/"
local base64PadMap = { "", "==", "=" }
function basexx.from_base64( str, ignore )
str = ignore_set( str, ignore )
return basexx.from_basexx( str, base64Alphabet, 6 )
end
function basexx.to_base64( str )
return basexx.to_basexx( str, base64Alphabet, 6, base64PadMap[ #str % 3 + 1 ] )
end
--------------------------------------------------------------------------------
-- URL safe base64 decode and encode function
--------------------------------------------------------------------------------
local url64Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"..
"abcdefghijklmnopqrstuvwxyz"..
"0123456789-_"
function basexx.from_url64( str, ignore )
str = ignore_set( str, ignore )
return basexx.from_basexx( str, url64Alphabet, 6 )
end
function basexx.to_url64( str )
return basexx.to_basexx( str, url64Alphabet, 6, "" )
end
--------------------------------------------------------------------------------
--
--------------------------------------------------------------------------------
local function length_error( len, d )
return string.format( "invalid length: %d - must be a multiple of %d", len, d )
end
local z85Decoder = { 0x00, 0x44, 0x00, 0x54, 0x53, 0x52, 0x48, 0x00,
0x4B, 0x4C, 0x46, 0x41, 0x00, 0x3F, 0x3E, 0x45,
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x40, 0x00, 0x49, 0x42, 0x4A, 0x47,
0x51, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A,
0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32,
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
0x3B, 0x3C, 0x3D, 0x4D, 0x00, 0x4E, 0x43, 0x00,
0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,
0x21, 0x22, 0x23, 0x4F, 0x00, 0x50, 0x00, 0x00 }
function basexx.from_z85( str, ignore )
str = ignore_set( str, ignore )
if ( #str % 5 ) ~= 0 then
return nil, length_error( #str, 5 )
end
local result = {}
local value = 0
for i = 1, #str do
local index = string.byte( str, i ) - 31
if index < 1 or index >= #z85Decoder then
return nil, unexpected_char_error( str, i )
end
value = ( value * 85 ) + z85Decoder[ index ]
if ( i % 5 ) == 0 then
local divisor = 256 * 256 * 256
while divisor ~= 0 do
local b = math.floor( value / divisor ) % 256
table.insert( result, string.char( b ) )
divisor = math.floor( divisor / 256 )
end
value = 0
end
end
return table.concat( result )
end
local z85Encoder = "0123456789"..
"abcdefghijklmnopqrstuvwxyz"..
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"..
".-:+=^!/*?&<>()[]{}@%$#"
function basexx.to_z85( str )
if ( #str % 4 ) ~= 0 then
return nil, length_error( #str, 4 )
end
local result = {}
local value = 0
for i = 1, #str do
local b = string.byte( str, i )
value = ( value * 256 ) + b
if ( i % 4 ) == 0 then
local divisor = 85 * 85 * 85 * 85
while divisor ~= 0 do
local index = ( math.floor( value / divisor ) % 85 ) + 1
table.insert( result, z85Encoder:sub( index, index ) )
divisor = math.floor( divisor / 85 )
end
value = 0
end
end
return table.concat( result )
end
--------------------------------------------------------------------------------
return basexx

View File

@ -1,144 +0,0 @@
local _M = {}
-- constant tier ids
local tier_id_anonymous = 0
local tier_id_free = 1
-- fallback - remember to keep those updated
local anon_limits = {
["tierID"] = tier_id_anonymous,
["tierName"] = "anonymous",
["upload"] = 655360,
["download"] = 655360,
["maxUploadSize"] = 1073741824,
["registry"] = 250
}
-- get all non empty authentication headers from request, we want to return
-- all of them and let accounts service deal with validation and prioritisation
function _M.get_auth_headers()
local utils = require("utils")
local request_headers = ngx.req.get_headers()
local headers = {}
-- try to extract skynet-jwt cookie from cookie header
local skynet_jwt_cookie = utils.extract_cookie(request_headers["Cookie"], "skynet[-]jwt")
-- if skynet-jwt cookie is present, pass it as is
if skynet_jwt_cookie then
headers["Cookie"] = skynet_jwt_cookie
end
-- if authorization header is set, pass it as is
if request_headers["Authorization"] then
headers["Authorization"] = request_headers["Authorization"]
end
-- if skynet api key header is set, pass it as is
if request_headers["Skynet-Api-Key"] then
headers["Skynet-Api-Key"] = request_headers["Skynet-Api-Key"]
end
return headers
end
-- handle request exit when access to portal should be restricted to authenticated users only
function _M.exit_access_unauthorized(message)
ngx.status = ngx.HTTP_UNAUTHORIZED
ngx.header["content-type"] = "text/plain"
ngx.say(message or "Portal operator restricted access to authenticated users only")
return ngx.exit(ngx.status)
end
-- handle request exit when access to portal should be restricted to subscription users only
function _M.exit_access_forbidden(message)
ngx.status = ngx.HTTP_FORBIDDEN
ngx.header["content-type"] = "text/plain"
ngx.say(message or "Portal operator restricted access to users with active subscription only")
return ngx.exit(ngx.status)
end
function _M.accounts_enabled()
return os.getenv("PORTAL_MODULES"):match("a") ~= nil
end
function _M.get_account_limits()
local cjson = require('cjson')
local utils = require('utils')
local auth_headers = _M.get_auth_headers()
-- simple case of anonymous request - none of available auth headers exist
if utils.is_table_empty(auth_headers) then
return anon_limits
end
if ngx.var.account_limits == "" then
local httpc = require("resty.http").new()
-- 10.10.10.70 points to accounts service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.70:3000/user/limits?unit=byte", {
headers = auth_headers,
})
-- fail gracefully in case /user/limits failed
if err or (res and res.status ~= ngx.HTTP_OK) then
local error_response = err or ("[HTTP " .. res.status .. "] " .. res.body)
ngx.log(ngx.ERR, "Failed accounts service request /user/limits?unit=byte: ", error_response)
ngx.var.account_limits = cjson.encode(anon_limits)
elseif res and res.status == ngx.HTTP_OK then
ngx.var.account_limits = res.body
end
end
return cjson.decode(ngx.var.account_limits)
end
-- detect whether current user is authenticated
function _M.is_authenticated()
if not _M.accounts_enabled() then return false end
local limits = _M.get_account_limits()
return limits.tierID > tier_id_anonymous
end
-- detect whether current user has active subscription
function _M.has_subscription()
local limits = _M.get_account_limits()
return limits.tierID > tier_id_free
end
function _M.is_auth_required()
-- authentication is required if mode is set to "authenticated"
-- or "subscription" (require active subscription to a premium plan)
return os.getenv("ACCOUNTS_LIMIT_ACCESS") == "authenticated" or _M.is_subscription_required()
end
function _M.is_subscription_required()
return os.getenv("ACCOUNTS_LIMIT_ACCESS") == "subscription"
end
local is_access_always_allowed = function ()
-- options requests do not attach cookies - should always be available
-- requests should not be limited based on accounts if accounts are not enabled
return ngx.req.get_method() == "OPTIONS" or not _M.accounts_enabled()
end
-- check whether access is restricted if portal requires authorization
function _M.is_access_unauthorized()
if is_access_always_allowed() then return false end
-- check if authentication is required and request is not authenticated
return _M.is_auth_required() and not _M.is_authenticated()
end
-- check whether user is authenticated but does not have access to given resources
function _M.is_access_forbidden()
if is_access_always_allowed() then return false end
-- check if active subscription is required and request is from user without it
return _M.is_subscription_required() and not _M.has_subscription()
end
return _M

View File

@ -1,40 +0,0 @@
local _M = {}
local basexx = require("basexx")
local hasher = require("hasher")
-- parse any skylink and return base64 version
function _M.parse(skylink)
if string.len(skylink) == 55 then
local decoded = basexx.from_basexx(string.upper(skylink), "0123456789ABCDEFGHIJKLMNOPQRSTUV", 5)
return basexx.to_url64(decoded)
end
return skylink
end
-- hash skylink into 32 bytes hash used in blocklist
function _M.hash(skylink)
-- ensure that the skylink is base64 encoded
local base64Skylink = _M.parse(skylink)
-- decode skylink from base64 encoding
local rawSkylink = basexx.from_url64(base64Skylink)
-- drop first two bytes and leave just merkle root
local rawMerkleRoot = string.sub(rawSkylink, 3)
-- parse with blake2b with key length of 32
local blake2bHashed = hasher.blake2b(rawMerkleRoot, 32)
-- hex encode the blake hash
local hexHashed = basexx.to_hex(blake2bHashed)
-- lowercase the hex encoded hash
local lowerHexHashed = string.lower(hexHashed)
return lowerHexHashed
end
return _M

View File

@ -1,23 +0,0 @@
local skynet_skylink = require("skynet.skylink")
describe("parse", function()
local base32 = "0404dsjvti046fsua4ktor9grrpe76erq9jot9cvopbhsvsu76r4r30"
local base64 = "AQBG8n_sgEM_nlEp3G0w3vLjmdvSZ46ln8ZXHn-eObZNjA"
it("should return unchanged base64 skylink", function()
assert.is.same(skynet_skylink.parse(base64), base64)
end)
it("should transform base32 skylink into base64", function()
assert.is.same(skynet_skylink.parse(base32), base64)
end)
end)
describe("hash", function()
local base64 = "EADi4QZWt87sSDCSjVTcmyI5tE_YAsuC90BcCi_jEmG5NA"
local hash = "6cfb9996ad74e5614bbb8e7228e72f1c1bc14dd9ce8a83b3ccabdb6d8d70f330"
it("should hash skylink", function()
assert.is.same(hash, skynet_skylink.hash(base64))
end)
end)

View File

@ -1,23 +0,0 @@
local _M = {}
function _M.authorization_header()
-- read api password from env variable
local apipassword = os.getenv("SIA_API_PASSWORD")
-- if api password is not available as env variable, read it from disk
if apipassword == nil or apipassword == "" then
-- open apipassword file for reading (b flag is required for some reason)
-- (file /etc/.sia/apipassword has to be mounted from the host system)
local apipassword_file = io.open("/data/sia/apipassword", "rb")
-- read apipassword file contents and trim newline (important)
apipassword = apipassword_file:read("*all"):gsub("%s+", "")
-- make sure to close file after reading the password
apipassword_file.close()
end
-- encode the user:password authorization string
-- (in our case user is empty so it is just :password)
local content = require("ngx.base64").encode_base64url(":" .. apipassword)
-- set authorization header with proper base64 encoded string
return "Basic " .. content
end
return _M

View File

@ -1,45 +0,0 @@
local _M = {}
-- utility function for checking if table is empty
function _M.is_table_empty(check)
-- bind next to local variable to achieve ultimate efficiency
-- https://stackoverflow.com/a/1252776
local next = next
return next(check) == nil
end
-- extract full cookie name and value by its name from cookie string
-- note: name matcher argument is a pattern so you will need to escape
-- any special characters, read more https://www.lua.org/pil/20.2.html
function _M.extract_cookie(cookie_string, name_matcher)
-- nil cookie string safeguard
if cookie_string == nil then
return nil
end
local start, stop = string.find(cookie_string, name_matcher .. "=[^;]+")
if start then
return string.sub(cookie_string, start, stop)
end
return nil
end
-- extract just the cookie value by its name from cookie string
-- note: name matcher argument is a pattern so you will need to escape
-- any special characters, read more https://www.lua.org/pil/20.2.html
function _M.extract_cookie_value(cookie_string, name_matcher)
local cookie = _M.extract_cookie(cookie_string, name_matcher)
if cookie == nil then
return nil
end
local value_start = string.find(cookie, "=") + 1
return string.sub(cookie, value_start)
end
return _M

View File

@ -1,79 +0,0 @@
local utils = require('utils')
describe("is_table_empty", function()
it("should return true for empty table", function()
assert.is_true(utils.is_table_empty({}))
end)
it("should return false for not empty table", function()
assert.is_false(utils.is_table_empty({ ["foo"] = "bar" }))
end)
end)
describe("extract_cookie", function()
local cookie_string = "aaa=bbb; skynet-jwt=MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==; xxx=yyy"
it("should return nil if cookie string is nil", function()
local cookie = utils.extract_cookie_value(nil, "aaa")
assert.is_nil(cookie)
end)
it("should return nil if cookie name is not found", function()
local cookie = utils.extract_cookie(cookie_string, "foo")
assert.is_nil(cookie)
end)
it("should return cookie if cookie_string starts with that cookie name", function()
local cookie = utils.extract_cookie(cookie_string, "aaa")
assert.are.equals(cookie, "aaa=bbb")
end)
it("should return cookie if cookie_string ends with that cookie name", function()
local cookie = utils.extract_cookie(cookie_string, "xxx")
assert.are.equals(cookie, "xxx=yyy")
end)
it("should return cookie with custom matcher", function()
local cookie = utils.extract_cookie(cookie_string, "skynet[-]jwt")
assert.are.equals(cookie, "skynet-jwt=MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==")
end)
end)
describe("extract_cookie_value", function()
local cookie_string = "aaa=bbb; skynet-jwt=MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==; xxx=yyy"
it("should return nil if cookie string is nil", function()
local value = utils.extract_cookie_value(nil, "aaa")
assert.is_nil(value)
end)
it("should return nil if cookie name is not found", function()
local value = utils.extract_cookie_value(cookie_string, "foo")
assert.is_nil(value)
end)
it("should return value if cookie_string starts with that cookie name", function()
local value = utils.extract_cookie_value(cookie_string, "aaa")
assert.are.equals(value, "bbb")
end)
it("should return cookie if cookie_string ends with that cookie name", function()
local value = utils.extract_cookie_value(cookie_string, "xxx")
assert.are.equals(value, "yyy")
end)
it("should return cookie with custom matcher", function()
local value = utils.extract_cookie_value(cookie_string, "skynet[-]jwt")
assert.are.equals(value, "MTY0NzUyr8jD-ytiWtspm0tGabKfooxeIDuWcXhJ3lnY0eEw==")
end)
end)

File diff suppressed because it is too large Load Diff

View File

@ -1,122 +0,0 @@
# nginx.conf -- docker-openresty
#
# This file is installed to:
# `/usr/local/openresty/nginx/conf/nginx.conf`
# and is the file loaded by nginx at startup,
# unless the user specifies otherwise.
#
# It tracks the upstream OpenResty's `nginx.conf`, but removes the `server`
# section and adds this directive:
# `include /etc/nginx/conf.d/*.conf;`
#
# The `docker-openresty` file `nginx.vh.default.conf` is copied to
# `/etc/nginx/conf.d/default.conf`. It contains the `server section
# of the upstream `nginx.conf`.
#
# See https://github.com/openresty/docker-openresty/blob/master/README.md#nginx-config-files
#
user root;
worker_processes auto;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
# declare env variables to use it in config
env PORTAL_DOMAIN;
env SERVER_DOMAIN;
env PORTAL_MODULES;
env ACCOUNTS_LIMIT_ACCESS;
env SIA_API_PASSWORD;
events {
worker_connections 8192;
}
http {
include mime.types;
default_type application/octet-stream;
lua_package_path "/etc/nginx/libs/?.lua;;";
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $upstream_response_time '
'$upstream_bytes_sent $upstream_bytes_received '
'"$upstream_http_content_type" "$upstream_cache_status" '
'"$server_alias" "$sent_http_skynet_skylink" '
'$upstream_connect_time $upstream_header_time '
'$request_time "$hns_domain" "$skylink" $upstream_http_skynet_cache_ratio';
access_log logs/access.log main;
# See Move default writable paths to a dedicated directory (#119)
# https://github.com/openresty/docker-openresty/issues/119
client_body_temp_path /var/run/openresty/nginx-client-body;
proxy_temp_path /var/run/openresty/nginx-proxy;
fastcgi_temp_path /var/run/openresty/nginx-fastcgi;
uwsgi_temp_path /var/run/openresty/nginx-uwsgi;
scgi_temp_path /var/run/openresty/nginx-scgi;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# globally enable http 1.1 on all proxied requests
# http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version
proxy_http_version 1.1;
# proxy cache definition
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=skynet:10m max_size=50g min_free=100g inactive=48h use_temp_path=off;
# this runs before forking out nginx worker processes
init_by_lua_block {
require "cjson"
require "resty.http"
require "skynet.skylink"
require "skynet.utils"
}
# include skynet-portal-api and skynet-server-api header on every request
header_filter_by_lua_block {
ngx.header["Skynet-Portal-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_portal_domain
ngx.header["Skynet-Server-Api"] = ngx.var.scheme .. "://" .. ngx.var.skynet_server_domain
}
# ratelimit specified IPs
geo $limit {
default 0;
include /etc/nginx/conf.d/include/ratelimited;
}
map $limit $limit_key {
0 "";
1 $binary_remote_addr;
}
limit_req_zone $binary_remote_addr zone=uploads_by_ip:10m rate=10r/s;
limit_req_zone $limit_key zone=uploads_by_ip_throttled:10m rate=10r/m;
limit_req_zone $binary_remote_addr zone=registry_access_by_ip:10m rate=60r/m;
limit_req_zone $limit_key zone=registry_access_by_ip_throttled:10m rate=20r/m;
limit_conn_zone $binary_remote_addr zone=upload_conn:10m;
limit_conn_zone $limit_key zone=upload_conn_rl:10m;
limit_conn_zone $binary_remote_addr zone=downloads_by_ip:10m;
limit_req_status 429;
limit_conn_status 429;
# Add X-Forwarded-* headers
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/conf.extra.d/*.conf;
}

View File

@ -1,16 +0,0 @@
FROM golang:1.16.7 AS sia-builder
ENV GOOS linux
ENV GOARCH amd64
ARG branch=portal-latest
RUN git clone https://gitlab.com/SkynetLabs/skyd.git Sia --single-branch --branch ${branch} && \
make release --directory Sia
FROM nebulouslabs/sia:1.5.6
COPY --from=sia-builder /go/bin/ /usr/bin/
RUN if [ -f "/usr/bin/skyd" ]; then mv /usr/bin/skyd /usr/bin/siad; fi && \
if [ -f "/usr/bin/skyc" ]; then mv /usr/bin/skyc /usr/bin/siac; fi

2
logs/.gitkeep Normal file
View File

@ -0,0 +1,2 @@
Purpose of this file is that `logs` dir can be commited to git and it will be
present on portal servers. The rest of files in `logs` dir are git ignored.

View File

@ -1,4 +0,0 @@
node_modules/
.cache/
public/
storybook-build/

View File

@ -1,6 +0,0 @@
module.exports = {
globals: {
__PATH_PREFIX__: true,
},
extends: ["react-app", "plugin:storybook/recommended"],
};

View File

@ -1,4 +0,0 @@
node_modules/
.cache/
public/
storybook-build/

View File

@ -1,4 +0,0 @@
node_modules/
.cache/
public/
storybook-build/

View File

@ -1,3 +0,0 @@
{
"printWidth": 120
}

View File

@ -1,19 +0,0 @@
module.exports = {
stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"storybook-addon-gatsby",
{
name: "@storybook/addon-postcss",
options: {
postcssLoaderOptions: {
implementation: require("postcss"),
},
},
},
],
core: {
builder: "webpack5",
},
};

View File

@ -1,20 +0,0 @@
import "tailwindcss/tailwind.css";
import "@fontsource/sora/300.css"; // light
import "@fontsource/sora/400.css"; // normal
import "@fontsource/sora/500.css"; // medium
import "@fontsource/sora/600.css"; // semibold
import "@fontsource/source-sans-pro/400.css"; // normal
import "@fontsource/source-sans-pro/600.css"; // semibold
import "../src/styles/global.css";
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
layout: "fullscreen",
};

View File

@ -1,25 +0,0 @@
# Skynet Account Dashboard
Code behind [account.skynetpro.net](https://account.skynetpro.net/)
## Development
This is a Gatsby application. To run it locally, all you need is:
- `yarn install`
- `yarn start`
## Accessing remote APIs
To be able to log in on a local environment with your production credentials, you'll need to make the browser believe you're actually on the same domain, otherwise the browser will block the session cookie.
To do the trick, edit your `/etc/hosts` file and add a record like this:
```
127.0.0.1 local.skynetpro.net
```
then run `yarn develop:secure` -- it will run `gatsby develop` with `--https --host=local.skynetpro.net -p=443` options.
If you're on macOS, you may need to `sudo` the command to successfully bind to port `443`.
> **NOTE:** This should become easier once we have a docker image for the new dashboard.

View File

@ -1,22 +0,0 @@
import * as React from "react";
import "@fontsource/sora/300.css"; // light
import "@fontsource/sora/400.css"; // normal
import "@fontsource/sora/500.css"; // medium
import "@fontsource/sora/600.css"; // semibold
import "@fontsource/source-sans-pro/400.css"; // normal
import "@fontsource/source-sans-pro/600.css"; // semibold
import "./src/styles/global.css";
import { MODAL_ROOT_ID } from "./src/components/Modal";
import { PortalSettingsProvider } from "./src/contexts/portal-settings";
export function wrapPageElement({ element, props }) {
const Layout = element.type.Layout ?? React.Fragment;
return (
<PortalSettingsProvider>
<Layout {...props}>
{element}
<div id={MODAL_ROOT_ID} />
</Layout>
</PortalSettingsProvider>
);
}

View File

@ -1,36 +0,0 @@
const { createProxyMiddleware } = require("http-proxy-middleware");
module.exports = {
siteMetadata: {
title: "Skynet Account",
siteUrl: `https://account.${process.env.GATSBY_PORTAL_DOMAIN}/`,
},
trailingSlash: "never",
plugins: [
"gatsby-plugin-image",
"gatsby-plugin-provide-react",
"gatsby-plugin-react-helmet",
"gatsby-plugin-sharp",
"gatsby-transformer-sharp",
"gatsby-plugin-styled-components",
"gatsby-plugin-postcss",
{
resolve: "gatsby-source-filesystem",
options: {
name: "images",
path: "./src/images/",
},
__key: "images",
},
],
developMiddleware: (app) => {
app.use(
"/api/",
createProxyMiddleware({
target: "https://account.skynetpro.net",
secure: false, // Do not reject self-signed certificates.
changeOrigin: true,
})
);
},
};

View File

@ -1,22 +0,0 @@
import * as React from "react";
import "@fontsource/sora/300.css"; // light
import "@fontsource/sora/400.css"; // normal
import "@fontsource/sora/500.css"; // medium
import "@fontsource/sora/600.css"; // semibold
import "@fontsource/source-sans-pro/400.css"; // normal
import "@fontsource/source-sans-pro/600.css"; // semibold
import "./src/styles/global.css";
import { MODAL_ROOT_ID } from "./src/components/Modal";
import { PortalSettingsProvider } from "./src/contexts/portal-settings";
export function wrapPageElement({ element, props }) {
const Layout = element.type.Layout ?? React.Fragment;
return (
<PortalSettingsProvider>
<Layout {...props}>
{element}
<div id={MODAL_ROOT_ID} />
</Layout>
</PortalSettingsProvider>
);
}

View File

@ -1,81 +0,0 @@
{
"name": "accounts-dashboard",
"version": "1.0.0",
"private": true,
"description": "Accounts Dashboard",
"author": "Skynet Labs",
"keywords": [
"gatsby"
],
"scripts": {
"develop": "gatsby develop",
"develop:secure": "gatsby develop --https --host=local.skynetpro.net -p=443",
"start": "gatsby develop",
"build": "gatsby build",
"serve": "gatsby serve",
"clean": "gatsby clean",
"lint": "eslint .",
"prettier": "prettier .",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook -o storybook-build"
},
"dependencies": {
"@fontsource/sora": "^4.5.3",
"@fontsource/source-sans-pro": "^4.5.3",
"classnames": "^2.3.1",
"copy-text-to-clipboard": "^3.0.1",
"dayjs": "^1.10.8",
"formik": "^2.2.9",
"gatsby": "^4.6.2",
"gatsby-plugin-postcss": "^5.7.0",
"http-status-codes": "^2.2.0",
"ky": "^0.30.0",
"nanoid": "^3.3.1",
"path-browserify": "^1.0.1",
"postcss": "^8.4.6",
"pretty-bytes": "^6.0.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-dropzone": "^12.0.4",
"react-helmet": "^6.1.0",
"react-use": "^17.3.2",
"skynet-js": "4.0.27-beta",
"swr": "^1.2.2",
"tailwindcss": "^3.0.23",
"yup": "^0.32.11"
},
"devDependencies": {
"@babel/core": "^7.17.4",
"@storybook/addon-actions": "^6.4.19",
"@storybook/addon-essentials": "^6.4.19",
"@storybook/addon-interactions": "^6.4.19",
"@storybook/addon-links": "^6.4.19",
"@storybook/addon-postcss": "^2.0.0",
"@storybook/builder-webpack5": "^6.4.19",
"@storybook/manager-webpack5": "^6.4.19",
"@storybook/react": "^6.4.19",
"@storybook/testing-library": "^0.0.9",
"autoprefixer": "^10.4.2",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.2.3",
"babel-plugin-preval": "^5.1.0",
"babel-plugin-styled-components": "^2.0.2",
"eslint": "^8.9.0",
"eslint-config-react-app": "^7.0.0",
"eslint-plugin-storybook": "^0.5.6",
"gatsby-plugin-alias-imports": "^1.0.5",
"gatsby-plugin-image": "^2.6.0",
"gatsby-plugin-preval": "^1.0.0",
"gatsby-plugin-provide-react": "^1.0.2",
"gatsby-plugin-react-helmet": "^5.6.0",
"gatsby-plugin-sharp": "^4.6.0",
"gatsby-plugin-styled-components": "^5.8.0",
"gatsby-source-filesystem": "^4.6.0",
"gatsby-transformer-sharp": "^4.6.0",
"http-proxy-middleware": "^1.3.1",
"prettier": "2.5.1",
"react-is": "^17.0.2",
"storybook-addon-gatsby": "^0.0.5",
"styled-components": "^5.3.3"
}
}

View File

@ -1,3 +0,0 @@
module.exports = {
plugins: [require("tailwindcss/nesting"), require("tailwindcss"), require("autoprefixer")],
};

View File

@ -1,155 +0,0 @@
import dayjs from "dayjs";
import cn from "classnames";
import { useCallback, useState } from "react";
import { Alert } from "../Alert";
import { Button } from "../Button";
import { AddSkylinkToAPIKeyForm } from "../forms/AddSkylinkToAPIKeyForm";
import { CogIcon, TrashIcon } from "../Icons";
import { Modal } from "../Modal";
import { useAPIKeyEdit } from "./useAPIKeyEdit";
import { useAPIKeyRemoval } from "./useAPIKeyRemoval";
export const APIKey = ({ apiKey, onRemoved, onEdited, onRemovalError }) => {
const { id, name, createdAt, skylinks } = apiKey;
const isPublic = apiKey.public === "true";
const [error, setError] = useState(null);
const onSkylinkListEdited = useCallback(() => {
setError(null);
onEdited();
}, [onEdited]);
const onSkylinkListEditFailure = (errorMessage) => setError(errorMessage);
const {
removalError,
removalInitiated,
prompt: promptRemoval,
abort: abortRemoval,
confirm: confirmRemoval,
} = useAPIKeyRemoval({
key: apiKey,
onSuccess: onRemoved,
onFailure: onRemovalError,
});
const {
editInitiated,
prompt: promptEdit,
abort: abortEdit,
addSkylink,
removeSkylink,
} = useAPIKeyEdit({
key: apiKey,
onSkylinkListUpdate: onSkylinkListEdited,
onSkylinkListUpdateFailure: onSkylinkListEditFailure,
});
const closeEditModal = useCallback(() => {
setError(null);
abortEdit();
}, [abortEdit]);
const skylinksNumber = skylinks?.length ?? 0;
const isNotConfigured = isPublic && skylinksNumber === 0;
const skylinksPhrasePrefix = skylinksNumber === 0 ? "No" : skylinksNumber;
const skylinksPhrase = `${skylinksPhrasePrefix} ${skylinksNumber === 1 ? "skylink" : "skylinks"} configured`;
return (
<li
className={cn(
"grid grid-cols-2 sm:grid-cols-[1fr_repeat(2,_max-content)] py-3 px-4 gap-x-8 items-center bg-white odd:bg-palette-100/50"
)}
>
<span className="col-span-2 sm:col-span-1 flex items-center">
<span className="flex flex-col">
<span className={cn("truncate", { "text-palette-300": !name })}>{name || "unnamed key"}</span>
<button
onClick={promptEdit}
className={cn("text-xs hover:underline decoration-dotted", {
"text-error": isNotConfigured,
"text-palette-400": !isNotConfigured,
})}
>
{skylinksPhrase}
</button>
</span>
</span>
<span className="col-span-2 my-4 border-t border-t-palette-200/50 sm:hidden" />
<span className="text-palette-400">{dayjs(createdAt).format("MMM DD, YYYY")}</span>
<span className="flex items-center justify-end">
{isPublic && (
<button
title="Add or remove skylinks"
aria-label="Add or remove skylinks"
className="p-1 transition-colors hover:text-primary"
onClick={promptEdit}
>
<CogIcon size={22} />
</button>
)}
<button
title="Delete this API key"
aria-label="Delete this API key"
className="p-1 transition-colors hover:text-error"
onClick={promptRemoval}
>
<TrashIcon size={16} />
</button>
</span>
{removalInitiated && (
<Modal onClose={abortRemoval} className="flex flex-col gap-4 text-center">
<h4>Delete API key</h4>
<div>
<p>Are you sure you want to delete the following API key?</p>
<p className="font-semibold">{name || id}</p>
</div>
{removalError && <Alert $variant="error">{removalError}</Alert>}
<div className="flex gap-4 justify-center mt-4">
<Button $primary onClick={abortRemoval}>
Cancel
</Button>
<Button onClick={confirmRemoval}>Delete</Button>
</div>
</Modal>
)}
{editInitiated && (
<Modal onClose={closeEditModal} className="flex flex-col gap-4 text-center sm:px-8 sm:py-6">
<h4>Covered skylinks</h4>
{skylinks?.length > 0 ? (
<ul className="text-xs flex flex-col gap-2">
{skylinks.map((skylink) => (
<li key={skylink} className="grid grid-cols-[1fr_min-content] w-full gap-4 items-center">
<code className="whitespace-nowrap select-all truncate bg-palette-100 odd:bg-white p-1">
{skylink}
</code>
<button
className="p-1 transition-colors hover:text-error"
onClick={() => removeSkylink(skylink)}
aria-label="Remove skylink"
>
<TrashIcon size={16} />
</button>
</li>
))}
</ul>
) : (
<Alert $variant="info">No skylinks here yet. You can add the first one below 🙃</Alert>
)}
<div className="flex flex-col gap-4">
{error && <Alert $variant="error">{error}</Alert>}
<AddSkylinkToAPIKeyForm addSkylink={addSkylink} />
</div>
<div className="flex gap-4 justify-center mt-4">
<Button onClick={closeEditModal}>Close</Button>
</div>
</Modal>
)}
</li>
);
};

View File

@ -1,14 +0,0 @@
import { APIKey } from "./APIKey";
export const APIKeyList = ({ keys, reloadKeys, title }) => {
return (
<>
<h6 className="text-palette-300 mb-4">{title}</h6>
<ul className="mt-4">
{keys.map((key) => (
<APIKey key={key.id} apiKey={key} onEdited={reloadKeys} onRemoved={reloadKeys} />
))}
</ul>
</>
);
};

View File

@ -1 +0,0 @@
export * from "./APIKeyList";

View File

@ -1,43 +0,0 @@
import { useCallback, useState } from "react";
import accountsService from "../../services/accountsService";
export const useAPIKeyEdit = ({ key, onSkylinkListUpdate, onSkylinkListUpdateFailure }) => {
const [editInitiated, setEditInitiated] = useState(false);
const prompt = () => setEditInitiated(true);
const abort = () => setEditInitiated(false);
const updateSkylinkList = useCallback(
async (action, skylink) => {
try {
await accountsService.patch(`user/apikeys/${key.id}`, {
json: {
[action]: [skylink],
},
});
onSkylinkListUpdate();
return true;
} catch (err) {
if (err.response) {
const { message } = await err.response.json();
onSkylinkListUpdateFailure(message);
} else {
onSkylinkListUpdateFailure("Unknown error occured, please try again.");
}
return false;
}
},
[onSkylinkListUpdate, onSkylinkListUpdateFailure, key]
);
const addSkylink = (skylink) => updateSkylinkList("add", skylink);
const removeSkylink = (skylink) => updateSkylinkList("remove", skylink);
return {
editInitiated,
prompt,
abort,
addSkylink,
removeSkylink,
};
};

View File

@ -1,41 +0,0 @@
import { useCallback, useState } from "react";
import accountsService from "../../services/accountsService";
export const useAPIKeyRemoval = ({ key, onSuccess }) => {
const [removalInitiated, setRemovalInitiated] = useState(false);
const [removalError, setRemovalError] = useState(null);
const prompt = () => {
setRemovalError(null);
setRemovalInitiated(true);
};
const abort = () => setRemovalInitiated(false);
const confirm = useCallback(async () => {
setRemovalError(null);
try {
await accountsService.delete(`user/apikeys/${key.id}`);
setRemovalInitiated(false);
onSuccess();
} catch (err) {
let message = "There was an error processing your request. Please try again later.";
if (err.response) {
const response = await err.response.json();
if (response.message) {
message = response.message;
}
}
setRemovalError(message);
}
}, [onSuccess, key]);
return {
removalInitiated,
removalError,
prompt,
abort,
confirm,
};
};

View File

@ -1,10 +0,0 @@
import styled from "styled-components";
import cn from "classnames";
export const Alert = styled.div.attrs(({ $variant }) => ({
className: cn("px-3 py-2 sm:px-6 sm:py-4 rounded border", {
"bg-blue-100 border-blue-200 text-palette-400": $variant === "info",
"bg-red-100 border-red-200 text-error": $variant === "error",
"bg-green-100 border-green-200 text-palette-400": $variant === "success",
}),
}))``;

View File

@ -1 +0,0 @@
export * from "./Alert";

View File

@ -1,35 +0,0 @@
import { useEffect, useState } from "react";
import { useUser } from "../../contexts/user";
import { SimpleUploadIcon } from "../Icons";
const AVATAR_PLACEHOLDER = "/images/avatar-placeholder.svg";
export const AvatarUploader = (props) => {
const { user } = useUser();
const [imageUrl, setImageUrl] = useState(AVATAR_PLACEHOLDER);
useEffect(() => {
setImageUrl(user.avatarUrl ?? AVATAR_PLACEHOLDER);
}, [user]);
return (
<div {...props}>
<div
className={`flex justify-center items-center xl:w-[245px] xl:h-[245px] bg-contain bg-none xl:bg-[url(/images/avatar-bg.svg)]`}
>
<img src={imageUrl} className="w-[160px]" alt="" />
</div>
<div className="flex justify-center">
<button
className="flex items-center gap-4 hover:underline decoration-1 decoration-dashed underline-offset-2 decoration-gray-400"
type="button"
onClick={console.info.bind(console)}
>
<SimpleUploadIcon size={20} className="shrink-0" /> Upload profile picture
</button>
{/* TODO: actual uploading */}
</div>
</div>
);
};

View File

@ -1 +0,0 @@
export * from "./AvatarUploader";

View File

@ -1,37 +0,0 @@
import cn from "classnames";
import PropTypes from "prop-types";
import styled from "styled-components";
/**
* Primary UI component for user interaction
*/
export const Button = styled.button.attrs(({ disabled, $primary, type }) => ({
type,
className: cn("px-6 py-2.5 rounded-full font-sans uppercase text-xs tracking-wide transition-[opacity_filter]", {
"bg-primary text-palette-600": $primary,
"bg-white border-2 border-black text-palette-600": !$primary,
"cursor-not-allowed opacity-60": disabled,
"hover:brightness-90": !disabled,
}),
}))``;
Button.propTypes = {
/**
* Is this the principal call to action on the page?
*/
$primary: PropTypes.bool,
/**
* Prevent interaction on the button
*/
disabled: PropTypes.bool,
/**
* Type of button (button / submit)
*/
type: PropTypes.oneOf(["button", "submit"]),
};
Button.defaultProps = {
$primary: false,
disabled: false,
type: "button",
};

View File

@ -1,38 +0,0 @@
import { Button } from "./Button";
// More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
export default {
title: "SkynetLibrary/Button",
component: Button,
// More on argTypes: https://storybook.js.org/docs/react/api/argtypes
argTypes: {
backgroundColor: { control: "color" },
},
};
// More on component templates: https://storybook.js.org/docs/react/writing-stories/introduction#using-args
const Template = (args) => <Button {...args} />;
export const Primary = Template.bind({});
// More on args: https://storybook.js.org/docs/react/writing-stories/args
Primary.args = {
primary: true,
label: "Button",
};
export const Secondary = Template.bind({});
Secondary.args = {
label: "Button",
};
export const Large = Template.bind({});
Large.args = {
size: "large",
label: "Button",
};
export const Small = Template.bind({});
Small.args = {
size: "small",
label: "Button",
};

View File

@ -1 +0,0 @@
export * from "./Button";

View File

@ -1,50 +0,0 @@
import { useCallback, useRef, useState } from "react";
import copy from "copy-text-to-clipboard";
import styled from "styled-components";
import { useClickAway } from "react-use";
import { CopyIcon } from "./Icons";
const Button = styled.button.attrs({
className: "relative inline-flex items-center hover:text-primary",
})``;
const TooltipContainer = styled.div.attrs(({ $visible }) => ({
className: `absolute left-full top-1/2 z-10
bg-white rounded border border-primary/30 shadow-md
pointer-events-none transition-opacity duration-150 ease-in-out
${$visible ? "opacity-100" : "opacity-0"}`,
}))`
transform: translateY(-50%);
`;
const TooltipContent = styled.div.attrs({
className: "bg-primary-light/10 text-palette-600 py-2 px-4 ",
})``;
export const CopyButton = ({ value, className, ariaLabel = "Copy" }) => {
const containerRef = useRef();
const [copied, setCopied] = useState(false);
const [timer, setTimer] = useState(null);
const handleCopy = useCallback(() => {
clearTimeout(timer);
copy(value);
setCopied(true);
setTimer(setTimeout(() => setCopied(false), 1500));
}, [value, timer]);
useClickAway(containerRef, () => setCopied(false));
return (
<div ref={containerRef} className={`inline-flex relative overflow-visible pr-2 ${className ?? ""}`}>
<Button onClick={handleCopy} className={copied ? "text-primary" : ""} aria-label={ariaLabel}>
<CopyIcon size={16} />
</Button>
<TooltipContainer $visible={copied}>
<TooltipContent>Copied to clipboard</TooltipContent>
</TooltipContainer>
</div>
);
};

View File

@ -1,48 +0,0 @@
import dayjs from "dayjs";
import relativeTime from "dayjs/plugin/relativeTime";
import { useUser } from "../../contexts/user";
import useActivePlan from "../../hooks/useActivePlan";
import { ContainerLoadingIndicator } from "../LoadingIndicator";
import LatestPayment from "./LatestPayment";
import SuggestedPlan from "./SuggestedPlan";
dayjs.extend(relativeTime);
const CurrentPlan = () => {
const { user, error: userError } = useUser();
const { plans, activePlan, error: plansError } = useActivePlan(user);
if (!user || !activePlan) {
return <ContainerLoadingIndicator />;
}
if (userError || plansError) {
return (
<div className="flex text-palette-300 flex-col space-y-4 h-full justify-center items-center">
<p>An error occurred while loading this data.</p>
<p>We'll retry automatically.</p>
</div>
);
}
return (
<div>
<h4>{activePlan.name}</h4>
<div className="text-palette-400">
{activePlan.price === 0 && <p>100GB without paying a dime! 🎉</p>}
{activePlan.price !== 0 &&
(user.subscriptionCancelAtPeriodEnd ? (
<p>Your subscription expires {dayjs(user.subscribedUntil).fromNow()}</p>
) : (
<p className="first-letter:uppercase">{dayjs(user.subscribedUntil).fromNow(true)} until the next payment</p>
))}
<LatestPayment user={user} />
<SuggestedPlan plans={plans} activePlan={activePlan} />
</div>
</div>
);
};
export default CurrentPlan;

View File

@ -1,18 +0,0 @@
import dayjs from "dayjs";
// TODO: this is not an accurate information, we need this data from the backend
const LatestPayment = ({ user }) => (
<div className="flex mt-6 justify-between items-center bg-palette-100/50 py-4 px-6 border-l-2 border-primary">
<div className="flex flex-col lg:flex-row">
<span>Latest payment</span>
<span className="lg:before:content-['-'] lg:before:px-2 text-xs lg:text-base">
{dayjs(user.subscribedUntil).subtract(1, "month").format("MM/DD/YYYY")}
</span>
</div>
<div>
<span className="rounded py-1 px-2 bg-primary/10 font-sans text-primary uppercase text-xs">Success</span>
</div>
</div>
);
export default LatestPayment;

View File

@ -1,24 +0,0 @@
import { Link } from "gatsby";
import { useMemo } from "react";
import { Button } from "../Button";
const SuggestedPlan = ({ plans, activePlan }) => {
const nextPlan = useMemo(() => plans.find(({ tier }) => tier > activePlan.tier), [plans, activePlan]);
if (!nextPlan) {
return null;
}
return (
<div className="mt-7">
<p className="font-sans font-semibold text-xs uppercase text-primary">Discover {nextPlan.name}</p>
<p className="pt-1 text-xs sm:text-base">{nextPlan.description}</p>
<Button $primary as={Link} to={`/upgrade?selectedPlan=${nextPlan.id}`} className="mt-6">
Upgrade
</Button>
</div>
);
};
export default SuggestedPlan;

View File

@ -1,3 +0,0 @@
import CurrentPlan from "./CurrentPlan";
export default CurrentPlan;

Some files were not shown because too many files have changed in this diff Show More