Skip to content

Commit 6738929

Browse files
committed
add archlinux support
1 parent c3c4d6f commit 6738929

File tree

6 files changed

+56
-9
lines changed

6 files changed

+56
-9
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1020,6 +1020,7 @@ This module supports:
10201020
* Ubuntu 18.04
10211021
* Ubuntu 20.04
10221022
* Ubuntu 22.04
1023+
* Archlinux
10231024
* Windows Server 2016 (Docker Enterprise Edition only)
10241025
* Windows Server 2019 (Docker Enterprise Edition only)
10251026
* Windows Server 2022 (Docker Enterprise Edition only)

manifests/init.pp

+2-2
Original file line numberDiff line numberDiff line change
@@ -474,8 +474,8 @@
474474
Boolean $have_systemd_v230 = $docker::params::have_systemd_v230,
475475
) inherits docker::params {
476476
if $facts['os']['family'] and ! $acknowledge_unsupported_os {
477-
assert_type(Pattern[/^(Debian|RedHat|windows)$/], $facts['os']['family']) |$a, $b| {
478-
fail('This module only works on Debian, Red Hat or Windows based systems.')
477+
assert_type(Pattern[/^(Debian|RedHat|Archlinux|windows)$/], $facts['os']['family']) |$a, $b| {
478+
fail('This module only works on Debian, Red Hat, Archlinux or Windows based systems.')
479479
}
480480
if ($facts['os']['family'] == 'RedHat') and (versioncmp($facts['os']['release']['major'], '7') < 0) {
481481
fail('This module only works on Red Hat based systems version 7 and higher.')

manifests/install.pp

+2-3
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
$dependent_packages = $docker::dependent_packages,
2828
) {
2929
$docker_start_command = $docker::docker_start_command
30-
3130
if $facts['os']['family'] and ! $docker::acknowledge_unsupported_os {
32-
assert_type(Pattern[/^(Debian|RedHat|windows)$/], $facts['os']['family']) |$a, $b| {
33-
fail('This module only works on Debian, RedHat or Windows.')
31+
assert_type(Pattern[/^(Debian|RedHat|Archlinux|windows)$/], $facts['os']['family']) |$a, $b| {
32+
fail('This module only works on Debian, RedHat, Archlinux or Windows.')
3433
}
3534
}
3635
if $docker::version and $docker::ensure != 'absent' {

manifests/params.pp

+46-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
$version = undef
55
$ensure = present
66
$docker_ce_start_command = 'dockerd'
7-
$docker_ce_package_name = 'docker-ce'
87
$docker_ce_cli_package_name = 'docker-ce-cli'
98
$docker_engine_start_command = 'docker daemon'
109
$docker_engine_package_name = 'docker-engine'
@@ -166,6 +165,7 @@
166165
$storage_setup_file = undef
167166
$use_upstream_package_source = true
168167

168+
$docker_ce_package_name = 'docker-ce'
169169
$package_ce_source_location = "https://download.docker.com/linux/${os_lc}"
170170
$package_ce_key_source = "https://download.docker.com/linux/${os_lc}/gpg"
171171
$package_ce_key_id = '9DC858229FC7DD38854AE2D88D81803C0EBFCD88'
@@ -211,6 +211,7 @@
211211

212212
$apt_source_pin_level = undef
213213
$detach_service_in_init = false
214+
$docker_ce_package_name = 'docker-ce'
214215
$package_ce_key_id = undef
215216
$package_ce_key_source = 'https://download.docker.com/linux/centos/gpg'
216217
$package_ce_release = undef
@@ -306,6 +307,7 @@
306307
$service_hasstatus = undef
307308
$service_hasrestart = undef
308309
$service_provider = 'systemd'
310+
$docker_ce_package_name = 'docker-ce'
309311
$package_name = $docker_ce_package_name
310312
$service_name = $service_name_default
311313
$detach_service_in_init = true
@@ -318,6 +320,48 @@
318320
$pin_upstream_package_source = undef
319321
$apt_source_pin_level = undef
320322
}
323+
'Archlinux' : {
324+
$docker_group = $docker_group_default
325+
$socket_group = $socket_group_default
326+
$package_key_source = undef
327+
$package_key_check_source = undef
328+
$package_source_location = undef
329+
$package_key_id = undef
330+
$package_repos = undef
331+
$package_release = undef
332+
$package_ce_key_source = undef
333+
$package_ce_source_location = undef
334+
$package_ce_key_id = undef
335+
$package_ce_repos = undef
336+
$package_ce_release = undef
337+
$package_ee_source_location = undef
338+
$package_ee_key_source = undef
339+
$package_ee_key_id = undef
340+
$package_ee_release = undef
341+
$package_ee_repos = undef
342+
$package_ee_package_name = undef
343+
$use_upstream_package_source = false
344+
$service_overrides_template = undef
345+
$socket_overrides_template = undef
346+
$socket_override = false
347+
$service_after_override = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb'
348+
$service_hasstatus = true
349+
$service_hasrestart = true
350+
$service_provider = 'systemd'
351+
$docker_ce_package_name = 'docker'
352+
$package_name = $docker_ce_package_name
353+
$service_name = $service_name_default
354+
$detach_service_in_init = true
355+
$repo_opt = undef
356+
$nowarn_kernel = false
357+
$service_config = undef
358+
$storage_config = undef
359+
$storage_setup_file = undef
360+
$service_config_template = 'docker/etc/sysconfig/docker.systemd.erb'
361+
$pin_upstream_package_source = undef
362+
$apt_source_pin_level = undef
363+
include docker::systemd_reload
364+
}
321365
default: {
322366
$docker_group = $docker_group_default
323367
$socket_group = $socket_group_default
@@ -338,7 +382,7 @@
338382
$package_ee_release = undef
339383
$package_ee_repos = undef
340384
$package_ee_package_name = undef
341-
$use_upstream_package_source = true
385+
$use_upstream_package_source = false
342386
$service_overrides_template = undef
343387
$socket_overrides_template = undef
344388
$socket_override = false

manifests/service.pp

+2-2
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@
261261
$registry_mirror = $docker::registry_mirror,
262262
$root_dir_flag = $docker::root_dir_flag,
263263
) {
264-
unless $facts['os']['family'] =~ /(Debian|RedHat|windows)/ or $::docker::acknowledge_unsupported_os {
265-
fail('The docker::service class needs a Debian, Redhat or Windows based system.')
264+
unless $facts['os']['family'] =~ /(Debian|RedHat|Archlinux|windows)/ or $::docker::acknowledge_unsupported_os {
265+
fail('The docker::service class needs a Debian, Redhat, Archlinux or Windows based system.')
266266
}
267267

268268
$dns_array = any2array($dns)

metadata.json

+3
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
"2019",
5555
"2022"
5656
]
57+
},
58+
{
59+
"operatingsystem": "Archlinux"
5760
}
5861
],
5962
"requirements": [

0 commit comments

Comments
 (0)