Karsten Böddeker 7 years ago
parent
commit
861c51db67
3 changed files with 84 additions and 0 deletions
  1. 19 0
      gogs/gogs-repo.apt.key
  2. 60 0
      gogs/init.sls
  3. 5 0
      top.sls

+ 19 - 0
gogs/gogs-repo.apt.key

@@ -0,0 +1,19 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+mQENBFEo1AcBCADA7ufM3DrjWvcZ3ShTayCOMPeoLlRHaUpMM/+7ZM6C/lA3xdIZ
+PEE8SKd+8uhO+fv+UfQcUhBr8wd2QVSFqT6+2kV/comjLKqim/7GaskudRjqVfTA
+AzwPBAE4otJnnsbU+t1veo+rMLNsPyq8UG9sNhO3Jm49zLaVtIFOEAOJ3NI33Tse
+i64ybxOe4Qnby7VRVs94kngdwE2giO+U7nnupfeQGZfN26OibPiglwCvBsdt70he
+qKrMrs2VUydH/OwMbWMFEn+ehA2Z8IWHFcyv5a+V/DWhX41MEYBclAAPbzez+TPu
+PNtMNWfHUFTXafdO6P64Kki00SWqgJXLpwurABEBAAG0KnBrZ3IuaW8gKGh0dHA6
+Ly9wa2dyLmlvKSA8c3VwcG9ydEBwa2dyLmlvPokBOAQTAQIAIgUCUSjUBwIbAwYL
+CQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQttWDzL0z7rjlGAgAsnLvoxeb7U71
+0/8P3Ik/YNkjCrXVTI4ZF+gEkKKLoObO2QfP+VkujrbarYUPhMvLPYmBI0zkge6O
+KHr+vIhVHj5u6SsuGWRNUUFigKFt8nQDVU4ts/IYyyrvc2pftJrLDeBiN53H0lwI
+y0ANxLz/1XSFCug6RQTewa8aCZi2Ek51YuPL8btIhLXcmqe+oOYhRIbZNeMoQfyn
+yeek2tUq4Mlp9XOn0o9w+N7E0FlZhVRJ4cWtzKKdmuEVtIIdzWcu6vGFCmXhrjoG
+eGpIdTYmXUYbV6bZ6nYZmresKcPOYjNKn97fTrGHV0rfBgEf8Nv9H7BP1cPbtXUq
+zcyU6/9QrA==
+=/EuB
+-----END PGP PUBLIC KEY BLOCK-----

+ 60 - 0
gogs/init.sls

@@ -0,0 +1,60 @@
+#
+# gogs
+#
+
+{% set config = salt['pillar.get']('nodes:' ~ grains.id ~ ':gogs', {}) %}
+
+gogs-repo:
+  pkgrepo.managed:
+    - comments: "# gogs repo"
+    - human_name: gogs repository
+    - name: "deb https://deb.packager.io/gh/pkgr/gogs {{ grains.oscodename }} pkgr"
+    - dist: {{grains.oscodename}}
+    - file: /etc/apt/sources.list.d/gogs.list
+    - key_url: salt://gogs/gogs-repo.apt.key
+
+postgresql:
+  pkg.installed:
+    - name: postgresql
+  {% if grains.oscodename == "jessie" %}
+    - fromrepo: jessie-backports
+  {% endif %}
+
+  service.running:
+    - name: postgresql
+    - enable: true
+    - require:
+      - pkg: postgresql
+
+gogs:
+  pkg.installed:
+    - pkgs:
+      - gogs
+    - require:
+      - pkgrepo: gogs-repo
+
+  postgres_database.present:
+    - require:
+      - service: postgresql
+
+  postgres_user.present:
+    - password: {{config.password}}
+    - require:
+      - service: postgresql
+
+  postgres_privileges.present:
+    - object_name: gogs
+    - object_type: database
+    - user: postgres
+    - privileges:
+      - all
+    - require:
+      - postgres_database: gogs
+      - postgres_user: gogs
+
+/srv/gogs:
+  file.directory:
+    - user: gogs
+    - group: gogs
+    - require:
+      - pkg: gogs

+ 5 - 0
top.sls

@@ -57,6 +57,11 @@ base:
     - match: pillar
     - grafana
 
+  # gogs
+  nodes:{{ grains['id'] }}:roles:gogs:
+    - match: pillar
+    - gogs
+
   # Hardware nodes
   virtual:physical:
     - match: grain