Commit graph

1092 commits

Author SHA1 Message Date
Vincent Ambo
2512ea4256 feat(infra/k8s): Add cgit to Ingress load balancer
Apart from the fact that TLS certificate provisioning is very wonky,
it seems to be working now.

AFAICT the L7 LBs still don't support path rewriting, which means that
this is likely not the final configuration and it will move behind
nginx instead.
2019-12-20 16:07:40 +00:00
Vincent Ambo
9653bdcf69 fix(infra/k8s): Workaround for nginx crash on pidfile write
Newer versions of nginx apparently hard-crash if they can't write a
PID file in the current directory.

To work around this, some writeable scratch space is created for the
nginx daemon to write its PID to.
2019-12-20 16:07:31 +00:00
Vincent Ambo
a349d5e914 chore(third_party): Expose nginx 2019-12-20 15:48:22 +00:00
Vincent Ambo
39a0bdf3c1 chore(infra/dns): Update state of root-tazj-in record sets 2019-12-20 14:52:18 +00:00
Vincent Ambo
b520a62e44 feat(infra/k8s): Deploy sync-gcsr container into cgit pod
This actually works - who would have thought!
2019-12-20 14:40:36 +00:00
Vincent Ambo
15076ed228 fix(sync-gcsr): Fix broken log statement 2019-12-20 14:40:21 +00:00
Vincent Ambo
30586a108d fix(buildGo): Use builder directory as fake $HOME
It turns out that the `go` tool writes a bunch of stuff into $HOME, or
rather, tries to - Nixery doesn't let it.
2019-12-20 14:30:36 +00:00
Vincent Ambo
2782a69a72 fix(cgit-taz): Depot checkout is no longer a bare repository
To be compatible with sync-gcsr, the `.git` folder must be referenced
directly as there is an actual worktree on the filesystem now.
2019-12-20 14:23:14 +00:00
Vincent Ambo
ba7a48af75 fix(sync-gcsr): Use local worktree & pull changes into it
Just fetching the remote of a bare repository does not update local
tracking branches, which means that changes do not become visible in
cgit.
2019-12-20 14:17:06 +00:00
Vincent Ambo
7ff4b59342 chore(cgit-taz): Remove git synchronisation from startup script
This will be moved into a sidecar container using sync-gcsr that
updates the repo periodically.
2019-12-20 14:09:34 +00:00
Vincent Ambo
7078bc7a4a feat(services/sync-gcsr): Add git synchronisation helper
Adds a tiny program that keeps a checkout of a remote git repository
in sync with a folder on the local filesystem.

This is going to be used to mirror the GCSR repository onto a local
disk for cgit serving.
2019-12-20 13:16:57 +00:00
Vincent Ambo
43ceaa17e3 feat(infra/k8s): Add git cookie secret for repository sync 2019-12-20 13:15:58 +00:00
Vincent Ambo
7158d56499 fix(tools): Correctly resolve kms_pass->pass
The binary name doesn't match the one inside of the derivation, but
this is intentional.
2019-12-20 13:13:06 +00:00
Vincent Ambo
da9dd45ebf fix(emacs.d): Correctly restore default font size in randr-single 2019-12-20 12:37:16 +00:00
Vincent Ambo
e4fe192e57 feat(infra/k8s): Add deployment configuration for cgit
This is not yet done because repository cloning doesn't work at all,
in any way whatsoever.
2019-12-19 17:01:59 +00:00
Vincent Ambo
36fa320e55 feat(third_party): Add Go packages for src-d/go-git
This is going to be used in my git syncing tool for the cgit setup.
2019-12-19 16:25:47 +00:00
Vincent Ambo
3fb29b1843 fix(buildGo): Skip subtree under overrides/buildGo
This subtree is internal to buildGo.nix and can not be imported by
readTree.
2019-12-19 15:39:10 +00:00
Vincent Ambo
124d26210b chore(build): Add package required for buildGo at the top-level
This is required to maintain buildGo compatibility with non-depot
setups.
2019-12-19 15:38:53 +00:00
Vincent Ambo
467a66bac2 feat(readTree): Add support for skipping directory subtrees
Placing a special `.skip-subtree` file in any directory will now
prevent readTree from further traversing that part of the tree.

This makes it possible to have packages with internal Nix files that
are incompatible with the larger depot structure, for example for
projects like buildGo.nix which need to be compatible with the
external nixpkgs model.
2019-12-19 15:33:30 +00:00
Vincent Ambo
e996141d2e merge(buildGo): Integrate buildGo.nix into depot 2019-12-19 15:24:17 +00:00
Vincent Ambo
11865364ac chore(overrides): Remove buildGo.nix to prepare for depot merge 2019-12-19 15:24:00 +00:00
Vincent Ambo
a8fbdc52c2 chore(buildGo): Relayout for depot merge 2019-12-19 15:22:35 +00:00
Vincent Ambo
90ebd154ca feat(emacs.d): Add key binding for opening telega 2019-12-19 15:19:24 +00:00
Vincent Ambo
c1a5d7d62a feat(emacs): Add telega.el support
Packages the telega-server binary and adds the required mode into
Emacs.

