Commit graph

32 commits

Author SHA1 Message Date
Florian Klink
0daae2e08c nixos/buildkite: drop user option (#78160)
* nixos/buildkite: drop user option

This reverts 8c6b1c3eaa.

Turns out, buildkite-agent has logic to write .ssh/known_hosts files and
only really works when $HOME and the user homedir are in sync.

On top of that, we provision ssh keys in /var/lib/buildkite-agent, which
doesn't work if that other users' homedir points elsewhere (we can cheat
by setting $HOME, but then getent and $HOME provide conflicting
results).

So after all, it's better to only run the system-wide buildkite agent as
the "buildkite-agent" user only - if one wants to run buildkite as
different users, systemd user services might be a better fit.

* nixosTests.buildkite-agent: add node with separate user and no ssh key
2020-01-21 13:21:57 +00:00
Florian Klink
4b73d3c444 nixos/buildkite: make privateSshKeyPath optional
When only cloning public repos, or when the ssh key is provided by
different means, we don't need to manage it here.
2020-01-20 11:10:56 +01:00
Florian Klink
70308a7daf nixos/buildkite-agent: add gnutar, gzip and git to runtimePackages
These are required for nix to do builtins.fetchTarball and
builtins.fetchGit, so most likely we want them to be around.
2020-01-20 10:30:24 +01:00
Florian Klink
7838f00824 nixos/buildkite: stop using deprecated option 2020-01-20 10:30:22 +01:00
Florian Klink
8c6b1c3eaa nixos/buildkite-agent: add "user" option
This allows buildkite-agent to run as another user.

It'll still run builds from /var/lib/buildkite-agent and setup things in
there.
2020-01-19 21:21:15 +01:00
Florian Klink
63c310c07e nixos/buildkite-agent: change option meta-data into tags attrset
This is called tags in the buildkite 3.
2020-01-17 23:11:26 +01:00
Yorick van Pelt
e1ad9d1685 nixos/buildkite-agent: add a shell attribute to specify the shell being used
This gets passed to BUILDKITE_SHELL, which will specify the shell being
used to executes script in.

Defaults to `${pkgs.bash}/bin/bash -e -c`, matching how buildkite
behaves on other distros.
2020-01-17 18:40:11 +01:00
Florian Klink
99d0f4c380 nixos/buildkite-agent: tweak TimeoutStopSec and KillMode
This improves behaviour when the service is being stopped.
2020-01-17 18:40:11 +01:00
Florian Klink
9237767277 nixos/buildkite-agent: actually use services.buildkite-agent.package
We were currently just using pkgs.buildkite-agent, no matter what was
configured in services.buildkite-agent.package
2020-01-17 18:40:11 +01:00
Florian Klink
c154dd5101 nixos/buildkite-agent: stop deploying public keys, make ssh private key optional.
SSH public keys aren't needed to clone private repos, and if we only
need to configure a single attribute, there's no need for the "openssh"
attrset anymore.
2020-01-17 18:40:11 +01:00
Mark Karpov
a8cdfd30ff
Make buildkite agent service compatible with buildkite-agent3 2020-01-15 17:16:44 +01:00
Janne Heß
d6c08776ba treewide: Switch to system users 2019-10-12 22:25:28 +02:00
Daniel Schaefer
786f02f7a4 treewide: Remove usage of isNull
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-04-29 14:05:50 +02:00
Symphorien Gibol
a915b33315 nixos: add preferLocalBuild=true; on derivations for config files 2019-02-22 20:11:27 +01:00
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Rodney Lorrimar
3e446ecd56 nixos/buildkite-agent: fix variable expansion in hook scripts
@cleverca found this bug in the declarative hooks config. Any shell
variables referenced in a hook script would get expanded by the hooks
directory builder.

Prevent variable expansion by quoting the here doc limit string.
2018-04-27 12:17:40 +01:00
Shea Levy
fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
Rodney Lorrimar
e552633c20
nixos/buildkite-agent: add coreutils to PATH of service
This simplifies the service script and it's probable that many builds
will need coreutils anyway.
2018-02-20 08:17:14 +00:00
Rodney Lorrimar
21e9a3eb6f
nixos/buildkite-agent: add a default value for name option
Use the default name value from:
https://buildkite.com/docs/agent/configuration
2018-02-20 08:17:14 +00:00
Rodney Lorrimar
8132b24cdf
nixos/buildkite-agent: remove obsolete config setting
Newer versions of buildkite-agent can find the bootstrap script
themselves.
2018-02-20 08:17:13 +00:00
Rodney Lorrimar
cf6463aa8c
nixos/buildkite-agent: enhance documentation for meta-data option
I assumed they were space-separated, which was wrong.

In future it might be better to allow specifying an attrset of strings
for the option.
2018-02-20 08:17:13 +00:00
Rodney Lorrimar
66586c86b9
nixos/buildkite-agent: declarative hooks configuration
Instead of having to set up a directory containing hook scripts, you
can now directly set module options to add hooks.
2018-02-20 08:17:12 +00:00
Rodney Lorrimar
efefba7c9b
nixos/buildkite-agent: add extraConfig option
This is useful for things like enabling debugging and increasing agent
priority, which don't warrant extra module options.
2018-02-20 08:17:12 +00:00
zimbatm
80f13dc31d fixup! buildkite-agent: change hooksPath type to 'path' (and prevent it from hitting the store) 2018-01-05 22:55:20 +00:00
Kosyrev Serge
097719147a buildkite-agent: change hooksPath type to 'path' (and prevent it from hitting the store)
(cherry picked from commit 3aec59c99ff6692468a069fa8a8d6a05000fca81)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-12-28 12:16:05 +00:00
Kosyrev Serge
9f5593559b buildkite: address review suggestions 2017-12-28 12:16:05 +00:00
Kosyrev Serge
bbb6072f10 buildkite: allow configuration and actual use of agent-specific hooks
(cherry picked from commit 775e49439fe25a4cdc2a93e31dfb3968b9b02311)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-12-28 12:16:05 +00:00
Kosyrev Serge
3fa4e1e3ee buildkite-agent: secrecy improvements: non-store, non-Nix provisioning of secrets 2017-11-25 17:52:19 +00:00
zimbatm
74a2d53e0d buildkite-agent service: add bash to the runtimePackages
bash is necessary for nix-shell to work properly
2017-10-26 17:44:44 +01:00
zimbatm
96b339fbc9 buildkite-agent: 2.1.13 -> 2.6.6
Build the package from source

Re-organise the module a bit to allow custom version of the package
2017-10-21 11:23:30 +01:00
Mark Fine
c8c4f504f7 buildkite-agent: always write out the ssh keys. 2016-08-17 14:24:48 -07:00
Paweł Pacana
d2b58dd39a buildkite-agent: init at 2.1.8
* nixos module included
* install compiled binary
* only one platform now
* limited config options
* relies on providing ssh keys for agent
2016-06-13 17:21:08 +01:00