Here is how to create a cloud-init disk image and OS disk image suitable for configuring into a libvirt domain file.
In my case I am naming my domain (a.k.a. virtual machine or VM)
xenial with a static IP address of
The filenames "network-config" and "user-data" files are arbitrary, so they can be named with a prefix for the domain, etc.
qemu-img convert -O qcow2 xenial-server-cloudimg-amd64-disk1.img xenial-server-cloudimg-amd64-disk1.qcow2
Challenges in using post-mortem debugging with async/await
async/await is a new feature of the EcmaScript programming language that
combines generators and promises to improve the language-level model for
writing asynchronous code.
Prerequisites : the letsencrypt CLI tool
This method allows your to generate and renew your Lets Encrypt certificates with 1 command. This is easily automatable to renew each 60 days, as advised.
You need nginx to answer on port 80 on all the domains you want a certificate for. Then you need to serve the challenge used by letsencrypt on
Then we invoke the letsencrypt command, telling the tool to write the challenge files in the directory we used as a root in the nginx configuration.
I redirect all HTTP requests on HTTPS, so my nginx config looks like :
I hereby claim:
- I am cjihrig on github.
- I am cjihrig (https://keybase.io/cjihrig) on keybase.
- I have a public key whose fingerprint is 94AE 3667 5C46 4D64 BAFA 68DD 7434 390B DBE9 B9C5
To claim this, I am signing this object:
MDB is unlike most debuggers you've experienced.
It is not a source level debugger like gdb or lldb or even Node's builtin debugger
Generally used for postmortem analysis.
Postmortem is for Production and Development
We operate mostly on core files, though you can attach to running processes as well.