The FAQs should be pulled out from the documentation as they are
specific to a version of Talos and more of a marketing message. This
adds a dedicated page for the FAQs.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This replaces the Mardown based landing page with a pure HTML approach.
This allows us to have a landing page that is much more impactful.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds the logic for handling multiple versions of documentation, and
adds a copy of the v0.2 docs as a starting point.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This enables the ability to specify additional <talos> endpoints to connect to
to pull back data.
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
This PR moves to using the full URL for endpoint instead of trying to
hardcode 6443 in various places like we were doing.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This removes the github.com/pkg/errors package in favor of the official
error wrapping in go 1.13.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This should provide a better UX around misconfigured Talos nodes. It is
just the start of something we can expand on.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Instead of passing around a struct, it is better if we pass around an
interface that describes the behavior we want. The Runtime interface
provides a common place to describe runtime specific parameters. This
initial implementation offers the runtime mode, the platform specifics,
and the config.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This release comes with support for caching lint results. It should
allow for speed ups when some packages don't change between the runs, so
cached information about packages might be used instead of running
linter collect phase on the package.
In my non-scientific test:
1. Fresh: 40s
2. One file change: 15s
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
It is common for us to create a certificate and key using a root CA.
This adds a helper function to make this process easier and
standardized. For now, the function is only used when generating
configs, but there are a number of places we should update in follow
ups.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Without networkd, the /etc/resolv.conf in containers causes CoreDNS to
fail with "Forwarding loop detected in "." zone." With networkd running,
we overwrite /etc/resolv.conf and avoid this. I'm not sure this is what
we want in the long run, but this will fix things for now.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds NTP and Udev to the list of services designated only for
non-container modes. We should be able to rely on the host running
Docker for accurate time and Udev information.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This brings in a few minor improvements to the metal platform. The first
is to use talos.config=metal-iso to indicate that the machine's config
can be found in an ISO image. The second is a fix to ensure that /mnt
exists.
This adds support for creating more than one node using the qemu-boot.sh
script.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Since we no longer have the static IP requirement, we can update all
references to the "master IPs" to use the control plane endpoint.
This adds support for creating more than one node using the qemu-boot.sh
script.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR will fix a bug where osd fails to start when the instances are
behind a load balancer (only one LB IP specified in machine config). For
masters, osd should be able to look to localhost anyways, and workers
will still gather the endpoints via kubernetes node lookups.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
We have decided that proxyd is not the best architectue for HA
Kubernetes. Our recommendation to users will be to create a load
balancer instead.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This moves to using a single revision of pkgs. It includes a few
changes:
- kernel with KVM host support
- containerd v1.3.0
This change brings in a kernel with host KVM support. This will allow us
to use VMs within Talos for things like integrations tests. This also
allows users to do things with KVM as they see fit.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
The endpoint discovery performed by OSD depends on a generated
kubeconfig that references a client certificate which is not on disk by
the time the OSD service runner is created. This adds a wait for the
kubelet to be healthy and retry logic to tolerate any race conditions.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR updates the sonobuoy version. We're currently running
conformance tests with 0.15.x
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This PR will add the bits necessary to make use of changes to our
v1alpha1 cluster api provider for CI testing. This is needed since we've
had machine config changes.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This PR will add the ability to query metadata servers in azure to fetch
external IPs. Needed to ensure certs get generated with proper cert SANs
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This package provides a consistent way for us to retry arbitrary logic.
It provides the following backoff algorithms:
- exponential
- linear
- constant
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Since some applications read the config from disk on startup, we need to
write the config to disk just before starting them in order to relay any
data that has been added to the config during bootup.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds a setter for the certificate SANs and sets the hostname based
on info from the platform.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR will push the cluster network node configs for all nodes. This
is needed so that non-init nodes can know the service address range to
use for determining the IP of services like coredns.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
Memory usage reduced around 8-10x: now it stays stable at 1GB.
I disabled some of the new linters, and one rule which is violated a
lot.
I might make sense to go back and enable `wsl` fixing all the issues
(leaving that for another PR).
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
When creating docker based clusters, we need to use `InternalIP` for
kubelet connections. The default is
`Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP`, but
`Hostname` doesn't work in docker because we don't depend on docker for
DNS.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>