Commit graph

1467 commits

Author SHA1 Message Date
Vincent Ambo
785a5a2997 feat(k8s): Add nginx instance for oslo.pub redirect
The redirect is currently all that this instance does. It is required
because HTTP load balancers in GCP don't support URL rewriting.
2019-09-02 18:19:35 +01:00
Vincent Ambo
e6cb12ebfb chore(k8s): Provision certificate for oslo.pub 2019-09-02 18:19:06 +01:00
Vincent Ambo
640b497950 feat(tools): Add stern, a k8s log watcher 2019-09-02 18:18:28 +01:00
Vincent Ambo
4881a84eaa chore(infra): Remove NixOS configuration for servers
This configuration is no longer in use. The Gemma configuration file
has been moved over to the k8s folder from where it will be templated
into the actual configuration.
2019-09-02 17:19:07 +01:00
Vincent Ambo
4bd6d52800
Merge pull request #1 from tazjin/feat/travis-ci
Add Travis CI configuration
2019-09-02 17:17:22 +01:00
Vincent Ambo
86d8c748a7 chore: Catch all Nix results in gitignore 2019-09-02 17:12:06 +01:00
Vincent Ambo
4d94254642 docs: Add crude top-level README 2019-09-02 17:12:06 +01:00
Vincent Ambo
99ee84b477 refactor(blog): Use callPackage to import derivation 2019-09-02 16:53:54 +01:00
Vincent Ambo
6472b2645c feat: Add Travis CI configuration
Adds a configuration that builds all of my own services and pushes the
resulting closures to Cachix.
2019-09-02 16:38:59 +01:00
Vincent Ambo
5e9b91a6d2 chore: Remove leftover Bazel files 2019-09-02 16:24:21 +01:00
Vincent Ambo
4411eea11f fix(gemma): Fix build process in Nix 2019-09-02 02:14:39 +01:00
Vincent Ambo
b43e5529f7 feat(third_party): Add missing Quicklisp packages for Gemma
Gemma depends on cl-prevalence, which isn't in the nixpkgs Quicklisp
snapshot.

This adds the package and its dependencies to the overlay.
2019-09-02 01:24:41 +01:00
Vincent Ambo
a635beabfa fix: Correct naming of variables in overlay function 2019-09-02 01:24:23 +01:00
Vincent Ambo
9622ed36a1
Merge pull request #1 from tazjin/feat/travis-builds
Add build configuration and various other repo setup chores
2019-08-29 13:10:15 +01:00
Vincent Ambo
565a00254b fix: Bump Nix in CI setup to 2.2.2
Yants does not seem to work with older versions of Nix and I have not
yet figured out why.
2019-08-29 13:06:12 +01:00
Vincent Ambo
f3c66e172c chore: Add contribution & code of conduct information 2019-08-28 15:06:43 +01:00
Vincent Ambo
10a93400f8 chore: Add Apache License 2.0 2019-08-28 15:03:17 +01:00
Vincent Ambo
d53f7f134b docs: Add build status to README 2019-08-28 15:02:39 +01:00
Vincent Ambo
0c1a6b88dd feat: Add Travis CI configuration 2019-08-28 14:55:56 +01:00
Vincent Ambo
6468845255 chore: Change file layout to match repository instead of gist 2019-08-28 14:55:53 +01:00
Vincent Ambo
34a5917981 test: Add test for pattern matching on sum types 2019-08-28 14:37:00 +01:00
Vincent Ambo
cb45536124 test: Add a test to check that all types match the 'type'-type 2019-08-28 14:37:00 +01:00
Vincent Ambo
b622bcef7d feat: Introduce composable type errors and type parameter checking
This refactoring moves the type definitions into a recursively
evaluated attribute set, which makes it possibe to refer to types in
the definitions of other types.

This functionality is used to type-check some of the type parameters
passed in to other types. This is not yet done for all higher-order
types because the evaluation semantics of Nix make it less useful for
some cases.

