From 832a8f90fd917aee9bbdfd30520dcccd544c5f1e Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Thu, 7 Jan 2021 23:51:51 +0200
Subject: [PATCH] Templates.

- GitLab CI templates.
- Pre-commit snippet.
- Address pre-commit issues.
---
 .gitlab-ci.yml                 | 48 +++++++++-------------------------
 .pre-commit-config.yaml        | 37 +++++++++++++++++---------
 README.md                      | 10 ++++---
 crond/README.md                |  8 +++---
 ldap-account-manager/README.md | 10 +++----
 nss-pam-ldapd/README.md        | 10 +++----
 slapd/README.md                | 10 +++----
 7 files changed, 62 insertions(+), 71 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b9e25f2..02e5158 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,46 +1,22 @@
 ---
-image: adarnimrod/ci-images:docker
+include:
+  - project: shore/ci-templates
+    file: templates/pre-commit.yml
+  - project: shore/ci-templates
+    file: templates/docker.yml
 
 stages:
   - test
   - build
-  - run
-
-pre-commit:
-  stage: test
-  image: adarnimrod/ci-images:pre-commit
-  variables:
-    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
-    # Disabled until https://github.com/pre-commit/pre-commit/issues/1387 is
-    # resolved.
-    SKIP: "hadolint,docker-compose"
-  script:
-    - pre-commit run --all-files
-  cache:
-    paths:
-      - .cache/
+  - deploy
 
 build:
-  stage: build
-  tags: ["host01.shore.co.il"]
+  extends: .compose-build
+  tags: [host01.shore.co.il]
   variables:
-    # COMPOSE_DOCKER_CLI_BUILD: "1"
-    # DOCKER_BUILDKIT: "1"
-  script:
-    - docker-compose build --no-cache --pull
-    - docker-compose pull --quiet
+    DOCKER_BUILDKIT: ""
+    COMPOSE_DOCKER_CLI_BUILD: ""
 
 run:
-  stage: run
-  tags: ["host01.shore.co.il"]
-  when: manual
-  script:
-    - docker-compose up --detach --remove-orphans
-    # yamllint disable rule:line-length
-    - |
-        for i in $(seq 12)
-        do
-            docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' || break
-            sleep 10
-        done
-        ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$'
+  extends: .compose-run
+  tags: [host01.shore.co.il]
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 593c19f..684cbe0 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,37 +1,50 @@
-# vim:ff=unix ts=2 sw=2 ai expandtab
 ---
 repos:
-  - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v2.3.0
+  - repo: https://github.com/pre-commit/pre-commit-hooks.git
+    rev: v3.4.0
     hooks:
       - id: check-added-large-files
       - id: check-executables-have-shebangs
       - id: check-merge-conflict
-      - id: detect-private-key
+      - id: check-symlinks
       - id: trailing-whitespace
         exclude: \.diff$
+
+  - repo: https://github.com/Yelp/detect-secrets
+    rev: v0.14.3
+    hooks:
+      - id: detect-secrets
+        exclude: \.diff$
+
   - repo: https://github.com/adrienverge/yamllint
-    rev: v1.17.0
+    rev: v1.25.0
     hooks:
       - id: yamllint
+
   - repo: https://github.com/amperser/proselint/
-    rev: 0.10.1
+    rev: 0.10.2
     hooks:
       - id: proselint
         types: [plain-text]
         exclude: LICENSE
-  - repo: https://git.shore.co.il/nimrod/shell-pre-commit.git/
+
+  - repo: https://github.com/executablebooks/mdformat.git
+    rev: 0.5.3
+    hooks:
+      - id: mdformat
+
+  - repo: https://git.shore.co.il/nimrod/shell-pre-commit.git
     rev: v0.6.0
     hooks:
       - id: shell-lint
+
+  - repo: https://github.com/shellcheck-py/shellcheck-py.git
+    rev: v0.7.1.1
+    hooks:
       - id: shellcheck
+
   - repo: https://git.shore.co.il/nimrod/docker-pre-commit.git/
     rev: v0.3.0
     hooks:
       - id: hadolint
       - id: docker-compose
-  - repo: https://github.com/Yelp/detect-secrets
-    rev: v0.13.0
-    hooks:
-      - id: detect-secrets
-        exclude: \.diff$
diff --git a/README.md b/README.md
index b49c1d5..a336289 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # LDAP Docker
 
+[![pipeline status](https://git.shore.co.il/shore/ldap-docker/badges/master/pipeline.svg)](https://git.shore.co.il/shore/ldap-docker/-/commits/master)
+
 > A dockerized OpenLDAP with LDAP Account Manager.
 
 ## Requirements
@@ -13,7 +15,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
diff --git a/crond/README.md b/crond/README.md
index 4076d73..a55d08c 100644
--- a/crond/README.md
+++ b/crond/README.md
@@ -15,7 +15,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
diff --git a/ldap-account-manager/README.md b/ldap-account-manager/README.md
index 7d55bf1..23ca940 100644
--- a/ldap-account-manager/README.md
+++ b/ldap-account-manager/README.md
@@ -5,7 +5,7 @@
 ## Environment variables
 
 Name | Description | Default value
---- | --- | ---
+\-\-\- | \-\-\- | \-\-\-
 `LAM_PASSWORD` | Password for administering LAM | `lam`
 `LDAP_URI` | URI of the LDAP service | `ldapi:///`
 `LDAP_ADMIN_DN` | DN of the admin account
@@ -17,7 +17,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
diff --git a/nss-pam-ldapd/README.md b/nss-pam-ldapd/README.md
index 45b0fbe..96da783 100644
--- a/nss-pam-ldapd/README.md
+++ b/nss-pam-ldapd/README.md
@@ -11,7 +11,7 @@ daemon. To use this container, execute a different process (like `su` or
 ## Environment variables
 
 Name | Default value
---- | ---
+\-\-\- | \-\-\-
 `LDAP_URIS` | `ldapi:///`
 `LDAP_AUTH_TYPE` | `none`
 `LDAP_BINDDN`
@@ -26,7 +26,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
diff --git a/slapd/README.md b/slapd/README.md
index 6beca9e..d06652f 100644
--- a/slapd/README.md
+++ b/slapd/README.md
@@ -10,7 +10,7 @@ The container exposes TCP ports 389 (LDAP) and 636 (LDAPS) as well as the
 ## Environment variables
 
 Name | Description | Default value
---- | --- | ---
+\-\-\- | \-\-\- | \-\-\-
 `LDAP_URLS` | List of URLs to serve. | `ldap:/// ldapi:/// ldaps:///`
 `LDAP_ROOTPASS` | Root password.
 `LDAP_DOMAIN` | Domain.
@@ -43,7 +43,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
-- 
GitLab