Skip to content

Commit

Permalink
Make writing Config resource cache to DynamoDB configurable (#9280)
Browse files Browse the repository at this point in the history
* Stop writing Config resource cache to DynamoDB

* okay maybe I got a little carried away

* don't break compatibility
  • Loading branch information
patricksanders authored Nov 26, 2021
1 parent 0dda1b2 commit 2f41789
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
25 changes: 13 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,27 @@ test_args := --cov-report term-missing
CONSOLEME_CONFIG_ENTRYPOINT := $(or ${CONSOLEME_CONFIG_ENTRYPOINT},${CONSOLEME_CONFIG_ENTRYPOINT},default_config)
.PHONY: env_install
env_install:
pip install wheel
pip install -r requirements.txt -r requirements-test.txt
pip install wheel -r requirements.txt -r requirements-test.txt
pip install -e .

.PHONY: install
install: clean
make env_install
.PHONY: build_ui
build_ui:
yarn --cwd ui
yarn --cwd ui build:prod
make bootstrap

.PHONY: bootstrap
bootstrap:
.PHONY: install
install: clean env_install build_ui bootstrap

.PHONY: docker_volume
docker_volume:
if docker volume create dynamodb-data; then \
echo "Created persistent docker volume for dynamodb."; \
else \
echo "Unable to configure persistent Dynamo directory. Docker must be installed on this host or container."; \
fi
make dynamo
make redis

.PHONY: bootstrap
bootstrap: docker_volume dynamo redis

.PHONY: dynamo
dynamo:
Expand All @@ -48,7 +49,7 @@ redis:

.PHONY: test
test: clean
ASYNC_TEST_TIMEOUT=60 CONSOLEME_CONFIG_ENTRYPOINT=$(CONSOLEME_CONFIG_ENTRYPOINT) CONFIG_LOCATION=example_config/example_config_test.yaml $(pytest)
ASYNC_TEST_TIMEOUT=60 $(pytest)

.PHONY: bandit
bandit: clean
Expand Down Expand Up @@ -81,7 +82,7 @@ test-lint: test lint

.PHONY: docs
docs:
make -C docs html
$(MAKE) -C docs html

.PHONY: docsopen
docsopen: docs
Expand Down
8 changes: 6 additions & 2 deletions consoleme/celery_tasks/celery_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -1705,7 +1705,6 @@ def cache_resources_from_aws_config_for_account(account_id) -> dict:
s3_key = config.get(
"aws_config_cache.s3.file", "aws_config_cache/cache_{account_id}_v1.json.gz"
).format(account_id=account_id)
dynamo = UserDynamoHandler()
# Only query in active region, otherwise get data from DDB
if config.region == config.get("celery.active_region", config.region) or config.get(
"environment"
Expand Down Expand Up @@ -1738,7 +1737,12 @@ def cache_resources_from_aws_config_for_account(account_id) -> dict:
s3_key=s3_key,
)

dynamo.write_resource_cache_data(results)
if config.get(
"celery.cache_resources_from_aws_config_across_accounts.dynamo_enabled",
True,
):
dynamo = UserDynamoHandler()
dynamo.write_resource_cache_data(results)
else:
redis_result_set = async_to_sync(retrieve_json_data_from_redis_or_s3)(
s3_bucket=s3_bucket, s3_key=s3_key
Expand Down

0 comments on commit 2f41789

Please sign in to comment.