66 Commits

Author SHA1 Message Date
Niklas Wik
dba6de506e feat: add extra headers to fetch of extraManifests
Provides capability to add extra headers in cases where files can only be fetched with token based authenction.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: extra manifest headers for fetching manifests

- Changed config to map of key value pairs.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: added docs for new extra headers fetch

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: fix linter issue

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
2020-04-15 06:51:39 -07:00
Spencer Smith
8d2f8d6127 chore: remove random.trust_cpu references
This PR removes the references to adding in the random CPU trust to the
kernel for all v0.4 docs, as well as in the iso command in the
installer. This is no longer needed with the newer linux kernel.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-04-14 17:10:56 -07:00
Andrew Rynhard
7cf28dc805 refactor: rename ntpd to timed
This renames the ntpd application to timed.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-04-13 15:02:26 -07:00
Andrew Rynhard
b0234817f3 docs: add firecracker documentation
This adds documentation on how to create clusters using the firecracker provisioner.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-04-10 13:03:53 -07:00
Tim Gerla
38eda25398 docs: sidebar improvements and content organization
- Lots of usability improvements to the docs sidebar.
- Headers aren't links to content anymore.
- All of the old index content has been moved to "Overview" pages that have
  explicit links in the docs sidebar.
- Lots and lots of styling cleanups.

Signed-off-by: Tim Gerla <tim@gerla.net>
2020-04-09 14:35:41 -07:00
Spencer Smith
38609bf581 feat: introduce ability to specify extra hosts in /etc/hosts
This PR will allow users to configure /etc/hosts through the network
config section, as opposed to having to use a file append operation.

Example usage might look something like:

```
...
...
machine:
  ...
  ...
  network:
    extraHostEntries:
      - ip: 192.168.1.100
        aliases:
          - test
          - test.wtf.bbq
...
...
```

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-04-03 12:17:55 -04:00
Spencer Smith
3a4eaeeef0 feat: upgrade kubernetes to 1.18
This PR will pull in the latest release of k8s 1.18 so we can start
validating it through our test suite.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-03-26 14:59:43 -04:00
Niklas Wik
c10465d4fb docs: Add example of a VLAN configured device.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: fixes linting for doc update

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: initial work for supporting vlans

Adding VLAN as option to machine config under devices.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: Add addressing support for VLAN devices.

- Refactors static addressing to not be dependent on machine.Device

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: Add addressing support for VLAN devices.

- Support of VLAN being the default network to use by removing need of addressing on master device.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: Fix the fmt of go files

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: refactor based on review comment.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: remove unused function

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: initial work for supporting vlans

Adding VLAN as option to machine config under devices.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: Add addressing support for VLAN devices.

- Refactors static addressing to not be dependent on machine.Device

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

feat: Add addressing support for VLAN devices.

- Support of VLAN being the default network to use by removing need of addressing on master device.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: Fix the fmt of go files

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: refactor based on review comment.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: fix test case function arguments

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: Add log for debugging address configuration failures

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: fix lint issues.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: fix the lint error.

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>

fix: Fix when addressing set with kernel options

Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
2020-03-25 04:15:35 -07:00
Dave Thomas
f596a952fb docs: add bare-metal install example yaml
Signed-off-by: Dave Thomas <davejonthomas@gmail.com>
2020-03-23 18:37:22 -07:00
Spencer Smith
3485ea9f09 fix: update k8s to 1.17.3
This PR will update k8s to v1.17.3 to address CVEs mentioned in https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/kubernetes-security-announce/2UOlsba2g0s

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-03-23 17:08:52 -07:00
Andrew Rynhard
5dbc26c7a3 feat: rename osctl to talosctl
This is a rename of the osctl binary. We decided that talosctl is a
better name for the Talos CLI. This does not break any APIs, but does
make older documentation only accurate for previous versions of Talos.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-03-20 19:07:39 -07:00
Andrew Rynhard
be6e3288fa fix: add debug option to v1alpha1 config
This PR fixes the `debug` option in the config.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-03-17 06:17:53 -07:00
Spencer Smith
12bfd8dd94 feat: allow for persistence of config data
This PR will allow users to set the `persist: true` value in their
config data to tell talos not to re-pull the config data at each reboot.
The default will still remain as a "pull every time" methodolgy in order
to encourage immutability by default.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-03-06 11:42:00 -05:00
Andrey Smirnov
34cec9bbfb feat: make admin kubeconfig cert lifetime configurable
Fixes #1906

