From a4afe80f4f6d485b7553750c00fdb0dbdb66089d Mon Sep 17 00:00:00 2001
From: Erick Hitter <git-contrib@ethitter.com>
Date: Sat, 28 Dec 2019 12:40:20 -0800
Subject: [PATCH] Starting point

Using https://gist.github.com/adatta02/4743092#file-gistfile1-sh
---
 .gitignore          |  2 ++
 .gitlab-ci.yml      | 49 +++++++++++++++++++++++++++++++++++++++++++++
 .hadolint.yaml      |  0
 context/Dockerfile  | 19 ++++++++++++++++++
 context/s3-purge.sh | 19 ++++++++++++++++++
 5 files changed, 89 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .gitlab-ci.yml
 create mode 100644 .hadolint.yaml
 create mode 100644 context/Dockerfile
 create mode 100755 context/s3-purge.sh

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c38fa4e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.idea
+*.iml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..6c2b8b8
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,49 @@
+image: docker:latest
+
+services:
+  - docker:dind
+
+before_script:
+  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+
+#
+# TESTS
+#
+
+lint:dockerfile:
+  stage: test
+  image: hadolint/hadolint:latest-debian
+  before_script:
+    - mkdir ~/.config
+    - cp ./.hadolint.yaml ~/.config/hadolint.yaml
+  script:
+    - find . -name "Dockerfile" -execdir hadolint {} \;
+
+lint:shell-script:
+  stage: test
+  image: koalaman/shellcheck-alpine:latest
+  before_script:
+    - shellcheck -V
+  script:
+    - find . -name "*.sh" -exec shellcheck {} \;
+
+#
+# IMAGE BUILDS/PUSHES
+#
+
+build:master:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE:latest" ./context/
+    - docker push "$CI_REGISTRY_IMAGE:latest"
+  only:
+    - master
+  when: manual
+
+build:dev:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE:dev" ./context/
+    - docker push "$CI_REGISTRY_IMAGE:dev"
+  except:
+    - master
diff --git a/.hadolint.yaml b/.hadolint.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/context/Dockerfile b/context/Dockerfile
new file mode 100644
index 0000000..161df6b
--- /dev/null
+++ b/context/Dockerfile
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Usage: ./deleteOld "bucketname" "30 days"
+
+s3cmd ls s3://$1 | while read -r line;
+  do
+    createDate=`echo $line|awk {'print $1" "$2'}`
+    createDate=`date -d"$createDate" +%s`
+    olderThan=`date -d"-$2" +%s`
+    if [[ $createDate -lt $olderThan ]]
+      then
+        fileName=`echo $line|awk {'print $4'}`
+        echo $fileName
+        if [[ $fileName != "" ]]
+          then
+            s3cmd del "$fileName"
+        fi
+    fi
+  done;
diff --git a/context/s3-purge.sh b/context/s3-purge.sh
new file mode 100755
index 0000000..161df6b
--- /dev/null
+++ b/context/s3-purge.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Usage: ./deleteOld "bucketname" "30 days"
+
+s3cmd ls s3://$1 | while read -r line;
+  do
+    createDate=`echo $line|awk {'print $1" "$2'}`
+    createDate=`date -d"$createDate" +%s`
+    olderThan=`date -d"-$2" +%s`
+    if [[ $createDate -lt $olderThan ]]
+      then
+        fileName=`echo $line|awk {'print $4'}`
+        echo $fileName
+        if [[ $fileName != "" ]]
+          then
+            s3cmd del "$fileName"
+        fi
+    fi
+  done;
-- 
GitLab