Commit Graph

17 Commits

Author SHA1 Message Date
Brian Cunnie
50d843a16a Version 2.5.4: .acme_challenge.k-v.io isn't settable 2022-04-30 16:42:35 -07:00
Brian Cunnie
4d339cd861 Version 2.5.3: k-v.io is operational 2022-04-22 14:33:47 -07:00
Brian Cunnie
294f54a79a Version 2.5.2: DELETE on k-v.io returns no TXT records
The original behavior was to return the deleted record, which
inadvertently prolonged the lifetime (in DNS cache) of the record which
was meant to expire as soon as possible.

- Removed the instructions to create a BOSH release. We are no longer
  creating a BOSH release because we needed to colocate an etcd release
  alongside the BOSH release, and we couldn't find an etcd BOSH release.
- Updated the instructions to run a quick test against the sslip.io DNS
  server locally (sanity check) instead of deploying a VM with the BOSH
  release & testing against that.
- Updated the instructions for updating ns-azure's DNS server. ns-azure
  is no longer a BOSH-deployed VM.
2022-04-13 12:55:34 -07:00
Brian Cunnie
cd2b14b924 BOSH release: 2.5.1: block phishers with CIDRs 2022-02-26 16:41:05 -08:00
Brian Cunnie
51ed47317e BOSH release: 2.5.0: block phishers 2022-02-06 19:51:06 -08:00
Brian Cunnie
8f2890d90e BOSH release: 2.4.2: fix panic() 2022-01-22 09:41:49 -08:00
Brian Cunnie
bbf1925be4 BOSH release: 2.4.1: fewer panics
customized records w/ non-existent TXTs don't panic().
2022-01-20 08:10:03 -08:00
Brian Cunnie
c0196ed617 🐞 Don't run etcd tests without etcd
Now we check first to see if etcd is running before diving in & testing
against it.

fixes:
```
Unexpected error:
    <*fmt.wrapError | 0xc0003bc8e0>: {
        msg: "couldn't GET \"my-key\": context deadline exceeded",
        err: <context.deadlineExceededError>{},
    }
```
2022-01-20 04:39:32 -08:00
Brian Cunnie
bd63421c3f BOSH release: 2.3.0: kv.sslip.io key-value store 2021-12-04 08:16:53 -08:00
Brian Cunnie
90b94baa29 BOSH release: 2.2.4: Deprecate nono.io nameservers 2021-11-28 13:08:49 -08:00
Brian Cunnie
fda3baeaaa Add NS servers in sslip.io domain
We currently use three nameservers in the `nono.io` domain, but that's
confusing--why not have the nameservers in the `sslip.io` domain?

This commit starts the ball rolling to convert to the sslip.io. We'll
have a brief period where we have _both_ `nono.io` and `sslip.io`
nameservers.

At which point we'll add the `sslip.io` nameservers to our registrar,
Namecheap.com.

Once they've been added to our registrar, we'll wait a day or two to
propagate, and then we'll delete references to the `nono.io`
nameservers.
2021-11-27 10:50:04 -08:00
Brian Cunnie
eed67fdf4d BOSH release: 2.2.2: ip.sslip.io TXT returns IP
Our documentation was wrong; our homepage said to get the origin IP
address by querying the TXT record of the root, i.e. `dig
@ns-aws.nono.io txt . +short`; however, our code worked differently: it
returned the origin IP when the `.ip` TLD was queried.

The new behavior is that it returns the origin IP when `ip.sslip.io.` is
queried, and the documentation now reflects that behavior.

Also, that behavior is marked "experimental" to give us leeway to
change.

[fixes #11]
2021-11-01 07:24:54 -07:00
Brian Cunnie
8ce23653bb BOSH release: 2.2.1: version.sslip.io TXT
- Returns version information for DNS server
- Contains 3 strings:
  - Semantic version, e.g. "2.2.1"
  - Date of compilation
  - Latest git hash

Note: the BOSH Release will have a different compilation date &
different git hash than the released executables; the semantic version
will be the same.
2021-10-06 05:16:46 -07:00
Brian Cunnie
f1f66a0f3b dig txt version.sslip.io returns version
I needed a way of determining the version that a server was running. I
orginally considered a command-line argument, but then I thought, "Why
not create a DNS record for it? That way I can query running servers
without needing to ssh onto the machine."

The TXT record consists of three distinct strings: version, compile
date, and git hash.

```bash
dig txt version.sslip.io +short
    "2.2.1"
    "2021/10/03-15:08:54+0100"
    "6a928eb"
```
2021-10-03 15:34:52 +01:00
Brian Cunnie
406b81c340 Dockerfile, Binaries include ARM (arm64 / aarch64)
Dockerfile:
- We use `CMD` instead of `ENTRYPOINT` because it's marginally easier
  to debug.
- We include 64-bit ARM, but not 32-bit
- We had to re-order the steps so that `apk add bind-tools` came
  before copying the binary; that fixed a bug where the
  `sslip.io-dns-server` wasn't on the ARM container filesystem (but it
  was on the amd64 filesystem 🤔)

Binaries
- We now build arm64 (GOARCH) versions of FreeBSD, Linux, and macOS
  (GOOS), but not Windows. It apparently doesn't have arm64 support yet.
2021-03-08 20:29:31 -08:00
Brian Cunnie
b2396ff081 🐞 bin/make_all compiles in correct directory
We had moved the DNS server to a sub-directory to make room for a
sibling application, a small DNS server + small HTTP server.

fixes:
```
cannot find package "main.go" in any of:
	/usr/local/Cellar/go/1.15.6/libexec/src/main.go (from $GOROOT)
	/Users/cunnie/go/src/main.go (from $GOPATH)
```
2021-01-18 10:42:54 -08:00
Brian Cunnie
3578d96970 make_all: generate executables for all GOOSes
...well, maybe not _all_ GOOSes, but at least the important ones.

And git should ignore the executables so that we don't accidentally
check them in.
2020-12-01 16:08:44 -08:00