Forge Home

perforce

Perforce client and server

4,902 downloads

4,902 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.0.4 (latest)
released Jan 5th 2019
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x
  • Puppet 5.x

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'mmarseglia-perforce', '0.0.4'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add mmarseglia-perforce
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install mmarseglia-perforce --version 0.0.4

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

mmarseglia/perforce — version 0.0.4 Jan 5th 2019

perforce

Build Status

Table of Contents

  1. Description
  2. Setup - The basics of getting started with perforce
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

Install and configure the revision control system Helix, by Perforce.

Setup

What perforce affects OPTIONAL

This module will install the perforce service, p4d. It will create a systemd unit file to manage the service.

Setup Requirements OPTIONAL

At a minimum you must create the perforce root directory (which holds the p4d databases) and a user account to run the service (default user is perforce).

Beginning with perforce

      $user = 'perforce'
      $service_root = '/opt/perforce/p4root'
  
      user { $user :
        ensure     => present,
        home       => $service_root,
        system     => true,
      }
      -> file { ['/opt/perforce', $service_root ] :
        ensure => directory,
        owner  => $user,
        mode   => '0750',
      }
      -> class { 'perforce': }

Usage

Just Install Packages

If you don't want the module to manage perforce's configuration you can install just the packages.

class { ::perforce::repository: }
-> class { ::perforce::install: }

Configuring Perforce for SSL/TLS

This module will configure the p4d service for SSL by setting service_ssldir to a fully qualified path. You must also provide a private key and certificate. p4d requires these files are named privatekey.txt and certificate.txt.

      $service_ssldir = "/opt/perforce/p4ssldir"
      $private_key = "-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDHYb8MmF7Bimo5
XubrQyTOcJmJORiK0eTbGJGm/nhTa4Kv1GB0+g+9+nSQwcxK3An+zMfwY7Ej269u
PwI+KlwtgvOCr22hQoO14KUHzqGAxjKB+vfLssMcaXs1mLndVmWJM9wVA9O1nzYs
iA6tfd0yOHUXxUqktTVB9JHGA5/6nQb63Snhk1rOHddSjDoO+iL6lmXZFG6x4IEq
odS1wG1MQueTB+KzgeT8m0JYX6uYx5KsmRKEO2l/YMLEOIj303NRIORUZU6OTUtP
Jx17ZdhDcm1Pn/6OlyqMuZqzJrYJIlJ7zsRWtzjP6XBKd3OrKLlyaGRThPUDGqKn
eM54KthDAgMBAAECggEBAIOjr8YbHATg5H14gTI3pKeAhH6rad7N8jIOKKx/Ouap
ByIcMItLRvWB1VB2A/IxEZBfmGrJB33LYCqEA3ET+sQ5v5k7RkDAb8G3zn43GT6y
nUpgbxbYsiWiJy0d5ymSD3vk95wQaMlzkwsX0ckOXur3h6foJP5WfhFL7qs0XX3S
4PALYbS//N2rKBk117Wnqiub0KjVjssWhICizZgvKJNET8//WoZ5TG51kp/mEgUY
XsrBgQa/hhYNGvBzUTJDafmRcnA9EDO4srr+iDDF2wbFgjSKUj5LBPEldbHtNg3i
UPlHODkUNYWla8CkaCvscXLk+G5KBueDdTBPyp0Cw7ECgYEA6jz9ZEL74uyFE+fT
3lCbj/nixRBiW5lCZ3bQT+fCe93ywmQpNNRI1HLijm2SSBQpC3baksJHxXHBXZW0
/4R1ETXpu2g6EIeB8zM0cs3VduRNG0QA0OsMnyWTJFwIONl1mD1f6ms0BWsbJbLr
9W0OQPwcIqDyg4s7hlrrVVhJo50CgYEA2ee/gXZl2yvYvnf5HPloB5IdEUX9lMRE
OMewiiu84e12N2dREAZp7Z8FMdT0fwixfBquWUa5E3LVEwGhheQ5pC+eUS3d7Mpi
Fv7qNg8o3oi1+B3jaaaKCk6zmPRbsxblF+PdUvds6pCCme4BXY8MD+OI4SKsENVf
B4u+wzpUVV8CgYAlFr0kh/qsRrkXmsiQVgEbvfxrKZn5WP4LteNsE41W4aDTqNph
dA+IHBzFYpIb+Z06JHqdbEfC+q0cbVz4bHfA3uGAfBNdlKc94+i1GORo6+NNouni
KqWX+XIf+raOkdgt3+H1Ez5scTYeNQNpm/f60DCARy2/KGencXP70nvufQKBgFEa
0gvUzrqSCl1yeDVRm2fd+ZW5UFYz6xSbNtlmyCnrYanjeaeWS40XOC7BDbPOv4jq
wWQXT8GuZyJo4/7a4J1839dlVAnTlkjq3q/6WoLhraFJNqDXTN/jRTO0GAGDjwei
V3mPAGoaGZJDpRx2ps2vKf5qElM9p94+JGWz6znPAoGBAIwLT8MEiUvLL87F4G1z
ImwI2+x3uJro6y977dax/20rjOa6TvGo4kIrVAgH7cjBVqzGvFFfGlQKytRJ9vDG
hkBHT7KEoypcPrbwu3fSStr/5qvq5mETOD3LAJsXC3kTa2mfmZii2KBQ0Fn7TOis
98tGyMeMVjTW2b6WqwW6DtA7
-----END PRIVATE KEY-----"
      $certificate = "-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAObn29SUorldMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTgwNTMwMjAwODEyWhcNMTkwNTMwMjAwODEyWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAx2G/DJhewYpqOV7m60MkznCZiTkYitHk2xiRpv54U2uCr9RgdPoPvfp0
