From 6f2147074912df4fd133a35b48a50873658399b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20D=C5=82uski?= Date: Sun, 23 Aug 2020 23:20:24 +0200 Subject: [PATCH] removes old files --- another/Dockerfile | 24 --------- another/docker-compose.yml | 35 ------------- another/scripts/run.sh | 7 --- another/test.sh | 3 -- aws.js | 46 ---------------- package-lock.json | 105 ------------------------------------- test-upload.js | 19 ------- test_upload.webp | Bin 11958 -> 0 bytes 8 files changed, 239 deletions(-) delete mode 100644 another/Dockerfile delete mode 100644 another/docker-compose.yml delete mode 100644 another/scripts/run.sh delete mode 100644 another/test.sh delete mode 100644 aws.js delete mode 100644 package-lock.json delete mode 100644 test-upload.js delete mode 100644 test_upload.webp diff --git a/another/Dockerfile b/another/Dockerfile deleted file mode 100644 index d951020..0000000 --- a/another/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM python:3.7.0 -LABEL maintainer="Albert Franzi" - -ENV MLFLOW_HOME /opt/mlflow -ENV SERVER_PORT 5000 -ENV SERVER_HOST 0.0.0.0 -ENV FILE_STORE ${MLFLOW_HOME}/fileStore -ENV ARTIFACT_STORE ${MLFLOW_HOME}/artifactStore - -RUN pip install mlflow && \ - mkdir -p ${MLFLOW_HOME}/scripts && \ - mkdir -p ${FILE_STORE} && \ - mkdir -p ${ARTIFACT_STORE} - -COPY scripts/run.sh ${MLFLOW_HOME}/scripts/run.sh -RUN chmod +x ${MLFLOW_HOME}/scripts/run.sh - -EXPOSE ${SERVER_PORT}/tcp - -VOLUME ["${MLFLOW_HOME}/scripts/", "${FILE_STORE}", "${ARTIFACT_STORE}"] - -WORKDIR ${MLFLOW_HOME} - -ENTRYPOINT ["./scripts/run.sh"] diff --git a/another/docker-compose.yml b/another/docker-compose.yml deleted file mode 100644 index b9a462d..0000000 --- a/another/docker-compose.yml +++ /dev/null @@ -1,35 +0,0 @@ -version: '3' -services: - sftp: - image: atmoz/sftp - #volumes: - # - /upload:/home/foo/upload - ports: - - "2222:22" - command: ftpuser:ftppass:::0 - networks: - - A - database: - container_name: pg_mlflow - image: postgres:13 - environment: - - POSTGRES_USER=pgsql - - POSTGRES_PASSWORD=pg_password - - POSTGRES_DB=mlflow - networks: - - A - tracker: - container_name: tracker_mlflow - image: tracker_ml - build: - context: ./mlflow - dockerfile: Dockerfile - ports: - - "5000:5000" - networks: - - A - - entrypoint: mlflow server --default-artifact-root sftp://ftpuser:ftppass@localhost:2222 -h 0.0.0.0 -networks: - A: - driver: bridge \ No newline at end of file diff --git a/another/scripts/run.sh b/another/scripts/run.sh deleted file mode 100644 index 68c4c09..0000000 --- a/another/scripts/run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -mlflow server \ - --file-store $FILE_STORE \ - --default-artifact-root $ARTIFACT_STORE \ - --host $SERVER_HOST \ - --port $SERVER_PORT diff --git a/another/test.sh b/another/test.sh deleted file mode 100644 index a7a5edf..0000000 --- a/another/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -export MLFLOW_TRACKING_UI=http://localhost:5000 -mlflow run git@github.com:databricks/mlflow-example.git -P alpha=0.5 --no-conda \ No newline at end of file diff --git a/aws.js b/aws.js deleted file mode 100644 index bca9c49..0000000 --- a/aws.js +++ /dev/null @@ -1,46 +0,0 @@ -const AWS = require('aws-sdk') -require('dotenv').config() - -const credentials = { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_KEY, -} - -const useLocal = process.env.NODE_ENV !== 'production' - -const bucketName = process.env.AWS_BUCKET_NAME - -const s3client = new AWS.S3({ - credentials, - /** - * When working locally, we'll use the Localstack endpoints. This is the one for S3. - * A full list of endpoints for each service can be found in the Localstack docs. - */ - endpoint: useLocal ? 'http://localhost:4572' : undefined, - /** - * Including this option gets localstack to more closely match the defaults for - * live S3. If you omit this, you will need to add the bucketName to the `Key` - * property in the upload function below. - * - * see: https://github.com/localstack/localstack/issues/1180 - */ - s3ForcePathStyle: true, -}) - - -const uploadFile = async (data, fileName) => - new Promise((resolve) => { - s3client.upload( - { - Bucket: bucketName, - Key: fileName, - Body: data, - }, - (err, response) => { - if (err) throw err - resolve(response) - }, - ) - }) - -module.exports = uploadFile \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 22fa9c6..0000000 --- a/package-lock.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "aws-sdk": { - "version": "2.738.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.738.0.tgz", - "integrity": "sha512-oO1odRT4DGssivoP6lHO3yB6I+5sU0uqpj6UJ0kS5wrHQ9J9EGrictLVKA9y6XhN0sNW+XPNLD9jMMY/A+gXWA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - } - } -} diff --git a/test-upload.js b/test-upload.js deleted file mode 100644 index cddd4ad..0000000 --- a/test-upload.js +++ /dev/null @@ -1,19 +0,0 @@ -const fs = require('fs') -const path = require('path') -const uploadFile = require('./aws') - -const testUpload = () => { - const filePath = path.resolve(__dirname, 'test_upload.webp') - const fileStream = fs.createReadStream(filePath) - const now = new Date() - const fileName = `test-image-${now.toISOString()}.jpg` - uploadFile(fileStream, fileName).then((response) => { - console.log(":)") - console.log(response) - }).catch((err) => { - console.log(":|") - console.log(err) - }) -} - -testUpload() \ No newline at end of file diff --git a/test_upload.webp b/test_upload.webp deleted file mode 100644 index a7c7a849ceb15ba1961559bbe4c537b04d96dcf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11958 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 ICj5W^0O+b|00000