diff --git a/REFERENCE.md b/REFERENCE.md
index 0ecbcaa..76f1c33 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -151,7 +151,15 @@ Default value: `'systemd-container'`
##### `podman_pkg_ensure`
-Data type: `Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/]`
+Data type: `Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/, /latest/]`
+
+The ensure value for the podman package (default 'installed')
+
+Default value: `'installed'`
+
+##### `skopeo_pkg_ensure`
+
+Data type: `Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/, /latest/]`
The ensure value for the podman package (default 'installed')
@@ -159,7 +167,7 @@ Default value: `'installed'`
##### `buildah_pkg_ensure`
-Data type: `Optional[Enum['absent', 'installed']]`
+Data type: `Optional[Enum['absent', 'installed', 'latest']]`
The ensure value for the buildah package (default 'absent')
@@ -167,7 +175,7 @@ Default value: `undef`
##### `podman_docker_pkg_ensure`
-Data type: `Optional[Enum['absent', 'installed']]`
+Data type: `Optional[Enum['absent', 'installed', 'latest']]`
The ensure value for the podman docker package (default 'installed')
@@ -175,7 +183,7 @@ Default value: `undef`
##### `compose_pkg_ensure`
-Data type: `Optional[Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/]]`
+Data type: `Optional[Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/, /latest/]]`
The ensure value for the podman-compose package (default 'absent')
@@ -183,7 +191,7 @@ Default value: `undef`
##### `machinectl_pkg_ensure`
-Data type: `Optional[Enum['absent', 'installed']]`
+Data type: `Optional[Enum['absent', 'installed', 'latest']]`
The ensure value for the machinectl package (default 'installed')
diff --git a/manifests/init.pp b/manifests/init.pp
index 5ab8bb3..fc4297a 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -115,32 +115,33 @@
# - Podman::Volume[jenkins]
#
class podman (
- String $podman_pkg = 'podman',
- String $skopeo_pkg = 'skopeo',
- String $buildah_pkg = 'buildah',
- String $podman_docker_pkg = 'podman-docker',
- String $compose_pkg = 'podman-compose',
- String $machinectl_pkg = 'systemd-container',
- Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/] $podman_pkg_ensure = 'installed',
- Optional[Enum['absent', 'installed']] $buildah_pkg_ensure = undef,
- Optional[Enum['absent', 'installed']] $podman_docker_pkg_ensure = undef,
- Optional[Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/]] $compose_pkg_ensure = undef,
- Optional[Enum['absent', 'installed']] $machinectl_pkg_ensure = undef,
- Enum['absent', 'file'] $nodocker = 'absent',
- Hash $storage_options = {},
- Hash $containers_options = {},
- Array $rootless_users = [],
- Boolean $enable_api_socket = false,
- Boolean $manage_subuid = false,
- Boolean $match_subuid_subgid = true,
- String $file_header = '# FILE MANAGED BY PUPPET',
- Hash $subid = {},
- Hash $pods = {},
- Hash $volumes = {},
- Hash $images = {},
- Hash $containers = {},
- Hash $networks = {},
- Hash $quadlets = {},
+ String $podman_pkg = 'podman',
+ String $skopeo_pkg = 'skopeo',
+ String $buildah_pkg = 'buildah',
+ String $podman_docker_pkg = 'podman-docker',
+ String $compose_pkg = 'podman-compose',
+ String $machinectl_pkg = 'systemd-container',
+ Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/, /latest/] $podman_pkg_ensure = 'installed',
+ Optional[Enum['absent', 'installed', 'latest']] $skopeo_pkg_ensure = 'installed',
+ Optional[Enum['absent', 'installed', 'latest']] $buildah_pkg_ensure = undef,
+ Optional[Enum['absent', 'installed', 'latest']] $podman_docker_pkg_ensure = undef,
+ Optional[Pattern[/^(\d+\.){2}\d+$/, /absent/, /installed/, /latest/]] $compose_pkg_ensure = undef,
+ Optional[Enum['absent', 'installed', 'latest']] $machinectl_pkg_ensure = undef,
+ Enum['absent', 'file'] $nodocker = 'absent',
+ Hash $storage_options = {},
+ Hash $containers_options = {},
+ Array $rootless_users = [],
+ Boolean $enable_api_socket = false,
+ Boolean $manage_subuid = false,
+ Boolean $match_subuid_subgid = true,
+ String $file_header = '# FILE MANAGED BY PUPPET',
+ Hash $subid = {},
+ Hash $pods = {},
+ Hash $volumes = {},
+ Hash $images = {},
+ Hash $containers = {},
+ Hash $networks = {},
+ Hash $quadlets = {},
) {
include podman::install
include podman::options
diff --git a/manifests/install.pp b/manifests/install.pp
index 45dac56..1c0e0ab 100644
--- a/manifests/install.pp
+++ b/manifests/install.pp
@@ -3,7 +3,7 @@
#
class podman::install {
ensure_resource('Package', $podman::podman_pkg, { 'ensure' => $podman::podman_pkg_ensure })
- ensure_resource('Package', $podman::skopeo_pkg, { 'ensure' => 'installed' })
+ ensure_resource('Package', $podman::skopeo_pkg, { 'ensure' => $podman::skopeo_pkg_ensure })
unless $podman::buildah_pkg_ensure =~ Undef {
ensure_resource('Package', $podman::buildah_pkg, { 'ensure' => $podman::buildah_pkg_ensure })
}