kMHMStwJ/szH8GOxI9uvbj8CPipcLYLzgq9toUKDteClB86hgMYygfr3y7LDHGl7
NZi53VZliTPcFQPTtZ82LIgOrX3dMjh1F8VKpLU1QfSRxgOf+p0G+t0p4ZNazh3X
Uow6Dvoi+pZl2RRuseCBKqHUtcBtTELnkwfis4Hk/JtCWF+rmMeSrJkShDtpf2DC
xDiI99NzUSDkVGVOjk1LTycde2XYQ3JtT5/+jpcqjLmasya2CSJSe87EVrc4z+lw
Sndzqyi5cmhkU4T1Axqip3jOeCrYQwIDAQABo1AwTjAdBgNVHQ4EFgQUB+oUrgz5
RiBnRE9hSjlS8pjGNb8wHwYDVR0jBBgwFoAUB+oUrgz5RiBnRE9hSjlS8pjGNb8w
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAcvzyiNgYYRffoO5lzMjg
eOyO0F8+FZdZRDUwijAC8eRsBDD7vfJIhYdIp2wyqbLXFd4oA/8Lw4f92ETiUfdV
E7oG94dNzbk4sIZCtQWIiPiFeqEDGM+465goiuNeb+N0zHO5/4xO+tF8RW7MV2gc
ekQx4dzFV6CatsLkzQKMZHqDyRMXkebp36FdKmEbg/VH2P04JKIMQo0wc0L82dxn
SUSxBKdUCRIml+kXJZPE0CC+DtPcv1pzPAFLCDNQwdreurKk+KE985RKanx9iZdS
7RyghSDie7e/KhwfQjfreCUXSfV/3sAKajYv3LyWCc3WAE11Ugg8DUK+i55WikjC
WA==
-----END CERTIFICATE-----"

      file { $service_ssldir :
        ensure => directory,
        owner  => 'perforce',
        mode   => '0700',
      }
      -> file { "${service_ssldir}/privatekey.txt":
        ensure  => file,
        owner   => 'perforce',
        mode    => '0600',
        content => $private_key,
      }
      -> file {"${service_ssldir}/certificate.txt":
        ensure  => file,
        owner   => 'perforce',
        mode    => '0600',
        content => $certificate,
      }
      -> class { 'perforce':
        service_ssldir  => $service_ssldir
      }

Reference

Limitations

  • Developed and tested on CentOS 7.
  • Requires systemd.

Development

Fork and submit a PR.

Release Notes/Contributors/Etc. Optional