utm-templates's Issues
Can we add the official templates to this app as well as the unofficial ones?
I was thinking that since the official gallery is simply linking to the release artifacts in the UTM/vm-downloads repo, it would also be possible to add them to this app. I'd prefer to download the official ones, if what I'm looking for is available already; otherwise, I'd look for a third party VM in a third-party gallery.
This is the URL to the official Debian 10.4 LXDE ARM64 UTM VM, for example:
https://github.com/utmapp/vm-downloads/releases/download/debian-10.4/debian-10.4-ldxe-arm64-utm.zip
Allowing users to submit committed Zipped VM's as pull requests
What I was thinking could be done for submitting VM's as PR's is something like this:
- User creates a VM and zips it up as debian-11.2-amd64.utm.zip (or whatever name best represents the VM)
- User places the VM in the folder called
vm-submissions
- User commits the VM with
git add debian-11.2-amd64.utm.zip && git commit -m "Debian 11.2 AMD64 virtual machine with LXDE, similar to the ARM64 one but for the AMD64 architecture instead."
- Once PR is approved, GitHub Actions process kicks off that then takes the newly created VM and generates release notes with the VM uploaded as a GitHub Releases artifact. The workflow bash code might look something like this, if using the go module
github-releases
:
- name: Publish the VM ZIP file and release notes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export VM_FILENAME=`git show --pretty="" --name-only`
go install github.com/github-release/[email protected]
echo "Set release notes for VM using the commit message as the VM description"
~/go/bin/github-release release -u smattar2020 -r vm-downloads --tag $VM_FILENAME --name $VM_FILENAME --description "`git log --format=oneline -n 1`"
echo "Upload the VM as an artifact..."
~/go/bin/github-release upload -u smattar2020 -r vm-downloads --tag $VM_FILENAME --name $VM_FILENAME --file $VM_FILENAME
Sorry I don't have time to try this right now, but if you wanted to take this forward and give it a try, this is roughly similar to what I had done just a few days ago here. Hope this helps!
Implement search functionality
It would be useful to add the ability to search for VMs in UTM Templates. This is currently available at: https://github.com/smattar2020/utm-templates/actions/runs/2246893041
Is it possible to show the download size in the UI
I was looking at the code and found the download link. If I remove /content
from the URL, I get a JSON object that contains the file size of the ZIP file. I was thinking it's possible to parse the JSON, grab the download size, and then show in the UI.
Note this is not the same as the drive size, since the drive may be expandable up to 64GB (but not necessarily taking up that amount of space on the computer).
I'm always struggling for disk space, so knowing the download size is super helpful. Below is an example of the "Windows 10.utm.zip" VM url:
URL:
https://api.onedrive.com/v1.0/shares/u!aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBbzNpSVRXZV9FWmdwdElidHBEQV8tVmk4NlJhTmc_ZT1nZFFiUlo/root
API Response (truncated):
{
...
...
"lastModifiedDateTime": "2022-03-25T11:39:04.91Z",
"name": "Windows 10.utm.zip",
"parentReference": {
"driveId": "6046fc9e3521e28d",
"driveType": "personal"
},
"size": 5556485106, // file size. I assume this is 5.5 GB
"webUrl": "https://1drv.ms/u/s!Ao3iITWe_EZgptIbtpDA_-Vi86RaNg",
"file": {
"hashes": {
"quickXorHash": "5LcKRAD//gDMG2F6lyJJy9e7FCI=",
"sha1Hash": "9B97DC4D6114B7D1B00685E3AE2AC4B5F18FE3D7",
"sha256Hash": "913AA67F5D7C842CB36E2D7C962E8281A8AB1384E712684E07A6E9ACDD740009"
},
"mimeType": "application/zip"
},
...
...
}
Implement Auto-updating
It would be useful to implement auto-updating for UTM Templates.
Download VMs from JSON file hosted in repo
Rather than having UTM Templates update every time there is a new VM, it would be useful to store the VMs in a JSON file and download it into the app automatically. This would also help simplify #4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.