mirror of
https://github.com/valitydev/bouncer.git
synced 2024-11-06 02:15:18 +00:00
TECHDEBT-21: Fix decoding module initialization error + updated build system (#1)
* removed build utils sub module * added iosetopts dep * added pure image build * added dockerfile content * fixed service name
This commit is contained in:
parent
90f64bb523
commit
37a8017739
38
.github/workflows/build-image.yaml
vendored
Normal file
38
.github/workflows/build-image.yaml
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
name: Build Docker image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master]
|
||||||
|
pull_request:
|
||||||
|
branches: ["*"]
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: ghcr.io
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Log in to the Container registry
|
||||||
|
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Construct tags / labels for an image
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
${{ env.REGISTRY }}/${{ github.repository }}
|
||||||
|
tags: |
|
||||||
|
type=sha
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
|
||||||
|
with:
|
||||||
|
push: ${{ github.event_name == 'push' }}
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,8 +9,6 @@ erl_crash.dump
|
|||||||
\#*
|
\#*
|
||||||
.\#*
|
.\#*
|
||||||
.tags*
|
.tags*
|
||||||
Dockerfile
|
|
||||||
docker-compose.yml
|
|
||||||
rebar3.crashdump
|
rebar3.crashdump
|
||||||
/_checkouts/
|
/_checkouts/
|
||||||
/test/policies/bundle.tar.gz
|
/test/policies/bundle.tar.gz
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
|||||||
[submodule "build-utils"]
|
|
||||||
path = build_utils
|
|
||||||
url = git@github.com:rbkmoney/build_utils
|
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM ghcr.io/rbkmoney/build-erlang:785d48cbfa7e7f355300c08ba9edc6f0e78810cb AS builder
|
||||||
|
RUN mkdir /build
|
||||||
|
COPY . /build/
|
||||||
|
WORKDIR /build
|
||||||
|
RUN rebar3 compile
|
||||||
|
RUN rebar3 as prod release
|
||||||
|
|
||||||
|
# Keep in sync with Erlang/OTP version in build image
|
||||||
|
FROM erlang:24.1.3.0-slim
|
||||||
|
ENV SERVICE=bouncer
|
||||||
|
ENV CHARSET=UTF-8
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
COPY --from=builder /build/_build/prod/rel/${SERVICE} /opt/${SERVICE}
|
||||||
|
WORKDIR /opt/${SERVICE}
|
||||||
|
ENTRYPOINT []
|
||||||
|
CMD /opt/${SERVICE}/bin/${SERVICE} foreground
|
||||||
|
EXPOSE 8022
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
cat <<EOF
|
|
||||||
FROM $BASE_IMAGE
|
|
||||||
LABEL maintainer="Andrey Mayorov <a.mayorov@rbkmoney.com>"
|
|
||||||
RUN mkdir -p /var/log/bouncer
|
|
||||||
COPY ./_build/prod/rel/bouncer /opt/bouncer
|
|
||||||
WORKDIR /opt/bouncer
|
|
||||||
CMD /opt/bouncer/bin/bouncer foreground
|
|
||||||
EXPOSE 8022
|
|
||||||
LABEL com.rbkmoney.$SERVICE_NAME.parent=$BASE_IMAGE_NAME \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.parent_tag=$BASE_IMAGE_TAG \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.build_img=build \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.build_img_tag=$BUILD_IMAGE_TAG \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.commit_id=$(git rev-parse HEAD) \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.commit_number=$(git rev-list --count HEAD) \
|
|
||||||
com.rbkmoney.$SERVICE_NAME.branch=$( \
|
|
||||||
if [ "HEAD" != $(git rev-parse --abbrev-ref HEAD) ]; then \
|
|
||||||
echo $(git rev-parse --abbrev-ref HEAD); \
|
|
||||||
elif [ -n "$BRANCH_NAME" ]; then \
|
|
||||||
echo $BRANCH_NAME; \
|
|
||||||
else \
|
|
||||||
echo $(git name-rev --name-only HEAD); \
|
|
||||||
fi)
|
|
||||||
EOF
|
|
23
Jenkinsfile
vendored
23
Jenkinsfile
vendored
@ -1,23 +0,0 @@
|
|||||||
#!groovy
|
|
||||||
// -*- mode: groovy -*-
|
|
||||||
|
|
||||||
def finalHook = {
|
|
||||||
runStage('store CT logs') {
|
|
||||||
archive '_build/test/logs/'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
build('bouncer', 'docker-host', finalHook) {
|
|
||||||
checkoutRepo()
|
|
||||||
loadBuildUtils()
|
|
||||||
|
|
||||||
def pipeErlangService
|
|
||||||
runStage('load pipeline') {
|
|
||||||
env.JENKINS_LIB = "build_utils/jenkins_lib"
|
|
||||||
env.SH_TOOLS = "build_utils/sh"
|
|
||||||
pipeErlangService = load("${env.JENKINS_LIB}/pipeErlangService.groovy")
|
|
||||||
}
|
|
||||||
|
|
||||||
pipeErlangService.runPipe(true, false)
|
|
||||||
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit a7655bc60c877a65cdfe3d9b668021d970d88a76
|
|
@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
OPA_VSN="0.26.0-debug"
|
|
||||||
OPA_IMAGE="openpolicyagent/opa:${OPA_VSN}"
|
|
||||||
|
|
||||||
POLICY_DIR="/var/opa/policies"
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
version: '2.1'
|
|
||||||
services:
|
|
||||||
|
|
||||||
${SERVICE_NAME}:
|
|
||||||
image: ${BUILD_IMAGE}
|
|
||||||
volumes:
|
|
||||||
- .:$PWD
|
|
||||||
- $HOME/.cache:/home/$UNAME/.cache
|
|
||||||
working_dir: $PWD
|
|
||||||
command: /sbin/init
|
|
||||||
depends_on:
|
|
||||||
opa:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
opa:
|
|
||||||
image: ${OPA_IMAGE}
|
|
||||||
entrypoint: ["sh", "-c"]
|
|
||||||
command: ["cd ${POLICY_DIR} &&
|
|
||||||
/opa build . &&
|
|
||||||
/opa run
|
|
||||||
--server
|
|
||||||
--addr :8181
|
|
||||||
--set decision_logs.console=true
|
|
||||||
--bundle bundle.tar.gz
|
|
||||||
"]
|
|
||||||
volumes:
|
|
||||||
- ./test/policies:${POLICY_DIR}:rw
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "sh", "-c", "wget -q --tries=1 --spider http://localhost:8181/"]
|
|
||||||
interval: 5s
|
|
||||||
timeout: 1s
|
|
||||||
retries: 5
|
|
||||||
EOF
|
|
@ -44,6 +44,7 @@
|
|||||||
% Production-only deps.
|
% Production-only deps.
|
||||||
% Defined here for the sake of rebar-locking.
|
% Defined here for the sake of rebar-locking.
|
||||||
{recon, "2.5.2"},
|
{recon, "2.5.2"},
|
||||||
|
{iosetopts, {git, "https://github.com/valitydev/iosetopts.git", {ref, "edb445c"}}},
|
||||||
{logger_logstash_formatter,
|
{logger_logstash_formatter,
|
||||||
{git, "https://github.com/rbkmoney/logger_logstash_formatter.git", {branch, "master"}}},
|
{git, "https://github.com/rbkmoney/logger_logstash_formatter.git", {branch, "master"}}},
|
||||||
{how_are_you, {git, "https://github.com/rbkmoney/how_are_you.git", {branch, "master"}}},
|
{how_are_you, {git, "https://github.com/rbkmoney/how_are_you.git", {branch, "master"}}},
|
||||||
@ -158,6 +159,7 @@
|
|||||||
%% Relx configuration
|
%% Relx configuration
|
||||||
{relx, [
|
{relx, [
|
||||||
{release, {bouncer, "0.1.0"}, [
|
{release, {bouncer, "0.1.0"}, [
|
||||||
|
iosetopts,
|
||||||
% tools for introspection
|
% tools for introspection
|
||||||
{recon, load},
|
{recon, load},
|
||||||
% debugger
|
% debugger
|
||||||
|
Loading…
Reference in New Issue
Block a user