diff --git a/bootstrapvz/common/releases.py b/bootstrapvz/common/releases.py index b243249..ca5e7f4 100644 --- a/bootstrapvz/common/releases.py +++ b/bootstrapvz/common/releases.py @@ -31,7 +31,10 @@ class _ReleaseAlias(_Release): return self.alias -sid = _Release('sid', 12) +sid = _Release('sid', 15) +forky = _Release('forky', 14) +trixie = _Release('trixie', 13) +bookworm = _Release('bookworm', 12) bullseye = _Release('bullseye', 11) buster = _Release('buster', 10) stretch = _Release('stretch', 9) @@ -50,9 +53,9 @@ rex = _Release('rex', 1.2) buzz = _Release('buzz', 1.1) unstable = _ReleaseAlias('unstable', sid) -testing = _ReleaseAlias('testing', bullseye) -stable = _ReleaseAlias('stable', buster) -oldstable = _ReleaseAlias('oldstable', stretch) +testing = _ReleaseAlias('testing', trixie) +stable = _ReleaseAlias('stable', bookworm) +oldstable = _ReleaseAlias('oldstable', bullseye) def get_release(release_name): diff --git a/bootstrapvz/common/tasks/apt.py b/bootstrapvz/common/tasks/apt.py index ec04eca..af49023 100644 --- a/bootstrapvz/common/tasks/apt.py +++ b/bootstrapvz/common/tasks/apt.py @@ -57,7 +57,7 @@ class AddDefaultSources(Task): @classmethod def run(cls, info): - from bootstrapvz.common.releases import sid, wheezy, bullseye + from bootstrapvz.common.releases import sid, wheezy, bullseye, bookworm, trixie, forky include_src = info.manifest.packages.get('include-source-type', False) components = ' '.join(info.manifest.packages.get('components', ['main'])) info.source_lists.add('main', 'deb {apt_mirror} {system.release} ' + components) diff --git a/bootstrapvz/common/tasks/network-configuration.yml b/bootstrapvz/common/tasks/network-configuration.yml index 1e12b11..27f44cc 100644 --- a/bootstrapvz/common/tasks/network-configuration.yml +++ b/bootstrapvz/common/tasks/network-configuration.yml @@ -17,6 +17,15 @@ buster: | bullseye: | auto eth0 iface eth0 inet dhcp +bookworm: | + auto eth0 + iface eth0 inet dhcp +trixie: | + auto eth0 + iface eth0 inet dhcp +forky: | + auto eth0 + iface eth0 inet dhcp sid: | auto eth0 iface eth0 inet dhcp diff --git a/bootstrapvz/plugins/cloud_init/manifest-schema.yml b/bootstrapvz/plugins/cloud_init/manifest-schema.yml index 9d152da..73ef4ad 100644 --- a/bootstrapvz/plugins/cloud_init/manifest-schema.yml +++ b/bootstrapvz/plugins/cloud_init/manifest-schema.yml @@ -16,6 +16,9 @@ properties: - stretch - buster - bullseye + - bookworm + - trixie + - forky - testing - sid - unstable diff --git a/bootstrapvz/plugins/puppet/tasks.py b/bootstrapvz/plugins/puppet/tasks.py index 4950090..1cd15b3 100644 --- a/bootstrapvz/plugins/puppet/tasks.py +++ b/bootstrapvz/plugins/puppet/tasks.py @@ -3,10 +3,13 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks import apt from bootstrapvz.common.exceptions import TaskError -from bootstrapvz.common.releases import jessie, wheezy, stretch, buster, bullseye +from bootstrapvz.common.releases import jessie, wheezy, stretch, buster, bullseye, bookworm, trixie, forky from bootstrapvz.common.tools import sed_i, log_check_call, rel_path +ASSETS_DIR_FORKY = rel_path(__file__, 'assets/gpg-keyrings-PC1/forky') +ASSETS_DIR_TRIXIE = rel_path(__file__, 'assets/gpg-keyrings-PC1/trixie') +ASSETS_DIR_BOOKWORM = rel_path(__file__, 'assets/gpg-keyrings-PC1/bookworm') ASSETS_DIR_BULLSEYE = rel_path(__file__, 'assets/gpg-keyrings-PC1/bullseye') ASSETS_DIR_BUSTER = rel_path(__file__, 'assets/gpg-keyrings-PC1/buster') ASSETS_DIR_STRETCH = rel_path(__file__, 'assets/gpg-keyrings-PC1/stretch') @@ -20,7 +23,7 @@ class CheckRequestedDebianRelease(Task): @classmethod def run(cls, info): - if info.manifest.release not in (jessie, wheezy, stretch, buster, bullseye): + if info.manifest.release not in (jessie, wheezy, stretch, buster, bullseye, bookworm, trixie, forky): msg = 'Debian {info.manifest.release} is not (yet) available in the Puppetlabs.com APT repository.' raise TaskError(msg) @@ -65,6 +68,12 @@ class InstallPuppetlabsPC1ReleaseKey(Task): @classmethod def run(cls, info): from shutil import copy + if (info.manifest.release == forky): + key_path = os.path.join(ASSETS_DIR_FORKY, 'puppetlabs-pc1-keyring.gpg') + if (info.manifest.release == trixie): + key_path = os.path.join(ASSETS_DIR_TRIXIE, 'puppetlabs-pc1-keyring.gpg') + if (info.manifest.release == bookworm): + key_path = os.path.join(ASSETS_DIR_BOOKWORM, 'puppetlabs-pc1-keyring.gpg') if (info.manifest.release == bullseye): key_path = os.path.join(ASSETS_DIR_BULLSEYE, 'puppetlabs-pc1-keyring.gpg') if (info.manifest.release == buster): @@ -85,6 +94,12 @@ class AddPuppetlabsPC1SourcesList(Task): @classmethod def run(cls, info): + if (info.manifest.release == forky): + info.source_lists.add('puppetlabs', 'deb http://apt.puppetlabs.com forky PC1') + if (info.manifest.release == trixie): + info.source_lists.add('puppetlabs', 'deb http://apt.puppetlabs.com trixie PC1') + if (info.manifest.release == bookworm): + info.source_lists.add('puppetlabs', 'deb http://apt.puppetlabs.com bookworm PC1') if (info.manifest.release == bullseye): info.source_lists.add('puppetlabs', 'deb http://apt.puppetlabs.com bullseye PC1') if (info.manifest.release == buster): diff --git a/bootstrapvz/providers/azure/tasks/packages-kernels.yml b/bootstrapvz/providers/azure/tasks/packages-kernels.yml index 606bf04..91b1948 100644 --- a/bootstrapvz/providers/azure/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/azure/tasks/packages-kernels.yml @@ -9,6 +9,21 @@ jessie: stretch: amd64: linux-image-amd64 i386: linux-image-686-pae +buster: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bullseye: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bookworm: + amd64: linux-image-amd64 + i386: linux-image-686-pae +trixie: + amd64: linux-image-amd64 + i386: linux-image-686-pae +forky: + amd64: linux-image-amd64 + i386: linux-image-686-pae sid: amd64: linux-image-amd64 i386: linux-image-686-pae diff --git a/bootstrapvz/providers/ec2/tasks/packages-kernels.yml b/bootstrapvz/providers/ec2/tasks/packages-kernels.yml index 4129711..91b1948 100644 --- a/bootstrapvz/providers/ec2/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/ec2/tasks/packages-kernels.yml @@ -15,6 +15,15 @@ buster: bullseye: amd64: linux-image-amd64 i386: linux-image-686-pae +bookworm: + amd64: linux-image-amd64 + i386: linux-image-686-pae +trixie: + amd64: linux-image-amd64 + i386: linux-image-686-pae +forky: + amd64: linux-image-amd64 + i386: linux-image-686-pae sid: amd64: linux-image-amd64 i386: linux-image-686-pae diff --git a/bootstrapvz/providers/gce/tasks/packages-kernels.yml b/bootstrapvz/providers/gce/tasks/packages-kernels.yml index 2d19460..f405eba 100644 --- a/bootstrapvz/providers/gce/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/gce/tasks/packages-kernels.yml @@ -10,5 +10,11 @@ buster: amd64: linux-image-amd64 bullseye: amd64: linux-image-amd64 +bookworm: + amd64: linux-image-amd64 +trixie: + amd64: linux-image-amd64 +forky: + amd64: linux-image-amd64 sid: amd64: linux-image-amd64 diff --git a/bootstrapvz/providers/kvm/tasks/packages-kernels.yml b/bootstrapvz/providers/kvm/tasks/packages-kernels.yml index ca0ab68..98aa06a 100644 --- a/bootstrapvz/providers/kvm/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/kvm/tasks/packages-kernels.yml @@ -19,6 +19,19 @@ bullseye: amd64: linux-image-amd64 i386: linux-image-686-pae arm64: linux-image-arm64 +bookworm: + amd64: linux-image-amd64 + i386: linux-image-686-pae + arm64: linux-image-arm64 +trixie: + amd64: linux-image-amd64 + i386: linux-image-686-pae + arm64: linux-image-arm64 +forky: + amd64: linux-image-amd64 + i386: linux-image-686-pae + arm64: linux-image-arm64 sid: amd64: linux-image-amd64 i386: linux-image-686-pae + arm64: linux-image-arm64 diff --git a/bootstrapvz/providers/oracle/tasks/packages-kernels.yml b/bootstrapvz/providers/oracle/tasks/packages-kernels.yml index 82c09dc..91b1948 100644 --- a/bootstrapvz/providers/oracle/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/oracle/tasks/packages-kernels.yml @@ -1,11 +1,29 @@ --- # This is a mapping of Debian release codenames to processor architectures to kernel packages +wheezy: + amd64: linux-image-amd64 + i386: linux-image-686 jessie: amd64: linux-image-amd64 i386: linux-image-686-pae stretch: amd64: linux-image-amd64 i386: linux-image-686-pae +buster: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bullseye: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bookworm: + amd64: linux-image-amd64 + i386: linux-image-686-pae +trixie: + amd64: linux-image-amd64 + i386: linux-image-686-pae +forky: + amd64: linux-image-amd64 + i386: linux-image-686-pae sid: amd64: linux-image-amd64 i386: linux-image-686-pae diff --git a/bootstrapvz/providers/virtualbox/tasks/packages-kernels.yml b/bootstrapvz/providers/virtualbox/tasks/packages-kernels.yml index 606bf04..91b1948 100644 --- a/bootstrapvz/providers/virtualbox/tasks/packages-kernels.yml +++ b/bootstrapvz/providers/virtualbox/tasks/packages-kernels.yml @@ -9,6 +9,21 @@ jessie: stretch: amd64: linux-image-amd64 i386: linux-image-686-pae +buster: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bullseye: + amd64: linux-image-amd64 + i386: linux-image-686-pae +bookworm: + amd64: linux-image-amd64 + i386: linux-image-686-pae +trixie: + amd64: linux-image-amd64 + i386: linux-image-686-pae +forky: + amd64: linux-image-amd64 + i386: linux-image-686-pae sid: amd64: linux-image-amd64 i386: linux-image-686-pae diff --git a/tests/unit/releases_tests.py b/tests/unit/releases_tests.py index 7695647..f36b6e5 100644 --- a/tests/unit/releases_tests.py +++ b/tests/unit/releases_tests.py @@ -35,9 +35,9 @@ def test_not_identity(): def test_alias(): - assert releases.oldstable == releases.stretch - assert releases.stable == releases.buster - assert releases.testing == releases.bullseye + assert releases.oldstable == releases.bullseye + assert releases.stable == releases.bookworm + assert releases.testing == releases.trixie assert releases.unstable == releases.sid