www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - !Alert! code.dlang.org down

reply Martin Tschierschke <mt smartdolphin.de> writes:
In the moment I don't have access, hopefully this is only 
temporal problem and the rescue team for fixing is already on the 
way...
Jan 10
next sibling parent reply Seb <seb wilzba.ch> writes:
On Wednesday, 10 January 2018 at 10:10:22 UTC, Martin 
Tschierschke wrote:
 In the moment I don't have access, hopefully this is only 
 temporal problem and the rescue team for fixing is already on 
 the way...
Hehe, I'm working on adding more stability to our CI infrastructure, e.g. https://github.com/travis-ci/travis-build/pull/1282 https://github.com/dlang/installer/pull/214 https://github.com/dlang/installer/pull/291 DUB >= 1.6.0 comes with a couple of mirrors and should softly fallback to them: https://code-mirror.dlang.io http://code-mirror3.dlang.io code-mirror2 seems to be down too. I will have a look into that.
Jan 10
parent reply Daniel Kozak <kozzi11 gmail.com> writes:
I am able to provide my VPS for mirroring too. Is there a tutorial how to
do it?

On Wed, Jan 10, 2018 at 11:27 AM, Seb via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Wednesday, 10 January 2018 at 10:10:22 UTC, Martin Tschierschke wrote:

 In the moment I don't have access, hopefully this is only temporal
 problem and the rescue team for fixing is already on the way...
Hehe, I'm working on adding more stability to our CI infrastructure, e.g. https://github.com/travis-ci/travis-build/pull/1282 https://github.com/dlang/installer/pull/214 https://github.com/dlang/installer/pull/291 DUB >= 1.6.0 comes with a couple of mirrors and should softly fallback to them: https://code-mirror.dlang.io http://code-mirror3.dlang.io code-mirror2 seems to be down too. I will have a look into that.
Jan 10
parent reply Seb <seb wilzba.ch> writes:
On Wednesday, 10 January 2018 at 10:36:57 UTC, Daniel Kozak wrote:
 I am able to provide my VPS for mirroring too. Is there a 
 tutorial how to do it?
The dub-registry binary can be started with `--mirror=https://code.dlang.org` Martin even an Ansible script for dub-mirror.dlang.io: https://github.com/dlang/ci/blob/master/ansible/roles/dub_registry_mirror/tasks/main.yml It boils down to these tasks: 1) git clone https://github.com/dlang/dub-registry 2) dub # <- maybe -b release 3) Install mongo and start sudo apt-get install mongodb && sudo systemctl enable mongodb && sudo systemctl start mongodb 4) Configure a systemd service Here's my systemd service:
 /etc/systemd/system/dub-registry.service
----- [Unit] Description=DUB registry OnFailure=unit-status-mail %n.service [Service] Environment="PORT=9001" ExecStart=/opt/projects/dub-registry/dub-registry --port 8005 --mirror=https://code.dlang.org --hostname=code-mirror2.dlang.org --vv WorkingDirectory=/opt/projects/dub-registry Restart=always RestartSec=30 User=dub-registry [Install] WantedBy=multi-user.target ------
 [Unit]
Description=Unit Status Mailer Service After=network.target [Service] Type=simple ExecStart=/opt/bin/unit-status-mail.sh "%I" "Hostname: %H" "Machine ID: %m" "Boot ID: %b" ----
 /opt/bin/unit-status-mail.sh
---- #!/bin/bash MAILTO="root" MAILFROM="unit-status-mailer" UNIT=$1 EXTRA="" for e in "${ :2}"; do EXTRA+="$e"$'\n' done UNITSTATUS=$(systemctl status $UNIT) UNITLOG=$(journalctl -u $UNIT -r | head -n 100) sendmail $MAILTO <<EOF From:$MAILFROM To:$MAILTO Subject:Status of: $UNIT Status report for unit: $UNIT $EXTRA $UNITSTATUS $UNITLOG EOF echo -e "Status mail sent to: $MAILTO for unit: $UNIT" --- 5) Configure Nginx
 /etc/nginx/sites-available/dub-mirror
