feat: first commit

- add base image for docker and incus
- manage images for almalinux 8.10 and 9.5
- replace all existing docker build repos
This commit is contained in:
2025-01-11 20:50:07 +11:00
commit ff19688dd2
41 changed files with 731 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,18 @@
# almalinux/8.10/actionsdind
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
packages = [
"bash",
"docker-ce-cli",
"make",
"nodejs",
"unzip"
]
scripts_pre_packages = [
"dnf install -y yum-utils",
"dnf module enable -y nodejs:20",
"yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo"
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
+2
View File
@@ -0,0 +1,2 @@
docker
incus
@@ -0,0 +1,6 @@
[appstream]
name=appstream repository
baseurl=https://edgecache.query.consul/almalinux/8.10/AppStream/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[baseos]
name=baseos repository
baseurl=https://edgecache.query.consul/almalinux/8.10/BaseOS/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[epel]
name=epel repository
baseurl=https://edgecache.query.consul/epel/8/Everything/x86_64
gpgkey=https://edgecache.query.consul/epel/RPM-GPG-KEY-EPEL-8
enabled=1
gpgcheck=1
@@ -0,0 +1,4 @@
[extras]
name=extras repository
baseurl=https://edgecache.query.consul/almalinux/8.10/extras/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
@@ -0,0 +1,4 @@
[highavailability]
name=highavailability repository
baseurl=https://edgecache.query.consul/almalinux/8.10/HighAvailability/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
@@ -0,0 +1,7 @@
# replaced by crb repo in EL9
[powertools]
name=powertools repository
baseurl=https://edgecache.query.consul/almalinux/8.10/PowerTools/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[unkin]
name=unkin repository
baseurl=https://git.query.consul/api/packages/unkin/rpm/almalinux/el8
gpgkey=https://git.query.consul/api/packages/unkin/rpm/repository.key
enabled=1
gpgcheck=0
@@ -0,0 +1,7 @@
# only available on EL8
[unkinben]
name=unkinben repository
baseurl=https://git.query.consul/api/packages/unkinben/rpm/el8
gpgkey=https://git.query.consul/api/packages/unkinben/rpm/repository.key
enabled=1
gpgcheck=0
@@ -0,0 +1,22 @@
# almalinux/8.10/base
deploy_files_from_image = true
deploy_files_from_common = true
use_incus = true
packages = [
"git",
"jq",
"uv",
"wget",
]
scripts_pre_file_copy = [
"rm -f /etc/yum.repos.d/*.repo",
"curl -k -o internal-ca-certificates.rpm https://git.query.consul/unkin/-/packages/rpm/internal-ca-certificates/20240825-1.el8/files/756 && rpm -i internal-ca-certificates.rpm"
]
scripts_pre_packages = [
"dnf makecache",
"dnf update -y",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,33 @@
# almalinux/8.10/jupyterlab
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
deploy_files_from_common = true
packages = [
"uv",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip"
]
scripts_pre_file_copy = [
"dnf install -y sudo",
]
scripts_post_packages = [
"uv venv --python 3.12 /opt/jupyter && source /opt/jupyter/bin/activate && uv pip install -r /tmp/jupyter_requirements.txt && deactivate",
"uv venv --python 3.11 /opt/ipykernels/python3.11 && source /opt/ipykernels/python3.11/bin/activate && uv pip install ipykernel && python -m ipykernel install --name ipykernel311 --display-name \"Python (3.11)\" && deactivate",
"uv venv --python 3.12 /opt/ipykernels/python3.12 && source /opt/ipykernels/python3.12/bin/activate && uv pip install ipykernel && python -m ipykernel install --name ipykernel312 --display-name \"Python (3.12)\" && deactivate",
"uv venv --python 3.12 /opt/ipykernels/bash && source /opt/ipykernels/bash/bin/activate && uv pip install bash_kernel && python -m bash_kernel.install --prefix /usr/local && deactivate",
"uv venv --python 3.12 /opt/ipykernels/zsh && source /opt/ipykernels/zsh/bin/activate && uv pip install zsh_jupyter_kernel && python -m zsh_jupyter_kernel.install --prefix /usr/local && deactivate",
"uv venv --python 3.12 /opt/ipykernels/vim && source /opt/ipykernels/vim/bin/activate && uv pip install vim_kernel && python -m vim_kernel.install --prefix /usr/local && deactivate",
"useradd -m jupyter",
"mkdir /home/jupyter/work",
"chown jupyter:jupyter -Rv /home/jupyter/work"
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
docker_changes = [
"USER jupyter",
"WORKDIR /home/jupyter",
"CMD [\"/opt/jupyter/bin/jupyterhub-singleuser\"]",
]
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,47 @@
# almalinux/8.10/rpmbuilder
docker_source = "git.query.consul/unkin/almalinux8-base:latest"
packages = [
"asciidoc",
"autoconf",
"automake",
"binutils",
"bison",
"byacc",
"cmake",
"diffstat",
"flex",
"gcc",
"gcc-c++",
"gdb",
"glibc-devel",
"go",
"gzip",
"intltool",
"jna",
"ltrace",
"make",
"nfpm",
"patchutils",
"perl-Fedora-VSP",
"perl-generators",
"pesign",
"pkgconf",
"pkgconf-m4",
"pkgconf-pkg-config",
"redhat-rpm-config",
"rpm",
"rpm-build",
"rpm-sign",
"rpmdevtools",
"rpmlint",
"source-highlight",
"strace",
"systemtap",
"tar",
"valgrind",
"valgrind-devel",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,18 @@
# almalinux/9.5/actionsdind
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
packages = [
"bash",
"docker-ce-cli",
"make",
"nodejs",
"unzip"
]
scripts_pre_packages = [
"dnf install -y yum-utils",
"dnf module enable -y nodejs:20",
"yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo"
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
+2
View File
@@ -0,0 +1,2 @@
docker
incus
@@ -0,0 +1,6 @@
[appstream]
name=appstream repository
baseurl=https://edgecache.query.consul/almalinux/9.5/AppStream/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,6 @@
[baseos]
name=baseos repository
baseurl=https://edgecache.query.consul/almalinux/9.5/BaseOS/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
enabled=1
gpgcheck=1
@@ -0,0 +1,5 @@
# new repo for EL9+, replaces PowerTools repo
[crb]
name=crb repository
baseurl=https://edgecache.query.consul/almalinux/9.5/CRB/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -0,0 +1,6 @@
[epel]
name=epel repository
baseurl=https://edgecache.query.consul/epel/9/Everything/x86_64
gpgkey=https://edgecache.query.consul/epel/RPM-GPG-KEY-EPEL-9
enabled=1
gpgcheck=1
@@ -0,0 +1,4 @@
[extras]
name=extras repository
baseurl=https://edgecache.query.consul/almalinux/9.5/extras/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -0,0 +1,4 @@
[highavailability]
name=highavailability repository
baseurl=https://edgecache.query.consul/almalinux/9.5/HighAvailability/x86_64/os
gpgkey=https://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-9
@@ -0,0 +1,6 @@
[unkin]
name=unkin repository
baseurl=https://git.query.consul/api/packages/unkin/rpm/almalinux/el9
gpgkey=https://git.query.consul/api/packages/unkin/rpm/repository.key
enabled=1
gpgcheck=0
@@ -0,0 +1,23 @@
# almalinux/9.5/base
deploy_files_from_image = true
deploy_files_from_common = true
use_incus = true
packages = [
"git",
"jq",
"uv",
"wget",
]
scripts_pre_file_copy = [
"rm -f /etc/yum.repos.d/*.repo",
"curl -k -o internal-ca-certificates.rpm https://git.query.consul/unkin/-/packages/rpm/internal-ca-certificates/20240825-1.el8/files/756 && rpm -i internal-ca-certificates.rpm"
]
scripts_pre_packages = [
"dnf makecache",
"dnf update -y",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,33 @@
# almalinux/9.5/jupyterlab
deploy_files_from_common = true
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
packages = [
"uv",
"python3.11",
"python3.11-pip",
"python3.12",
"python3.12-pip"
]
scripts_pre_file_copy = [
"dnf install -y sudo",
]
scripts_post_packages = [
"uv venv --python 3.12 /opt/jupyter && source /opt/jupyter/bin/activate && uv pip install -r /tmp/jupyter_requirements.txt && deactivate",
"uv venv --python 3.11 /opt/ipykernels/python3.11 && source /opt/ipykernels/python3.11/bin/activate && uv pip install ipykernel && python -m ipykernel install --name ipykernel311 --display-name \"Python (3.11)\" && deactivate",
"uv venv --python 3.12 /opt/ipykernels/python3.12 && source /opt/ipykernels/python3.12/bin/activate && uv pip install ipykernel && python -m ipykernel install --name ipykernel312 --display-name \"Python (3.12)\" && deactivate",
"uv venv --python 3.12 /opt/ipykernels/bash && source /opt/ipykernels/bash/bin/activate && uv pip install bash_kernel && python -m bash_kernel.install --prefix /usr/local && deactivate",
"uv venv --python 3.12 /opt/ipykernels/zsh && source /opt/ipykernels/zsh/bin/activate && uv pip install zsh_jupyter_kernel && python -m zsh_jupyter_kernel.install --prefix /usr/local && deactivate",
"uv venv --python 3.12 /opt/ipykernels/vim && source /opt/ipykernels/vim/bin/activate && uv pip install vim_kernel && python -m vim_kernel.install --prefix /usr/local && deactivate",
"useradd -m jupyter",
"mkdir /home/jupyter/work",
"chown jupyter:jupyter -Rv /home/jupyter/work"
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]
docker_changes = [
"USER jupyter",
"WORKDIR /home/jupyter",
"CMD [\"/opt/jupyter/bin/jupyterhub-singleuser\"]",
]
+1
View File
@@ -0,0 +1 @@
docker
@@ -0,0 +1,47 @@
# almalinux/9.5/rpmbuilder
docker_source = "git.query.consul/unkin/almalinux9-base:latest"
packages = [
"asciidoc",
"autoconf",
"automake",
"binutils",
"bison",
"byacc",
"cmake",
"diffstat",
"flex",
"gcc",
"gcc-c++",
"gdb",
"glibc-devel",
"go",
"gzip",
"intltool",
"jna",
"ltrace",
"make",
"nfpm",
"patchutils",
"perl-Fedora-VSP",
"perl-generators",
"pesign",
"pkgconf",
"pkgconf-m4",
"pkgconf-pkg-config",
"redhat-rpm-config",
"rpm",
"rpm-build",
"rpm-sign",
"rpmdevtools",
"rpmlint",
"source-highlight",
"strace",
"systemtap",
"tar",
"valgrind",
"valgrind-devel",
]
scripts_final = [
"dnf clean all",
"rm -rf /var/cache/dnf"
]