54 Commits

Author SHA1 Message Date
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
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
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
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
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
Brad Beam
32fe6297fe feat(networkd): Add support for custom nameservers
This adds support for specify nameservers in the config.

When I was adding tests I noticed the netconf code for setting
the MTU caused a panic. Given how we retrieve the data ( device centric )
in the static addressing method, I think this is safe to remove.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-07 13:57:02 -06:00
Brad Beam
988acfee51 docs: Add machine.env section
Adds information about supported environment variables.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-11-05 12:41:49 -08:00
Andrew Rynhard
2cad745292 docs: add customization guide
This adds a section on customizing Talos.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-31 14:47:17 -07:00
Andrew Rynhard
d39658a9ed docs: add VMware docs to menu
This adds the VMware docs to the sidebar menu and also touches up the
wording a bit.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-31 12:19:33 -07:00
Brad Beam
ca76ccd4af feat: Add support for creating VMware images
This PR adds support for generating VMware compatible images as an ova.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-10-31 13:39:54 -05:00
Andrew Rynhard
6e03adad06 docs: add troubleshooting guide on common PKI scenarios
This adds a "Troubleshooting" section to the documention along with a
guide on generating a certificate. This covers the scenario when a
user's certificate has expired.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-30 15:54:29 -07:00
Andrew Rynhard
6a61b3a1b2 docs: add note on CRNG initialization
This adds a note on the usage of random.trust_cpu to get around slow
boot times due to low entropy.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-30 14:12:31 -07:00
Andrew Rynhard
362134e2f2 docs: fix Digital Ocean docs
Fixes small typos, and errors in the tutorial.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-28 15:34:57 -07:00
Andrew Rynhard
0d1c5ac305 feat: add support for Digital Ocean
This adds a Digital Ocean platform implementation.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-28 10:46:15 -07:00