This provides lifetime as duration relative to kubeconfig generation
time (the moment `osctl kubeconfig` was called).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-03-01 16:01:27 +03:00
Andrey Smirnov
e1779ac77c feat: implement registry mirror & config for image pull
When images are pulled by Talos or via CRI plugin, configuration
for each registry is applied. Mirrors allow to redirect pull request to
either local registry or cached registry. Auth & TLS enable
authentication and TLS authentication for non-public registries.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-02-14 00:28:59 +03:00
Brad Beam
defbcf3856 docs(apid): Add apid docs
Describes apid and introduces some workflows to illustrate what apid does.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2020-01-28 11:36:13 -08:00
Andrew Rynhard
d36b3a50d6 docs: remove invalid field from docs
This removes `extraDiskArgs` from the kubelet configuration field. This
never really was a thing.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-01-28 07:35:27 -08:00
Andrew Rynhard
6d1a2f7b6d fix: implement kubelet extra mounts
This implements old behavior from our initial config that allows for
specifying extra mounts for the kubelet container.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-01-28 06:44:27 -08:00
Andrew Rynhard
428aeef556 docs: fix machined component
This fixes the sidebar to only have machined, not init and machined.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-01-23 15:50:28 -08:00
Andrew Rynhard
4a3629dbfd docs: update metal section
This simpifies the metal section overview.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2020-01-23 05:53:54 -08:00
Spencer Smith
e0181c85eb feat: allow ability to customize containerd
This PR will allow for any toml files added into `/var/cri/conf.d` to be
picked up and parsed as a containerd config. This should allow users a
nice way to add additional configs by passing extra files in machine
config like:

```
machine:
  ...
  files:
    - content: |
        [metrics]
          address = "0.0.0.0:11234"
      path: /var/cri/conf.d/metrics.toml
      op: create
```

Will close #1718.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-01-22 17:08:10 -05:00
Spencer Smith
67e50f6f50 feat: allow for bootkube images to be customized
This PR allows for pod checkpointer and coredns images to be customized
for bootkube. We can already customize the hyperkube image and all other
images used by bootkube are CNI-related and can be customized with the
"custom" CNI setup.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-01-21 11:17:28 -08:00
Spencer Smith
60260c85d1 feat: upgrade kubernetes version to 1.17.1
This PR will bring in the latest point release of k8s 1.17

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-01-17 09:39:26 -08:00
Spencer Smith
4b81907bd3 feat: allow additional manifests to be provided to bootkube
This PR will add an `additionalManifests` field to the config data that
allows users to specify a list of URLs that they'd like to fetch
manifests from. These manifests will then be added to the bootkube asset
directory and applied during the bootkube service.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-01-15 08:48:41 -08:00
Spencer Smith
d0476dbc93 docs: reorganize components sidebar and add ntpd
This PR alphabetizes the components and adds in the missing ntpd link.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-01-10 10:22:41 -05:00
Andrew Rynhard
5a7eb631b2 feat: add installer command to installer container
This replaces the entrypoint.sh shell script with a go binary.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-12-26 06:41:25 -08:00
Andrey Smirnov
26f222e6db refactor: osctl code cleanup, no functional changes
Fixes #1666

1. Remove custom validation of Args, use cobra-provided validators.
2. Always use errors to stop the execution flow, don't rely on
`log.Fatal` and `panic` for normal flows. This makes sure `defer` always
has a chance to run, connection is shut down in a clean way.
3. Command `docs` is hidden, as it's not for users.
4. Global variable `globalCtx` is removed, `WithClient` is used to pass
context to the command.
5. `setupClientE` renamed to `WithClient`, `setupClient` removed.
6. Code from `cmd/root.go` moved to `pkg/helpers` when possible.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-12-20 00:32:26 +03:00
Andrew Rynhard
fa4fb4d444 feat: add create and overwrite file operations
This adds `create` and `overwrite` file operations so that we can have
better sanity checks around extra files.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-12-11 11:49:27 -08:00
Andrew Rynhard
fe61a3591f docs: update osctl kubeconfig references
The usage of `osctl kubeconfig` has changed. This updates the docs to
reflect the change.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-12-10 19:08:31 -08:00
Brad Beam
9584b47cd7 feat: Upgrade kubernetes to 1.17.0
Primarily doc/constant changes.

Added additionnal bits to `docs` target in makefile to generate osctl
docs as well as config files. Explicitly define a HOME variable so we
get consistent home directories for talosconfig variables in our docs.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-12-10 16:03:35 -08:00
Andrey Smirnov
399aeda0b9 feat: rename confusing target options, --endpoints, etc.
Fixes #1610

