jay7x / puppet-lima Goto Github PK
View Code? Open in Web Editor NEWManage Lima VMs with Puppet Bolt
License: Apache License 2.0
Manage Lima VMs with Puppet Bolt
License: Apache License 2.0
It'd be nice to have a VM startup/shutdown order in the cluster. That allows to do staged cluster startup/shutdown.
Imagine we have 3 VM with node1
having order of 10 and other 2 VMs having order of 100. Then node1
should be started first and the other nodes should be started after the 1st one in parallel. Shutdown sequence should happen in a reversed order.
lima::resolve_reference
task uses limactl show-ssh
to get a VM ssh config. The command output has multiple IdentityFile
lines which makes it impossible to use as-is in the Bolt inventory. Currently the value is hardcoded as "#{lima_home}/_config/user"
.
Starting from Lima 0.15.0 (I don't remember it in earlier versions at least) there is IdentityFile
field in the limactl list --json
output for every VM. So I guess it's better to use this value instead of hardcoded one as we have full JSON object from the limactl list
output anyway.
Another frequent nice-to-have feature is cluster restart. Options:
lima::cluster::restart
which calls stop and start insiderestart=true
option in the lima::cluster::stop
planWhile starting multiple VMs in parallel is unsafe in general (see lima-vm/lima#1354) it'd be really nice to have a way to ๐ค๐ป, ๐๐ป and do it anyway. As long as all VMs are created already it should be safe to start them in parallel. So my idea is to add a parallel=true
kind of parameter to the lima::cluster::start
plan.
Starting from some lima version (0.17.0) limactl create
command was implemented. It'd be nice to use it instead of guessing what is expected to do in a start call.
It'd be nice to validate the config hash passed to the lima::start task if defined.
N.B.: There is a way to pass config hash to the limactl start
via stdin.. this way we don't need to create a temporary file => we cannot check it with limactl validate
..
It'd be nice to have a way to configure that a VM is plain
. I believe it should be possible to define this in a YAML config. Otherwise another parameter is required for the lima::create
task (and for the lima::cluster::create
somehow).
As limactl delete
allows to specify multiple VMs to delete it'd be nice to allow this in the lima::delete
task.
โ limactl show-ssh -f options test
WARN[0000] `limactl show-ssh` is deprecated. Instead, use `ssh -F <...>/.lima/test/ssh.config lima-test`.
It'd be nice to use Lima cli helper library instead of calling it explicitly from every task. I implemented such a helper in the beaker-lima
project. It might require some tuning though.
With the separate lima::cluster::create
plan introduced recently it'd be nice to have an ability to create and run a cluster in a single plan call:
lima::cluster::create start=true
๐๐ปlima::cluster::start create=true
๐๐ปAs lima has no way to define a cluster it'd be nice to have few plans to define/create/delete multiple VMs as a "cluster" entity.
E.g. one may want to run local k8s cluster in lima (N master nodes, M worker nodes e.g.). Another example is local Puppet cluster (1 Puppetserver with CA, 1 PuppetDB, X agent nodes).
The info
task should take no args and return the limactl info
result
Quite frequently I'm stopping a cluster to delete it after. So it'd be nice to have ability to stop a cluster and delete it in the same plan call. There are options:
delete=true
parameter to the lima::cluster::stop
planstop=true
parameter to the lima::cluster::delete
planA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.