about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2019-08-27 r/67 feat(k8s): Configure HTTPS ingress for the blogVincent Ambo3-0/+29
Uses Google-managed certificates and an Ingress resource to set up an HTTPS load-balancer. This probably won't be the final version as the GKE Ingress is very limited and can not do things like redirect URLs, which I need to decommission the old setup.
2019-08-27 r/66 feat(k8s): Add Google managed TLS certificatesVincent Ambo2-0/+19
Introduces certificates for tazj.in & www.tazj.in.
2019-08-25 r/65 chore(tazblog): Clean up unused dependenciesVincent Ambo2-28/+17
2019-08-25 r/64 refactor(tazblog): Implement HLint lints in all filesVincent Ambo5-15/+13
2019-08-25 r/63 chore(tazblog): Remove i18n featuresVincent Ambo7-164/+77
The blog has been English only for a few years. Old entries that survived the migration to DNS will still be accessible.
2019-08-25 r/62 chore(tazblog): Remove 'read more' featureVincent Ambo3-15/+7
2019-08-25 r/61 chore(tools): Remove ormolu from toolsVincent Ambo2-4/+0
The Ormolu derivation is too large to be instantiated on-demand. I've resorted to installing this tool into my profile instead.
2019-08-25 r/60 chore(tazblog): Format source files with ormoluVincent Ambo5-151/+187
Ormolu's formatting is quite annoying (it uses a lot of unnecessary vertical space and doesn't align elements), but I can't be bothered to do manual formatting - especially because whatever formatting haskell-mode in Emacs produces seems to depend on an opaque state machine or something.
2019-08-25 r/59 feat(build): Add Terraform from unstable channelVincent Ambo1-7/+18
2019-08-25 r/58 chore(gcp): Enable Cloud DNS serviceVincent Ambo1-0/+1
2019-08-23 r/57 fix(gemma): Almost fix Gemma build by porting an old ElmVincent Ambo2-8/+15
This pulls in an old version of Elm from NixOS 17.09 which can still build the Elm code in Gemma. However, the Common Lisp build is now broken in some other way.
2019-08-23 r/56 chore(k8s): More tazblog replicasVincent Ambo1-1/+1
2019-08-23 r/55 refactor(tazblog): Move blog configuration to envvarsVincent Ambo2-22/+24
The port and resource directory are now specified via environment variables and a wrapper script is created by Nix that sets the resource path and so on correctly.
2019-08-23 r/54 fix(tazblog): Remove debug traceVincent Ambo1-2/+1
2019-08-23 r/53 fix(blog_cli): Quote JSON output for post datesVincent Ambo1-2/+6
2019-08-23 r/52 feat(blog_cli): Add flag to set post date and serialise as date onlyVincent Ambo1-5/+25
2019-08-22 r/51 chore(blog): Minor changes to integrate DNS based backendVincent Ambo5-21/+18
2019-08-22 r/50 feat(tazblog): Implement entry fetching from DNSVincent Ambo1-20/+119
Not all error cases are properly handled yet, stay tuned.
2019-08-21 r/49 feat(tazblog): Add a Nix shell expression that includes GHC with depsVincent Ambo1-0/+11
2019-08-21 r/48 refactor(tazblog): Directly instantiate Resolver when launchingVincent Ambo2-7/+25
Caching behaviour is tied to the resolver.
2019-08-21 r/47 chore(tazblog): Introduce dependency on 'dns'Vincent Ambo2-2/+3
2019-08-20 r/46 chore(tazblog): Introduce dependency on 'cache'Vincent Ambo3-19/+23
2019-08-20 r/45 feat(tools): Introduce ormolu for formatting Haskell codeVincent Ambo3-3/+9
2019-08-20 r/44 chore(tazblog): Replace BlogDB with stubs for DNS-based storageVincent Ambo10-560/+115
Removes acid-state specific code and the former BlogDB module, in its stead the new BlogStorage module contains stubs for the functions that will be filled in with DNS-based storage. This code is unformatted and will not currently serve a working blog.
2019-08-19 r/43 chore(tools/blog_cli): Shorten metadata key namesVincent Ambo1-5/+5
Every character counts because I want to keep metadata below 255 bytes.
2019-08-19 r/42 refactor(tools/blog_cli): More sensible chunk encoding as recordsVincent Ambo1-17/+17
Instead of many rrdatas in one record, make many records!
2019-08-19 r/41 feat(tools): Add a horrifying tool to write blog posts into DNSVincent Ambo7-0/+350
2019-08-19 r/40 feat(infra/k8s): Add in-cluster tazblog deployment via NixeryVincent Ambo2-0/+22
First deployment actually using a Nixery image and `gitHEAD`. This does not actually serve a working blog for various reasons. The current storage mechanism (acid-state) isn't really appropriate anymore and I'll need to change that soon.
2019-08-19 r/39 chore(infra/k8s): Bump Nixery image to Cachix-enabled oneVincent Ambo2-2/+2
2019-08-19 r/38 feat(third_party): Add nixery with Cachix configurationVincent Ambo2-1/+22
2019-08-16 r/37 fix(infra/k8s): Always pull a Nixery imageVincent Ambo1-0/+1
2019-08-16 r/36 feat(infra/k8s): Deploy Nixery instance to clusterVincent Ambo2-0/+80
2019-08-16 r/35 feat(infra/gcp): Add Terraform configuration for GKE & friendsVincent Ambo2-0/+90
Sets up Terraform itself, a GKE cluster, a storage bucket and all the other little things required to get the basics running.
2019-08-16 r/34 feat(tools): Add kontemplateVincent Ambo3-2/+8
2019-08-15 r/33 feat(tools): Add Terraform 0.12 to local toolsVincent Ambo3-0/+5
This is pre-configured with the GCP provider.
2019-08-15 r/32 chore(tools): Remove bazel & ghcVincent Ambo3-8/+0
2019-08-15 r/31 chore: Remove remaining Bazel-related filesVincent Ambo504-52993/+0
2019-08-15 r/30 chore(nix): Remove overridden GHCVincent Ambo1-28/+13
We're not going down the Bazel route here, so this is not going to be necessary.
2019-08-15 r/29 chore(services/gemma): Mark package as brokenVincent Ambo1-0/+5
2019-07-04 r/28 chore: Add very basic .gitignoreVincent Ambo1-0/+5
2019-07-04 r/27 feat(tazblog): Add Bazel build configurationVincent Ambo1-0/+86
Adds a build configuration using rules_haskell and rules_nixpkgs with all dependencies coming from the centrally configured GHC in the project root.
2019-07-04 r/26 feat(direnv): Add REPO_ROOT variable in workspaceVincent Ambo1-0/+1
Makes it quick & easy to do things from the root.
2019-07-04 r/25 refactor(tazblog): Move required GHC extensions into sourceVincent Ambo5-26/+50
Necessary because Cabal is going away.
2019-07-04 r/24 fix(build): Work around rules_nixpkgs repository setupVincent Ambo1-0/+1
Specifying a local repository from a Nix file is expected to be referencing an external nixpkgs source. However, in this monorepo setup the root of the repository itself is the Nix package set and a workaround in the `external` folder is required to import it into Bazel.
2019-07-04 r/23 fix(bazel): Always use Haskell toolchain from NixVincent Ambo1-0/+2
2019-07-04 r/22 feat(tools): Add custom GHC with dependencies to envVincent Ambo2-0/+4
2019-07-04 r/21 feat(build): Introduce pre-packaged GHC with dependencies via NixVincent Ambo2-2/+27
This uses the Nix infrastructure's Haskell setup to create a GHC derivation that comes with all required Haskell packages, fetched & built via Nix. Downstream packages that want to make use of Haskell dependencies need them to be added to this list.
2019-07-04 r/20 fix(bazel): Ensure that CC toolchain from Nix is usedVincent Ambo1-1/+9
2019-07-04 r/19 feat(build): Add WORKSPACE configuration for BazelVincent Ambo1-0/+39
This sets up Haskell & Nix rules in the workspace.
2019-07-04 r/18 feat(third_party/bazel): Check in rules_nixpkgs from TweagVincent Ambo23-0/+1371