Skip to content

Commit

Permalink
download and decompress feature completed
Browse files Browse the repository at this point in the history
  • Loading branch information
shokakucarrier committed Aug 23, 2021
1 parent c5d3be6 commit 3b8d42b
Show file tree
Hide file tree
Showing 6 changed files with 87 additions and 18 deletions.
17 changes: 10 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@ FROM registry.access.redhat.com/ubi8/python-36

USER root

RUN mkdir -p /usr/share/indy-sidedcar-init/sidecarinit
RUN mkdir -p /usr/share/indy-sidecar-init/sidecarinit

ADD sidecarinit /usr/share/indy-sidedcar-init/sidecarinit
ADD setup.py /usr/share/indy-sidedcar-init
ADD sidecarinit /usr/share/indy-sidecar-init/sidecarinit
ADD setup.py /usr/share/indy-sidecar-init
ADD scripts/* /usr/local/bin/
ADD application.yml /deployments/config/application.yml

RUN chmod +x /usr/local/bin/*

RUN virtualenv --python=$(which python3) /usr/share/indy-sidedcar-init/venv && \
/usr/share/indy-sidedcar-init/venv/bin/pip install --upgrade pip && \
/usr/share/indy-sidedcar-init/venv/bin/pip install -e /usr/share/indy-sidedcar-init
RUN virtualenv --python=$(which python3) /usr/share/indy-sidecar-init/venv && \
/usr/share/indy-sidecar-init/venv/bin/pip install --upgrade pip && \
/usr/share/indy-sidecar-init/venv/bin/pip install -e /usr/share/indy-sidecar-init

USER 1001
USER 1001

CMD ["sidecar-init"]
47 changes: 47 additions & 0 deletions application.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
####
# This file is a Example file, mount other file on this one inside container when deploy

quarkus:
http:
port: 8080
read-timeout: 30m
limits:
max-body-size: 500M
container-image:
builder: docker
vertx:
prefer-native-transport: true
native:
additional-build-args: |-
-H:ResourceConfigurationFiles=resources-config.json
-H:ReflectionConfigurationFiles=reflection-config.json
# Logging (disable console on prod)
log:
level: INFO
category:
"org.commonjava.util.sidecar":
level: DEBUG
console:
level: DEBUG
enable: true
file:
enable: true
path: "log/sidecar.log"
level: DEBUG
format: "%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n"
rotation:
max-backup-index: 5
max-file-size: 10M

honeycomb:
enabled: false
dataset: indy-sidecar-test
write-key: test
base-sample-rate: 20
functions: |-
/api/content/.*|sidecar.content|20,
/api/folo/admin/.*|sidecar.folo.admin|1,
/api/folo/track/.*|sidecar.folo.content|1
sidecar:
archive-api: http://localhost:8081/api/archive
local-repository: ${user.home}/preSeedRepo
2 changes: 1 addition & 1 deletion scripts/sidecar-init
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

source /etc/profile

exec /usr/share/indy-sidedcar-init/venv/bin/run-sidecar-init "$@"
exec /usr/share/indy-sidecar-init/venv/bin/run-sidecar-init "$@"
19 changes: 13 additions & 6 deletions sidecarinit/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,20 @@
import os
import sys
from time import sleep
from traceback import format_exc
from pathlib import Path
import sidecarinit.config as config
import sidecarinit.download as download

@click.command()
@click.argument('env_yml', required=False) #help='Target environment, Same as sidecar application.yml'
@click.option('-B', '--artifact-dir', help='Dir for saving artifacts', default='artifacts')
def run(env_yml, artifact_dir):
@click.argument('env_yml', required=False, default='/deployments/config/application.yml') #help='Target environment, Same as sidecar application.yml'
def run(env_yml):

#suite = config.read_config(env_yml)
print("hello world")
suite = config.read_config(env_yml)

archive_name = '/' + os.environ.get('BUILD_ID') + '.zip'

print('Downloading from :', suite.archive_api, ' to ' ,suite.local_repository)
Path(suite.local_repository).mkdir(parents=True, exist_ok=True)
Path(suite.local_repository + archive_name ).touch(exist_ok=True)

download.download_archive(suite.archive_api + archive_name, suite.local_repository)
9 changes: 5 additions & 4 deletions sidecarinit/config.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
from ruamel.yaml import YAML
import os

ENV_INDY_URL = 'indy-url'
ENV_PROXY_PORT = 'proxy-port'
ENV_ARCHIVE_API = 'archive-api'
ENV_LOCAL_REPOSITORY = 'local-repository'

DEFAULT_PROXY_PORT = 8081
DEFAULT_LOCAL_REPOSITORY = '/preSeedRepo'


class Environment:
def __init__(self, env_spec):
self.indy_url = env_spec.get(ENV_INDY_URL)
self.proxy_port = env_spec.get(ENV_PROXY_PORT) or DEFAULT_PROXY_PORT
self.archive_api = env_spec.get('sidecar').get(ENV_ARCHIVE_API)
self.local_repository = env_spec.get('sidecar').get(ENV_LOCAL_REPOSITORY).replace('${user.home}',os.environ.get('HOME')) or DEFAULT_LOCAL_REPOSITORY

def read_config(env_yml):
""" Read the suite configuration that this worker should run, from a config.yml file
Expand Down
11 changes: 11 additions & 0 deletions sidecarinit/download.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import urllib.request
import shutil
import os

def download_archive(url,repository):
archive_name = "/" + os.environ.get('BUILD_ID') + '.zip'

with urllib.request.urlopen(url) as response, open(repository + archive_name, 'wb') as out_file:
shutil.copyfileobj(response, out_file)

shutil.unpack_archive(repository + archive_name, repository)

0 comments on commit 3b8d42b

Please sign in to comment.