Skip to content

backup archive permissions are interpreted as octal value #409

Description

@NiklausHofer

I am trying to set the configuration backup_archive_permissions option.

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: All versions on all operating systems.

How to reproduce

Hiera code:

gitlab::gitlab_rails:
  backup_archive_permissions: '0640'

What are you seeing

Because of how Puppet handles numbers prefixed with a 0, this gets converted to 416 when writing the gitlab.rb configuration file, like so:

gitlab_rails['backup_archive_permissions'] = 416

What behaviour did you expect instead

gitlab_rails['backup_archive_permissions'] = 0640

Output log

Notice: /Stage[main]/Gitlab::Omnibus_config/File[/etc/gitlab/gitlab.rb]/content: 
--- /etc/gitlab/gitlab.rb	2023-05-04 15:08:08.920813631 +0200
+++ /tmp/puppet-file20230504-1553-19g72ee	2023-05-04 15:17:57.500392789 +0200
@@ -12,7 +12,7 @@
 # gitlab.yml configuration #
 ############################
 
-gitlab_rails['backup_archive_permissions'] = 0640
+gitlab_rails['backup_archive_permissions'] = 416
 gitlab_rails['backup_keep_time'] = 604800
 gitlab_rails['backup_path'] = "/var/backup/gitlab"
 gitlab_rails['gitlab_email_display_name'] = "GitLab"

Notice: /Stage[main]/Gitlab::Omnibus_config/File[/etc/gitlab/gitlab.rb]/content: 
--- /etc/gitlab/gitlab.rb	2023-05-04 15:08:08.920813631 +0200
+++ /tmp/puppet-file20230504-1553-1am5um9	2023-05-04 15:17:57.523392655 +0200
@@ -12,7 +12,7 @@
 # gitlab.yml configuration #
 ############################
 
-gitlab_rails['backup_archive_permissions'] = 0640
+gitlab_rails['backup_archive_permissions'] = 416
 gitlab_rails['backup_keep_time'] = 604800
 gitlab_rails['backup_path'] = "/var/backup/gitlab"
 gitlab_rails['gitlab_email_display_name'] = "GitLab"

Notice: /Stage[main]/Gitlab::Omnibus_config/File[/etc/gitlab/gitlab.rb]/content: current_value '{md5}fccc1e89d7375aa553d2fe5f6593c1b0', should be '{md5}f8c7e2c18bcc1591e9357686553446c2' (noop) (corrective)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions