Commit Graph

311 Commits

Author SHA1 Message Date
Felix Buehler
400d31aeb5 nixos/services.spark: remove with lib; 2024-09-15 10:43:48 +02:00
Felix Buehler
7e25c525fe nixos/services.rke2: remove with lib; 2024-09-15 10:43:48 +02:00
Felix Buehler
92566faf1c nixos/services.patroni: remove with lib; 2024-09-15 10:43:47 +02:00
Felix Buehler
7b141e6b8f nixos/services.pacemaker: remove with lib; 2024-09-15 10:43:47 +02:00
Felix Buehler
980a655feb nixos/services.kubernetes.addons.dns: remove with lib; 2024-09-15 10:43:47 +02:00
Felix Buehler
6ebec4f097 nixos/services.k3s: remove with lib; 2024-09-15 10:43:47 +02:00
Sarah Brofeldt
8a508485c4
nixos/kubernetes: add extraConfig to kubelet config (#338526) 2024-09-08 20:35:46 +02:00
Sarah Brofeldt
a1863c871e nixos/kubernetes: amend dns addon clusterDns list
With 24.11, this is the required type, and we rely on this for the NixOS
tests
2024-09-01 15:13:11 +02:00
Tristan Gosselin-Hane
2d54b2b048 nixos/kubernetes: allow setting multiple kubelet dns resolvers
The current kubernetes module only allows you to set a single DNS
resolver for the kubelet. Historically, this has not mattered as the
value was passed to a cli argument as a string and as per the kubelet's
configuration parsing mechanism, multiple values could be passed as a
comma-delimited string. However, recently, the module was refactored to
make configure kubernetes components via configuration files rather than
the deprecated command-line arguments. These files more strongly-typed
than CLI arguments and to pass multiple values, one must define a list
in the file. When this change was made, an incorrect assumption was made
that only a single DNS server could be specified and forced a
single-item list into this configuration file. We need to introduce a
breaking change to the module in order to allow the user to supply their
own list with however many dns resolvers they wish to use.
2024-08-30 22:17:00 -04:00
Tristan Gosselin-Hane
5a03aa5a45 nixos/kubernetes: add extraConfig to kubelet config
Every now and then, kubernetes adds new configuration parameters to the
kubelet configuration. Since this is defined using a nix attrset which
is then converted to json/yaml, it would be nice to have an escape hatch
similar to the extraOpts one that exists for additional CLI arguments.
The typical use case would be to configure new settings before they are
officially supported in the nixos module.
2024-08-30 22:12:40 -04:00
Felix Buehler
bff67892a7 nixos/services.kubernetes.flannel: remove with lib; 2024-08-30 00:30:38 +02:00
superherointj
3a158316b8
Merge pull request #332183 from codedownio/k3s-containerd-config
nixos/k3s: add containerdConfigTemplate option
2024-08-13 04:03:59 -03:00
Tom McLaughlin
81c0783c0e nixos/k3s: add containerdConfigTemplate option 2024-08-12 14:58:18 -07:00
Rick van Schijndel
0a21feb643
Merge pull request #327842 from cafkafk/kubernetes-feature-gate-refactor
nixos/kubernetes: refactor feature gates to attrsOf bool, making it possible to disable featureGates
2024-08-09 08:24:47 +02:00
Christina Sørensen
32ca66f3ed
nixos/kubernetes: refactor feature gates to attrsOf bool, making it possible to disable featureGates
This is a breaking change, requiring users of `featureGates` to change
from a `listOf str` to `attrsOf bool`.

Before:
```nix
featureGates = [ "EphemeralContainers" ];
extraOpts = pkgs.lib.concatStringsSep " " (
[
  "--container-runtime=remote"
  ''--feature-gates="CSIMigration=false"''
});
```

After:
```nix
featureGates = {EphemeralContainers = true; CSIMigration=false;};
```

This is much nicer, and sets us up for later work of migrating to
configuration files for other services, like e.g. has been happening
with kubelet (see: #290119).

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-08-01 07:51:34 +02:00
Robert Rose
3ac993566c nixos/k3s: add test for airgap images import
Add a nixos test that imports the airgap images
archive and checks whether all expected images are
successfully loaded by k3s.
2024-07-30 21:14:25 +02:00
Florian
2c5b304712
Merge pull request #219942 from vsharathchandra/druid_nix_module
nixos/druid: init module and package
2024-07-28 11:02:06 +02:00
sharath.v
4bfc173d8f nixos/druid: init module 2024-07-28 06:54:13 +00:00
❄️
5f2a6de6f9
Merge pull request #328385 from rorosen/k3s-kubelet-config
nixos/k3s: add options for graceful node shutdown and kubelet config
2024-07-25 10:19:16 -03:00
Robert Rose
c58c1e8f55 nixos/k3s: add options for graceful node shutdown and kubelet config
Allow to set kubelet configuration parameters
via an option. Additionally, expose the
respective options for graceful node
shutdown directly, as it is anticipated to
be used frequently.
2024-07-19 20:28:00 +02:00
Sarah Brofeldt
54fbcf1be8
Merge pull request #321632 from PedroRegisPOAR/kubernetes-mkCert-drops-nogroup-as-default
nixos/kubernetes: adds argument to mkCert defaulting to kubernetes group
2024-07-19 12:49:49 +02:00
Robert Rose
cc2790ff1e nixos/k3s: accept a list of extraFlags
Accept a list of strings for the extraFlags
option in addition to the previous single
string.
2024-07-16 08:20:32 +02:00
superherointj
bbc168ab4c k3s: use team for maintainers 2024-07-12 09:30:38 -03:00
Marcus Ramberg
72249a0d35
Merge pull request #275180 from rorosen/extend-k3s-module 2024-07-12 12:02:32 +02:00
Jonas Chevalier
87fa27e3aa
Merge pull request #321410 from mogeko/rke2
rke2: add killall script
2024-07-11 12:15:24 +02:00
Paul-Henri Froidmont
bca32a4163
nixos/patroni: remove raft 2024-07-04 10:22:19 +02:00
Robert Rose
a64423c745 nixos/k3s: extend k3s module
This contribution extends the k3s module to
enable the usage of Helm charts and container
images in air-gapped environments. Additionally,
the manifests option allows to specify arbitrary
manifests that are deployed by k3s automatically.
It is now possible to deploy Kubernetes workloads
using the k3s module.
2024-06-25 17:09:12 +02:00
Mathew Polzin
88d934879a nixos/services.kubernetes.kubelet: handle non-lower case characters in hostname 2024-06-23 14:06:42 -05:00
Jonas Juselius
cfed9707a5 nixos/kubernetes: fix service reload to restart 2024-06-22 07:52:46 +02:00
Pedro O. A. Regis
a5deaf9e93 nixos/kubernetes: adds argument to mkCert defaulting to kubernetes group 2024-06-21 21:26:08 -03:00
Mogeko
7f6cd3837d
nixos/rke2: modify the systemd unit name to be consistent with the upstream
remove `fix-systemd-unit-name.patch`.
2024-06-21 10:50:41 +08:00
Mogeko
a642efcdab
nixos/rke2: add rke2 service
Set assertions to avoid obvious errors.

Eliminate the conflict between default CNI (`cana`) and `NetworkManager`.

Determine whether optional can be used for agent.

Add the option `cisHardening` to enable CIS Hardening.

Set kernel parameters by `boot.kernel.sysctl`.

Using `lib.escapeShellArgs` to make `ExecStart` more resilient to escaping issues.

Using a list of `str` to extra flags.
2024-05-28 12:39:30 +08:00
superherointj
6cfcd3c754 k3s: format with nixfmt-rfc-style 2024-05-10 18:55:54 -03:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Christina Sørensen
26036ecf31
kubelet: Set Kubelet Parameters Via A intermediate Configuration File
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-02-23 08:55:02 +01:00
Joris Bolsens
81391bd22f nixos/kubernetes: set k8 home permissions correctly 2024-02-15 23:11:59 -08:00
Joris Bolsens
6a11b7a777
nixos/kubernetes: don't delete the apitoken after its created
This was breaking the nixos-kubernetes-node-join script
the token gets copied, and then immediately overridden with /dev/null when certmgr restarts.
2024-02-12 22:50:27 -08:00
Joris Bolsens
1856e7e4b1 nixos/kubernetes: use correct -o option with bash install when copying certs in cfssl prestart script 2024-02-10 01:46:00 -08:00
Sarah Brofeldt
cd5c10f696
Merge pull request #275896 from hoppla20/master
nixos/kubernetes: fix pki's mkSpec function
2024-02-07 18:44:35 +01:00
Felix Buehler
ffadbb6788 kubernetes: prefer 'install' over 'mkdir/chmod/chown' 2024-02-03 11:16:23 +01:00
vincent.cui
9c870ac78f nixos/kubernetes: fix pki's mkSpec function
The `authority.file.path` field of a cert spec is
[defined as follows]
(https://github.com/cloudflare/certmgr/tree/v3.0.3#pki-specs):

> if this is included, the CA certificate will be saved here.
It follows the same file specification format above. Use this
if you want to save your CA cert to disk.

So certmgr fails, because each certmgr spec (apiserver,
addonManager, ...) wants to manage the file at the `cert.caCert`
location. However, the `authority.file.path` field is not needed
for generating a certificate, as the certificate is generated by
the CA, which is reachable at `authority.remote` (e.g.
https://localhost:8888 with `easyCerts = true`). The
`authority.file.path` field just saves the certificate of the CA
to disk.
2023-12-21 22:08:31 +01:00
nicoo
fb85785231 nixos/kubernetes: certmgr-selfsigned is now an alias 2023-12-12 21:17:24 +00:00
Peder Bergebakken Sundt
d41449afb3
Merge pull request #256737 from illustris/spark
spark: init 3.5.0, 3.4.0->3.4.2, 3.3.2->3.3.3
2023-12-07 04:24:16 +01:00
Alexandru Scvortov
f9123510db kubernetes: don't always open flannel fw ports 2023-12-02 10:50:56 +00:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
illustris
ef9732e11f
spark: remove untarDir 2023-11-04 13:01:45 +05:30
illustris
1cd3c804bf
hadoop, nixos/hadoop: remove untarDir 2023-09-22 16:34:07 +05:30
Lin Jian
74fadae942
treewide: stop using types.string
It is an error[1] now.

[1]: https://github.com/NixOS/nixpkgs/pull/247848
2023-08-08 21:31:21 +08:00
Robert Schütz
c9e8e912cb nixos/patroni: use Python 3.10 2023-07-14 18:20:14 -07:00
figsoda
701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00