Commit graph

1844 commits

Author SHA1 Message Date
Vincent Ambo
fad8dfcef6 chore(build): Bump version to 1.8.0 2019-09-04 11:58:58 +01:00
Vincent Ambo
7b9ae4831d chore: Update copyright headers to 2019 2019-09-04 11:58:58 +01:00
Vincent Ambo
5b82bc60fc chore: Update dependency versions 2019-09-04 11:58:58 +01:00
Vincent Ambo
d0f52766b3 fix(context): Ensure resource set paths are made absolute
Resolving of files (for `insertFile` and `insertTemplate`) should
always be relative to the resource set location, the previous
behaviour was considered a bug.

This is fixed by ensuring that resource set paths are absolute at
context loading time.
2019-09-04 11:15:58 +01:00
Vincent Ambo
56f9e37755 fix(k8s): Move nixery-secrets to the correct namespace 2019-09-04 10:34:20 +01:00
Vincent Ambo
628cec3433
Merge pull request #5 from tazjin/feat/cloud-kms-secrets
Introduce secrets management via Google Cloud KMS
2019-09-03 16:26:17 +01:00
Vincent Ambo
283951388c feat(k8s): Insert Nixery's secrets via kontemplate
Instead of having a manually prepared secret, use Cloud KMS (as per
the previous commits) to decrypt the in-repo secrets and template them
into the Secret resource in Kubernetes.

Not all of the values are actually secret, it has thus become a bit
easier to edit the known hosts, SSH config and such now.
2019-09-03 16:12:30 +01:00
Vincent Ambo
0bc548e75e feat(secrets): Check in secrets required by Nixery 2019-09-03 16:12:30 +01:00
Vincent Ambo
bcd7710be5 feat(tools): Introduce pass-compatible wrapper using Cloud KMS
Adds a shell script that supports a subset of the 'pass' interface for
compatibility with kontemplate, and wraps kontemplate in a script that
places this version on the PATH.

This makes it possible to use Cloud KMS encrypted secrets with kontemplate.
2019-09-03 16:12:30 +01:00
Vincent Ambo
abd5d7538c feat(gcp): Create Cloud KMS resources for encrypting secrets
The idea here is to use Cloud KMS and a shell script that mimics
'pass' to trick kontemplate into using Cloud KMS to decrypt secrets.
2019-09-03 16:12:30 +01:00
Vincent Ambo
eb43ba75d2 chore(gcp): Remove monorepo repository
The repository is now public on Github.
2019-09-03 16:12:30 +01:00
Vincent Ambo
be28462a8a
Merge pull request #4 from tazjin/fix/blog-substitutes
fix(tazblog): Explicitly allow substitutes for the blog
2019-09-03 01:11:55 +01:00
Vincent Ambo
0d93594347 fix(tazblog): Explicitly allow substitutes for the blog
Not entirely sure which part of the setup set this to 'false', but
this is potentially the key for why tazblog ends up being rebuilt all
the time.
2019-09-03 00:43:49 +01:00
Vincent Ambo
5e4157e4a2 chore(k8s): Update deployed Nixery version 2019-09-03 00:31:09 +01:00
Vincent Ambo
d9a0f07c73 chore(third_party): Bump Nixery version 2019-09-03 00:25:40 +01:00
Vincent Ambo
3a4d8544fe
Merge pull request #3 from tazjin/chore/pin-travis-nix
Pin Nix version in Travis builds
2019-09-02 22:54:58 +01:00
Vincent Ambo
cfeb6e57c7 chore(tazblog): Clean up unneeded files 2019-09-02 22:34:06 +01:00
Vincent Ambo
68d14b6cfc chore(gemma): Delete old image build configuration 2019-09-02 22:06:55 +01:00
Vincent Ambo
8ae6cb2b95 chore: Pin Nix version in Travis builds
There are some unexpected cache misses in the Travis builds and I
suspect this might be due to mismatching Nix versions.
2019-09-02 21:58:39 +01:00
Vincent Ambo
d577629b5b fix(k8s): Add nginx route for load-balancer health checks 2019-09-02 20:16:49 +01:00
Vincent Ambo
f2e0f3ee27 chore(third_party): Remove git-appraise
Not actually in use here ...
2019-09-02 20:01:25 +01:00
Vincent Ambo
2f239426aa
Merge pull request #2 from tazjin/refactor/nixos-nginx-cleanup
Remove old NixOS config and move oslo.pub
2019-09-02 19:04:28 +01:00
Vincent Ambo
e2feae3387 fix(k8s): nginx does not need to be pinned to gitHEAD 2019-09-02 18:42:18 +01:00
Vincent Ambo
07a17501cc chore(k8s): Point Nixery at public depot URL 2019-09-02 18:38:24 +01:00
Vincent Ambo
a0089892dd feat(k8s): Route oslo.pub to nginx in ingress 2019-09-02 18:28:39 +01:00
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