Skip to content

Instantly share code, notes, and snippets.

@erangaeb
erangaeb / Dockerfile
Created November 12, 2022 10:02
dockerize vault with consul backend config
# base image
FROM alpine:3.14
# set vault version
ENV VAULT_VERSION 1.8.2
# create a new directory
RUN mkdir /vault
# download dependencies
@erangaeb
erangaeb / consul-config.json
Created November 12, 2022 09:55
consul storage backend config
{
"datacenter": "rahasak",
"data_dir": "/consul/data",
"log_level": "DEBUG",
"server": true,
"ui": true,
"ports": {
"dns": 53
}
}
@erangaeb
erangaeb / Dockerfile
Created November 12, 2022 09:53
dockerize consul backend
# base image
FROM alpine:3.14
# set consul version
ENV CONSUL_VERSION 1.10.2
# create a new directory
RUN mkdir /consul
# download dependencies
@erangaeb
erangaeb / vault
Created November 12, 2022 09:41
run vault with filesystem backend
# build docker
docker build -t erangaeb/vault-filesystem:0.1 .
# run vault with filesystem backend
docker-compose up -d vault-filesystem
❯❯ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
@erangaeb
erangaeb / docker-compose.yml
Created November 12, 2022 08:59
vault deployment with filesystem backend
version: '3.8'
services:
vault-filesystem:
image: erangaeb/vault-filesystem:0.1
ports:
- 8200:8200
environment:
- VAULT_ADDR=http://127.0.0.1:8200
- VAULT_API_ADDR=http://127.0.0.1:8200
@erangaeb
erangaeb / vault-filesystem-backend-config.json
Created November 12, 2022 08:50
vault filesystem backend config
{
"backend": {
"file": {
"path": "vault/data"
}
},
"listener": {
"tcp":{
"address": "0.0.0.0:8200",
"tls_disable": 1
@erangaeb
erangaeb / Dockerfile
Created November 12, 2022 08:47
dockerize vault with filesystem backend
# base image
FROM alpine:3.14
# set vault version
ENV VAULT_VERSION 1.8.2
# create a new directory
RUN mkdir /vault
# download dependencies
@erangaeb
erangaeb / ServiceActor.scala
Created October 5, 2022 18:59
async handle service actor
package com.pagero.services.codelist.restapi.actors
import akka.actor.{ActorSystem, Props}
import akka.http.scaladsl.model.Multipart.BodyPart
import akka.http.scaladsl.model._
import akka.http.scaladsl.server.Directives.{complete, path, post, _}
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.directives.RouteDirectives
import akka.pattern.ask
import akka.util.Timeout
@erangaeb
erangaeb / AsyncUpload.scala
Last active October 5, 2022 15:24
Handle Multipart.FormData and actor request asynchronously
private def processFile(fileData: Multipart.FormData)(implicit ec: ExecutionContextExecutor) = {
val f = fileData.parts.mapAsync(1) { bodyPart =>
def appendByteString(payload: ByteString, byteString: ByteString): ByteString = {
payload.concat(byteString)
}
bodyPart.entity.dataBytes.runFold(ByteString.empty)(appendByteString)
}
f.runFold(ByteString.empty) { case (a, b) =>
@erangaeb
erangaeb / env
Last active August 21, 2022 18:01
keycloak ip configuration for openrmf
JWTAUTHORITY=http://192.168.64.43:9001/auth/realms/openrmf
JWTCLIENT=openrmf