https://godoc.org/github.com/mkhl/cmd/acme/autoacme
When invoked like this
autoacme acme-onevent it will execute its argument for each event in the acme log, i.e. an event like this
| .PHONY: help | |
| help: ## Show this help | |
| @awk -F ':.* ## ' '/^\w.*##/{printf "%-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST) |
| #!/bin/sh | |
| # Usage: changes <version> [<file>...] | |
| # Print the changes made in <version> according to the changelog | |
| # Defaults: <file>: CHANGELOG.md | |
| if [ $# -eq 0 ]; then | |
| usage "$0" | |
| exit 64 | |
| fi |
| # $HOME/.config/nixpkgs/overlays/nix-2.3.10.nix | |
| # pin nix to version 2.3 | |
| self: super: | |
| { | |
| nixStable = super.nix_2_3; | |
| nix = super.nix_2_3; | |
| nix_2_4 = super.nix_2_3; | |
| } |
| #!/usr/bin/env bash | |
| host=${1:?missing host} | |
| port=${2:?missing port} | |
| timeout=${3:-180} | |
| until (exec 3<>"/dev/tcp/$host/$port") &>/dev/null; do | |
| ((timeout == 0)) && exit 1 | |
| ((timeout--)) | |
| echo -n . | |
| sleep 1 | |
| done |
| #!/bin/zsh | |
| # Usage: realpath [<path>...] | |
| # Print each real absolute <path>, resolving symlinks | |
| # Defaults: <path>: read from stdin | |
| case $# in | |
| 0) | |
| while read path; do | |
| echo "${path:A}" | |
| done |
| #!/usr/local/plan9/bin/rc | |
| . 9.rc | |
| . $PLAN9/lib/acme.rc | |
| fn convert { | |
| awk -F'=' ' | |
| $1 == "indent_style" { | |
| print "Spaces", ($2 == "space") ? "on" : "off" | |
| } |
| #!/usr/local/plan9/bin/rc | |
| . 9.rc | |
| . $PLAN9/lib/acme.rc | |
| event=$1 | |
| target=$2 | |
| fn hashbang { | |
| awk ' |
https://godoc.org/github.com/mkhl/cmd/acme/autoacme
When invoked like this
autoacme acme-onevent it will execute its argument for each event in the acme log, i.e. an event like this
$ python3 -m venv venv $ . venv/bin/activate $ pip install js2py gunicorn $ gunicorn app:app