Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
YuryHrytsuk committed Nov 17, 2023
2 parents 209f1e8 + bc81258 commit 5659817
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 31 deletions.
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## What do these changes do?

## Related issue/s

## Related PR/s

## Checklist

- [ ] I tested and it works
71 changes: 71 additions & 0 deletions scripts/deployments/validate_simcore_stack_yml.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/bin/bash
set -o nounset
set -o pipefail
#
# This bash script expects the following environment variables to be set:
# - PREFIX_STACK_NAME: prefix of the stack name
#
export COMPOSE_FILE=simcore_stack.yml
export SETTINGS_BINARY_PATH=/home/scu/.venv/bin
#
export SERVICES_PREFIX=${PREFIX_STACK_NAME}
exit_code=0
# Download version-pinned yq binary
python -c "import urllib.request,os,sys,urllib; f = open(os.path.basename(sys.argv[1]), 'wb'); f.write(urllib.request.urlopen(sys.argv[1]).read()); f.close();" https://github.com/mikefarah/yq/releases/download/v4.29.2/yq_linux_amd64
mv yq_linux_amd64 yq
chmod +x yq
_yq=$(realpath ./yq)
export _yq
#
# start
#
for service in $($_yq e '.services | keys | .[]' ${COMPOSE_FILE})
do
export TARGETNAME=${service#"${SERVICES_PREFIX}"_}
# continue if the service == director since it doesnt have settings
if [ "${TARGETNAME}" == "director" ]; then
continue
fi
if [ "${TARGETNAME}" == "migration" ]; then
continue
fi
if [ "${TARGETNAME}" == "postgres" ]; then
continue
fi
if [ "${TARGETNAME}" == "rabbit" ]; then
continue
fi
if [ "${TARGETNAME}" == "redis" ]; then
continue
fi
if [ "${TARGETNAME}" == "traefik" ]; then
continue
fi
if [ "${TARGETNAME}" == "traefik_api" ]; then
continue
fi
if [ "${TARGETNAME}" == "whoami" ]; then
continue
fi
export TARGETFILE="simcore-service-${TARGETNAME}"
echo TARGETFILE="${TARGETFILE}"
echo "Assuming targetfile in ${SETTINGS_BINARY_PATH}/${TARGETFILE}"
echo "Checking ${SETTINGS_BINARY_PATH}/${TARGETFILE}"
if docker compose --file ${COMPOSE_FILE} run --rm "${service}" test -f "${SETTINGS_BINARY_PATH}"/"${TARGETFILE}" > /dev/null 2>&1; then
echo "FOUND_EXECUTABLE=${SETTINGS_BINARY_PATH}/$TARGETFILE"
export FOUND_EXECUTABLE="${SETTINGS_BINARY_PATH}/$TARGETFILE"
if docker compose --file ${COMPOSE_FILE} run --entrypoint "${FOUND_EXECUTABLE}" --rm "${service}" settings --as-json > /dev/null 2>&1; then
echo "SUCCESS: Validation of environment variables for ${service}"
else
echo "ERROR: Validation of environment variables for ${service} failed"
docker compose --file ${COMPOSE_FILE} run --entrypoint "${FOUND_EXECUTABLE}" --rm "${service}" settings --as-json
exit_code=1
fi
else
echo "WARN: Settings executable not found for ${service}"
fi


echo "--------------------------"
done
exit $exit_code
6 changes: 3 additions & 3 deletions services/graylog/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ ${TEMP_COMPOSE}-aws: docker-compose.yml docker-compose.letsencrypt.dns.yml docke
.PHONY: configure
configure: .env ## Test is Graylog is online and configure Graylog inputs
@cd scripts;\
if [ ! -d "venv" ]; \
if [ ! -d ".venv" ]; \
then\
python3 -m venv venv;\
python3 -m venv .venv;\
fi;\
source venv/bin/activate;\
source .venv/bin/activate;\
pip install -r requirements.txt > /dev/null 2>&1;\
set -o allexport; \
source ../$<;\
Expand Down
28 changes: 0 additions & 28 deletions services/simcore/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,34 +29,6 @@ services:
- node.labels.simcore==true

autoscaling:
environment:
- EC2_ACCESS_KEY_ID=${AUTOSCALING_EC2_ACCESS_KEY_ID} # defines the access key to EC2
- EC2_SECRET_ACCESS_KEY=${AUTOSCALING_EC2_SECRET_ACCESS_KEY} # defines the secret key to EC2
- EC2_REGION_NAME=${AUTOSCALING_EC2_REGION_NAME}
- EC2_INSTANCES_ALLOWED_TYPES=${AUTOSCALING_EC2_INSTANCES_ALLOWED_TYPES} # defines the allowed EC2 instance types (["t2.nano", ...])
- EC2_INSTANCES_AMI_ID=${AUTOSCALING_EC2_INSTANCES_AMI_ID} # defines the AMI ID to use
- EC2_INSTANCES_CUSTOM_BOOT_SCRIPTS=${AUTOSCALING_EC2_INSTANCES_CUSTOM_BOOT_SCRIPTS}
- EC2_INSTANCES_MACHINES_BUFFER=${AUTOSCALING_EC2_INSTANCES_MACHINES_BUFFER} # defines the number of reserved machines
- EC2_INSTANCES_MAX_INSTANCES=${AUTOSCALING_EC2_INSTANCES_MAX_INSTANCES} # maximum number of instances
- EC2_INSTANCES_PRE_PULL_IMAGES=${AUTOSCALING_EC2_INSTANCES_PRE_PULL_IMAGES}
- EC2_INSTANCES_SECURITY_GROUP_IDS=${AUTOSCALING_EC2_INSTANCES_SECURITY_GROUP_IDS} # defines the security groups for starting EC2s
- EC2_INSTANCES_SUBNET_ID=${AUTOSCALING_EC2_INSTANCES_SUBNET_ID} # defines the subnet ID to use for the EC2 instances
- EC2_INSTANCES_KEY_NAME=${AUTOSCALING_EC2_INSTANCES_KEY_NAME} # defines the used Key name for the EC2 instances
- NODES_MONITORING_NODE_LABELS=${AUTOSCALING_NODES_MONITORING_NODE_LABELS} # defines the labels to check for on the nodes (i.e. ["dynamicsidecar"])
- NODES_MONITORING_SERVICE_LABELS=${AUTOSCALING_NODES_MONITORING_SERVICE_LABELS} # optional defines the label to check for on the monitored services
- NODES_MONITORING_NEW_NODES_LABELS=${NODES_MONITORING_NEW_NODES_LABELS} # optional defines the name of the monitored service
- RABBIT_HOST=${RABBIT_HOST}
- RABBIT_PASSWORD=${RABBIT_PASSWORD}
- RABBIT_PORT=${RABBIT_PORT}
- RABBIT_SECURE=${RABBIT_SECURE}
- RABBIT_USER=${RABBIT_USER}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- REGISTRY_USER=${REGISTRY_USER}
- REGISTRY_PW=${REGISTRY_PW}
- REGISTRY_URL=${REGISTRY_URL}
- REGISTRY_SSL=${REGISTRY_SSL}
- REGISTRY_AUTH=${REGISTRY_AUTH}
deploy:
update_config:
parallelism: 2
Expand Down

0 comments on commit 5659817

Please sign in to comment.