Skip to content

Commit

Permalink
Add parameters to apt::source to avoid requiring an internet connexion
Browse files Browse the repository at this point in the history
Signed-off-by: Cédric Couralet <[email protected]>
  • Loading branch information
micedre committed Feb 18, 2021
1 parent 0868ca0 commit cc1b82d
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 22 deletions.
27 changes: 27 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,33 @@ Data type: `Optional[Stdlib::Fqdn]`

The keyserver which should be used to get the repository key.

Default value: `undef`

##### `repo_keycontent`

Data type: `Optional[String]`

The key content to use, useful when internet connexion is not available.

Default value: `undef`

##### `repo_keysource`

Data type: `Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]`

The key source to use, useful when internet connexion is not available and you want to use
an internal source.

Default value: `undef`

##### `repo_keyweak_ssl`

Data type: `Boolean`

Specifies whether strict SSL verification on a https URL should be disabled when fetching the key.
Valid options: true or false.


Default value: `undef`

##### `config_path`
Expand Down
44 changes: 27 additions & 17 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -43,27 +43,37 @@
# The base repository url.
# @param repo_keyserver
# The keyserver which should be used to get the repository key.
# @param repo_keycontent
# Supplies the entire GPG key. Useful in case the key can't be fetched from a remote location and using a file resource is inconvenient.
# @param repo_keysource
# Specifies the location of an existing GPG key file to copy. Valid options: a string containing a URL (ftp://, http://, or https://) or
# an absolute path.
# @param repo_keyweak_ssl
# Specifies whether strict SSL verification on a https URL should be disabled. Valid options: true or false.
# @param config_path
# The path to the config file of Gitlab runner.
#
class gitlab_ci_runner (
String $xz_package_name, # Defaults in module hieradata
Hash $runners = {},
Hash $runner_defaults = {},
Optional[Integer] $concurrent = undef,
Optional[Integer] $check_interval = undef,
Optional[String] $builds_dir = undef,
Optional[String] $cache_dir = undef,
Optional[Pattern[/.*:.+/]] $metrics_server = undef,
Optional[Pattern[/.*:.+/]] $listen_address = undef,
Optional[String] $sentry_dsn = undef,
Boolean $manage_docker = false,
Boolean $manage_repo = true,
String $package_ensure = installed,
String $package_name = 'gitlab-runner',
Stdlib::HTTPUrl $repo_base_url = 'https://packages.gitlab.com',
Optional[Stdlib::Fqdn] $repo_keyserver = undef,
String $config_path = '/etc/gitlab-runner/config.toml',
String $xz_package_name, # Defaults in module hieradata
Hash $runners = {},
Hash $runner_defaults = {},
Optional[Integer] $concurrent = undef,
Optional[Integer] $check_interval = undef,
Optional[String] $builds_dir = undef,
Optional[String] $cache_dir = undef,
Optional[Pattern[/.*:.+/]] $metrics_server = undef,
Optional[Pattern[/.*:.+/]] $listen_address = undef,
Optional[String] $sentry_dsn = undef,
Boolean $manage_docker = false,
Boolean $manage_repo = true,
String $package_ensure = installed,
String $package_name = 'gitlab-runner',
Stdlib::HTTPUrl $repo_base_url = 'https://packages.gitlab.com',
Optional[Stdlib::Fqdn] $repo_keyserver = undef,
Optional[String] $repo_keycontent = undef,
Optional[Pattern[/\Ahttps?:\/\//, /\Aftp:\/\//, /\A\/\w+/]] $repo_keysource = undef,
Boolean $repo_keyweak_ssl = false,
String $config_path = '/etc/gitlab-runner/config.toml',
) {
if $manage_docker {
# workaround for cirunner issue #1617
Expand Down
17 changes: 12 additions & 5 deletions manifests/repo.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
# @api private
#
class gitlab_ci_runner::repo (
$repo_base_url = $gitlab_ci_runner::repo_base_url,
$repo_keyserver = $gitlab_ci_runner::repo_keyserver,
$package_name = $gitlab_ci_runner::package_name,
$repo_base_url = $gitlab_ci_runner::repo_base_url,
$repo_keyserver = $gitlab_ci_runner::repo_keyserver,
$repo_keyid = $gitlab_ci_runner::repo_keyid,
$repo_keycontent = $gitlab_ci_runner::repo_keycontent,
$repo_keysource = $gitlab_ci_runner::repo_keysource,
$repo_keyweak_ssl = $gitlab_ci_runner::repo_keyweak_ssl,
$package_name = $gitlab_ci_runner::package_name,
) {
assert_private()
case $facts['os']['family'] {
Expand All @@ -15,8 +19,11 @@
location => "${repo_base_url}/runner/${package_name}/${facts['os']['distro']['id'].downcase}/",
repos => 'main',
key => {
'id' => 'F6403F6544A38863DAA0B6E03F01618A51312F3F',
'server' => $repo_keyserver,
'id' => 'F6403F6544A38863DAA0B6E03F01618A51312F3F',
'server' => $repo_keyserver,
'content' => $repo_keycontent,
'source' => $repo_keysource,
'weak_ssl' => $repo_keyweak_ssl,
},
include => {
'src' => false,
Expand Down

0 comments on commit cc1b82d

Please sign in to comment.