summaryrefslogtreecommitdiffstats
path: root/modules/tozt/manifests/git.pp
blob: ab56f303dd3b910582ed7f4f15beff37139eda86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
class tozt::git {
  include git::server
  include tozt::certbot
  include tozt::persistent

  package { "perl-io-socket-ssl":
    ensure => installed,
  }

  file {
    "/media/persistent/git/doy":
      ensure => directory,
      owner => 'doy',
      group => 'doy',
      require => [
        File['/media/persistent/git'],
        Class['tozt::persistent'],
        User['doy'],
        Group['doy'],
      ];
    "/home/doy/git":
      ensure => link,
      target => "/media/persistent/git/doy",
      owner => 'doy',
      group => 'doy',
      require => [
        User['doy'],
        Group['doy'],
        File["/home/doy"],
      ];
    "/media/persistent/releases/doy":
      ensure => directory,
      owner => 'doy',
      group => 'doy',
      require => [
        File['/media/persistent/releases'],
        Class['tozt::persistent'],
        User['doy'],
        Group['doy'],
      ];
    "/home/doy/releases":
      ensure => link,
      target => "/media/persistent/releases/doy",
      owner => 'doy',
      group => 'doy',
      require => [
        User['doy'],
        Group['doy'],
        File["/home/doy"],
      ];
    "/etc/cgitrc":
      source => "puppet:///modules/tozt/cgitrc";
    "/usr/local/share/git":
      ensure => directory;
    "/usr/local/share/git/post-receive":
      source => "puppet:///modules/tozt/post-receive",
      require => File['/usr/local/share/git'];
    "/usr/local/bin/new-git-repo":
      source => "puppet:///modules/tozt/new-git-repo",
      mode => '0755',
      require => [
        Package['perl-io-socket-ssl'],
        File['/usr/local/share/git/post-receive'],
      ];
  }

  secret { "/home/doy/.github":
    source => 'github',
    owner => 'doy',
    group => 'doy',
    require => [
      User['doy'],
      Group['doy'],
      File["/home/doy"],
    ];
  }

  secret { "/home/doy/.gitlab":
    source => 'gitlab',
    owner => 'doy',
    group => 'doy',
    require => [
      User['doy'],
      Group['doy'],
      File["/home/doy"],
    ];
  }

  nginx::site {
    "git-tls":
      source => 'puppet:///modules/tozt/nginx/git-tls.conf',
      require => Class['certbot'];
    "git":
      source => 'puppet:///modules/tozt/nginx/git.conf';
  }
}