view modules/vcs/manifests/init.pp @ 480:2c3e745be8d2

Update server defs and own modules to match * $osver and $fqdn and others are now all in $facts * Firewall swapped action for jump and has new way to do IPv6 * SSH server setup changed * Resolve warnings from fileserver.conf * has_key() no longer exists because Puppet can do "key in array" * Some variables are now more strictly typed Also: * Try to configure full IPv6 DNS resolver * Clean up old config - unused servers and some CentOS complexity
author IBBoard <dev@ibboard.co.uk>
date Thu, 29 Aug 2024 18:58:49 +0100
parents a5d1f34a7d3f
children
line wrap: on
line source

class vcs {
    @package { [
            "mercurial",
            "git"
        ]:
        ensure => installed
    }
    python::pip { 'mercurial-keyring':
        ensure => 'present',
        pip_provider => 'pip3',
        install_args => '--break-system-packages',
    }
    # Alt keyrings are insecure, but a) we're on a limited access server and
    # b) I share the Mecurial config with the desktop, which uses the system
    # keyring rather than
    #
    # [backend]
    # default-keyring=keyrings.alt.file.PlaintextKeyring
    python::pip { 'keyrings.alt':
        ensure => 'present',
        pip_provider => 'pip3',
        install_args => '--break-system-packages',
    }
    if $facts["os"]["name"] == 'Ubuntu' {
        $gitprompt = '/etc/bash_completion.d/git-prompt'
    }
    else {
        $gitprompt = '/usr/share/git-core/contrib/completion/git-prompt.sh'
    }
    file { '/etc/bash_completion.d/git-prompt.sh':
        ensure => 'link',
        target => $gitprompt,
    }
}

class vcs::client inherits vcs {
	realize(Package["mercurial"],
		Python::Pip["mercurial-keyring"],
		Python::Pip["keyrings.alt"],
		Package["git"])
}

class vcs::server inherits vcs {
	realize(Package["mercurial"],
		Package["git"])
}