aboutsummaryrefslogtreecommitdiff
path: root/content/blog
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--content/blog/_index.md7
-rw-r--r--content/blog/git-link-and-sourcegraph.md56
-rw-r--r--content/blog/tailscale-docker-https.md58
3 files changed, 66 insertions, 55 deletions
diff --git a/content/blog/_index.md b/content/blog/_index.md
new file mode 100644
index 0000000..0de2091
--- /dev/null
+++ b/content/blog/_index.md
@@ -0,0 +1,7 @@
+---
+title: Blog
+sort_by: date
+render: true
+generate_feeds: true
+template: blog.html
+---
diff --git a/content/blog/git-link-and-sourcegraph.md b/content/blog/git-link-and-sourcegraph.md
index affbe8b..073068d 100644
--- a/content/blog/git-link-and-sourcegraph.md
+++ b/content/blog/git-link-and-sourcegraph.md
@@ -13,33 +13,35 @@ git remote add sourcegraph https://sourcegraph.com/github.com/sshaw/copy-as-form
The next time you run `M-x git-link` in a buffer, it will use the URL associated with that remote. That's works great, except that now you need to add this for every repository. Instead, for my usage, I came up with the following solution:
- (use-package git-link
- :ensure t
- :after magit
- :bind (("C-c g l" . git-link)
- ("C-c g a" . git-link-commit))
- :config
- (defun fcuny/get-sg-remote-from-hostname (hostname)
- (format "sourcegraph.<$domain>.<$tld>/%s" hostname))
-
- (defun fcuny/git-link-work-sourcegraph (hostname dirname filename _branch commit start end)
- ;;; For a given repository, build the proper link for sourcegraph.
- ;;; Use the default branch of the repository instead of the
- ;;; current one (we might be on a feature branch that is not
- ;;; available on the remote).
- (require 'magit-branch)
- (let ((sg-base-url (fcuny/get-sg-remote-from-hostname hostname))
- (main-branch (magit-main-branch)))
- (git-link-sourcegraph sg-base-url dirname filename main-branch commit start end)))
-
- (defun fcuny/git-link-commit-work-sourcegraph (hostname dirname commit)
- (let ((sg-base-url (fcuny/get-sg-remote-from-hostname hostname)))
- (git-link-commit-sourcegraph sg-base-url dirname commit)))
-
- (add-to-list 'git-link-remote-alist '("twitter" fcuny/git-link-work-sourcegraph))
- (add-to-list 'git-link-commit-remote-alist '("twitter" fcuny/git-link-commit-work-sourcegraph))
-
- (setq git-link-open-in-browser 't))
+```lisp
+(use-package git-link
+ :ensure t
+ :after magit
+ :bind (("C-c g l" . git-link)
+ ("C-c g a" . git-link-commit))
+ :config
+ (defun fcuny/get-sg-remote-from-hostname (hostname)
+ (format "sourcegraph.<$domain>.<$tld>/%s" hostname))
+
+ (defun fcuny/git-link-work-sourcegraph (hostname dirname filename _branch commit start end)
+ ;;; For a given repository, build the proper link for sourcegraph.
+ ;;; Use the default branch of the repository instead of the
+ ;;; current one (we might be on a feature branch that is not
+ ;;; available on the remote).
+ (require 'magit-branch)
+ (let ((sg-base-url (fcuny/get-sg-remote-from-hostname hostname))
+ (main-branch (magit-main-branch)))
+ (git-link-sourcegraph sg-base-url dirname filename main-branch commit start end)))
+
+ (defun fcuny/git-link-commit-work-sourcegraph (hostname dirname commit)
+ (let ((sg-base-url (fcuny/get-sg-remote-from-hostname hostname)))
+ (git-link-commit-sourcegraph sg-base-url dirname commit)))
+
+ (add-to-list 'git-link-remote-alist '("twitter" fcuny/git-link-work-sourcegraph))
+ (add-to-list 'git-link-commit-remote-alist '("twitter" fcuny/git-link-commit-work-sourcegraph))
+
+ (setq git-link-open-in-browser 't))
+```
We use different domains to host various git repositories at work (e.g. `git.$work`, `gitfoo.$work`, etc). Each of them map to a different URI for sourcegraph (e.g. `sourcegraph.$work/gitfoo`).
diff --git a/content/blog/tailscale-docker-https.md b/content/blog/tailscale-docker-https.md
index 03dfff7..9a836d9 100644
--- a/content/blog/tailscale-docker-https.md
+++ b/content/blog/tailscale-docker-https.md
@@ -44,34 +44,36 @@ The important bit here is the `certificatesResolvers` part. I'll be using the [d
- the environment variable `GCP_PROJECT`: the name of the GCP project
- mounting the service account file inside the container (I store it on the host under `/data/containers/traefik/config/sa.json`)
- [Unit]
- Description=traefik proxy
- Documentation=https://doc.traefik.io/traefik/
- After=docker.service
- Requires=docker.service
-
- [Service]
- Restart=on-failure
- ExecStartPre=-/usr/bin/docker kill traefik
- ExecStartPre=-/usr/bin/docker rm traefik
- ExecStartPre=/usr/bin/docker pull traefik:latest
-
- ExecStart=/usr/bin/docker run \
- -p 80:80 \
- -p 9080:8080 \
- -p 443:443 \
- --name=traefik \
- -e GCE_SERVICE_ACCOUNT_FILE=/var/run/gcp-service-account.json \
- -e GCE_PROJECT= gcp-super-project \
- --volume=/data/containers/traefik/config/acme.json:/acme.json \
- --volume=/data/containers/traefik/config/traefik.yml:/etc/traefik/traefik.yml:ro \
- --volume=/data/containers/traefik/config/sa.json:/var/run/gcp-service-account.json \
- --volume=/var/run/docker.sock:/var/run/docker.sock:ro \
- traefik:latest
- ExecStop=/usr/bin/docker stop traefik
-
- [Install]
- WantedBy=multi-user.target
+```systemd
+[Unit]
+Description=traefik proxy
+Documentation=https://doc.traefik.io/traefik/
+After=docker.service
+Requires=docker.service
+
+[Service]
+Restart=on-failure
+ExecStartPre=-/usr/bin/docker kill traefik
+ExecStartPre=-/usr/bin/docker rm traefik
+ExecStartPre=/usr/bin/docker pull traefik:latest
+
+ExecStart=/usr/bin/docker run \
+ -p 80:80 \
+ -p 9080:8080 \
+ -p 443:443 \
+ --name=traefik \
+ -e GCE_SERVICE_ACCOUNT_FILE=/var/run/gcp-service-account.json \
+ -e GCE_PROJECT= gcp-super-project \
+ --volume=/data/containers/traefik/config/acme.json:/acme.json \
+ --volume=/data/containers/traefik/config/traefik.yml:/etc/traefik/traefik.yml:ro \
+ --volume=/data/containers/traefik/config/sa.json:/var/run/gcp-service-account.json \
+ --volume=/var/run/docker.sock:/var/run/docker.sock:ro \
+ traefik:latest
+ExecStop=/usr/bin/docker stop traefik
+
+[Install]
+WantedBy=multi-user.target
+```
As an example, I run [grafana](https://grafana.com/) on my home network to view metrics from the various containers / hosts. Let's pretend I use `example.net` as my domain. I want to be able to access `grafana` via <https://dash.example.net>. Here's the `systemd` unit configuration I use for this: