Installs and configures Perforce GitSwarm. See the following for more information:
Usage is pretty simple. You can simply include the gitswarm class to configure GitSwarm on the node:
include gitswarm
The base class determines the $::osfamily
of the node and includes the appropriate os-specific
class: gitswarm::debian
or gitswarm::redhat
.
If you want to customize how GitSwarm is installed, you can either use hiera to specify parameters, or you can declare the os-specific class with the appropriate parameters set. For example, on CentOS 7, you could do something like:
class { 'gitswarm::redhat':
pkgname => 'helix-gitswarm',
pubkey_url => 'https://package.perforce.com/perforce.pubkey',
yum_baseurl => 'http://package.perforce.com/yum/rhel/7/x86_64',
perforce_repo_name => 'perforce',
}
The installation will create an administrative account in GitSwarm called root
with the password 5iveL!fe
. When you log in, you will be asked to change that password to something that isn't on a README page on GitHub.
Once logged in, you can create projects, new users, groups, etc.
The installation creates a P4D instance running on ssl::1666
. Logged into the instance, you can run p4 info
to get more information:
$ p4 -p ssl::1666 info User name: root Client name: gitswarm (illegal) Client host: gitswarm.host.com Client unknown. Current directory: /root Peer address: 127.0.0.1:52339 Client address: 127.0.0.1 Server address: gitswarm.host.com:1666 Server root: /var/opt/gitswarm/perforce/data Server date: 2015/12/16 14:58:15 +0000 UTC Server uptime: 11:46:10 Server version: P4D/LINUX26X86_64/2015.2/1311674 (2015/12/06) Server encryption: encrypted Server cert expires: Dec 15 03:12:05 2017 GMT Server license: none Case Handling: sensitive
There are several Perforce user accounts that are created initially in the instance:
$ p4 -p ssl::1666 -u gitswarm users git-fusion-user (Git Fusion) accessed 2015/12/16 gitswarm (gitswarm) accessed 2015/12/16 root (root) accessed 2015/12/16 unknown_git (Unknown Git Contributor) accessed 2015/12/16
The gitswarm user has an existing ticket
p4 -p ssl::1666 -u gitswarm login -s User gitswarm ticket expires in 4 hours 8 minutes.
And that user is a superuser
Protections: write user * * //... super user gitswarm * //... super user root * //... admin user git-fusion-user * //... review user git-fusion-reviews-* * //...
So you should use that account to set the password for the root account in p4d:
p4 -p ssl::1666 -u gitswarm passwd root Enter new password: ********** Re-enter new password: ********* Password updated.
Note that security is configured to be level 3, so strong passwords are required.
p4 -p ssl::1666 -u gitswarm configure show P4ROOT=/var/opt/gitswarm/perforce/data P4PORT=ssl:1666 P4JOURNAL=journal P4DEBUG=server=3 P4LOG=log security=3 (configure) unicode=1 (configure) p4zk.log.file=p4zk.log (default) auth.default.method=perforce (default) zk.connect.timeout=300 (default) server: 3 (P4DEBUG) dm.protects.allow.admin: 1 (configure)
HINT: If you don't log in before the ticket expires (12h), then you can find the generated password in the /etc/gitswarm/gitswarm.rb
file. Do not change the gitswarm user's password without consulting the GitSwarm documentation! Bad things may happen if you do.
Currently, only supports RedHat/CentOS. Debian coming soon.