--- server { listen 80; listen [::]:80; server_name code-mirror2.dlang.io; location / { proxy_pass http://localhost:8005; } } --- 6) Configure Letsencrypt for SSL (optional) 7) Add yourself to this list: https://github.com/dlang/dub/blob/master/source/dub/dub.d#L64 Note that with a few tweaks it's possible to run the dub-registry on Heroku: https://github.com/dlang/dub-registry/pull/231
Jan 10
next sibling parent Daniel Kozak <kozzi11 gmail.com> writes:
Thank you :)

On Wed, Jan 10, 2018 at 11:53 AM, Seb via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Wednesday, 10 January 2018 at 10:36:57 UTC, Daniel Kozak wrote:

 I am able to provide my VPS for mirroring too. Is there a tutorial how to
 do it?
The dub-registry binary can be started with `--mirror=https://code.dlang.o rg` Martin even an Ansible script for dub-mirror.dlang.io: https://github.com/dlang/ci/blob/master/ansible/roles/dub_re gistry_mirror/tasks/main.yml It boils down to these tasks: 1) git clone https://github.com/dlang/dub-registry 2) dub # <- maybe -b release 3) Install mongo and start sudo apt-get install mongodb && sudo systemctl enable mongodb && sudo systemctl start mongodb 4) Configure a systemd service Here's my systemd service: /etc/systemd/system/dub-registry.service

 -----
 [Unit]
 Description=DUB registry
 OnFailure=unit-status-mail %n.service

 [Service]
 Environment="PORT=9001"
 ExecStart=/opt/projects/dub-registry/dub-registry --port 8005 --mirror=
 https://code.dlang.org --hostname=code-mirror2.dlang.org --vv
 WorkingDirectory=/opt/projects/dub-registry
 Restart=always
 RestartSec=30
 User=dub-registry

 [Install]
 WantedBy=multi-user.target
 ------


 [Unit]

 Description=Unit Status Mailer Service
 After=network.target

 [Service]
 Type=simple
 ExecStart=/opt/bin/unit-status-mail.sh "%I" "Hostname: %H" "Machine ID:
 %m" "Boot ID: %b"
 ----


 /opt/bin/unit-status-mail.sh

 ----
 #!/bin/bash
 MAILTO="root"
 MAILFROM="unit-status-mailer"
 UNIT=$1

 EXTRA=""
 for e in "${ :2}"; do
   EXTRA+="$e"$'\n'
 done

 UNITSTATUS=$(systemctl status $UNIT)
 UNITLOG=$(journalctl -u $UNIT -r | head -n 100)

 sendmail $MAILTO <<EOF
 From:$MAILFROM
 To:$MAILTO
 Subject:Status of: $UNIT

 Status report for unit: $UNIT
 $EXTRA

 $UNITSTATUS

 $UNITLOG
 EOF

 echo -e "Status mail sent to: $MAILTO for unit: $UNIT"
 ---

 5) Configure Nginx

 /etc/nginx/sites-available/dub-mirror

 ---

 server {
         listen 80;
         listen [::]:80;
         server_name code-mirror2.dlang.io;

         location / {
                 proxy_pass http://localhost:8005;
         }
 }
 ---

 6) Configure Letsencrypt for SSL (optional)
 7) Add yourself to this list:

 https://github.com/dlang/dub/blob/master/source/dub/dub.d#L64

 Note that with a few tweaks it's possible to run the dub-registry on
 Heroku:

 https://github.com/dlang/dub-registry/pull/231
Jan 10
prev sibling parent Daniel Kozak <kozzi11 gmail.com> writes:
OK, I am unable to compile dub-registry :D, I have only 4GB free RAM and it
seems it is not enought LOL

On Wed, Jan 10, 2018 at 12:03 PM, Daniel Kozak <kozzi11 gmail.com> wrote:

 Thank you :)

 On Wed, Jan 10, 2018 at 11:53 AM, Seb via Digitalmars-d <
 digitalmars-d puremagic.com> wrote:

 On Wednesday, 10 January 2018 at 10:36:57 UTC, Daniel Kozak wrote:

 I am able to provide my VPS for mirroring too. Is there a tutorial how
 to do it?
