216 Commits

Author SHA1 Message Date
Serge Logvinov
0f659622d0 fix: build with custom kernel/rootfs
Fix ONBUILD initramfs path

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2021-06-21 12:54:30 -07:00
Alexey Palazhchenko
42c16f67f4 chore: bump dependencies
Update k8s to 1.21.2.

See #3787 #3788 #3789 #3790 #3791 #3792 #3793 #3794 #3795 #3796 #3798.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-06-21 07:05:41 -07:00
Seán C McCord
48a5c460a1 docs: provide more storage details
Fill out storage guide a bit more.

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2021-06-18 16:27:34 -07:00
Andrey Smirnov
e13d905c2e release(v0.11.0-alpha.1): prepare release
This is the official v0.11.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-06-18 14:07:24 -07:00
Alexey Palazhchenko
06209bba28 chore: update RBAC rules, remove old APIs
Refs #3421.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-06-18 09:54:49 -07:00
Alexey Palazhchenko
f63ab9dd9b feat: implement talosctl config new command
Refs #3421.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-06-17 09:06:43 -07:00
Andrew Rynhard
11918a110a docs: update community meeting time
Updated to be the correct time.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-06-14 12:28:03 -07:00
Alexey Palazhchenko
0f168a8801 feat: add configuration for enabling RBAC
Refs #3421.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-06-08 09:30:41 -07:00
Alexey Palazhchenko
5ad314fe7e feat: implement basic RBAC interceptors
It is not enforced yet.

Refs #3421.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-06-07 09:28:22 -07:00
Andrew Rynhard
24859b1410 docs: update Rpi4 firmware guide
Brings in newer version and some updated commands.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-06-04 09:46:03 -07:00
Artem Chernyshev
14e696d068 feat: update COSI runtime and add support for tail in the Talos gRPC
Updated protobufs to expose tail length option.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-06-03 11:46:39 -07:00
Andrew Rynhard
a71053fcd8 feat: default to bootstrap workflow
Changes `gen config` to output `controlplane` and `join` machine config
types only. Users can manually set the `type` to `init` if they need to.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-06-03 11:29:56 -07:00
Andrey Smirnov
33db8857aa fix: use COSI runtime DestroyReady input type
See https://github.com/cosi-project/runtime/pull/35

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-06-01 12:30:52 -07:00
Serge Logvinov
97627061d7 docs: set static IP on ISO install mode
Set static ip when the network dhcp server are not exist

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2021-06-01 10:11:43 -07:00
Andrey Smirnov
5811f4dda1 feat: implement link (interface) controllers
The structure of the controllers is really similar to addresses and
routes:

* `LinkSpec` resource describes desired link state
* `LinkConfig` controller generates `LinkSpecs` based on machine
configuration and kernel cmdline
* `LinkMerge` controller merges multiple configuration sources into a
single `LinkSpec` paying attention to the config layer priority
* `LinkSpec` controller applies the specs to the kernel state

Controller `LinkStatus` (which was implemented before) watches the
kernel state and publishes current link status.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-06-01 09:36:25 -07:00
Artem Chernyshev
a4d67a0182 feat: add the ability to disable CoreDNS
Fixes: https://github.com/talos-systems/talos/issues/3556

Introduce `coredns.disabled` flag to the machine config that allows
turning off coredns deployment during cluster bootstrap.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-05-28 10:33:14 -07:00
Artem Chernyshev
76dbfb3699 feat: add ability to mark MBR partition bootable
Fixes: https://github.com/talos-systems/talos/issues/3532

