diff --git a/Dockerfile b/Dockerfile index 6f107f803b8bf..d2bc18de753c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ LABEL authors="Waldemar Hummer (waldemar.hummer@gmail.com), Gianluca Bortoli (gi # install basic tools RUN pip install awscli awscli-local requests --upgrade +RUN apk add iputils # add files required to run "make install" ADD Makefile requirements.txt ./ diff --git a/README.md b/README.md index 80cbe0951094f..757c4e3763054 100644 --- a/README.md +++ b/README.md @@ -500,6 +500,7 @@ localstack web ## Change Log +* v0.9.6: Add API Gateway SQS proxy; fix command to push Docker image; fix Docker bridge IP configuration; fix SSL issue in dashboard infra; updates to README * v0.9.5: Reduce Docker image size by squashing; fix response body for presigned URL S3 PUT requests; fix CreateDate returned by IAM; fix account IDs for CF and SNS; fix topic checks for SMS using SNS; improve documentation around `@LocalstackDockerProperties`; add basic EC2 support; upgrade to ElasticSearch 6.7; set Last-Modified header in S3; preserve logic with uppercase event keys in Java; add support for nodejs 10.x Lambdas * v0.9.4: Fix ARNs in CloudFormation deployments; write stderr to file in supervisord; fix Lambda invocation times; fix canonicalization of service names when running in Docker; add support for `@Nested` in Junit5; add support for batch/transaction in DynamoDB; fix output buffering for subprocesses; assign unique ports under docker-reuse; check if topic ARN exists before publish * v0.9.3: Fix output buffering of child processes; new release of Java libs; add imageTag attribute for Java annotation diff --git a/bin/Dockerfile.base b/bin/Dockerfile.base index 3315611a29f43..f3cd3c6dc326b 100644 --- a/bin/Dockerfile.base +++ b/bin/Dockerfile.base @@ -5,7 +5,7 @@ LABEL authors="Waldemar Hummer (waldemar.hummer@gmail.com)" # install some common libs RUN apk add --no-cache autoconf automake build-base ca-certificates curl g++ gcc git groff \ - libffi-dev libtool linux-headers make openssl openssl-dev python3 python3-dev \ + iputils libffi-dev libtool linux-headers make openssl openssl-dev python3 python3-dev \ py3-pip tar xz zip && \ update-ca-certificates diff --git a/localstack/config.py b/localstack/config.py index b62f2a87fcfd2..d10e945d83383 100644 --- a/localstack/config.py +++ b/localstack/config.py @@ -95,7 +95,7 @@ def is_linux(): # Make sure to keep this in sync with the above! # Note: do *not* include DATA_DIR in this list, as it is treated separately CONFIG_ENV_VARS = ['SERVICES', 'HOSTNAME', 'HOSTNAME_EXTERNAL', 'LOCALSTACK_HOSTNAME', 'LAMBDA_FALLBACK_URL', - 'LAMBDA_EXECUTOR', 'LAMBDA_REMOTE_DOCKER', 'LAMBDA_DOCKER_NETWORK', 'USE_SSL', 'LICENSE_KEY', 'DEBUG', + 'LAMBDA_EXECUTOR', 'LAMBDA_REMOTE_DOCKER', 'LAMBDA_DOCKER_NETWORK', 'USE_SSL', 'LOCALSTACK_API_KEY', 'DEBUG', 'KINESIS_ERROR_PROBABILITY', 'DYNAMODB_ERROR_PROBABILITY', 'PORT_WEB_UI', 'START_WEB', 'DOCKER_BRIDGE_IP'] for key, value in six.iteritems(DEFAULT_SERVICE_PORTS): diff --git a/localstack/constants.py b/localstack/constants.py index eeca5c30301e7..b8c88d057b748 100644 --- a/localstack/constants.py +++ b/localstack/constants.py @@ -2,7 +2,7 @@ import localstack_client.config # LocalStack version -VERSION = '0.9.5' +VERSION = '0.9.6' # default AWS region if 'DEFAULT_REGION' not in os.environ: diff --git a/localstack/utils/analytics/event_publisher.py b/localstack/utils/analytics/event_publisher.py index 4582f7278fcb4..bca53813c513d 100644 --- a/localstack/utils/analytics/event_publisher.py +++ b/localstack/utils/analytics/event_publisher.py @@ -7,7 +7,6 @@ from localstack.utils.common import (JsonObject, to_str, timestamp, short_uid, save_file, FuncThread, load_file) from localstack.utils.common import safe_requests as requests -from localstack_ext.bootstrap.licensing import read_license_key PROCESS_ID = short_uid() MACHINE_ID = None @@ -62,8 +61,8 @@ def api_key(self): def read_api_key_safe(): try: - # TODO: rename to read_api_key - return read_license_key() + from localstack_ext.bootstrap.licensing import read_api_key + return read_api_key() except Exception: return None @@ -129,7 +128,7 @@ def poll_and_send_messages(params): try: event = EVENT_QUEUE.get(block=True, timeout=None) event = event.to_dict() - endpoint = '%s/events' % API_ENDPOINT + endpoint = '%s/events' % API_ENDPOINT.rstrip('/') requests.post(endpoint, json=event) except Exception: # silently fail, make collection of usage data as non-intrusive as possible