2025-04-01 20:18:45 hi 2025-04-01 20:18:54 I'm working on Alpine Linux builds for VMware, VirtualBox, Vagrant, Parallels, qemu, and Hyper-V; for x86_64 and aarch64. 2025-04-01 20:20:29 tomalok: ^ 2025-04-01 20:44:09 speaking about the VM builds.. I've noticed there is no variant for 3.16 x86_64 ami anymore on AWS - only aarch64 is present... 2025-04-01 20:44:15 $ aws ec2 describe-images --region eu-central-1 --owners 538276064493 --include-deprecated --filters 'Name=name,Values=alpine-3.16*' | jq '.Images.[].Name' 2025-04-01 20:44:18 "alpine-3.16.9-aarch64-uefi-cloudinit-r0" 2025-04-01 20:44:37 is that something that can be somewhat easily fixed or am I out of luck? 2025-04-01 20:46:20 Not sure about the descrapancy, but I know that the team is pruning images to reduce costs 2025-04-01 21:01:51 yeah I think I vaguely remember that unsupported ones will just have a single latest version still there, but I'm not too sure if that discussion happened before or after 3.16 2025-04-02 02:28:55 ACTION is back 2025-04-22 13:32:32 This channel wasn't listed on the community page so I didn't find it. 2025-04-22 13:32:33 I'm keen to get a Digital Ocean image prepared. 2025-04-22 13:41:26 mergerequests are welcome I suppose 2025-04-22 13:41:44 i think basically what is needed is an imds driver and autodetect driver 2025-04-22 14:16:37 I'm digging around trying to build an image using this tool. 2025-04-22 14:18:20 I don't know python either so it is definitely going to be a struggle. 2025-04-22 23:50:07 Is there a guide on the basic files I need to add to get a DO image started? 2025-04-22 23:56:32 ncopa I assume it's just you and I in here... 2025-04-23 01:50:08 Nope, my Matrix client had just failed to populate the rest of the users. 2025-04-23 01:51:26 tomalok are you around 2025-04-23 03:18:21 Justin[m] around occasionally. 🤹 a bit lately. i did see your comment on an open issue. the need for imds/autodetect that ncopa mentioned is (i think) related to tiny-cloud instance bootstrapper -- but doesn't the more heavyweight cloud-init already support digital ocean? if that's the case you should be able to use a "generic cloud-init" 2025-04-23 03:18:21 image and it _should_ detect it's running on digital ocean and (presumably) work? 2025-04-23 03:19:17 tomalok: Is there a space concern having one specifically for Digital Ocean? 2025-04-23 03:21:27 there's a space concern for having all the ones we have now -- there are a lot of variants to build. there really isn't as much difference between each of them, the future of the alpine images will be more towards providing generic images that detect the cloud provider and takes it from there. 2025-04-23 03:21:44 Ah OK, sounds good. 2025-04-23 03:23:37 not sure whether i'll make sufficient progress towards that goal for the coming release, but the more we can shake the generic images out the more we can make improvements :) 2025-04-23 03:23:40 I guess one image could contain cloud-init and tiny-cloud and remove whichever doesn't get used. 2025-04-23 03:25:02 it's mostly the cloud provider we'd like to reduce, and secondarily coming up with a hybrid image (for x86_64) that can handle both BIOS and UEFI -- aarch64 doesn't do BIOS. 2025-04-23 03:25:53 there is a significant difference between tiny-cloud and cloud-init, so that's one dimension we'd be keeping (along wtih the obvious arch dimension) 2025-04-23 03:28:17 You can identify Digital Ocean VMs a few ways. lshw shows "vendor: DigitalOcean", lscpu shows some variant of "Model name: DO-Regular" or DO-PremiumIntel, etc. 2025-04-23 03:31:36 generic_alpine-3.21.2-x86_64-bios-cloudinit-r0.qcow2 boots but ssh doesn't start or networking, not sure. 2025-04-23 03:31:57 Can't ping it so I guess network isn't coming up. It would be nice if these images had a default root password so we could log in and test. 2025-04-23 03:32:04 for almost everthing else i've poked at /sys/class/dmi/id/modalias seems to be a one-stop shop for cloud identification -- with some examples from DO hosts we should be able to detect 2025-04-23 03:32:49 Yeah that looks handy: cat /sys/class/dmi/id/modalias: dmi:bvnDigitalOcean... 2025-04-23 03:33:21 I'm guessing some of the networking from https://github.com/benpye/alpine-droplet/blob/master/setup.sh is needed. 2025-04-23 03:34:55 cloud-init APKs _might_ not have all dependencies installed for networking to work on DO? because cloud-init is overly feature rich not all dependencies for all featured are pulled in, but it would be good to have some console logs or something to show that was the case. 2025-04-23 03:35:36 Without being able to login to the rescue console and no ssh it's rather hard to get logs. :) 2025-04-23 03:35:53 what's the nature of "rescue console"? 2025-04-23 03:36:13 serial? 2025-04-23 03:36:16 It says the cloud images all have a user account called alpine. 2025-04-23 03:36:27 QEMU Console. 2025-04-23 03:36:27 and no login password 2025-04-23 03:36:43 so it's a video device? 2025-04-23 03:36:44 I tried alpine with no password, that doesn't work either. :( 2025-04-23 03:36:48 Yeah. 2025-04-23 03:36:58 i should say _disabled_ login password. 2025-04-23 03:37:15 https://i.imgur.com/8gaJplc.png 2025-04-23 03:37:33 So you can't login via tty1? 2025-04-23 03:39:09 yeah, default user for cloud images almost always disable password logins. 2025-04-23 03:39:28 Are you able to spin a debug image that has login enabled? 2025-04-23 03:39:36 That way I can login and check logs. 2025-04-23 03:40:07 it's possible to do, yeah. 2025-04-23 03:41:00 but the question is _when_ would i be able to get around to it ;) 2025-04-23 03:41:03 When you get a chance to spin and upload, link me and I'll see what I can figure out. 2025-04-23 03:41:31 (nod) 2025-04-23 03:42:01 Fair enough. 2025-04-23 03:43:22 ok, back in lurk mode... ;) 2025-04-23 03:44:01 If there are some simple steps I could do on a generic image to open it, set a password for alpine and then upload it I am happy to try. 2025-04-23 04:24:00 OK so the only thing that needed to be done was "ifup eth0" and "ifup eth1"... 2025-04-23 04:25:22 https://i.imgur.com/whasdpI.png 2025-04-23 04:26:38 There was an error in the script ^ 2025-04-23 05:00:22 OK so the networking was failing because the hostname I think was too long 😆 2025-04-23 05:05:09 OK having a shorter hostname allows network to come up cleanly but ssh didn't come up the first boot, I rebooted to chroot and change the root password so I could log in and check but now ssh is running... 🤔 2025-04-23 06:56:06 OK so the ssh key is attached to the alpine user. 2025-04-23 07:23:31 Is it possible to have the alpine user not created and just root? 2025-04-23 07:42:15 A user with doas without a password doesn't really increase security much. 2025-04-23 08:31:42 should be possible 2025-04-23 08:32:25 IIRC there is a setting to set the cloud user. If you set it to 'root' it will not create the 'alpine' user 2025-04-23 08:32:41 or you could add the ssh key to the root user 2025-04-23 08:33:22 users: 2025-04-23 08:33:22 ssh-authorized-keys: 2025-04-23 08:33:22 - name: root 2025-04-23 08:33:22 - ssh-rsa 2025-04-23 08:39:27 "IIRC there is a setting to set..." <- Where is that setting? 2025-04-23 08:41:16 You provide that through userdata 2025-04-23 09:04:34 we need improve the docs how to do those things 2025-04-23 10:29:50 Yeah docs are good. 2025-04-23 10:30:35 Is it possible to strip the images down further? The VM image I built on my PC locally had only 60 packages installed to start with. 2025-04-23 14:14:21 Justin[m] cloud-init has a lot of dependencies -- python for example. tiny-cloud tries to have minimal dependencies for smaller images -- but there is a smaller list of cloud providers it supports. 2025-04-25 09:57:52 tomalok: I'm not talking about cloud-init or its dependencies, just packages installed overall. 2025-04-25 18:42:19 FYI: I’ve opened an MR to fix a `cloud-init` regression that affects Alpine's cloud images: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/82091. Once it’s merged, the change likely needs to be pulled into the image build. The MR is still pending approval. If anyone can take a look or can help move it along, I’d appreciate it. 2025-04-25 18:42:19 Thanks :) 2025-04-29 03:09:59 So what is the dependencies list like for tiny-cloud vs cloud-init? 2025-04-29 03:10:31 I don't see tiny-cloud in Ubuntu 24.04 which I'm using at the moment. I guess I'd need to compile it or create a deb? 2025-04-29 03:15:06 Ah it's done in shell, very nice. 2025-04-29 03:16:42 Ah it needs busybox and ash which aren't on my image. 🤔 I wonder if it can use other tools if those aren't available. 2025-04-29 04:20:47 I believe this is where user accounts are created with tiny-cloud: https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/blob/main/lib/tiny-cloud/user-data/cloud-config?ref_type=heads#L14-39 For requirements you can see tiny-cloud using **yx** to parse the user.data file. adduser is used to create the account. 2025-04-29 04:20:47 https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud/-/blob/main/lib/tiny-cloud/init#L167. The $MOCK is a neat idea that I haven't seen. It's set to "echo" in the test directory, meaning if $MOCK is unset during runtime, the actual adduser command is ran. Otherwise during testing when it's set, MOCK echos the command instead of calling it.