Further the definition of a type itself is now a stricter
representation that works for all types except typed functions, which
allows for composable error messages.
2019-08-28 14:36:58 +01:00
Vincent Ambo
f6635fec98 feat: Add rough initial version of sum types
Sum types are represented as attribute sets with a single key in them.
2019-08-28 14:36:55 +01:00
Vincent Ambo
ef4ded7b98 docs: Add defun to README 2019-08-28 14:36:50 +01:00
Vincent Ambo
5949663fcd feat: Implement support for typing functions
The defun helper takes a type signature and a function and makes a
typed version. Because we can.
2019-08-28 14:36:47 +01:00
Vincent Ambo
1da22249bd test: Add some simple tests for type-checks
Does not currently test check failures, which makes it sort of not as
useful as you'd think.
2019-08-28 14:36:43 +01:00
Vincent Ambo
08116dbf51 chore: Add Google's copyright header 2019-08-28 14:36:39 +01:00
Vincent Ambo
bc130254bc docs: Update struct screenshot in README 2019-08-28 14:36:36 +01:00
Vincent Ambo
ca0cf11ca9 feat: Improved error message for missing struct fields 2019-08-28 14:36:33 +01:00
Vincent Ambo
4ebc069a3f docs: Add enum screenshot to README 2019-08-28 14:36:29 +01:00
Vincent Ambo
661e09daac feat: Add enum support 2019-08-28 14:36:25 +01:00
Vincent Ambo
2e576e10ab refactor: Gain back a few more lines 2019-08-28 14:36:20 +01:00
Vincent Ambo
2acdbb5009 refactor: Drop back to below 100 lines :) 2019-08-28 14:36:14 +01:00
Vincent Ambo
76f9b1638c feat: Add function type
It's not currently possible to check arguments for curried functions,
but there might be something on the horizon for attribute set
functions.
2019-08-28 14:36:11 +01:00
Vincent Ambo
103e0b4d25 feat: Add derivation type 2019-08-28 14:36:08 +01:00
Vincent Ambo
cb0d07fa30 docs: Fix image links (relative is not supported in gists) 2019-08-28 14:36:00 +01:00
Vincent Ambo
199254ba7a chore: Move screenshots into the gist 2019-08-28 14:35:56 +01:00
Vincent Ambo
040b719570 feat: Support better error messages for list/attrs element checks 2019-08-28 14:35:53 +01:00
Vincent Ambo
fe33a82a07 feat: Initial check-in of type system sketch 2019-08-28 14:35:41 +01:00
Vincent Ambo
a58af3e371 feat(k8s): Configure HTTPS ingress for the blog
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 12:44:37 +01:00
Vincent Ambo
cae99692de feat(k8s): Add Google managed TLS certificates
Introduces certificates for tazj.in & www.tazj.in.
2019-08-27 12:43:55 +01:00
Vincent Ambo
593e96da60 chore(tazblog): Clean up unused dependencies 2019-08-25 23:21:26 +01:00
Vincent Ambo
1247848d76 refactor(tazblog): Implement HLint lints in all files 2019-08-25 23:07:43 +01:00
Vincent Ambo
561ed1fbbb chore(tazblog): Remove i18n features
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 22:53:38 +01:00
Vincent Ambo
094aafecdd chore(tazblog): Remove 'read more' feature 2019-08-25 20:22:57 +01:00
Vincent Ambo
6450347bf1 chore(tools): Remove ormolu from tools
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 20:17:03 +01:00
Vincent Ambo
1747df418e chore(tazblog): Format source files with ormolu
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 20:15:53 +01:00
Vincent Ambo
2fdc872228 feat(build): Add Terraform from unstable channel 2019-08-25 17:55:08 +01:00
Vincent Ambo
155f17173b chore(gcp): Enable Cloud DNS service 2019-08-25 17:47:34 +01:00