34 Commits

Author SHA1 Message Date
cb44eb1fab Hmmm. More trouble with secrets
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 15:53:27 -04:00
df63d7947f better secret file
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 15:47:20 -04:00
01a5ff907c Perhaps a big duh.
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 15:37:18 -04:00
e22e3d8bc3 Muahahahaha 2023-05-08 15:33:48 -04:00
efecd78355 Publishing FTW
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 15:15:50 -04:00
ed4246ba0e testing secrets...
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 15:08:49 -04:00
4acc228fe3 This one seems to be valid
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 14:57:15 -04:00
42279b0592 This. 2023-05-08 14:52:26 -04:00
e417ab64d8 Ah ha! Finally.
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-08 14:22:19 -04:00
93b11c3a35 Fallback to old working
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-08 14:07:40 -04:00
1ef2c4919e Maybe these odd changes?
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-07 00:57:46 -04:00
6ff8f74317 Or this?
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-07 00:55:59 -04:00
bf70ca98f3 Or this...
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-07 00:54:41 -04:00
52e5befd93 Doubtful...
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-07 00:53:29 -04:00
a047b49073 Last try, then pack 2023-05-06 10:18:39 -04:00
59b20578bb Maybe
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 10:15:03 -04:00
cdd6c6a72a Dammit
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 10:12:30 -04:00
1d16473d2d Ah ha!
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 10:10:02 -04:00
cd2bef9811 So broken...
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 10:00:17 -04:00
62118b6d64 ERGGGGG
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:57:46 -04:00
8290b332fb Ugh
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:56:00 -04:00
61236719f4 Or this...
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:55:09 -04:00
aa699d5009 Testing this... 2023-05-06 09:48:31 -04:00
9a4f9cdf4c Hmmm 2023-05-06 09:48:00 -04:00
5532fc51a9 Unbroken? 2023-05-06 09:45:05 -04:00
99db648a36 - Endlessly fighting the ENV - I should be loading from the package... 2023-05-06 09:40:25 -04:00
adcab6afcb Double dollar
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:28:24 -04:00
8e40c0a06c Tweaking the ENV
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:19:31 -04:00
db5e4858b8 More ENV updates
Some checks failed
continuous-integration/drone/push Build was killed
2023-05-06 09:10:45 -04:00
d800311ae7 - ENV updates
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 09:08:15 -04:00
32fdde5d90 - The missing env variables...
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 08:43:26 -04:00
2eacdaeece Tweaks
Some checks failed
continuous-integration/drone/push Build encountered an error
2023-05-06 01:38:00 -04:00
827bce6e1b Updates for staging
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-06 01:15:11 -04:00
50c74fdb71 I think it is working now...
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-06 00:48:27 -04:00
7 changed files with 162 additions and 197 deletions

View File

