* Separate start args from args passed to every command. This is so
that we can call `minikube logs` and `minikube status` with the proper
flags (for the bootstrapper)
* Add a NewMinikubeRunner function to make getting a minikube runner
easier.
This PR introduces caching of localkube images. It makes a best effort
to cache the essential images localkube needs as minikube starts up.
Currently, the list of cached images is hardcoded, but future work might
entail
1. Cached images as a property of the cluster bootstrapper - to allow
localkube and kubeadm to cache their respective images.
2. Addons contain image information. Then, we can selectively cache and
preload only the addon images that are enabled.
Theres currently no good way to run the integration tests for the none
driver locally. Now that we've added the e2e target, we can depend on
that. Running the e2e test binary locally requires the testdata folder
to be in a different path, since it is relative to where the code is
being ran. I added a testdata-dir flag to the integration tests so we
can set it appropriately for when we want to run the e2e binary by
itself.
I also made the e2e test binary a PHONY target, so we rebuild it each
time. I had trouble collecting the dependencies on the integration
test packages
I find myself referencing this documentation every time I make kernel
configuration changes. I've added a simple rule to open the kernel
configuration menu, and then save your changes to the right directory.
https://www.gnu.org/software/make/manual/make.html#Secondary-Expansion
This allows us to have conditional targets for our tar command. I also
simplified the makefile rule for `out/minikube-%-amd64` by not caring
to force uppercase on the variables, since the official makefile docs
seem to not care about it.
The cross build container we use for darwin needs two extra environment
variables to invoke specific C and CPP compilers. These aren't needed
and won't work natively on darwin, so only pass them in for docker
builds.
BUILD_IN_DOCKER=y will build both localkube and minikube in docker
LOCALKUBE_BUILD_IN_DOCKER=y, MINIKUBE_BUILD_IN_DOCKER=y will toggle
docker builds for each respective binary
Regardless of the options provided, if you attempt to build localkube on
a non-linux platform, it will run in docker. This ensures that `make`
still works as expected on darwin.
Remove the dependency on cross from checksum. This means that checksum
can be called without all binaries being built, but no checksums will
be generate for those binaries.
This rebases minikube-iso to the release 2017-02.
A change in buildroot required the introduction of a `external.desc` as
multiple external trees are supported in modern buildroot versions. This
required change is described here [0].
[0] https://buildroot.org/downloads/manual/manual.html#br2-external-converting
The existing isolinux.cfg was not included in the config and thus
ignored, include it.
The 4.9.13 kernel included in buildroot 2017-02 is not compatible with
VBox guest additions 5.1.6, thus bump guest additions to 5.1.18.
The defconfig of 4.9.13 has been cleaned up.
systemd 232 included in buildroot 2017-02 is incompatible with docker <
17.03 without boot parameter systemd.legacy_systemd_cgroup_controller=yes
Signed-off-by: Thomas Graf <tgraf@suug.ch>
$ make buildroot-image
$ make out/minikube.iso
- Add en entry in the Makefile for building the container: buildroot-image
- Modify the minikube-iso target to out/minikube.iso to comply with the way
makefiles work.
- Also force the use of a docker container. If not needed
just run IN_DOCKER=1 make out/minikube.iso to avoid the invokation of a docker
container.
- Add some doc.
- The tag added to the generated image will allow to bypass the build of the
image as soon as the container is pushed to the minikube registry.
This makefile dependency is currently only on the folder, not the files
within. With this PR, the makefile will rebuild the assets when
changes are made to deploy/addons
When changes are made to the ISO folder, rebuild and upload the newly
modified image. Use this uploaded image as the default in the e2e test
binaries, so that the e2e test suite runs against the PR's changes.
TODO: Subsequent PRs (no changes to ISO) will still run against the
default version in the makefile. We should figure out if we want to
always run tests against the "latest" image.
This adds a new libmachine API implementation that skips RPC and instead
uses a vendored in driver directly. This removes the need to download a
separate driver binary. Currently, only the "core" drivers, and kvm are
supported as vendored in. This means that xhyve is the only driver that
requires a separate binary for now.
Before this change, the binary was named `minikube-linux-amd64`,
which is the platform specific artifact name.
When installed through the .deb package, a user expects to have
the `minikube` directly on the `$PATH`.
This change populates the binary as `minikube` in the resulting .deb file.
The makefile was slightly broken for minikube-iso. Since it && all the
commands to check if buildroot, the git clone failed if the buildroot
folder already existed and broke the target. I put this logic in a
conditional.
Removes the vendored in kube2sky built into the minikube binary and
replaces the dns solution with kube-dns cluster addon. This will allow
users to swap out DNS implementations by simply turning off the
kube-dns addon.
We are using k8s pkg/version in minikube cmd to print out the
default version. This was falling back to the defaults in pkg/version/base.go which were an ugly format string. This wasn't actually being passed into cluster.go because we didn't pass the string in if was a default version.