Commit graph

1167 commits

Author SHA1 Message Date
Vincent Ambo
0fd7466922 feat(buildGo): Add support for x_defs option in buildGo.program
This lets users define an attribute set with link time options.
2019-11-24 20:41:01 +00:00
Vincent Ambo
071babf148 feat(example): Add an example for how to use buildGo builders 2019-11-24 20:34:30 +00:00
Vincent Ambo
d441e035aa feat: Add support for Protobuf-generated libraries
Adds a 'buildGo.proto' function which takes a single .proto file as
its source and generates a corresponding Go library which can then be
imported.

'proto' takes these arguments (Yants-style type definition):

struct "protoArgs" {
  # required:
  name = string;
  proto = path;

  # optional:
  extraDeps = list goLib; # defaults to [ ]
  protocFlags = option string;
}

Note that proto libraries will automatically have dependencies for the
required protobuf Go libraries added to them.

gRPC is not (yet) supported.
2019-11-24 20:17:17 +00:00
Vincent Ambo
24225580e8 feat: Check in buildGo with program & package builders 2019-11-23 15:25:11 +00:00
Vincent Ambo
5126815846 chore: initial commit 2019-11-23 15:24:50 +00:00
Vincent Ambo
f1655c5cbb fix(tools): Enable CI runs for tools.gotest 2019-11-22 16:29:43 +00:00
Vincent Ambo
1619f58d78 feat(tools): Add 'gotest' program to demonstrate pkgs.buildGo
This is a tiny program that does nothing but exists to demonstrate
pkgs.buildGo by building a program that depends on a local library as
well as a protobuf definition.
2019-11-22 16:28:22 +00:00
Vincent Ambo
9ea0363e6f fix(buildGo): Use stable build ID when linking outputs
This is another step towards build reproducibility, which Go is
traditionally very bad at.
2019-11-22 16:14:52 +00:00
Vincent Ambo
8710df08c8 fix(buildGo): Ensure names of proto-generated files are correct 2019-11-22 16:14:35 +00:00
Vincent Ambo
5a89a0265b refactor(buildGo): Minor cleanups of buildGo implementation 2019-11-22 16:14:14 +00:00
Vincent Ambo
78ca29dd23 feat(buildGo): Introduce Bazel-style Nix builders for Go 2019-11-21 10:55:10 +00:00
Vincent Ambo
ae53bf30c3
Merge pull request #9 from tazjin/feat/read-tree
Configure automatic package layouts via repository structure
2019-11-15 23:46:13 +00:00
Vincent Ambo
ecd54d58b1 fix(k8s): Adjust blog image name to match new repo layout 2019-11-15 23:37:22 +00:00
Vincent Ambo
45d63bce17 feat(nix): Filter projects that should be built by CI
Instead of specifying CI projects manually, this filters them to move
the CI configuration into the derivations `meta` attributes.
2019-11-15 23:25:41 +00:00
Vincent Ambo
c1c379848a chore(nix): Move files around to conform to new read-tree layout
Broadly speaking, the following things are included:

* there is now a uniform `args` struct that is passed to all
  derivations, package headers have been changed appropriately
* overrides are now loaded from a separate `override` folder just
  using read-tree.nix
* third-party packages have moved into the `third_party` attribute set
2019-11-15 15:26:08 +00:00
Vincent Ambo
4d852e2ef7 feat(build): Add initial read-tree.nix implementation
This file can read a directory tree into a package set structure,
paving the way for getting rid of top-level mapping in default.nix.
2019-11-15 14:52:23 +00:00
Vincent Ambo
8e53dec88c chore: Remove unstable channel (no longer in use) 2019-11-14 13:44:03 +00:00
Vincent Ambo
9ba4bbb609
Merge pull request #8 from tazjin/feat/nixcon
Add demo setup for NixCon
2019-10-26 13:59:58 +02:00
Vincent Ambo
161f1b5e85 feat(nixcon-demo): Add CLI mode for NixCon demo
Maybe a bit more sane than trying to do a network based setup.
2019-10-26 13:50:42 +02:00
Vincent Ambo
8ffe811d46 feat(services): Add nixcon-demo service with simple web server 2019-10-26 13:27:56 +02:00
Vincent Ambo
2be1fff251 feat(third_party): Add naersk to package set 2019-10-26 13:27:41 +02:00
Vincent Ambo
9eabf6236f fix: Enable building of broken packages
Happstack is currently erroneously (afaict) marked as broken.
2019-10-26 12:10:21 +02:00
Vincent Ambo
374d55d190 chore(k8s): Bump deployed Nixery version 2019-10-26 12:02:55 +02:00
Vincent Ambo
2e4c630f64
Merge pull request #7 from tazjin/chore/bump-19.09
Update nixpkgs set to NixOS 19.09
2019-10-25 18:48:12 +01:00
Vincent Ambo
d35debf882 chore: Bump Nixery version & package set configuration 2019-10-25 15:52:23 +02:00
Vincent Ambo
9081e4aae4 chore: Bump nixpkgs and use Terraform from stable 2019-10-25 10:03:52 +02:00
Vincent Ambo
d290684669 refactor(build): Only build projects explicitly set as CI projects 2019-09-22 17:21:35 +01:00
Vincent Ambo
2bc1bedd9e chore(gemma): Mark gemma as broken (again)
Something broke in one of the Lisp dependencies (again).
2019-09-22 17:20:00 +01:00
Vincent Ambo
3a79e8b932 refactor(build): Add ciProjects attribute for CI builds
This attribute contains a list of all derivations that should be built
by the CI for this repository.

This includes all of my own packages that are not marked as broken, as
well as select third-party packages.
2019-09-22 17:19:13 +01:00
Vincent Ambo
5b446efb66 chore(tazblog): Remove more unneeded dependencies 2019-09-22 17:05:24 +01:00
Vincent Ambo
2fceba1618 chore(k8s): Bump deployed Nixery version 2019-09-21 15:46:58 +01:00
Vincent Ambo
415dc01e5e chore: Bump Nix channel to a more recent version
This version has Nixery popularity data available.
2019-09-21 15:41:19 +01:00
Vincent Ambo
bcdd2d3fcb chore(third_party): Bump Nixery version 2019-09-21 15:39:45 +01:00
Vincent Ambo
4c3f27b9a7 refactor(k8s): Parameterise the nginx version 2019-09-21 15:37:44 +01:00
Vincent Ambo
52fabe4423 fix(k8s): Reinsert passLookup newline after kontemplate trims it
SSH can not read the key without the trailing newline. Ideally
kontemplate would expose a toggle for this.
2019-09-04 16:59:38 +01:00
Vincent Ambo
b41be36bb7
Merge pull request #6 from tazjin/fix/nixery-secrets-namespace
Fix Nixery resources namespace & bump kontemplate
2019-09-04 14:18:08 +01:00
Vincent Ambo
16b317fa5a chore: Update kontemplate to v1.8.0
This version is agnostic of the working directory even if
insertFile/insertTemplate are used, which makes it a lot nicer to work
with in this repository structure.
2019-09-04 12:58:04 +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