Browse Source

Adding containerization

bodicsek 3 years ago
parent
commit
3306bddb33
5 changed files with 41 additions and 1 deletions
  1. 8 0
      .dockerignore
  2. 7 0
      .vscode/settings.json
  3. 13 0
      Dockerfile
  4. 7 0
      deployment/scripts/ocir-login.sh
  5. 6 1
      package.json

+ 8 - 0
.dockerignore

@@ -0,0 +1,8 @@
+.dockerignore
+Dockerfile
+.DS_Store
+.git
+.gitignore
+node_modules
+.vscode
+deployment

+ 7 - 0
.vscode/settings.json

@@ -0,0 +1,7 @@
+{
+    "spellright.language": [],
+    "spellright.documentTypes": [
+        "markdown",
+        "latex"
+    ]
+}

+ 13 - 0
Dockerfile

@@ -0,0 +1,13 @@
+FROM container-registry.oracle.com/os/oraclelinux:8
+
+RUN dnf upgrade -y && \
+    dnf module enable nodejs:16 -y && \
+    dnf module install nodejs -y
+
+WORKDIR /app
+
+COPY . .
+
+RUN npm ci
+
+CMD [ "npm", "start" ]

+ 7 - 0
deployment/scripts/ocir-login.sh

@@ -0,0 +1,7 @@
+#!/bin/sh
+
+readarray -d / -t registry <<< $1
+
+oci --profile DEFAULT raw-request --http-method GET --target-uri https://$registry/20180419/docker/token \
+| jq -r '.data.token' \
+| docker login -u BEARER_TOKEN --password-stdin iad.ocir.io

+ 6 - 1
package.json

@@ -3,8 +3,13 @@
   "version": "1.0.0",
   "description": "Init container for vault secrets",
   "main": "index.js",
+  "config": {
+    "registry": "iad.ocir.io/cesdev"
+  },
   "scripts": {
-    "start": "ts-node getVaultSecrets.ts"
+    "start": "ts-node getVaultSecrets.ts",
+    "build": "docker build -t $npm_package_config_registry/$npm_package_name:$npm_package_version .",
+    "deploy": "npm run build && ./deployment/scripts/ocir-login.sh $npm_package_config_registry && docker push $npm_package_config_registry/$npm_package_name:$npm_package_version"
   },
   "author": "",
   "license": "UNLICENSED",