Commit graph

1544 commits

Author SHA1 Message Date
Vincent Ambo
0bc731ee1b feat(build): Add WORKSPACE configuration for Bazel
This sets up Haskell & Nix rules in the workspace.
2019-07-04 11:19:40 +01:00
Vincent Ambo
64275e446e feat(third_party/bazel): Check in rules_nixpkgs from Tweag 2019-07-04 11:18:37 +01:00
Vincent Ambo
f723b8b878 feat(third_party/bazel): Check in rules_haskell from Tweag 2019-07-04 11:18:12 +01:00
Vincent Ambo
2eb1dc26e4 feat(tools): Add symlinks for bazel & stylish-haskell 2019-07-04 11:17:34 +01:00
Vincent Ambo
2b31921c3e fix(nix): Ensure package set is callable with/without args
When instantiating a Nix package via Bazel, the package set is called
with an empty map as the argument. From the Nix REPL or the dispatch
script, however, the package set is called without arguments.

This change adds a catch-all optional argument in the package set
which ensures that both use-cases are supported (similar to what
nixpkgs itself does).
2019-07-04 11:15:59 +01:00
Vincent Ambo
af7cbf64e5 feat(dotenv): Set NIX_PATH for entire workspace 2019-07-04 11:15:31 +01:00
Vincent Ambo
b2f40b6ed8 fix(tools): Ensure dispatch script passes arguments correctly 2019-07-04 11:15:15 +01:00
Vincent Ambo
892493a478 feat(tools): Add dispatcher script to transparently access tools
Initial version of tool provider via Nix. This requires two separate
steps for adding a new tool:

1. New symlink in tools/bin to point at the dispatch script.
2. Mapping of tool to Nix package set attribute in dispatch script.
2019-07-02 16:40:51 +01:00
Vincent Ambo
c31a0b552b feat(git-appraise): Add Nix build configuration 2019-07-02 14:39:49 +01:00
Vincent Ambo
fe642c30f0 feat(third_party): Check in git-appraise 2019-07-02 14:19:12 +01:00
Vincent Ambo
e03f063052 merge(infra): Embed infrastructure configuration into monorepo
This contains DNS and NixOS module configuration.
2019-07-02 12:48:14 +01:00
Vincent Ambo
a131b30514 refactor(infra): Move infrastructure into monorepo structure 2019-07-02 12:48:05 +01:00
Vincent Ambo
915a2f8464 fix(tazblog): Ensure build works with MonadFail changes
This updates some old code that makes assumptions via pattern matching
to instead make assumptions via a Prelude function.

This is known to be safe as it has been running fine for almost a
decade now, but the recent MonadFail changes broke the build.
2019-07-02 12:42:28 +01:00
Vincent Ambo
b51a53c936 chore(build): Add Gemma to package set
Note that this does not actually build right now because Elm has done
a thing again to break the universe and it requires massive changes to
the application to make it work again.
2019-06-29 14:28:41 +01:00
Vincent Ambo
e2951dc9f5 merge(gemma): Integrate Gemma into monorepo 2019-06-29 14:14:35 +01:00
Vincent Ambo
60532a541b refactor(gemma): Move Gemma source into monorepo stucture 2019-06-29 14:13:58 +01:00
Vincent Ambo
545d9a2db9 docs(third_party): Add README 2019-06-29 14:12:38 +01:00
Vincent Ambo
4cefb9256a feat(build): Add top-level package index file 2019-06-29 14:12:24 +01:00
Vincent Ambo
5c3ac08fcf feat(tazblog): Add Nix build configuration 2019-06-29 14:11:56 +01:00
Vincent Ambo
207c6dac0c merge(tazblog): Integrate blog into monorepo 2019-06-29 14:02:28 +01:00
Vincent Ambo
47f2145b5b chore(tazblog): Remove files from ye olde times 2019-06-29 14:01:28 +01:00
Vincent Ambo
85dbb4cc23 chore: Keep project root under MIT license
To comply with Google's open-source patching rules :)
2019-06-28 22:56:48 +01:00
Vincent Ambo
2373c925e1 refactor: Move tazblog into monorepo structure
It's happening!
2019-06-28 22:55:39 +01:00
Vincent Ambo
b681368217 chore: Initialize tazj.in monorepo 2019-06-28 22:50:53 +01:00
Jude Venn
75a3cd2534 docs: Update configHash tip to use insertTemplate function
An advantage of this method over the previous one is that any edits to
the ConfigMap yaml file will also trigger a rolling update.

It also keeps knowledge of what the ConfigMap contains inside its yaml
file instead of the Deployment needing to know which variables to hash.
2019-05-01 23:30:19 +01:00
Jude Venn
c422686f84 test(templater): Add a test for the insertTemplate function 2019-05-01 23:30:19 +01:00
Jude Venn
6353ed9d14 feat(templater): Add insertTemplate function
Similar to insertFile, but runs the templating against the file before
inserting.

