Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the Zero Install feed for Minikube #7978

Closed
afbjorklund opened this issue May 2, 2020 · 6 comments
Closed

Update the Zero Install feed for Minikube #7978

afbjorklund opened this issue May 2, 2020 · 6 comments
Labels
kind/process Process oriented issues, like setting up CI lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. packaging Packaging issues priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@afbjorklund
Copy link
Collaborator

afbjorklund commented May 2, 2020

I would really like to support this way of distributing links to the minikube binaries:

https://apps.0install.net/kubernetes/minikube.xml

But currently I'm getting checksum errors, when trying to run the latest versions:

0install run https://apps.0install.net/kubernetes/minikube.xml

Incorrect manifest -- archive is corrupted.
Required digest: sha256new_COUKLDJ3K547BUITQTMI3KIXICLFELV5OAPPAURHJMIRIP6V2SWA
Actual digest: sha256new_IN5EGYYHA4Y7MG2JHVVIHL6ZUHVXMQSZHQ54SQHY2KPZ2N5LGNDQ


We should work with the Zero Install project, to make sure that it works out-of-the-box...
It has a lot of nice features, like a one-line start and automatic checksums and signatures.

See http://0install.net/ for details.

Eventually we could compress our binaries, to make for a smaller download as well...
They would shrink from the current 53M to a much leaner 23M - for the same content!

23M minikube-linux-amd64.tar.gz

@afbjorklund afbjorklund added the packaging Packaging issues label May 2, 2020
@afbjorklund
Copy link
Collaborator Author

0install/apps@080cd4c

@medyagh
Copy link
Member

medyagh commented May 3, 2020

can u provide docs how to use it ?

@afbjorklund
Copy link
Collaborator Author

can u provide docs how to use it ?

They were actually included above:

0install run https://apps.0install.net/kubernetes/minikube.xml

A better example (that actually works):

0install run https://apps.0install.net/kubernetes/kubectl.xml


For the first time using the system, you would need to install something.
But that is usually provided by the distribution, so should not be an issue...

Command '0install' not found, but can be installed with:

sudo apt install 0install-core

It will install the CLI version by default, so if you want the GUI you can add it too.
The separate package (for core) is to cut down on the number of dependencies.

sudo apt install 0install

0install-gui

Note that it will automatically pick the operating system and cpu architecture for you.
As well as keep it updated (you also have the option to pick a version as "preferred")

For our regular instructions, the user would have to remember do all that themselves:

 curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
 sudo install minikube-linux-amd64 /usr/local/bin/minikube

And that is not verifying any checksums or signatures (even if that is also the problem here...)
My intution says that it is the modification time that is the issue here, so should be easy to fix.

You can see how it all works here: https://docs.0install.net/details/

Notice that it is just using our regular minikube binaries in this case.


In fact, we provide the exact same binary in multiple formats - to make it more accessible...
Whether the user downloads the deb or the rpm, or the raw elf or the tgz - it's the same exe:

make out/minikube-linux-amd64 out/minikube-linux-amd64.tar.gz \
     out/minikube-$(make rpm_version).rpm out/minikube_$(make deb_version).deb

Once the checksums have been fixed (this issue), I will add it to the minikube documentation.
Since we seem to be unable to host our own signed package repos, this could be an alternative.

It is blocked by kubernetes/release#839

Our limited workaround is #7971 (fixes the URL version part, but no signatures and no updates)

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb

@afbjorklund
Copy link
Collaborator Author

My intution says that it is the modification time that is the issue here, so should be easy to fix.

I was close, it was the executable bit (the modification time was always set 0 for loose files)

It works OK with newer 0install. If we add tarballs and icons, then it would work fine in all...

@sharifelgamal sharifelgamal added kind/process Process oriented issues, like setting up CI priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels May 4, 2020
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 3, 2020
@afbjorklund
Copy link
Collaborator Author

This issue has been fixed since v1.10.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/process Process oriented issues, like setting up CI lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. packaging Packaging issues priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

5 participants