What is the difference between images alpine/3.10 and alpine/3.10/cloud?

What is the difference between images alpine/3.10 and alpine/3.10/cloud?
They seem to be almost identical. Apart from the image dates, they seem to have a slightly different version in /etc/alpine-release.apk-new:
alpine/3.10: 3.10.2
alpine/3.10/:cloud: 3.10.1

The cloud variant has cloud-init installed in it.

That would be lovely, but does it work yet? How?
I created this profile for creating a user, which works with ubuntu, but not with alpine/3.10/cloud:

config:
  user.user-data: |
    #cloud-config
    users:
      - name: votsalo
        ssh_authorized_keys:
          - ssh-rsa test votsalo@example

description: creates votsalo user
name: votsalo
used_by: []

I used it as follows:
lxc launch ubuntu:18.04 u1 -p default -p votsalo
lxc launch images:alpine/3.10/cloud a1 -p default -p votsalo

container u1 has user “votsalo”, as specified in cloud-init
container a1 has no such user. Also tried with images:alpine/edge/cloud

My pet peeve with alpine is that I cannot create a passwordless user easily. I manually assign a dummy random password which I never use, in order to ssh with RSA key.

@monstermunchkin do you know how to use cloud-init with the alpine image?

It likes there is no official cloud-init package in Alpine yet.
In fact, there is a cloud-init package in edge only.

See here,
https://pkgs.alpinelinux.org/packages?name=cloud-init&branch=edge

1 Like

Indeed, those images were produced but aren’t functional, I’ll go ahead and manually wipe them from the image server (we already stopped building them a while ago).

I’m really wondering where did you find alpine/3.10/cloud image. I need it but for some reason it’s not available on images.linuxcontainers.org. Could anyone help please?

Just above @stgraber said that those /cloud Alpine images have been removed because currently Alpine does not package cloud-init.

There would be an Alpine container image for LXC/LXD as long as the distribution ends up packaging cloud-init.

Currently, the latest stable Alpine 3.11 does not have the cloud-init package, https://pkgs.alpinelinux.org/packages?name=cloud-init&branch=v3.11

The edge Alpine has cloud-init, https://pkgs.alpinelinux.org/packages?name=cloud-init&branch=edge
which means that Alpine 3.12 is likely to have the package.

I suppose you could file a request at https://github.com/lxc/distrobuilder/issues to get a /cloud for Alpine edge.

We don’t provide a cloud image for Alpine 3.12 because the cloud-init package is in the testing repository. Once the package is moved to a non-testing repo we will consider providing a cloud image.

In the meantime, you can create your own Alpine cloud image using distrobuilder.