1. In `talosconfig`, deprecate `Target` in favor of `Endpoints`
(client-side LB to come next).

2. In `osctl`, use `--nodes` in place of `--target`.

3. In `osctl` add option `--endpoints` to override `Endpoints` for the
call.

Other changes are just updates to catch up with the changes. Most
probably I missed something... And CAPI provider needs update.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-12-10 02:23:54 +03:00
Alex Szakaly
9efcf06dca docs: simplify corporate proxy
It is possible to append to file since 84354c59414,
hence no need to create custom Docker image.

Signed-off-by: Alex Szakaly <alex.szakaly@gmail.com>
2019-12-09 11:18:21 -08:00
Spencer Smith
c3deb3e439 docs: update with new cni abilities
This PR updates the docs for cni

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-12-06 15:37:53 -05:00
Spencer Smith
7c1d950686 docs: clarify vmware instructions
This PR clarifies a few nits about the vmware docs. We were referring to
alpha.2 in lots of places. I moved this to a note that just says to set
TALOS_VERSION to `v0.3.0-alpha.10` or similar. Also clarifies the path
to the ova could be any /path/to/downloaded/file.

Should close #1572 when we've gotten some extra info about the hardware
versions.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-12-03 16:40:50 -05:00
Brad Beam
119bf3e7bb feat(networkd): Add support for bonding
This includes a healthy refactor of the networkd code as well.
- Move netlink functionality to nic package
- Networkd facilitates the orchestration of the underlying interface configuration
- Networkd now stores the state of each interface configuration. This
  should allow us to expose this information via api in the future.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-26 20:08:31 -08:00
Andrew Rynhard
43ad18fbee feat: allow sysctl writes
This adds the ability to write sysctls on boot by specifying them in the
machine config.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-25 10:46:28 -08:00
Andrew Rynhard
dc19cdab9d docs: add matchbox getting started guide
This adds a basic guide on using Talos with Matchbox.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-23 07:20:49 -08:00
Brad Beam
91ac62389d docs: Add examples to networkd
Add simple examples around static addressing and assigning multiple addresses
to a single interface.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-14 22:11:40 -08:00
Spencer Smith
cd3827f9de docs: update gcp docs
This PR will uplift the GCP documentation to match our current way to
deploy talos via CLI.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-11-14 10:03:31 -05:00
Andrew Rynhard
e1fc9017d2 feat: allow extra arguments to be passed to etcd
This allows for an arbitrary set of args to be passed to etcd. Due to
the fact the we do the discovery of the current cluster state, we
blacklist initial-cluster. Additionally, we black list args that would
makes sense to modify, like the path to the certs.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-14 05:53:00 -08:00
Spencer Smith
f0c8feb56c docs: Update azure doc
This PR updates the azure doc to match the newer processes of deploying
talos.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-11-13 19:20:16 -08:00
Andrew Rynhard
714ae3e7c1 docs: add a project dropdown
The dropdown is a better place to group information about the project that
isn't documentation. This places the roadmap and use cases under the project
dropdown.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 21:48:34 -08:00
Andrew Rynhard
6c55234793 docs: remove stale docs
The KVM, Xen, and Digital Rebar docs are either not accurate or just a
blank page. We should remove them and add them back when we are ready
to.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 21:30:10 -08:00
Andrew Rynhard
5f2da192f2 docs: fix proxy Dockerfile example
Small fixes to the Dockerfile example for proxy setups.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 20:49:25 -08:00
Andrew Rynhard
eed169e457 chore: format docs to one sentence per line
Small nit fix.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 15:23:35 -08:00
Andrew Rynhard
3de9b45183 chore: remove CertificateKey
This was used by kubeadm. We no longer need it.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 15:13:56 -08:00
Andrew Rynhard
7b22dad662 docs: add customization guide for running behing a proxy
This adds docs on how to run Talos behind a proxy.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 14:36:41 -08:00
Brad Beam
e667a08bf0 feat: Add support for defining ntp servers via config
This introduces support for defining ntp servers via `config.machine.time.servers` parameter.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-11 12:11:52 -08:00
Andrew Rynhard
4680f66bc5 docs: add autogenerated config reference
This adds a small program to parse our config structs and generate
markdown from them. This will allow us to enforce a standard and require
documentation for fields as they get added.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-11-11 08:38:39 -08:00
Brad Beam
8988c1c6a0 feat: Disable networkd configuration if ip kernel parameter is specified
This allows the kernel argument `ip` to take precedence over networking configuration. Documentation for
this parameter can be found here https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-10 12:07:01 -08:00