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>
The basic integration cluster name was changed in a previous PR. This
aligns the E2E script with the new naming conventions, and mounts the
correct integration test binary.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR will disable iso publication for now. We plan to reincorporate the
ability to use ISOs once we've researched #1722.
Will close#1442
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
Now that we have a push target and push-% target, we can simplify the drone
conditions. This updates the conditions so that the latest channel updates
on pushes to master, the edge channel updates on successful nightly cron, and
an image with the standard tag is pushed in all events except pull requests.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This updates the drone conditions to push the latest tag only
for pushes to the master branch. Additionally, the edge tag will be
pushed only when the nightly cron is executed.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
The GitHub release plugin doesn't allow directories, and has no way to
tell it to ignore a path. The workaround is to be explicit about what
files we want in a release.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
There are few workarounds for Drone way of running integration test:
DinD runs as a separate pod, and we can only access its exposed on the
"host" ports, while from Talos cluster this endpoint is not reachable.
So internally Talos nodes still use addresses like "10.5.0.2", while
test is using "docker" to access it (that's name of the `docker` service
in the pipeline).
When running locally, 127.0.0.1 is used as endpoint, which should work
fine both on OS X and Linux.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This adds functionality to update the CHANGELOG, and cherry-pick a
commit into a release branch.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds a help menu to the Makefile. It documents all build
dependencies, and how to get started.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds support for downloading the machine config over TFTP. This
will allow users to avoid having to setup an HTTP server, and use
whatever they are using for PXE.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
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>
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>
Now default is not to follow the logs (which is similar to `kubectl logs`).
Integration test was added for `Logs()` API and `osctl logs` command.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This PR will be the start of several. It rewrites the basic integration
in go. We'll do these one at a time.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This PR adds the ability to override the image in our default build step
function in jsonnet. Needed so we can override the image easily for
basic integration tests.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
The `--e2e-parallel` flag seems to skip all tests when running in
certified-conformance mode. This reverts that change, and also adds a
check that fails if the conformance tests do not pass. This ensures that
we are not publishing broken versions of our edge release.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This upgrades sonouoy and additionally adds the `--e2e-parallel` flag to
hopefully speed things up.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This adds a step to the conformance pipeline that pushes all containers
with the tag "edge." This Will allow us to start using and edge
"channel" for upgrades.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This creates an IMA policy at boot. It uses the default TCB policy with
a dont_measure rule for XFS.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR removes all refs to the azure e2e/integration/conformance tests
for now, since we need to wait on some upstream CAPI fixes and the test
is currently broken.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This adds an integration test that can be ran on a KVM enabled Linux
machine. It makes use of docker, matchbox, dnsmasq, libvirt, and HAproxy
to create an HA cluster.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
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>
This PR adds in the necessary manifests and fixes to deploy aws clusters
as part of e2e testing.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
Also refactored `integration-test` build as a generic step to be shared
by basic-integration and e2e-integration steps.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This PR will re-enable e2e testing by using the new cluster api
bootstrap provider and various infra providers.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This is just first steps and core foundation.
It can be used like:
```
make integration.test
osctl cluster create
build/integration.test -test.v
```
This should run the test against the Docker instance.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This moves the Kubeconfig api endpoint to machined and consolidates the
"read a file" code into machined. This also changes Kubeconfig to
use the CopyOut method which changes Kubeconfig to a streaming grpc call.
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>