docker-archive / deploykit

A toolkit for creating and managing declarative, self-healing infrastructure.
Apache License 2.0
2.25k stars 262 forks source link

Cache terrform instances #831

Closed kaufers closed 6 years ago

kaufers commented 6 years ago

This commit caches the output for the DescribeInstances command. The cache needs to be invalidated whenever one of the following operations is done:

Also, after terraform refresh is executed, then the properties may have changed OR one or more input tf.json files may have been pruned. Therefore, the cache also needs to be invalidated after each refresh.

This commit also updates the locking to use a read/write lock so that multiple describe operations can run in parallel.

codecov[bot] commented 6 years ago

Codecov Report

Merging #831 into master will increase coverage by 0.36%. The diff coverage is 85.98%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #831      +/-   ##
=========================================
+ Coverage   47.84%   48.2%   +0.36%     
=========================================
  Files          89      89              
  Lines        7945    7974      +29     
=========================================
+ Hits         3801    3844      +43     
+ Misses       3782    3772      -10     
+ Partials      362     358       -4
Impacted Files Coverage Δ
pkg/provider/terraform/instance/apply.go 69.74% <65%> (-0.52%) :arrow_down:
pkg/provider/terraform/instance/plugin.go 87.06% <90.8%> (+1.81%) :arrow_up:
pkg/types/spec.go 58.4% <0%> (-1.77%) :arrow_down:
pkg/rpc/mux/server.go 47.91% <0%> (+5.2%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 2fe902a...f3368a9. Read the comment docs.