Commit Graph

43 Commits

Author SHA1 Message Date
Marco Nenciarini
5f7d47783b
Switch to cloud-init for host initialization 2022-02-28 10:30:49 +01:00
Karim Naufal
c309a1b290 default subnet not defined, so removing it 2022-02-28 00:49:07 +01:00
Karim Naufal
852a3f30c1 clarified Hetzner IPs 2022-02-27 23:58:46 +01:00
Karim Naufal
48b15fafbf clarified Hetzner IPs 2022-02-27 23:51:05 +01:00
Karim Naufal
4fe79625b1 added dynamic rule and var extra_firewall_rules 2022-02-27 23:15:46 +01:00
phaer
38fc145ad0 ip -> ipv4...
...explictly label current ip values as ipv4, in order to more
easily add ipv6 support later on.
2022-02-26 12:26:14 +01:00
jodhi
ec42a2b519 merge from upstream 2022-02-26 01:18:34 +07:00
jodhi
c9101824fc add specific subnet for nodepool 2022-02-26 01:16:38 +07:00
jodhi
b5039e2bc1 fix dynamic private ip 2022-02-24 23:57:36 +07:00
jodhi
58c630ba78 not hardcode the ip allocation for agents 2022-02-24 22:49:36 +07:00
Karim Naufal
0b19d36416 ability to chose k3s install channel 2022-02-23 21:35:42 +01:00
jodhi
7d301f2c6d [WIP] nodepools feature 2022-02-23 22:46:46 +07:00
Marco Nenciarini
0c3aa36c03
First control plane node is not special anymore
The first control plane node is now identical to any other server
node. The cluster initialization happens once in two steps: first,
make sure that the k3s cluster is initialized and then apply our
configurations while the other nodes join. This change makes the
initialization more resilient and even faster than before.
2022-02-22 13:36:25 +01:00
Marco Nenciarini
0f9d277293
Merge branch 'master' into modules 2022-02-20 11:30:07 +01:00
Karim Naufal
e39dc064e2 making k3s start more robust 2022-02-20 02:04:37 +01:00
Marco Nenciarini
0090c1a6f1
Fist attempt to factor microOS install 2022-02-20 00:00:13 +01:00
phaer
2fa1b17ac6 allow additional ssh public keys 2022-02-19 15:12:04 +01:00
phaer
406ba988bf use jsonencode, not template for config.ign 2022-02-19 15:07:39 +01:00
Karim Naufal
1f0a03b335 moved k3s-selinux install to combustion 2022-02-17 13:19:21 +01:00
Karim Naufal
1165389fc3 fix ip_not_available error 2022-02-16 10:56:22 +01:00
Karim Naufal
addf44c39f k3s install method ok 2022-02-16 05:27:52 +01:00
Karim Naufal
d920132694 k3s install method ok 2022-02-16 04:24:20 +01:00
Karim Naufal
fec695086a k3s-install ready for testing 2022-02-16 03:18:40 +01:00
Karim Naufal
1f0c825b23 switch image to standard microos 2022-02-16 00:13:02 +01:00
Karim Naufal
51f9718657 removed latest csi and latest ccm containers option, as it was causing problems over time 2022-02-15 22:33:22 +01:00
Karim Naufal
e6b12a172c fix for error messages 2022-02-12 01:45:25 +01:00
phaer
347ba42866 replace kustomization.yaml.tpl with yamlencode
benefit is replacing inline strings in yaml with proper files
locally while still just deploying a single file to the remote
host.
2022-02-11 23:49:54 +01:00
phaer
9dc4952665 Expose kubeconfig in outputs...
* To do so, we need to ensure that the generated kubeconfig is part of
  terraforms dependency graph. This has the additional benefit of not
  depending on local files anymore which should enable multi-user
  setups.

* This also means that we can't deploy CCM, CSI & Traefik from our local
  host, because we don't have kubeconfig.yaml locally while provisioning
  the control plane, only afterwards.

* So we just run kubectl apply on the control plane itself, after k3s is
  ready.

* To do so, we need to deploy all manifests. I've merged the patches
  into a single kustomization.yaml file, because that makes the
  deployment of those files to the control-plane server easier.

* we could also put the traefik config into the same kustomization file,
  which would save us one of the file provisioner blocks. I didn't want
  this PR to get any bigger, and will consider merging this config later
  on. kustomization.yaml is small enough that we could yamlencode() for
  it and store the patches in separate files again, not as
  inline-strings which is kind of ugly.
2022-02-11 12:45:03 +01:00
Karim Naufal
86673fea86 fixed for missing metalink 2022-02-10 13:16:09 +01:00
Karim Naufal
e7f016fc59 tempory patch for aria2c file 2022-02-10 03:06:40 +01:00
Marco Nenciarini
0b13f900e1
Agents IP should not depend on servers_num 2022-02-09 13:03:31 +01:00
Karim Naufal
e2d1ed3068 added further measure to make sure disk is ready after partition 2022-02-08 01:32:39 +01:00
phaer
1a50ace0d3 remove root from ssh_args...
because scp does not take the username via -l, so we just re-add
it to the commands themselves.
2022-02-07 13:19:06 +01:00
phaer
a5914f81e6 fix ssh identity...
Newly added ssh commands were missing the flag -i to pass an
identity file. This means that those commands use different
settings then the provisioners and their connection blocks
around them.

While adding this parameter, I decided it would be cleanest
to add local.ssh_args.
2022-02-07 13:08:47 +01:00
Marco Nenciarini
cf68368eea
Reduce reboot time 2022-02-07 09:55:02 +01:00
Karim Naufal
919e1087f8 added kured and fixed initial ignition disk partitioning 2022-02-07 09:36:21 +01:00
Karim Naufal
fba212de47 added kured and fixed initial ignition disk partitioning 2022-02-07 08:46:10 +01:00
Karim Naufal
7532e7a4d5 initial k3s on MicroOS on Hetzner ok 2022-02-06 08:40:51 +01:00
Marco Nenciarini
63eb166eb9
Configure eth1 and set hostname 2022-02-05 19:34:36 +01:00
Karim Naufal
623954e5ef microOS eth1 still down 2022-02-05 01:22:35 +01:00
Karim Naufal
3f0f0ca705 microOS prep 2022-02-05 00:02:25 +01:00
phaer
07ab83a09f use locals to deduplicate ssh key expressions 2022-01-25 14:29:10 +01:00
Dennis Hoppe
453bdb0be5
Reorganize structure of Terraform manifests 2022-01-13 10:02:45 +01:00