aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2018-12-09 08:52:03 -0800
committerChristine Dodrill <me@christine.website>2018-12-09 08:52:30 -0800
commit223095c3f5da5ae63cddcecdfc16f0371afa9939 (patch)
tree985330b212a8c1b7450d773f3f9a5a1d7f5064d8 /docs
parentd66cd9cd7505c19b76379fe18ca7dbae1ff2a4a8 (diff)
downloadx-223095c3f5da5ae63cddcecdfc16f0371afa9939.tar.xz
x-223095c3f5da5ae63cddcecdfc16f0371afa9939.zip
start on manpages
Diffstat (limited to 'docs')
-rw-r--r--docs/README.md3
-rw-r--r--docs/man/appsluggr.1113
-rw-r--r--docs/man/cadeybot.162
-rw-r--r--docs/man/ghstat.175
-rw-r--r--docs/man/ilo-kesi.1130
-rw-r--r--docs/man/license.178
-rw-r--r--docs/man/routed.1129
7 files changed, 590 insertions, 0 deletions
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..d7861c2
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,3 @@
+# x
+
+This is an attempt to document the commands and tools in x. This might fail.
diff --git a/docs/man/appsluggr.1 b/docs/man/appsluggr.1
new file mode 100644
index 0000000..a0f3881
--- /dev/null
+++ b/docs/man/appsluggr.1
@@ -0,0 +1,113 @@
+.Dd December 09, 2018
+.Dt APPSLUGGR 1 URM
+
+
+.Sh NAME
+.Nm appsluggr
+.Nd appsluggr packages a precompiled binary application as a Heroku style slug for use with Dokku.
+
+
+.Sh SYNOPSIS
+.Nm
+
+.Op Fl fname
+.Op Fl license
+.Op Fl web
+.Op Fl web-scale
+.Op Fl worker
+.Op Fl worker-scale
+
+
+.Sh DESCRIPTION
+.Nm
+is a small tool to package
+.Li GOOS=linux GOARCH=amd64
+binaries for consumption on
+.Li hyperlink: http://dokku.viewdocs.io/dokku/ Dokku
+.
+
+.Bl -tag -width " " -offset indent -compact
+
+.It Fl fname
+The filename to write the resulting slug to.
+
+The default value for this is
+.Li slug.tar.gz
+.
+
+.It Fl license
+If set, the tool will show its software license details and then exit.
+
+.It Fl web
+The path to the binary for the web process.
+
+One of
+.Fl web
+or
+.Fl worker
+must be set.
+
+.It Fl web-scale
+The default scale for web process if defined.
+
+The default value for this is 1.
+
+.It Fl worker
+The path to the binary for the worker process.
+One of
+.Fl web
+or
+.Fl worker
+must be set.
+
+.It Fl worker-scale
+The default scale for the worker process if defined.
+
+The default value for this is 1
+
+.El
+
+
+.Sh EXAMPLES
+
+.Li appsluggr
+
+.Li appsluggr -web web
+
+.Li appsluggr -worker ilo-sona
+
+.Li appsluggr -fname foo.tar.gz -web web -worker worker -web-scale 4 -worker-scale 16
+
+
+.Sh IMPLEMENTATION NOTES
+
+.Nm
+when used with
+.Lk hyperlink: http://dokku.viewdocs.io/dokku/ Dokku
+requires the use of the
+.Lk hyperlink: https://github.com/ryandotsmith/null-buildpack Null Buildpack
+as follows:
+
+.Li $ dokku config:set $APP_NAME BUILDPACK_URL=https://github.com/ryandotsmith/null-buildpack
+
+Or
+
+.Li $ ssh dokku@host config:set <see above>
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std appsluggr
+
+
+.Sh SEE ALSO
+
+.Bl -bullet
+
+.It
+.Lk hyperlink: http://dokku.viewdocs.io/dokku/ Dokku
+
+.It
+.Lk hyperlink: https://github.com/ryandotsmith/null-buildpack Null Buildpack
+
+.El
diff --git a/docs/man/cadeybot.1 b/docs/man/cadeybot.1
new file mode 100644
index 0000000..e1d1967
--- /dev/null
+++ b/docs/man/cadeybot.1
@@ -0,0 +1,62 @@
+.Dd December 19, 2018
+.Dt CADEYBOT 1 URM
+
+
+.Sh NAME
+.Nm cadeybot
+.Nd Markov bot based on my discord GDPR dump.
+
+
+.Sh SYNOPSIS
+.Nm
+.Op Fl token Ar TOKEN
+.Op Fl brain Ar BRAIN
+
+
+.Sh DESCRIPTION
+.Nm
+is a simple markov chatbot. Mention it in any channel the bot is in to make it spew out amusing text.
+
+.Bl -tag -width " " -offset indent -compact
+
+.It Ev TOKEN Fl token Ar TOKEN
+Specifies the Discord token that
+.Nm
+will use for client communication.
+
+.It Ev BRAIN Fl token Ar TOKEN
+Specifies the Markov chain brain that
+.Nm
+should load data into cadey.gob from.
+
+.El
+
+
+.Sh IMPLEMENTATION NOTES
+
+In order for
+.Nm
+to get markov bot data, please put the importer tool and corpusmake.sh into the messages folder of your Discord GDPR dump. Then run corpusmake.sh and pass the resulting brain.txt as -brain to
+.Nm .
+
+
+.Sh EXAMPLES
+
+.Li cadeybot
+
+.Li cadeybot -brain brain.txt
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std cadeybot
+
+
+.Sh SEE ALSO
+
+.Bl -bullet
+
+.It
+.Lk hyperlink: https://discordapp.com Discord
+
+.El
diff --git a/docs/man/ghstat.1 b/docs/man/ghstat.1
new file mode 100644
index 0000000..694c72e
--- /dev/null
+++ b/docs/man/ghstat.1
@@ -0,0 +1,75 @@
+.Dd December 09, 2018
+.Dt GHSTAT 1 URM
+
+
+.Sh NAME
+.Nm ghstat
+.Nd Look up and summarize the status of GitHub.
+
+
+.Sh SYNOPSIS
+.Nm
+.Op Fl license
+.Op Fl message
+
+
+
+.Sh DESCRIPTION
+.Nm
+is a small tool to help users look up information about
+.Lk hyperlink: https://github.com GitHub
+system status as viewed by their
+.Lk hyperlink: https://status.github.com Status API
+.
+
+By default this tool will print a very small summary of GitHub status followed by the time the last update was made in RFC 3339 time format.
+
+Here's an example:
+
+.Li $ ghstat
+.Li Status: good (2018-12-06T17:09:57Z)
+
+.Bl -tag -width " " -offset indent -compact
+
+.It Fl license
+If set, the tool will show its software license details and then exit.
+
+.It Fl message
+If set, the tool will show the last status message from GitHub more verbosely like such:
+
+.Li $ ghstat -message
+.Li Last message:
+.Li Status: good
+.Li Message:
+.Li Time:
+
+When there is a message relevant to the status, it and its time will be shown here.
+
+.El
+
+
+.Sh EXAMPLES
+
+.Li ghstat
+
+.Li ghstat -license
+
+.Li ghstat -message
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std ghstat
+
+
+.Sh SEE ALSO
+
+.Bl -bullet
+
+.It
+.Lk hyperlink: https://github.com GitHub
+
+.It
+.Lk hyperlink: https://status.github.com GitHub Status
+
+.El
diff --git a/docs/man/ilo-kesi.1 b/docs/man/ilo-kesi.1
new file mode 100644
index 0000000..93f26f7
--- /dev/null
+++ b/docs/man/ilo-kesi.1
@@ -0,0 +1,130 @@
+.Dd December 19, 2018
+.Dt ILO-KESI 1 URM
+
+
+.Sh NAME
+.Nm ilo-kesi
+.Nd ni li ilo sona pi toki pona.
+
+
+.Sh SYNOPSIS
+.Nm
+.Op Fl repl Ar TOKEN
+
+
+.Sh DESCRIPTION
+.Nm
+communicates with Discord and scans every message in every channel it is in for the following pattern:
+
+.Li ilo ${ILO_NIMI} o
+
+This is usually:
+
+.Li ilo Kesi o
+
+When this condition is met, the chat message will be posted to the
+.Ev TOKI_PONA_TOKENIZER_API_URL
+and the resulting parsed sentences will be analyzed for what is being asked, and then it will be done.
+
+This only works on sentences written in the
+.Lk hyperlink http://tokipona.org Toki Pona
+constructed language.
+
+.Bl -tag -width "routed" -offset -indent -compact
+
+.It Fl repl Ar REPL
+When this flag is passed,
+.Nm
+will function in a mode where it does not connect to discord. This is useful when debugging parts of the grammar parsing. You can pass a junk value to
+.Ev DISCORD_TOKEN
+to help make testing easier.
+
+.El
+
+
+.Sh ENVIRONMENT
+
+.Bl -tag -width " " -offset indent -compact
+
+.It Ev DISCORD_TOKEN
+Specifies the Discord token that
+.Nm
+will use for client communication.
+
+.It Ev TOKI_PONA_TOKENIZER_API_URL
+Specifies the URL that
+.Nm
+will use to tokenize Toki Pona sentences. This should be some instance of the following serverless function:
+
+.Lk hyperlink: https://github.com/Xe/x/blob/master/discord/ilo-kesi/function/index.js
+
+The default value for this is:
+
+.Lk hyperlink: https://us-central1-golden-cove-408.cloudfunctions.net/function-1
+
+.It Ev SWITCH_COUNTER_WEBHOOK
+Specifies the URL that
+.Nm
+will use to communicate with
+.Lk hyperlink: https://www.switchcounter.science Switch Counter
+.
+This will be used mainly to read data, unless the user in question is a member of the
+.Ev JAN_LAWA
+id set.
+
+.It Ev ILO_NIMI
+Specifies the name of
+.Nm
+when being commanded to do stuff. This defaults to
+.Li Kesi
+.
+
+.It JAN_LAWA
+Specifies the list of people (via Discord user ID's) that are allowed to use
+.Nm
+to submit switch data to
+.Lk hyperlink: https://www.switchcounter.science Switch Counter
+.
+
+.El
+
+
+.Sh IMPLEMENTATION NOTES
+
+.Nm
+requires a brain created by
+.Xr cadeybot 1
+.
+
+.Nm
+requires a webhook from
+.Lk hyperlink: https://www.switchcounter.science Switch Counter
+.
+
+
+.Sh EXAMPLES
+
+ilo-kesi
+
+ilo-kesi -repl
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std ilo-kesi
+
+
+.Sh SEE ALSO
+
+.Bl -bullet
+
+.It
+.Lk hyperlink: https://discordapp.com Discord
+
+.It
+.Lk hyperlink http://tokipona.org Toki Pona
+
+.It
+.Lk hyperlink: https://www.switchcounter.science Switch Counter
+
+.El
diff --git a/docs/man/license.1 b/docs/man/license.1
new file mode 100644
index 0000000..be89302
--- /dev/null
+++ b/docs/man/license.1
@@ -0,0 +1,78 @@
+.Dd December 09, 2018
+.Dt LICENSE 1 URM
+
+
+.Sh NAME
+.Nm license
+.Nd Generate software licenses from a rather large list of templates.
+
+
+.Sh SYNOPSIS
+.Nm
+.Op Fl email
+.Op Fl license
+.Op Fl name
+.Op Fl out
+.Op Fl show
+
+
+.Sh DESCRIPTION
+.Nm
+is a software license generator. It uses
+.Xr git-config 1
+to parse out your email and "real name" when relevant for the license template reasons.
+
+
+.Bl -tag -width " " -offset indent -compact
+
+
+.It Fl email
+The email of the person licensing the software. This should be your email, or a corporation's email. If in doubt, ask a lawyer what to put here.
+
+The default value for this is derived from
+.Xr git-config 1
+by using the command:
+
+.Li $ git config user.email
+
+.It Fl license
+If set,
+.Nm
+will show its software license details and then exit.
+
+.It Fl name
+The name of the person licensing the software. This should be your name, or a corporation's name. If in doubt, ask a lawyer what to put here.
+
+The default value for this is derived from
+.Xr git-config 1
+by using the command:
+
+.Li $ git config user.name
+
+.It Fl out
+If this is set,
+.Nm
+will write the resulting license to the disk instead of standard out.
+
+.It Fl show
+If set,
+.Nm
+will show its list of license templates instead of generating one.
+
+.El
+
+
+.Sh EXAMPLES
+
+.Li license
+
+.Li license -license
+
+.Li license -show
+
+.Li license mit
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std license
diff --git a/docs/man/routed.1 b/docs/man/routed.1
new file mode 100644
index 0000000..14736b1
--- /dev/null
+++ b/docs/man/routed.1
@@ -0,0 +1,129 @@
+.Dd December 12, 2017
+.Dt ROUTED 1 URM
+
+
+.Sh NAME
+.Nm routed
+.Nd TLS termination and reverse reverse proxying daemon.
+
+
+.Sh SYNOPSIS
+.Nm
+
+
+.Sh ENVIRONMENT
+
+.Bl -tag -width "routed" -offset indent -compact
+
+.It Ev BOLTDB_PATH
+Specifies the path to the boltdb database
+.Nm
+stores all of its relevant data in.
+
+.It Ev WEB_ADDR
+Specifies the host+port that
+.Nm
+will listen on for unsecured HTTP traffic. This will only forward traffic to HTTPS.
+
+.It Ev SSL_ADDR
+Specifies the host+port that
+.Nm
+will listen on for secure (TLS) traffic. This should have port 443 if you want Let's Encrypt to work (you probably want Let's Encrypt to work).
+
+.It Ev QUIC_ADDR
+Specifies the host+port that
+.Nm
+will listen on for secure (TLS) QUIC traffic. For more information see https://datatracker.ietf.org/wg/quic/about/. This should also be port 443, but is not essential for Let's Encrypt to work.
+
+.It Ev BACKEND_TCP_ADDR
+Specifies the host+port that
+.Nm
+will listen on for secure (TLS) TCP connections from backends. Any client that is successfully able to authenticate with
+.Nm
+on this port will relay HTTP traffic from to and from end users.
+
+.It Ev BACKEND_KCP_ADDR
+Specifies the host+port that
+.Nm
+will listen on for secure (TLS) KCP (reliable-UDP) connections from backends. Any client that is successfully able to authenticate with
+.Nm
+on this port will relay HTTP traffic from to and from end users.
+
+For more information about KCP, see https://github.com/xtaci/kcp-go
+
+.It Ev GRPC_ADDR
+Specifies the host+post that
+.Nm
+will listen on for secure (TLS) TCP gRPC connections from clients wishing to control
+.Nm
+configuration. Authentication is enforced and requires the use of an API token generated by the API call route.Tokens.Put.
+
+.It Ev DOMAIN_SUFFIX
+Specifies the domain suffix that
+.Nm
+will use when automatically generating a domain name for a newly created route. Please set this to something that has a wildcard DNS record pointing to your instances of routed.
+
+.It Ev ACME_EMAIL
+Specifies the email address that
+.Nm
+will use when creating a new account with Let's Encrypt. This assumes you have read (and agree to) the Let's Encrypt terms of service found here: https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf.
+
+.It Ev SSL_CERT_KEY
+Specifies the encryption key that
+.Nm
+will use when encrypting and decrypting SSL certificates when loading them from and saving them to the database. This can be created with
+.Xr route-cli 1 .
+
+.El
+
+
+.Sh IMPLEMENTATION NOTES
+
+In order for
+.Nm
+to route traffic, a route must be set up using
+.Xr route-cli 1 .
+Please see its manpage for more information on how to do this.
+
+.Nm
+exposes debugging and introspection information on a randomly generated port every time it starts up. The message will look something like:
+
+2017/12/13 02:06:56 manhole: Now listening on http://127.0.0.1:39245
+
+Expose this using
+.Xr route-httpagent 1
+or similar tools.
+
+.Nm
+can be managed using terraform. See
+.Xr terraform-provider-route 1
+for more information.
+
+
+.Sh EXAMPLES
+
+routed
+
+
+.Sh DIAGNOSTICS
+
+.Ex -std routed
+
+
+.Sh SEE ALSO
+
+.Bl -bullet
+
+.It
+https://datatracker.ietf.org/wg/quic/about/
+
+.It
+https://github.com/xtaci/kcp-go
+
+.It
+https://grpc.io/
+
+.It
+https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
+
+.El