Unread message count is displayed in the modeline, which is neat.

Probably need to figure out some key bindings for this.
2019-12-19 14:48:22 +00:00
Vincent Ambo
166aff23bc fix(nix-util): Correctly enable lexical scope in this library 2019-12-19 14:23:14 +00:00
Vincent Ambo
c2f97577f7 feat(emacs-pkgs): Introduce nix-util helper library
Adds an Emacs library with so far a grand total of one helper function
that can prefetch and insert a git repository at point.

This is very useful for the various Go repo imports I am doing at the
moment.
2019-12-19 01:40:27 +00:00
Vincent Ambo
96794d8630 fix(cgit-taz): Force gcloud to use specific CA bundle
It doesn't like reading the bundle from /etc/ssl apparently.
2019-12-18 21:37:48 +00:00
Vincent Ambo
ce55786ffe chore(infra/gcp): Allow k8s nodes to access GCSR 2019-12-18 21:37:31 +00:00
Vincent Ambo
1677a27632 refactor(cgit-taz): Use Google Cloud SDK to authenticate repo access
Fighting SSH's peculiarities around how hard it tries to not be
scriptable is tiresome.
2019-12-18 21:05:48 +00:00
Vincent Ambo
065cb64d0a fix(cgit-taz): Create users required by SSH in the container
This might not actually work because SSH will have issues with key
permissions, presumably.
2019-12-18 20:24:20 +00:00
Vincent Ambo
c551f35b03 fix(cgit-taz): Pin SSH into image via Nix 2019-12-18 20:21:30 +00:00
Vincent Ambo
5894d521b9 fix(cgit-taz): Clone depot via SSH
Keys are provided in a Kubernetes secret.
2019-12-18 20:20:10 +00:00
Vincent Ambo
d6a653d7a3 fix(cgit-taz): Explicitly configure CA certs for git 2019-12-18 20:02:17 +00:00
Vincent Ambo
9448326b9b feat(cgit-taz): Clone depot on container launch
This makes for a pretty static server for now, but we'll get there.
2019-12-18 19:37:41 +00:00
Vincent Ambo
51ad58f8de fix(build): Add missing packages for Nixery images 2019-12-18 19:08:10 +00:00
Vincent Ambo
7b4e893a36 chore(infra/k8s): Bump Nixery popularity URL 2019-12-18 19:01:59 +00:00
Vincent Ambo
0538b1f500 chore(infra/k8s): Point Nixery at the depot on GCSR 2019-12-18 17:54:44 +00:00
Vincent Ambo
3b86979e32 feat(third_party/nixery): Add OpenSSH to Nixery image 2019-12-18 17:54:29 +00:00
Vincent Ambo
1e2766c612 feat(cgit-taz): Apply cgit configuration by patching thttpd
This is just an optimisation because it compiles faster v0v
2019-12-18 17:53:57 +00:00
Vincent Ambo
c776bd383d fix(build): Fix compatibility with Nixery instance 2019-12-18 17:39:00 +00:00
Vincent Ambo
3359ce12cf feat(infra/k8s): Provision certificate for git.tazj.in 2019-12-18 17:27:30 +00:00
Vincent Ambo
c3d31e0ba6 feat(infra/gcp): Configure source repository for the depot 2019-12-18 17:24:28 +00:00
Vincent Ambo
11022c1b88 feat(services/cgit-taz): Check in initial cgit configuration
This is currently just a test to serve examples from my local machine,
nothing more fancy than that.
2019-12-18 16:22:56 +00:00
Vincent Ambo
a40c2474fe feat(emacs.d): Set screen-specific default text scales 2019-12-17 17:48:13 +00:00
Vincent Ambo
be28071e56 feat(emacs.d): Add functions & bindings to manage global font size
This makes it possible to quickly adjust the size of text in all
frames using one keyboard shortcut. Each of these functions
understands a prefix argument to mean "please only operate on the
current buffer", hence the following bindings and effects:

Global:
* `C-=`: Increase the global font size (chosen because `+` lies on the
  `=` key)
* `C--`: Decrease the global font size
* `C-x C-0`: Restore the global default font size

Local:
* `C-u C-=`: Increase the local font size
* `C-u C--`: Decrease the local font size
* `C-u C-x C-0`: Restore the local default font size
2019-12-17 17:48:13 +00:00
Vincent Ambo
caf23a9e2a chore(emacs.d): Clean up unused functions 2019-12-17 12:33:15 +00:00
Vincent Ambo
940a9c580c feat(emacs.d): Add function to insert TODO comments 2019-12-17 12:09:44 +00:00
Vincent Ambo
cc68e28514 chore(emacs.d): Include all git repos under ~/ in magit 2019-12-17 11:47:30 +00:00
Vincent Ambo
ef3e5072ef fix(emacs.d): Fix regex passing in counsel-rg 2019-12-17 11:46:58 +00:00
Vincent Ambo
5727b6d24f refactor(emacs.d): Move ivy configuration to use-package 2019-12-17 11:46:41 +00:00