This is useful for sharing common config between yaml files, e.g. volume
mounts in a deployment.yaml and cronjob.yaml, and it's useful to be able
to use the `configHash` annotation pattern with a templated
configmap.yaml
2019-05-01 23:30:19 +01:00
Vincent Ambo
8abe03de3c fix(build): Make Nix build work with recent nixpkgs
Changes in the Go build environment for Nix have caused the parallel
vetting to run in a subshell which does not have the required function
definitions.

This commit fixes the error by not running vet in parallel (there's no
point to that anyways as the project is tiny).
2019-05-01 17:24:09 +01:00
Vincent Ambo
448cc5e1d4 chore(cargo): Bump version to v0.2.2 2019-02-27 14:41:30 +01:00
Vincent Ambo
951bc7ae85 refactor(tests): Use local httpbin instance in tests
Instead of relying on the external httpbin instance which is
occasionally wonky, use Docker to spin up a local instance in Travis
CI when testing.

This fixes #1.
2019-02-27 14:39:16 +01:00
Vincent Ambo
67bfba446d fix(lib): Support large body uploads with repeated read callbacks
When uploading larger amounts of data, cURL will call the read
callback incrementally multiple times to receive all the expected
data.

Previously if the size of the data to upload exceeded the size of the
initial buffer provided by cURL, the write (and thus the request)
would fail.

This changes the logic to write the data in chunks of a size that are
acceptable to cURL.
2019-02-27 14:39:16 +01:00
Vincent Ambo
a18dfc5a5e docs(README): Fix crates.io badge URL 2019-02-26 23:11:29 +01:00
Vincent Ambo
9a23a55165 chore(cargo): Bump version to v0.2.0 2019-02-26 23:10:24 +01:00
Vincent Ambo
3530baa4d0 refactor: Add a method per HTTP verb on Request
Instead of the `Request::new` "constructor" for requests, add a method
per HTTP verb which makes the initialisation slightly more concise.
2019-02-26 23:10:24 +01:00
Vincent Ambo
e4e931661b feat: Introduce Response::error_for_status method
This method makes it possible to let users map responses with
unexpected HTTP statuses to custom errors while staying inside a chain
of results.
2019-02-26 22:21:43 +01:00
Vincent Ambo
481825672e feat: Re-export the curl::init method 2019-02-26 18:00:30 +01:00
Vincent Ambo
a039908fc4 test: Add timeouts to HTTP POST tests
Occasionally (and seemingly most commonly in travis-ci), httpbin does
not respond to POST requests.
2019-02-26 17:58:20 +01:00
Vincent Ambo
cf58060fcc feat: Add Request::with_handle method
This method acts as an "escape-hatch" which lets the user configure
whatever they want on the cURL easy handle. No warranty!
2019-02-26 17:55:00 +01:00
Vincent Ambo
df117f855b feat: Add Request::timeout method 2019-02-26 17:54:47 +01:00
Vincent Ambo
acc7e64a0d refactor: Use cURL's own basic auth implementation
Drops the dependency on the base64-crate, which it turns out isn't
necessary as cURL has this built-in.
2019-02-26 17:54:11 +01:00
Vincent Ambo
de86cc551a docs(README): Add badges for travis, docs.rs and crates.io 2019-02-26 17:33:59 +01:00
Vincent Ambo
53489a7bab chore(build): Configure Travis CI builds 2019-02-26 17:30:56 +01:00
Vincent Ambo
2233d15c94 chore(cargo): Prepare Cargo manifest for crate release 2019-02-26 17:30:56 +01:00
Vincent Ambo
f5ab42c147 chore: License under GPL-3.0-or-later 2019-02-26 17:30:56 +01:00
Vincent Ambo
198fe2bffa docs: Update README, add contribution guidelines & CoC
... getting all the docs in order for publication ...
2019-02-26 17:30:53 +01:00
Vincent Ambo
2349dd22c3 feat: Split tls_key_password into a separate function
WHen configuring a PKCS12 certificate it is more useful to be able to
set this separately, as the `tls_client_key` function is never called.
2019-02-26 17:30:53 +01:00
Vincent Ambo
37dc54f2bf feat: Add utility functions for TLS client certificate usage 2019-02-26 17:30:53 +01:00
Vincent Ambo
791e2958fc test: Add test for token-based authentication (bearer_auth) 2019-02-26 17:30:53 +01:00
Vincent Ambo
b493bc3c84 docs(lib): Document available features and update example 2019-02-26 17:30:49 +01:00
Vincent Ambo
de16d9698d feat: Add optional Request::basic_auth utility function
This function adds a dependency on `base64` and is thus gated behind
the (enabled by default) `basic_auth` feature.
2019-02-26 17:30:49 +01:00