diff options
| author | Christine Dodrill <me@christine.website> | 2018-12-09 08:52:03 -0800 |
|---|---|---|
| committer | Christine Dodrill <me@christine.website> | 2018-12-09 08:52:30 -0800 |
| commit | 223095c3f5da5ae63cddcecdfc16f0371afa9939 (patch) | |
| tree | 985330b212a8c1b7450d773f3f9a5a1d7f5064d8 /docs | |
| parent | d66cd9cd7505c19b76379fe18ca7dbae1ff2a4a8 (diff) | |
| download | x-223095c3f5da5ae63cddcecdfc16f0371afa9939.tar.xz x-223095c3f5da5ae63cddcecdfc16f0371afa9939.zip | |
start on manpages
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/README.md | 3 | ||||
| -rw-r--r-- | docs/man/appsluggr.1 | 113 | ||||
| -rw-r--r-- | docs/man/cadeybot.1 | 62 | ||||
| -rw-r--r-- | docs/man/ghstat.1 | 75 | ||||
| -rw-r--r-- | docs/man/ilo-kesi.1 | 130 | ||||
| -rw-r--r-- | docs/man/license.1 | 78 | ||||
| -rw-r--r-- | docs/man/routed.1 | 129 |
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 |