Machine install section now has `markMBRBootable` option.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-05-27 12:44:50 -07:00
Andrey Smirnov
1117294ad2 release(v0.11.0-alpha.0): prepare release
This is the official v0.11.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-05-26 10:19:00 -07:00
Kevin Hellemun
af77c29565 docs: update wirguard guide
The wireguard guide has a small typo in the structure example of the config.

Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
2021-05-21 05:08:26 -07:00
Alexey Palazhchenko
4fe6912143 test: better talosctl ls tests
Refs #3018.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-05-20 03:29:21 -07:00
Alexey Palazhchenko
49c7276b16 chore: fix markdown linting
* without `-print0` / `-0`, paths with spaces were skipped sometimes;
* `--stdin-filename` flag incorrectly consumed the first file.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-05-19 06:08:14 -07:00
Spencer Smith
7270495ace docs: add mayastor quickstart
This PR adds some documentation on how to use mayastor with talos and
links the video showing it in action.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2021-05-18 15:15:22 -07:00
Andrey Smirnov
d3d9112f28 docs: fix spelling/grammar in What's New for Talos 0.9
From PR #3269

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-05-18 13:38:41 -07:00
Andrew LeCody
a1c0e99a17 docs: add guide for deploying metrics-server
Resolves talos-systems#3166

Signed-off-by: Andrew LeCody <andrew@beyondweb.net>
2021-05-18 09:05:51 -07:00
Serge Logvinov
1ce362e05e docs: update customizing kernel build steps
How to customizing the Talos kernel documentation update.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2021-05-14 14:05:56 -07:00
Andrey Smirnov
76e38b7b82 feat: update Kubernetes to 1.21.1
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-05-13 08:05:08 -07:00
Serge Logvinov
79d804c5b4 docs: fix typos
Fix yaml key systemDisksEncryption -> systemDiskEncryption

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2021-05-02 06:36:10 -07:00
Seán C McCord
79299d761c docs: add Matrix room links
Add links to the Talos Matrix rooms (which are themselves linked to the
corresponding Slack channels).

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2021-04-29 08:11:47 -07:00
Andrew Rynhard
1b3e8b09ed docs: add survey to README
Adds a survey to the README.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-04-29 08:11:10 -07:00
Jorik Jonker
1092c3a506 feat: add Pine64 SBC support
This add support for the Pine64 and Pine64+ ARM64 SBCs.

Signed-off-by: Jorik Jonker <jorik@kippendief.biz>
2021-04-29 07:16:11 -07:00
Andrey Smirnov
0f49722d0f feat: add --config-patch flag by node type
The problem is that some patches can't be applied to join config, as
some nodes don't even exist in the config, for example
`/cluster/apiServer` node, and applying such patches doesn't make any
sense.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-27 11:55:03 -07:00
Andrey Smirnov
c3a4173e11 chore: remove security API ReadFile/WriteFile
This seems to be unused completely, and they look scary enough at the
same time.

For better readability and to avoid any pitfalls, better to remove them.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-27 03:48:20 -07:00
Andrey Smirnov
d9ba0fd016 docs: create v0.11 docs, promote v0.10 docs, add v0.10 AMIs
This makes v0.10 docs latest, v0.11 docs we generate to.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-26 12:43:48 -07:00
Andrey Smirnov
5b9ee86179 docs: add what's new for Talos 0.10
Mostly based on the release notes.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-23 10:16:29 -07:00
Andrew Rynhard
f1107fa3a3 docs: add survey
Adds a survey link so that we can get feedback from users.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2021-04-22 09:43:06 -07:00
Spencer Smith
93623d47f2 docs: update AWS instructions
This PR adds some docs changes where we had incorrect commands in the
AWS docs.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2021-04-21 06:24:37 -07:00
Andrey Smirnov
4a184b67d6 docs: add etcd backup and restore guide
Describe full procedure from backups to disaster recovery.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
Co-authored-by: Spencer Smith <rsmitty@users.noreply.github.com>
2021-04-21 05:15:58 -07:00
Artem Chernyshev
9a91142a38 feat: print complete member info in etcd members
Fixes: https://github.com/talos-systems/talos/issues/3487

Example output:

