In order for other projects to make use of our APIs, they must not
reside underneath the internal directory. This moves the protobuf
definitions to a top-level "api" directory and scopes them according to
their domain. This change also removes generated code from the gitignore
file so that users don't have to generate the code themseleves.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
New linter 'funlen' was disabled as too many functions break the default
limit, but might be considered for the future.
To limit peak memory usage, `GOGC=50` was added to the golangci-lint run
to make Go's garbage collector more aggressive. With this setting peak
seems to be around 8Gb.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
We need to remove an exiting AMI, if it exists, in order to create a new
one with the same name.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This moves to making AWS releases align with Azure, and GCP. We no
longer need packer since we will now release an artifact that users can
import.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This PR updates our e2e tests with the provider-components file that's
generated by our capi v0.1.9 update.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
This was breaking e2e testing, as we depend on it for applying CAPI and
launching VMs from there.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
Go by default caches unit-tests results via build cache, so if source
code doesn't have any changes, test results are cached on package level.
As our unit-tests are not that pure and depend on the environment, it
would be more helpful to make sure all the unit-tests during each build.
Setting number of test runs to one disable test result cache (but build
cache is still being used).
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
- Use az/gcloud cli bundled with container
- Use consistent spacing in scripts ( 2 spaces vs tab )
- Updated count functions to handle the count inline
- Made platform kubeconfig the default
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
This is a major rewrite of our network subsystem.
- This changes networkd to run as a standalone app versus internal goroutine
- This changes out the netlink package with the more idiomatic netlink/rtnetlink
packages
- This changes the initial network bootstrap/discovery from using a single
interface to attempting to bring up all interfaces
- This moves us back on to the upstream dhcp library
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
In order to DRY up all installation methods and mount methods, this PR
introduces a few more runtime modes. The modes are then used to
determine the strategy for creating and or mounting the paritions.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
These are failing with false positives. Disable for now so that we can
run our conformance tests.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This should fix a race conditions where two independent image creation steps
run `losetup -f` and discover the same 'next available' loopback device and
attempt to use it.
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
This PR will save us a little dinero over the course of running e2e
builds in azure. It's only a couple cents per hour difference, but will
shave off a fair amount over the course of a month.
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
If we wait for all masters to check in before applying the PSP, we run
the risk of kube-proxy failing to start for a long period of time.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This is the recommended fix for waiting on conformance results. Sonobuoy
is returning early even though the --wait flag is specified.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
In order to use promotion against pull requests to trigger things like
E2E, we need to update the default clone logic. The issue is that a
promotion is assumed to be ran against a build that has been merged. In
our case, we need to promote builds that are not necessarily merged.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This prevents the default pipeline from running on releases. It also
ensures that the push step is executed on a release.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
We should only use the "tag" event and remove the promotion event. It
seems like we can't have both.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
In order to run more than one instance of E2E testing at a time, we need
to ensure that all resources are unique to the run.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Although the GitHub release plug requires a tag and will fail on a
promotion, this is still useful as it will allow us to mimic a release
before we tag.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Instead of building platform specific images in the default pipeline, we
should build just one image as part of our basic testing to make sure
installations work as expected.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This change improves the drone jsonnet file by making it more DRY and
structuring it in a way that makes it much easier to follow.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Problem was triggered by udevd trigger, root cause is not clear, but
workaround is to disable it for container mode.
Implement CPU/mem limits for `osctl cluster create`, apply defaults,
bump defaults for cicd.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This is another attempt at fixing the clone logic to make it work when
building the master branch.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This fixes and issue with cloning the master branch caused by git
refusing to fetch into the current branch.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
- Wait a little after cluster comes up
- Change interaction with CONFORMANCE variable to work around
set -eou pipefail restrictions
- Set sonobouy runner version to latest to work with alpha
version
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>