@@ -1,74 +1,73 @@
kind: pipeline
type: docker
name: Test Pipeline
# kind: pipeline
# type: docker
# name: Test Pipeline
workspace:
path: /drone/grow
# workspace:
# path: /drone/grow
steps:
- name: yarn install
image: node:latest
commands:
- yarn install
- name: Code Style Checks
image: node:latest
commands:
- yarn prettier
- name: Lint
image: node:latest
commands:
- yarn lint
- name: Unit Tests
image: node:latest
commands:
- yarn test
- name: Send Test Status Notification
image: plugins/webhook
settings:
urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - Build # {{ build.number }}] Code Quality Checks {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
- name: Build
image: node:latest
commands:
- yarn build
- name: Send Build Status Notifications
image: plugins/webhook
settings:
urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - Build # {{ build.number }}] Build package {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
# steps:
# - name: yarn install
# image: node:latest
# commands:
# - yarn install
# - name: Code Style Checks
# image: node:latest
# commands:
# - yarn prettier
# - name: Lint
# image: node:latest
# commands:
# - yarn lint
# - name: Unit Tests
# image: node:latest
# commands:
# - yarn test
# - name: Send Test Status Notification
# image: plugins/webhook
# settings:
# urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
# content_type: application/json
# template: |
# {
# "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
# "text": "[{{ repo.name }} - Build # {{ build.number }}] Code Quality Checks {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
# "username":"DroneBot"
# }
# when:
# status:
# - success
# - failure
# - name: Build
# image: node:latest
# commands:
# - yarn build
# - name: Send Build Status Notifications
# image: plugins/webhook
# settings:
# urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
# content_type: application/json
# template: |
# {
# "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
# "text": "[{{ repo.name }} - Build # {{ build.number }}] Build package {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
# "username":"DroneBot"
# }
# when:
# status:
# - success
# - failure
trigger:
branch:
- main
event:
- pull_request
- push
# trigger:
# branch:
# - main
# event:
# # - pull_request
# - push
---
# ---
kind: pipeline
type: docker
name: Publish Pipeline
group: publish
workspace:
path: /drone/grow
@@ -110,33 +109,20 @@ steps:
- failure
- name: Publish Image
image: docker
environemnt:
USERNAME:
from_secret: registry_username
PASSWORD:
from_secret: registry_password
commands:
- docker build -f docker-compose.staging.yml -t git.mifi.dev/mifi/mifi/auth:latest .
- 'docker login git.mifi.dev'
- 'docker build -t git.mifi.dev/mifi/mifi/auth:latest -t git.mifi.dev/mifi/mifi/auth:${DRONE_TAG} .'
- docker push git.mifi.dev/mifi/mifi/auth:latest
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
# - name: Publish Image
# image: plugins/docker
# settings:
# auto_tag: true
# squash: true
# repo: git.mifi.dev/mifi/auth
# context: mifi
# registry: git.mifi.dev
# username:
# from_secret: registry_username
# password:
# from_secret: registry_password
# ssh-agent-key:
# from_secret: gitea_token
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
- name: Report Image Publish Status
image: plugins/webhook
settings:
@@ -164,74 +150,79 @@ volumes:
host:
path: /volume1/docker/beethoven/labs-auth/.npmrc
depends_on:
- Test Pipeline
# depends_on:
# - Test Pipeline
trigger:
branch:
- main
event:
- push
- tag
# - tag
---
kind: pipeline
type: docker
name: Deploy Pipeline
# ---
# kind: pipeline
# type: docker
# name: Deploy Pipeline
workspace:
path: /drone/grow
# workspace:
# path: /drone/grow
steps:
- name: Deploy Container
image: docker
privileged: true
commands:
- docker compose -f docker-compose.staging.yml pull
- docker compose -f docker-compose.staging.yml build --no-cache
- docker compose -f docker-compose.staging.yml rm --stop
- docker compose -f docker-compose.staging.yml up --wait
volumes:
- name: env
path: /drone/grow/.env
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
- name: Send Status Notifications
image: plugins/webhook
privileged: true
settings:
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - Build # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
# steps:
# - name: Deploy Container
# image: docker
# privileged: true
# environment:
# CONTAINER_PREFIX: staging
# HOST: area51.mifi.dev
# ROUTE_PREFIX: /auth
# PORT: 9001
# commands:
# - docker compose -f docker-compose.staging.yml pull
# - docker compose -f docker-compose.staging.yml build --no-cache
# - docker compose -f docker-compose.staging.yml rm --stop
# - docker compose -f docker-compose.staging.yml up --wait
# volumes:
# - name: env-secrets
# path: /drone/grow/staging.env
# - name: dockersock
# path: /var/run/docker.sock
# - name: dockerconfig
# path: /drone/grow/.docker/config.json
# - name: Send Status Notifications
# image: plugins/webhook
# privileged: true
# settings:
# urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
# content_type: application/json
# template: |
# {
# "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
# "text": "[{{ repo.name }} - Build # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
# "username":"DroneBot"
# }
# when:
# status:
# - success
# - failure
volumes:
- name: dockerconfig
host:
path: /volume1/docker/dockerconfig.json
- name: dockersock
host:
path: /var/run/docker.sock
- name: env
host:
path: /volume1/docker/beethoven/labs-auth/staging.env
# volumes:
# - name: dockerconfig
# host:
# path: /volume1/docker/dockerconfig.json
# - name: dockersock
# host:
# path: /var/run/docker.sock
# - name: env-secrets
# host:
# path: /volume1/docker/beethoven/labs-auth/staging.env
depends_on:
- Test Pipeline
# # depends_on:
# # - Test Pipeline
trigger:
branch:
- main
event:
- push
- tag
# trigger:
# branch:
# - main
# event:
# - push
# # - tag

View File

@@ -27,5 +27,3 @@ RESET_VALID_MINUTES=15
DEFAULT_TOKEN_DAYS=1
CONTAINER_PREFIX=dev
SERVICE_NAME=auth-service
DB_TYPE=mongo

View File

@@ -1,13 +1,3 @@
# FROM node:20-alpine AS build
# RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
# WORKDIR /home/node/app
# COPY package*.json .
# COPY dist/lib .
# USER node
# RUN yarn install --frozen-lockfile --production
# COPY --chown=node:node node_modules ./node_modules
# CMD ["node", "dist/lib/server/index.js"]
FROM node:20-alpine AS build
WORKDIR /home/node/app
COPY package*.json ./

View File

@@ -2,33 +2,40 @@ version: '3.8'
services:
auth-service_mongo:
env_file: dev.env
env_file: .env.dev
build:
args:
- CONTAINER_PREFIX=${CONTAINER_PREFIX}
container_name: ${CONTAINER_PREFIX:-dev}-auth-service_mongo
ports:
- 27017:27017
networks:
- docknet
- labs-net
volumes:
# - /var/tmp/labs:/data/db
- /var/tmp/labs:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
restart: unless-stopped
image: mongo:latest
auth-service:
env_file: dev.env
build: .
env_file: .env.dev
build:
context: .
args:
- HOST=${HOST}
- PORT=${PORT}
- ROUTE_PREFIX=${ROUTE_PREFIX}
- CONTAINER_PREFIX=${CONTAINER_PREFIX}
container_name: ${CONTAINER_PREFIX:-dev}-auth-service
ports:
- 9000:9000
- 9001:9001
environment:
- DB_HOST=${CONTAINER_PREFIX:-dev}-auth-service_mongo
networks:
- docknet
- labs-net
restart: unless-stopped
image: node:20-alpine
links:
- auth-service_mongo:${CONTAINER_PREFIX:-dev}-auth-service_mongo
depends_on:
- auth-service_mongo
networks:
docknet:
name: docknet
labs-net:
name: labs-net

View File

@@ -3,38 +3,19 @@ version: '3.8'
services:
auth-service_mongo:
container_name: ${CONTAINER_PREFIX}-auth-service_mongo
env_file: .env
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MONGO_INITDB_ROOT_USERNAME=${DB_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD}
- MONGO_INITDB_DATABASE=${DB_NAME}
env_file:
- staging.env
networks:
- docknet
volumes:
- '/volume1/docker/labs/auth/mongo:/data/db'
restart: unless-stopped
image: mongo
image: mongo:latest
auth-service:
env_file: .env
env_file:
- staging.env
build: .
container_name: ${CONTAINER_PREFIX}-auth-service
environment:
- PORT=${PORT}
- ROUTE_PREFIX=${ROUTE_PREFIX}
- LOGIN_ROUTE=${LOGIN_ROUTE}
- RESET_ROUTE=${RESET_ROUTE}
- DB_HOST=${CONTAINER_PREFIX}-auth-service_mongo
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- DB_NAME=${DB_NAME}
- SESSION_KEY=${SESSION_KEY}
- JWT_AUDIENCE=${JWT_AUDIENCE}
- JWT_ISSUER=${JWT_ISSUER}
- JWT_SECRET=${JWT_SECRET}
- LOGIN_VALID_TIME=${LOGIN_VALID_TIME}
- RESET_VALID_MINUTES=${RESET_VALID_MINUTES}
- DEFAULT_TOKEN_DAYS=${DEFAULT_TOKEN_DAYS}
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.grow.rule=Host(`${HOST}`) && Path(`${ROUTE_PREFIX}`)'
@@ -46,11 +27,10 @@ services:
networks:
- docknet
restart: unless-stopped
image: node
links:
- auth-service_mongo:${CONTAINER_PREFIX}-auth-service_mongo
image: node:20-alpine
depends_on:
- auth-service_mongo
networks:
docknet:
name: docknet
external: true

View File

@@ -1,5 +1,5 @@
/* eslint-disable no-undef */
db = db.getSiblingDB(process.env.DB_NAME || 'not_set');
db = db.getSiblingDB(process.env.DB_NAME);
db.createUser({
user: process.env.DB_USERNAME,
pwd: process.env.DB_PASSWORD,

View File

@@ -1,6 +1,6 @@
{
"name": "@mifi/auth",
"version": "0.0.25",
"version": "0.0.34",
"author": "mifi (Mike Fitzpatrick)",
"license": "MIT",
"scripts": {
@@ -80,6 +80,5 @@
"repository": {
"type": "git",
"url": "https://git.mifi.dev/mifi/auth.git"
},
"registry": "https://git.mifi.dev"
}
}