- Navigate to /etc/docker
cd /etc/docker- Create
daemon.jsonfine ``sh sudo touch daemon.json
| version: '3.6' | |
| services: | |
| vault: | |
| image: vault:1.13.3 | |
| healthcheck: | |
| retries: 5 | |
| restart: always | |
| ports: | |
| - 8200:8200 |
| { | |
| "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", | |
| "blocks": [ | |
| { | |
| "alignment": "left", | |
| "segments": [ | |
| { | |
| "foreground": "#D75F00", | |
| "style": "plain", | |
| "template": "λ ", |
| // DOCS: https://quarkus.io/version/main/guides/deploying-to-heroku | |
| heroku login | |
| mvn clean package -D"quarkus.container-image.build=true" -D"quarkus.container-image.group=registry.heroku.com/<APP NAME>" -D"quarkus.container-image.name=web" -D"quarkus.container-image.tag=latest" -Pnative -D"quarkus.native.container-build=true" -D"quarkus.native.native-image-xmx=6g" | |
| docker push registry.heroku.com/<APP NAME>/web | |
| heroku container:release web --app <APP NAME> | |
| // heroku container:push web -a <APP NAME> | |
| heroku logs --app <APP NAME> --tail |
| const crypto = require('crypto'); | |
| async function encrypt( text , secret ){ | |
| return new Promise( (resolve, reject)=> { | |
| const algorithm = 'aes-256-ctr'; | |
| const secretKey = secret; | |
| const iv = crypto.randomBytes(16); | |
| const cipher = crypto.createCipheriv(algorithm, secretKey, iv); |
| // Node >= v11.6.0 | |
| async function derivatePublicKey( privatePemPath ){ | |
| if (!privatePemPath) throw new Error('Pem Path not informed.') | |
| return new Promise((resolve, reject)=>{ | |
| try { | |
| const privateKey = fs.readFileSync( privatePemPath, 'utf8'); |
| async function generateKeyPair(){ | |
| return new Promise( (resolve, reject ) => { | |
| crypto.generateKeyPair('rsa', { | |
| modulusLength: 4096, | |
| publicKeyEncoding: { | |
| type: 'spki', | |
| format: 'pem' | |
| }, | |
| privateKeyEncoding: { |
| async function sign(pemPath, message = '', digest = 'SHA256'){ | |
| if (!pemPath) throw new Error('Pem Path not informed.') | |
| return new Promise((resolve, reject)=>{ | |
| try { | |
| const privateKey = fs.readFileSync( pemPath, 'utf8'); | |
| const sign = crypto.createSign(digest) | |
| const crypto = require('crypto'); | |
| async function hashPassword( password , configs = {} ) { | |
| const config = { | |
| hashBytes: configs.hashBytes || 64, | |
| saltBytes: configs.saltBytes || 64, | |
| iterations: configs.iterations || 872791 | |
| }; | |