```
NODE       ID                 HOSTNAME                 PEERS                   CLIENTS
10.5.0.2   c3d3020cf75b8728   talos-default-master-1   https://10.5.0.2:2380   https://10.5.0.2:2379
```

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-04-17 11:07:59 -07:00
Andrey Smirnov
e7a9164b1e test: implement talosctl conformance command to run e2e tests
Command implements two modes:

* `fast`: conformance suite is run at maximum speed
* `certified`: conformance suite is run in serial mode, results
  are capture to produce artifacts ready for CNCF submission process

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-16 09:17:51 -07:00
Andrey Smirnov
0bd8b0e800 feat: provide an option to recover etcd from data directory copy
Sometimes `talosctl etcd snapshot` might not be available, for example
when etcd is not healthy. In that case it's possible to copy raw etcd
data directory with `talosctl cp /var/lib/etcd .` and use
`member/snap/db` to recover the cluster. But such copy won't pass
integrity checks, so they should be disabled explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-14 08:25:32 -07:00
Andrey Smirnov
e69732ed59 feat: provide Talos machine config with field placeholders and docs
For config patching, it's beneficial to have some fields to be present
in the config, even with the default (empty) value. At the same time not
all fields should be present in all versions of the config, e.g. some
config value don't apply to worker node configuration.

Empty value and nil value are treated equal by `yaml` library, but Talos
encoder can be made more smart to still output empty (non-nil) value to
the config, while skipping completely nil fields.

This PR implements that via new `talos:"omitonlyifnil"` tag and plus
moves docs for such fields into comments under the value.

GC'ed pod checkpointer config, so it doesn't get generated even as
comments (it was empty by default even for 0.8, so this just removes
comments about it).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-13 06:51:35 -07:00
Andrey Smirnov
2402f20c20 feat: implement inline manifests in the machine configuration
Inline manifests work exactly same way as extra manifests, but the
manifest itself can be stored in the config body.

Example config patch:

```
--config-patch '[{"op": "replace", "path": "/cluster/inlineManifests", "value": [{"name": "foo", "contents": "apiVersion: v1\nkind: Namespace\nmetadata:\n  name: ci\n"}]}]'
```

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-12 10:32:31 -07:00
Brandon McNama
94520b03f6 docs: fixup typo in encryption guide command
Fixes a typo in a documented command for going from an unencrypted
EPHEMERAL partition to an encrypted one.

Signed-off-by: Brandon McNama <brandonmcnama@outlook.com>
2021-04-11 02:29:33 -07:00
Alexey Palazhchenko
1fcf38f9d6 feat: add support for "none" CNI type
Closes #3411.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-04-09 12:53:00 -07:00
Alexey Palazhchenko
37a5edf04a feat: update Kubernetes to 1.21.0 release
See CHANGELOG:
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md

Closes #3329.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-04-09 20:08:20 +03:00
Alexey Palazhchenko
30f687b417 fix: document HDMI problem on RPi 4
Closes #3414.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-04-08 14:06:12 -07:00
Alexey Palazhchenko
29da22d063 feat: add config validation warnings
Closes #3412.
Refs #3413.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-04-08 13:49:58 -07:00
Andrey Smirnov
eee7ad13aa release(v0.10.0-alpha.2): prepare release
This is the official v0.10.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-08 13:03:50 -07:00
Andrey Smirnov
e0650218a6 feat: support etcd recovery from snapshot on bootstrap
When Talos `controlplane` node is waiting for a bootstrap, `etcd`
contents can be recovered from a snapshot created with
`talosctl etcd snapshot` on a healthy cluster.

Bootstrap process goes same way as before, but the etcd data directory
is recovered from the snapshot.

This flow enables disaster recovery for the control plane: given that
periodic backups are available, destroy control plane nodes, re-create
them with the same config, and bootstrap one node with the saved
snapshot to recover etcd state at the time of the snapshot.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-08 10:15:37 -07:00
Artem Chernyshev
247bd50e05 docs: describe steps to install and boot Talos from the SSD on rockpi4
Describe that gross flow while I still remember it.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-04-07 13:06:58 -07:00