Hi Everyone
I am happy to announce that we have open-sourced our image server:
- Polar Image Server - GitHub - upmaru/polar: đ§ LXD / Incus image server hosting based on simplestreams protocol.
- IcePAK Build System - GitHub - upmaru/icepak: đ§ IcePAK cli tool for integration with polar image server
Production Server
You can now access the production server: https://images.opsmaru.com
Sandbox Server
The MVP (sandbox server) is up and running already itâs located here https://images.opsmaru.dev
The production server will be up soon, the difference is sandbox server receive more updates / may be more unstable than the production, other than that theyâre exactly the same.
Try it out
You can try it out by using the following comand:
Incus
incus remote add opsmaru https://images.opsmaru.dev/spaces/c39d9dd3087c0aa086da110a --public --protocol simplestreams
or
LXD
lxc remote add opsmaru https://images.opsmaru.dev/spaces/a781c2dc5092b7b5816e7dc3 --public --protocol simplestreams
The above uses a url that will expire after 30 days. This is to enable the community to try it out.
What happens after it expires?
We are developing a UI where you will be able to sign up and issue your own url / token for remote images.
You will be able to issue tokens that never expire if you want. You will also be able to specify which client (LXD / Incus) the token is for. The feed will be generated for your specified client to avoid issues.
You donât have the images I need
We will add new images, if there is demand, please open an issue or a pull-request here.
We will currently support the following architectures:
- x86_64 (amd64)
- aarch64 (arm64)
Will consider adding more if there is demand.
The bulk of the build system is done, Iâm using a fork here which pushes to the sandbox server.
You can see the success build action here.
When will the ui be done
This is something of a high priority for us, therefore soon. Iâm working on cleaning up the MVP ui to get this thing up in production hopefully beginning March.
Can I self host the image server?
Yes you will be able to self-host the image server if you want. We will provide instructions and an easy guide to enable you to do this.
How it Works
We have a basic architecture diagram here:
In Action
Here is an example of it in action
lxc image list opsmaru:
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.16 (3 more) | d4e280b3b850 | yes | alpine 3.16 arm64 (20240221-14) | aarch64 | CONTAINER | 2.28MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.16/amd64 (1 more) | 4fbbab01353e | yes | alpine 3.16 amd64 (20240221-14) | x86_64 | CONTAINER | 2.50MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.17 (3 more) | 8edf37df13ec | yes | alpine 3.17 arm64 (20240221-14) | aarch64 | CONTAINER | 2.70MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.17/amd64 (1 more) | 099f83764a67 | yes | alpine 3.17 amd64 (20240221-14) | x86_64 | CONTAINER | 2.93MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.18 (3 more) | 7c31777227b0 | yes | alpine 3.18 arm64 (20240221-14) | aarch64 | CONTAINER | 2.75MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.18/amd64 (1 more) | 37062029ee44 | yes | alpine 3.18 amd64 (20240221-14) | x86_64 | CONTAINER | 2.94MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.19 (3 more) | e44e496455f5 | yes | alpine 3.19 arm64 (20240221-14) | aarch64 | CONTAINER | 2.72MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/3.19/amd64 (1 more) | b392f4461aaf | yes | alpine 3.19 amd64 (20240221-14) | x86_64 | CONTAINER | 2.92MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/edge (3 more) | 34b71a8b87ab | yes | alpine edge arm64 (20240221-14) | aarch64 | CONTAINER | 2.72MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+
| alpine/edge/amd64 (1 more) | 4d7c0a086c41 | yes | alpine edge amd64 (20240221-14) | x86_64 | CONTAINER | 2.93MiB | Feb 21, 2024 at 12:00am (UTC) |
+----------------------------+--------------+--------+---------------------------------+--------------+-----------+---------+-------------------------------+