add aliases and redo the format a bunch
This commit is contained in:
parent
021d2f0aa5
commit
b771df150e
3 changed files with 60 additions and 18 deletions
51
blend
51
blend
|
@ -93,20 +93,53 @@ def podman_it_remover(cmd: list):
|
||||||
|
|
||||||
# END
|
# END
|
||||||
|
|
||||||
|
# TODO: fix temp paths before committing
|
||||||
|
|
||||||
distro_map = yaml.safe_load(open('/usr/share/blend/images.yaml'))
|
|
||||||
if os.path.exists(f'/etc/blend/images.yaml'):
|
|
||||||
distro_map += yaml.safe_load(
|
|
||||||
open(f'{os.getenv('XDG_CONFIG_HOME')}/blend/images.yaml'))
|
|
||||||
|
|
||||||
if os.path.exists(f'{os.getenv('XDG_CONFIG_HOME')}/blend/images.yaml'):
|
def image_data_from_dict(dictionary):
|
||||||
distro_map += yaml.safe_load(
|
'''
|
||||||
open(f'{os.getenv('XDG_CONFIG_HOME')}/blend/images.yaml'))
|
Returns a distro map and aliases from a dict in this format:
|
||||||
|
|
||||||
|
```
|
||||||
|
{'arch-linux': {'image': 'quay.io/toolbx/arch-toolbox:latest', 'aliases': ['arch']}}
|
||||||
|
```
|
||||||
|
|
||||||
|
which is loaded in from yaml config files in this format:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
arch-linux:
|
||||||
|
image: "quay.io/toolbx/arch-toolbox:latest"
|
||||||
|
aliases:
|
||||||
|
- arch
|
||||||
|
```
|
||||||
|
'''
|
||||||
|
distro_map = {}
|
||||||
|
aliases = {}
|
||||||
|
|
||||||
|
for distro in dictionary.keys():
|
||||||
|
distro_map[distro] = dictionary[distro]['image']
|
||||||
|
try:
|
||||||
|
aliases[distro] = dictionary[distro]['aliases']
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return (distro_map, aliases)
|
||||||
|
|
||||||
|
|
||||||
|
distro_map, aliases = image_data_from_dict(
|
||||||
|
yaml.safe_load(open('/usr/share/blend/images.yaml')))
|
||||||
|
tmp = image_data_from_dict(yaml.safe_load(open('system.yaml'))['images'])
|
||||||
|
distro_map += tmp[0]
|
||||||
|
aliases += tmp[1]
|
||||||
|
tmp += image_data_from_dict(yaml.safe_load(
|
||||||
|
open(f'{os.getenv('XDG_CONFIG_HOME')}/blend/images.yaml')))
|
||||||
|
distro_map += tmp[0]
|
||||||
|
aliases += tmp[1]
|
||||||
|
|
||||||
default_distro = 'arch-linux'
|
default_distro = 'arch-linux'
|
||||||
|
|
||||||
|
|
||||||
def get_distro():
|
def get_image():
|
||||||
try:
|
try:
|
||||||
return distro_map[args.distro]
|
return distro_map[args.distro]
|
||||||
except:
|
except:
|
||||||
|
@ -222,7 +255,7 @@ def core_create_container():
|
||||||
'--userns', 'keep-id',
|
'--userns', 'keep-id',
|
||||||
'--annotation', 'run.oci.keep_original_groups=1'])
|
'--annotation', 'run.oci.keep_original_groups=1'])
|
||||||
|
|
||||||
podman_command.extend([get_distro()])
|
podman_command.extend([get_image()])
|
||||||
|
|
||||||
# User (for init-blend)
|
# User (for init-blend)
|
||||||
podman_command.extend(['--uid', str(os.geteuid())])
|
podman_command.extend(['--uid', str(os.geteuid())])
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
# Here you can put custom images to be used for blend
|
|
||||||
# for example:
|
|
||||||
# opensuse: quay.io/exampleauthor/opensuse:15
|
|
24
images.yaml
24
images.yaml
|
@ -1,6 +1,18 @@
|
||||||
arch-linux: quay.io/toolbx/arch-toolbox:latest
|
arch-linux:
|
||||||
debian: quay.io/toolbx-images/debian-toolbox:testing
|
image: quay.io/toolbx/arch-toolbox:latest
|
||||||
fedora-42: quay.io/fedora/fedora-toolbox:42
|
aliases:
|
||||||
centos: quay.io/toolbx-images/centos-toolbox:latest
|
- arch
|
||||||
ubuntu-22.04: quay.io/toolbx/ubuntu-toolbox:22.04
|
debian:
|
||||||
ubuntu-24.04: quay.io/toolbx/ubuntu-toolbox:24.04
|
image: quay.io/toolbx-images/debian-toolbox:testing
|
||||||
|
fedora-42:
|
||||||
|
image: quay.io/fedora/fedora-toolbox:42
|
||||||
|
aliases:
|
||||||
|
- fedora
|
||||||
|
centos:
|
||||||
|
image: quay.io/toolbx-images/centos-toolbox:latest
|
||||||
|
ubuntu-22.04:
|
||||||
|
image: quay.io/toolbx/ubuntu-toolbox:22.04
|
||||||
|
ubuntu-24.04:
|
||||||
|
image: quay.io/toolbx/ubuntu-toolbox:24.04
|
||||||
|
aliases:
|
||||||
|
- ubuntu
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue