diff options
author | Ben Morrison <ben@gbmor.dev> | 2019-08-28 18:29:42 -0400 |
---|---|---|
committer | Ben Morrison <ben@gbmor.dev> | 2019-08-28 18:29:42 -0400 |
commit | c6cc41bc0f1d6567d1c18e285bf375e368ebf29d (patch) | |
tree | 382ae3e270e890e6cb0931f566c60814cdcc93a4 | |
parent | eb33ceb75e6f7b385dac52821f14452c786099a2 (diff) | |
parent | 86b7c424cbcab57ff6b5157d79e0e7cebf3b318b (diff) | |
download | getwtxt-c6cc41bc0f1d6567d1c18e285bf375e368ebf29d.tar.gz |
Merge branch 'envs-net-patch-upgrade' v0.4.6
-rw-r--r-- | .travis.yml | 4 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README.md | 64 | ||||
-rw-r--r-- | getwtxt.yml | 8 | ||||
-rw-r--r-- | svc/README.md | 2 | ||||
-rw-r--r-- | svc/help.go | 58 |
6 files changed, 69 insertions, 69 deletions
diff --git a/.travis.yml b/.travis.yml index 92d7bd0..bda79e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ go: - 1.11.x - 1.12.x -os: +os: - linux dist: xenial @@ -19,7 +19,7 @@ before_script: - chmod +x ./cc-test-reporter - ./cc-test-reporter before-build -script: +script: - go test -v -race --coverprofile=c.out ./... - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT - make diff --git a/Makefile b/Makefile index ee11e92..bdf3060 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ update: @echo @echo Updating from upstream repository... @echo - git pull --rebase + git pull --rebase origin master @echo @echo ...Done\! diff --git a/README.md b/README.md index e384407..70588f1 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,30 @@ # getwtxt [![Build Status](https://travis-ci.com/getwtxt/getwtxt.svg?branch=master)](https://travis-ci.com/getwtxt/getwtxt) [![Go Report Card](https://goreportcard.com/badge/github.com/getwtxt/getwtxt)](https://goreportcard.com/report/github.com/getwtxt/getwtxt) [![Code Climate Maintainability](https://api.codeclimate.com/v1/badges/0e48bd9002de0f84b24e/maintainability)](https://codeclimate.com/github/getwtxt/getwtxt/maintainability) -twtxt registry written in Go! +twtxt registry written in Go! -[twtxt](https://github.com/buckket/twtxt) is a decentralized microblogging platform -"for hackers" based on text files. The user is "followed" and "mentioned" by referencing +[twtxt](https://github.com/buckket/twtxt) is a decentralized microblogging platform +"for hackers" based on text files. The user is "followed" and "mentioned" by referencing the URL to their `twtxt.txt` file and a nickname. Registries are designed to aggregate several users' statuses into a single location, facilitating the discovery of new users to follow and allowing the search of statuses for tags and key words. -\[ [Installation](#installation) \] +\[ [Installation](#installation) \] \[ [Upgrading](#upgrading) \] - \[ [Configuration](#configuration) \] - \[ [Using the Registry](#using-the-registry) \] - \[ [Benchmarks](#benchmarks) \] - \[ [Other Documentation](#other-documentation) \] + \[ [Configuration](#configuration) \] + \[ [Using the Registry](#using-the-registry) \] + \[ [Benchmarks](#benchmarks) \] + \[ [Other Documentation](#other-documentation) \] \[ [Notes](#notes) \] -## Features +## Features [![GitHub release](https://img.shields.io/github/release/getwtxt/getwtxt.svg)](https://github.com/getwtxt/getwtxt/releases/latest) -* Easy to set up and maintain +* Easy to set up and maintain * Uses an in-memory cache to serve requests * Pushes to a database at a configurable interval for persistent storage - * `leveldb (default)` + * `leveldb (default)` * `sqlite3` * More database support is in development * Run directly facing the internet or behind `Caddy` / `nginx` @@ -38,7 +38,7 @@ for tags and key words. Would you like your instance listed? Submit a PR or shoot me an email :) -## Installation +## Installation I have only personally tested getwtxt on Linux, specifically: * `Debian 9, 10/Testing, Sid` @@ -57,7 +57,7 @@ $ git clone git://github.com/getwtxt/getwtxt.git $ cd getwtxt ``` -Then, check out the latest release tag. +Then, check out the latest release tag. This will be the same tag listed on the badge under the [Features](#features) section heading. @@ -82,7 +82,7 @@ $ go test -v -bench . -benchmem ./... PASS ``` -Use `make` to initiate the build and install process. +Use `make` to initiate the build and install process. ``` $ make ... @@ -91,7 +91,7 @@ $ sudo make install ## Upgrading -Upgrading is a fairly simple process. First, we need to commit your local changes +Upgrading is a fairly simple process. First, we need to commit your local changes to the configuration file. ``` @@ -100,7 +100,7 @@ $ git add getwtxt.yml $ git commit -m 'my local config' ``` -Now, we need to either run `make update` or `git pull --rebase` +Now, we need to either run `make update` or `git pull --rebase origin master` ``` $ make update @@ -108,7 +108,7 @@ $ make update ``` Afterwards, follow the normal instructions for building and installing. -If no configuration changes have been made since your last upgrade, +If no configuration changes have been made since your last upgrade, you will not need to commit them again. While `getwtxt` is pre-`1.0`, any patch-level updates (`v0.4.x`) will not change configuration values. @@ -119,32 +119,32 @@ back into `/usr/local/getwtxt/` after installing the new version. \[ [Proxying](#proxying) \] \[ [Starting getwtxt](#starting-getwtxt) \] -To configure getwtxt, you'll first need to open `/usr/local/getwtxt/getwtxt.yml` -in your favorite editor and modify any values necessary. There are comments in the +To configure getwtxt, you'll first need to open `/usr/local/getwtxt/getwtxt.yml` +in your favorite editor and modify any values necessary. There are comments in the file explaining each option. -If you desire, you may additionally modify the template in -`/usr/local/getwtxt/assets/tmpl/index.html` to customize the page users will see -when they pull up your registry instance in a web browser. The values in the -configuration file under `Instance:` are used to replace text `{{.Like This}}` in +If you desire, you may additionally modify the template in +`/usr/local/getwtxt/assets/tmpl/index.html` to customize the page users will see +when they pull up your registry instance in a web browser. The values in the +configuration file under `Instance:` are used to replace text `{{.Like This}}` in the template. ### Proxying Though getwtxt will run perfectly fine facing the internet directly, it does not understand virtual hosts, nor does it use TLS (yet). You'll probably want to proxy it behind -`Caddy` or `nginx` for this reason. +`Caddy` or `nginx` for this reason. `Caddy` is ludicrously easy to set up, and automatically handles `TLS` certificates. Here's the config: ```caddyfile -twtxt.example.com +twtxt.example.com proxy / example.com:9001 ``` -If you're using `nginx`, here's a skeleton config to get you started. Don't forget to change -the 5 instances of `twtxt.example.com` to the (sub)domain you'll be using to access the registry, -generate SSL/TLS certificates using `letsencrypt`, and change the port in `proxy_pass` to whichever +If you're using `nginx`, here's a skeleton config to get you started. Don't forget to change +the 5 instances of `twtxt.example.com` to the (sub)domain you'll be using to access the registry, +generate SSL/TLS certificates using `letsencrypt`, and change the port in `proxy_pass` to whichever port you specified when modifying the configuration file. Currently, it's set to the default port `9001` ```nginx @@ -297,7 +297,7 @@ Statistics Avg Stdev Max HTTP codes: 1xx - 0, 2xx - 200000, 3xx - 0, 4xx - 0, 5xx - 0 others - 0 - Throughput: 39.27MB/s + Throughput: 39.27MB/s ``` ## Other Documentation @@ -335,11 +335,11 @@ Special thanks to [`github.com/kognise/water.css`](https://github.com/kognise/wa ### Contributing All contributions are greatly appreciated! Please open an issue, submit -a pull request, anything. +a pull request, anything. If you're interested in contributing, take a look at the -github project page for getwtxt, linked below, where I've listed various items I'm -working on or plan to work on in the very near future. It'll give you some inspiration for +github project page for getwtxt, linked below, where I've listed various items I'm +working on or plan to work on in the very near future. It'll give you some inspiration for pull requests to submit. If you have an idea for a new feature or come across a bug, submitting a new issue will be greatly appreciated as well. diff --git a/getwtxt.yml b/getwtxt.yml index df92aca..3d91ff1 100644 --- a/getwtxt.yml +++ b/getwtxt.yml @@ -70,8 +70,8 @@ StdoutLogging: false MessageLog: "./logs/message.log" RequestLog: "./logs/request.log" -# This is the interval between data pushes from the -# in-memory cache to the on-disk database. +# This is the interval between data pushes from the +# in-memory cache to the on-disk database. DatabasePushInterval: "5m" # The time getwtxt will wait between attempts to scrape @@ -92,9 +92,9 @@ Instance: # requests. URL: "https://twtxt.example.com" - # Your name. + # Your name. OwnerName: "Anonymous Microblogger" - + # Your email address. Email: "nobody@knows" diff --git a/svc/README.md b/svc/README.md index c0ede0e..797b7ab 100644 --- a/svc/README.md +++ b/svc/README.md @@ -1,7 +1,7 @@ # `getwtxt|svc` This is an internal package created for code organization -purposes. +purposes. The file `getwtxt.go` in the parent directory calls `svc.go::Start()`, which starts the registry server. diff --git a/svc/help.go b/svc/help.go index 2e4ec2b..3cc60ff 100644 --- a/svc/help.go +++ b/svc/help.go @@ -23,7 +23,7 @@ import "fmt" func titleScreen() { fmt.Printf(` - + _ _ _ __ _ ___| |___ _| |___ _| |_ / _ |/ _ \ __\ \ /\ / / __\ \/ / __| @@ -32,7 +32,7 @@ func titleScreen() { |___/ version ` + Vers + ` github.com/getwtxt/getwtxt - GPL v3 + GPL v3 `) } @@ -68,7 +68,7 @@ func manualScreen() { >> Configuration File Covers syntax and location of default configuration, - passing a specific configuration file to getwtxt, + passing a specific configuration file to getwtxt, and acceptable formats for configuration files. >> Customizing the Landing Page @@ -96,7 +96,7 @@ func manualScreen() { The paths are searched in that order. The first configuration file found is used by getwtxt, while the locations further down are ignored. - + Multiple configuration files may be used, however, with the '-c' command line flag. The path passed to getwtxt via '-c' may be relative or absolute. For example, both of the following are @@ -109,7 +109,7 @@ func manualScreen() { YAML, TOML, JSON, HCL The configuration file contains several options used to - customize your instance of getwtxt. None are required, they will + customize your instance of getwtxt. None are required, they will simply use their default value unless otherwise specified. BehindProxy: Informs getwtxt whether it is behind a @@ -154,12 +154,12 @@ func manualScreen() { StdoutLogging: Boolean used to determine whether getwtxt should send logging output to stdout. This is useful for debugging, but you should - probably save your logs once your instance + probably save your logs once your instance is running. Default: false - MessageLog: The location of getwtxt's error and - other messages log file. This, like DatabasePath, + MessageLog: The location of getwtxt's error and + other messages log file. This, like DatabasePath, can be relative or absolute. Default: logs/message.log @@ -192,12 +192,12 @@ func manualScreen() { SiteName: The name of your getwtxt instance. Default: getwtxt - URL: The publicly-accessible URL of your + URL: The publicly-accessible URL of your getwtxt instance. Default: https://twtxt.example.com OwnerName: Your name. - Default: Anonymous Microblogger + Default: Anonymous Microblogger Email: Your email address. Default: nobody@knows @@ -205,8 +205,8 @@ func manualScreen() { Description: A short description of your getwtxt instance or your site. As this likely includes whitespace, it should be in double-quotes. - This can include XHTML or HTML line breaks if - desired: + This can include XHTML or HTML line breaks if + desired: <br /> <br> Default: "A fast, resilient twtxt registry @@ -216,23 +216,23 @@ func manualScreen() { :: Customizing the Landing Page :: If you like, feel free to customize the landing page - template provided at + template provided at assets/tmpl/index.html - It must be standard HTML or XHTML. There are a few special - tags available to use that will be replaced with specific values + It must be standard HTML or XHTML. There are a few special + tags available to use that will be replaced with specific values when the template is parsed by getwtxt. - Values are derived from the "Instance" section of the - configuration file, except for the version of getwtxt used. The + Values are derived from the "Instance" section of the + configuration file, except for the version of getwtxt used. The following will be in the form of: - + {{.TemplateTag}} What it will be replaced with when the template is processed and the landing page is served to a visitor. - The surrounding double braces and prefixed period are required + The surrounding double braces and prefixed period are required if you choose to use these tags in your modified landing page. The tags themselves are not required; access to them is provided simply for convenience. @@ -261,25 +261,25 @@ func manualScreen() { The registry API is rather simple, and can be interacted with via the command line using cURL. Example output of the calls will - not be provided. + not be provided. - Pseudo line-breaks will be represented with a backslash. + Pseudo line-breaks will be represented with a backslash. Examples with line-breaks are not syntactically correct and will - be rejected by cURL. Please concatenate the example calls without - the backslash. This is only present to maintain consistent + be rejected by cURL. Please concatenate the example calls without + the backslash. This is only present to maintain consistent formatting for this manual text. - Ex: + Ex: /api/plain/users\ ?q=FOO - Should be: + Should be: /api/plain/users?q=FOO All queries (every call except adding users) accept the - ?page=N parameter, where N > 0. The output is provided in groups - of 20 results. For example, indexed at 1, ?page=2 (or &page=2 if - it is not the first parameter) appended to any query will return - results 21 through 40. If the page requested will exceed the + ?page=N parameter, where N > 0. The output is provided in groups + of 20 results. For example, indexed at 1, ?page=2 (or &page=2 if + it is not the first parameter) appended to any query will return + results 21 through 40. If the page requested will exceed the bounds of the query output, the last 20 query results are returned. Adding a user: |