From 8ce23653bb713589cbae4d8fe669bf0ebf074784 Mon Sep 17 00:00:00 2001
From: Brian Cunnie
Date: Wed, 6 Oct 2021 05:10:01 -0700
Subject: [PATCH] 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.
---
bin/make_all | 2 +-
.../packages/sslip.io-dns-server/index.yml | 4 ++++
.../packages/sslip.io-dns-server/packaging | 7 +++++-
bosh-release/releases/sslip.io/index.yml | 2 ++
.../releases/sslip.io/sslip.io-2.2.1.yml | 23 +++++++++++++++++++
docs/DEVELOPER.md | 15 ++++++++----
k8s/document_root/index.html | 2 +-
7 files changed, 48 insertions(+), 7 deletions(-)
create mode 100644 bosh-release/releases/sslip.io/sslip.io-2.2.1.yml
diff --git a/bin/make_all b/bin/make_all
index de9e67b..1a2e4a5 100755
--- a/bin/make_all
+++ b/bin/make_all
@@ -4,7 +4,7 @@
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd $DIR/../src/sslip.io-dns-server
-ldflags="-X xip/xip.VersionSemantic=2.2.0 \
+ldflags="-X xip/xip.VersionSemantic=2.2.1 \
-X xip/xip.VersionDate=$(date +%Y/%m/%d-%H:%M:%S%z) \
-X xip/xip.VersionGitHash=$(git rev-parse --short HEAD)"
export GOOS GOARCH
diff --git a/bosh-release/.final_builds/packages/sslip.io-dns-server/index.yml b/bosh-release/.final_builds/packages/sslip.io-dns-server/index.yml
index 7d15bfc..f78aad2 100644
--- a/bosh-release/.final_builds/packages/sslip.io-dns-server/index.yml
+++ b/bosh-release/.final_builds/packages/sslip.io-dns-server/index.yml
@@ -15,6 +15,10 @@ builds:
version: 618bfe3b109f886f329fd5eb7905531aab3d8560418782631006cc09e973deba
blobstore_id: 79a8e95c-3ae3-4626-54df-a56a9a867def
sha1: sha256:5e44389f55dceb9012beee90721ff02d38c73e7922c6872129b3eae332a407e3
+ 786561e90d2c832e021fdf46fc75aad34c66abd32e776f74b4130f7ae2427b67:
+ version: 786561e90d2c832e021fdf46fc75aad34c66abd32e776f74b4130f7ae2427b67
+ blobstore_id: f81ff453-5d1d-45c3-5e96-0147611a2bee
+ sha1: sha256:b87ba9c333f326baf94e9c92d297390721ebb474f07a1a5469063fb6ade8fcb7
7e7e09d216066dd0b0e704a8dfa267687e80400488e42c0d03d76ae1bf984d29:
version: 7e7e09d216066dd0b0e704a8dfa267687e80400488e42c0d03d76ae1bf984d29
blobstore_id: f53fd027-e03c-406f-565a-5a3b6c97fe2c
diff --git a/bosh-release/packages/sslip.io-dns-server/packaging b/bosh-release/packages/sslip.io-dns-server/packaging
index 0aff1f8..212631c 100644
--- a/bosh-release/packages/sslip.io-dns-server/packaging
+++ b/bosh-release/packages/sslip.io-dns-server/packaging
@@ -5,4 +5,9 @@ source /var/vcap/packages/golang-1-linux/bosh/compile.env
mkdir src ${BOSH_INSTALL_TARGET}/bin
mv sslip.io-dns-server/{go.*,main.go,xip} src/
cd src/
-go build -o ${BOSH_INSTALL_TARGET}/bin/sslip.io-dns-server
+ldflags="-X xip/xip.VersionSemantic=2.2.1 \
+ -X xip/xip.VersionDate=$(date +%Y/%m/%d-%H:%M:%S%z) \
+ -X xip/xip.VersionGitHash=5227199"
+go build \
+ -ldflags="$ldflags" \
+ -o ${BOSH_INSTALL_TARGET}/bin/sslip.io-dns-server
diff --git a/bosh-release/releases/sslip.io/index.yml b/bosh-release/releases/sslip.io/index.yml
index 6538a56..c0aa71f 100644
--- a/bosh-release/releases/sslip.io/index.yml
+++ b/bosh-release/releases/sslip.io/index.yml
@@ -17,6 +17,8 @@ builds:
version: 2.1.2
8671f428-2bc1-488c-709b-1744153e8db7:
version: 2.0.0
+ 8e759ce0-5447-47d5-5209-847f46c6f122:
+ version: 2.2.1
9220a9d3-680c-4684-6406-0919fdd1be04:
version: 1.2.1
9b52f699-55d8-4a49-50d5-e518c08334fb:
diff --git a/bosh-release/releases/sslip.io/sslip.io-2.2.1.yml b/bosh-release/releases/sslip.io/sslip.io-2.2.1.yml
new file mode 100644
index 0000000..70e85d0
--- /dev/null
+++ b/bosh-release/releases/sslip.io/sslip.io-2.2.1.yml
@@ -0,0 +1,23 @@
+name: sslip.io
+version: 2.2.1
+commit_hash: 009af90
+uncommitted_changes: false
+jobs:
+- name: sslip.io-dns-server
+ version: 308acb7c186a042bc2ca4c28b83c9fe7589a64c48ab6a11869c442bcaea8fdf9
+ fingerprint: 308acb7c186a042bc2ca4c28b83c9fe7589a64c48ab6a11869c442bcaea8fdf9
+ sha1: sha256:6ca6f2c11816a82ecb3cf9300ea59369977cbaa7c39eddca35628a7c6b9b5b45
+ packages:
+ - sslip.io-dns-server
+packages:
+- name: golang-1-linux
+ version: f9b637fa0c031f977d2418949a3182e21fe2d95505595ebfe558a448501a8ad6
+ fingerprint: f9b637fa0c031f977d2418949a3182e21fe2d95505595ebfe558a448501a8ad6
+ sha1: sha256:a862fe14c40ee5fa36ebec6db08895846f955e10a22e4e4504081290317316f4
+ dependencies: []
+- name: sslip.io-dns-server
+ version: 786561e90d2c832e021fdf46fc75aad34c66abd32e776f74b4130f7ae2427b67
+ fingerprint: 786561e90d2c832e021fdf46fc75aad34c66abd32e776f74b4130f7ae2427b67
+ sha1: sha256:b87ba9c333f326baf94e9c92d297390721ebb474f07a1a5469063fb6ade8fcb7
+ dependencies:
+ - golang-1-linux
diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md
index f20c3f2..5b150b4 100644
--- a/docs/DEVELOPER.md
+++ b/docs/DEVELOPER.md
@@ -4,14 +4,19 @@ These instructions are meant primarily for me when deploying a new BOSH release;
they might not make sense unless you're on my workstation.
```zsh
-export OLD_VERSION=2.1.2
-export VERSION=2.2.0
+export OLD_VERSION=2.2.0
+export VERSION=2.2.1
cd ~/workspace/sslip.io
git pull -r --autostash
# update the version number for the TXT record for version.sslip.io
-sed -i '' "s/$OLD_VERSION/$VERSION/g" bin/make_all
+sed -i '' "s/$OLD_VERSION/$VERSION/g" \
+ bin/make_all \
+ bosh-release/packages/sslip.io-dns-server/packaging
# update the download instructions on the website
sed -i '' "s~/$OLD_VERSION/~/$VERSION/~g" k8s/document_root/index.html
+# update the git hash for the TXT record for version.sslip.io for BOSH release
+sed -i '' "s/VersionGitHash=[0-9a-fA-F]*/VersionGitHash=$(git rev-parse --short HEAD)/g" \
+ bosh-release/packages/sslip.io-dns-server/packaging
cd bosh-release/
lpass show a # refresh LastPass token
. ~/workspace/deployments/.envrc # set BOSH auth
@@ -20,7 +25,7 @@ bosh create-release --force
bosh upload-release
bosh -n -d sslip.io-dns-server deploy ~/workspace/deployments/sslip.io-dns-server.yml --recreate
bosh instances # record the IP address of the instance
-IP=10.0.250.22
+IP=10.0.250.3
dig +short 127.0.0.1.example.com @$IP
echo 127.0.0.1
dig +short ns example.com @$IP
@@ -41,6 +46,8 @@ dig +short sSlIp.Io
echo 78.46.204.247
dig @ns-aws.nono.io txt . +short | tr -d '"'
curl curlmyip.org; echo
+dig @$IP txt version.sslip.io +short | grep $VERSION
+echo "\"$VERSION\""
git add -p
git ci -vm"BOSH release: 2.2.0: TXT records return IP addrs"
bosh upload-blobs
diff --git a/k8s/document_root/index.html b/k8s/document_root/index.html
index 7e9d93c..d9fd42e 100644
--- a/k8s/document_root/index.html
+++ b/k8s/document_root/index.html
@@ -160,7 +160,7 @@ src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js">
example, we install & run our server within a docker container:
docker run -it --rm fedora
-curl -L https://github.com/cunnie/sslip.io/releases/download/2.2.0/sslip.io-dns-server-linux-amd64 -o dns-server
+curl -L https://github.com/cunnie/sslip.io/releases/download/2.2.1/sslip.io-dns-server-linux-amd64 -o dns-server
chmod +x dns-server
./dns-server 2> dns-server.log &
dnf install -y bind-utils