The dub-registry binary can be started with `--mirror= https://code.dlang.org` Martin even an Ansible script for dub-mirror.dlang.io: https://github.com/dlang/ci/blob/master/ansible/roles/dub_re gistry_mirror/tasks/main.yml It boils down to these tasks: 1) git clone https://github.com/dlang/dub-registry 2) dub # <- maybe -b release 3) Install mongo and start sudo apt-get install mongodb && sudo systemctl enable mongodb && sudo systemctl start mongodb 4) Configure a systemd service Here's my systemd service: /etc/systemd/system/dub-registry.service

 -----
 [Unit]
 Description=DUB registry
 OnFailure=unit-status-mail %n.service

 [Service]
 Environment="PORT=9001"
 ExecStart=/opt/projects/dub-registry/dub-registry --port 8005 --mirror=
 https://code.dlang.org --hostname=code-mirror2.dlang.org --vv
 WorkingDirectory=/opt/projects/dub-registry
 Restart=always
 RestartSec=30
 User=dub-registry

 [Install]
 WantedBy=multi-user.target
 ------


 [Unit]

 Description=Unit Status Mailer Service
 After=network.target

 [Service]
 Type=simple
 ExecStart=/opt/bin/unit-status-mail.sh "%I" "Hostname: %H" "Machine ID:
 %m" "Boot ID: %b"
 ----


 /opt/bin/unit-status-mail.sh

 ----
 #!/bin/bash
 MAILTO="root"
 MAILFROM="unit-status-mailer"
 UNIT=$1

 EXTRA=""
 for e in "${ :2}"; do
   EXTRA+="$e"$'\n'
 done

 UNITSTATUS=$(systemctl status $UNIT)
 UNITLOG=$(journalctl -u $UNIT -r | head -n 100)

 sendmail $MAILTO <<EOF
 From:$MAILFROM
 To:$MAILTO
 Subject:Status of: $UNIT

 Status report for unit: $UNIT
 $EXTRA

 $UNITSTATUS

 $UNITLOG
 EOF

 echo -e "Status mail sent to: $MAILTO for unit: $UNIT"
 ---

 5) Configure Nginx

 /etc/nginx/sites-available/dub-mirror

 ---

 server {
         listen 80;
         listen [::]:80;
         server_name code-mirror2.dlang.io;

         location / {
                 proxy_pass http://localhost:8005;
         }
 }
 ---

 6) Configure Letsencrypt for SSL (optional)
 7) Add yourself to this list:

 https://github.com/dlang/dub/blob/master/source/dub/dub.d#L64

 Note that with a few tweaks it's possible to run the dub-registry on
 Heroku:

 https://github.com/dlang/dub-registry/pull/231
Jan 10
prev sibling parent reply Guillaume Piolat <notthat email.com> writes:
On Wednesday, 10 January 2018 at 10:10:22 UTC, Martin 
Tschierschke wrote:
 In the moment I don't have access, hopefully this is only 
 temporal problem and the rescue team for fixing is already on 
 the way...
Tips from the folks on Discord, for DUB outages: 1. If you have all required dependencies in your cache, and just want to avoid the network: dub --skip-registry=all Very useful on slow networks. However this won't help if you don't have the libraries in your cache. 2. If you wish to use a mirror dub --skip-registry=standard -v --registry=http://code-mirror.dlang.io 3. If you need to fetch packages and mirror are down too - git clone every repositery you need from GitHub - $ dub add-local in every of these repositery You might want to checkout older tags if you are not using the latest version of these repositeries.
Jan 10
parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Wednesday, 10 January 2018 at 23:25:16 UTC, Guillaume Piolat 
wrote:
 On Wednesday, 10 January 2018 at 10:10:22 UTC, Martin 
 Tschierschke wrote:
 In the moment I don't have access, hopefully this is only 
 temporal problem and the rescue team for fixing is already on 
 the way...
Tips from the folks on Discord, for DUB outages: 1. If you have all required dependencies in your cache, and just want to avoid the network: dub --skip-registry=all Very useful on slow networks. However this won't help if you don't have the libraries in your cache. 2. If you wish to use a mirror dub --skip-registry=standard -v --registry=http://code-mirror.dlang.io 3. If you need to fetch packages and mirror are down too - git clone every repositery you need from GitHub - $ dub add-local in every of these repositery You might want to checkout older tags if you are not using the latest version of these repositeries.
Thank you for the hints, actually my problem was, that I wished to access the DUB docs. And the strange thing was, that even the google cache tried to connect to code.dlang.org during delivery of the cached page, so that even looking on the cached google content took quite a long time before there was a timeout. Therefore we should think about placing these kinds of infos about DUB not on the DUB server at code.dlang.org.
Jan 11
next sibling parent Seb <seb wilzba.ch> writes:
On Thursday, 11 January 2018 at 11:10:29 UTC, Martin Tschierschke 
wrote:
 On Wednesday, 10 January 2018 at 23:25:16 UTC, Guillaume Piolat 
 wrote:
 [...]
Thank you for the hints, actually my problem was, that I wished to access the DUB docs. And the strange thing was, that even the google cache tried to connect to code.dlang.org during delivery of the cached page, so that even looking on the cached google content took quite a long time before there was a timeout. Therefore we should think about placing these kinds of infos about DUB not on the DUB server at code.dlang.org.
The docs are on GitHub too: git clone https://github.com/dlang/dub-registry Start with: dub Of course I agree that the dub documentation should find a different spot, actually everyone does. I think it's just lacking someone who does the hard work.
Jan 11
prev sibling parent Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Thursday, 11 January 2018 at 11:10:29 UTC, Martin Tschierschke 
wrote:
 Thank you for the hints, actually my problem was, that I wished 
 to access the DUB docs.
Me too. web.archive.org [1] helped me out. [1] https://web.archive.org/web/20171123172459/https://code.dlang.org/
Jan 11