simplygenius-atmos 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10ee93da3ad938995a76994c9652134b9761f7dd79dbb848667655b36c666c37
4
- data.tar.gz: 3a6cfa01bf2693dd9ffb3b8b95ff9c9a8a989eb1bc954a385b5b58603da671da
3
+ metadata.gz: c9f69449d48427430bc31762edb6359ac810e1fc32cf94d8ce051df7a6cb92b4
4
+ data.tar.gz: 1dcb2ed97a319a93f5f87462c1553c898132f23f04dc90cf43807a87cc196ae3
5
5
  SHA512:
6
- metadata.gz: 778183427db0fcc75a8dd2a9365ad7a12824d7d1271333044896d130b58d371ae824c97e888fc2f125e0946beccd1d2bdc6f830238383321511b5a73774bd594
7
- data.tar.gz: bb37c2acdac734795af2c6c1b7182fc97d07d46e74181b0d4257618b1e1b1318a054e5acbf53214cd7e971702d423d16e62674780f7772316ee1a3b1465f9422
6
+ metadata.gz: ef543813c52188072ddf10a179174fb6aee0b19fbcc6787fe0d10c928875481606554b18b43d782724624f1f3d61ee8d500dd9bb89cb1ac21bb3d61663541933
7
+ data.tar.gz: 9a020c0a2b66a38e0a2f2145e03fdedede9792c18c83906c1b7191de1c7affa06d58e2fba573ebf751db58dbacea0be9d9b0abd26593cdf40f5dad82a2ca43b3
data/CHANGELOG.md CHANGED
@@ -1,3 +1,68 @@
1
+ 0.9.1 (11/30/2018)
2
+ ------------------
3
+
4
+ * fix some json weirdness with ruby v2.3 vs 2.5 and active support [82c02d1](https://github.com/simplygenius/atmos/commit/82c02d1)
5
+ * docker tweaks [f44c9b1](https://github.com/simplygenius/atmos/commit/f44c9b1)
6
+ * warn instead of trace for empty recipe config [7c83238](https://github.com/simplygenius/atmos/commit/7c83238)
7
+ * fix docker based runtime, pass through more mounts and skip aws cli based auth lookup as it slowed things down too much [f9844e9](https://github.com/simplygenius/atmos/commit/f9844e9)
8
+
9
+ 0.9.0 (10/18/2018)
10
+ ------------------
11
+
12
+ * change terraform plugin sharing to do so by copying the plugins to the home directory location that is searched by terraform . [9779685](https://github.com/simplygenius/atmos/commit/9779685)
13
+ * fix comment [58e51a1](https://github.com/simplygenius/atmos/commit/58e51a1)
14
+ * handle empty config files [8f48c98](https://github.com/simplygenius/atmos/commit/8f48c98)
15
+ * push working group up to main cli and add to atmos config so that we can reference it in backend state key [ca87c24](https://github.com/simplygenius/atmos/commit/ca87c24)
16
+ * move all but config location to atmos runtime config [3f86a3e](https://github.com/simplygenius/atmos/commit/3f86a3e)
17
+ * fix dev tools [1edf4e2](https://github.com/simplygenius/atmos/commit/1edf4e2)
18
+ * version constrain all the dependencies [cdce71f](https://github.com/simplygenius/atmos/commit/cdce71f)
19
+ * make explicit the use of working_group for state key by passing in atmos_working_group as a terraform variable [83a581f](https://github.com/simplygenius/atmos/commit/83a581f)
20
+ * move atmos vars in yml into their own namespace [705beda](https://github.com/simplygenius/atmos/commit/705beda)
21
+ * force hashie version [e52cd93](https://github.com/simplygenius/atmos/commit/e52cd93)
22
+ * fix to work with ruby 2.3 [b2612ec](https://github.com/simplygenius/atmos/commit/b2612ec)
23
+ * log load path [3b4945d](https://github.com/simplygenius/atmos/commit/3b4945d)
24
+ * add ability to add to ruby load path from cli/config [e13935b](https://github.com/simplygenius/atmos/commit/e13935b)
25
+ * allow templates to directly reference scoped context with method_missing (lets skip assigning a var when asking questions) [8cf203e](https://github.com/simplygenius/atmos/commit/8cf203e)
26
+ * fix doc strinng [7257229](https://github.com/simplygenius/atmos/commit/7257229)
27
+ * add choose to ui in templates [efb7047](https://github.com/simplygenius/atmos/commit/efb7047)
28
+ * add update to generator to allow applying all previously installed templates [2faa6e9](https://github.com/simplygenius/atmos/commit/2faa6e9)
29
+ * make state file be plain yaml (no atmos class refs) [625d508](https://github.com/simplygenius/atmos/commit/625d508)
30
+ * allow disabling built in sourcepaths from cli [64a2c18](https://github.com/simplygenius/atmos/commit/64a2c18)
31
+ * refactor loading of env/providers so they can be in a dedicated file [fedf915](https://github.com/simplygenius/atmos/commit/fedf915)
32
+ * extract recipes to own yml [518e1b7](https://github.com/simplygenius/atmos/commit/518e1b7)
33
+ * plugin config tweaks [3cbc19e](https://github.com/simplygenius/atmos/commit/3cbc19e)
34
+ * allow custom config sources [9d82d09](https://github.com/simplygenius/atmos/commit/9d82d09)
35
+ * refactor template/context/hash mess into template class, fix a number of issues with context, disallow duplicate template names for now, add initial state tracking [e00a4dc](https://github.com/simplygenius/atmos/commit/e00a4dc)
36
+ * add context, allow UI to get answers from context, fix dependency traversal to handle context [43584d3](https://github.com/simplygenius/atmos/commit/43584d3)
37
+ * cleanup plugins, allow per-plugin config [89c9f96](https://github.com/simplygenius/atmos/commit/89c9f96)
38
+ * handle inline as an option to notify [de7afff](https://github.com/simplygenius/atmos/commit/de7afff)
39
+ * remove debug [463ad0d](https://github.com/simplygenius/atmos/commit/463ad0d)
40
+ * fix sourcepath directory expansion [e41304c](https://github.com/simplygenius/atmos/commit/e41304c)
41
+ * rework generators to allow disambiguation template name duplication across sources, and to prepare for saving a list of all installed templates and fully qualifying templates names by source [b06fa68](https://github.com/simplygenius/atmos/commit/b06fa68)
42
+ * separate plugin loading from initialization [e0801d0](https://github.com/simplygenius/atmos/commit/e0801d0)
43
+ * add in simplygenius to namespace, refactor to handle namespacing better (Module.nesting) across code/tests [168af71](https://github.com/simplygenius/atmos/commit/168af71)
44
+ * update pro release sources [454b054](https://github.com/simplygenius/atmos/commit/454b054)
45
+ * helper for local plugin dev [1479604](https://github.com/simplygenius/atmos/commit/1479604)
46
+ * add basic plugin mechanism and refactor terraform output filtering as a plugin [29e32a3](https://github.com/simplygenius/atmos/commit/29e32a3)
47
+ * add passthrough to highline choose for menus [d9cda18](https://github.com/simplygenius/atmos/commit/d9cda18)
48
+ * write auth cache when auto renewing session [bc2f8f9](https://github.com/simplygenius/atmos/commit/bc2f8f9)
49
+ * handle interrupts [f8db090](https://github.com/simplygenius/atmos/commit/f8db090)
50
+ * try to fix travis error [cceaf43](https://github.com/simplygenius/atmos/commit/cceaf43)
51
+ * newer bundler [eaffeba](https://github.com/simplygenius/atmos/commit/eaffeba)
52
+ * fix test [030d8c4](https://github.com/simplygenius/atmos/commit/030d8c4)
53
+ * version update [0257e0c](https://github.com/simplygenius/atmos/commit/0257e0c)
54
+ * use eq [8e7eccc](https://github.com/simplygenius/atmos/commit/8e7eccc)
55
+ * show exe output on fail [e2fecf4](https://github.com/simplygenius/atmos/commit/e2fecf4)
56
+ * fix/add tests for username in assume role session [5ff99ff](https://github.com/simplygenius/atmos/commit/5ff99ff)
57
+ * add username to assume role session name for easier tracking, e.g. in cloudtrail [585a974](https://github.com/simplygenius/atmos/commit/585a974)
58
+ * added custom merge logic that works better and removes hacks [d668dd9](https://github.com/simplygenius/atmos/commit/d668dd9)
59
+ * fix homogenize of atmos_config, and don't homogenize yaml that gets directly added so that yml can be used to set values for maps/list for declared vars [7e1c221](https://github.com/simplygenius/atmos/commit/7e1c221)
60
+ * do an additive merge of lists in config as its more useable in the average case of adding to a default [d9d654d](https://github.com/simplygenius/atmos/commit/d9d654d)
61
+ * test more ruby versions [8733d46](https://github.com/simplygenius/atmos/commit/8733d46)
62
+ * fix permalink to atmos-pro [c0e6a57](https://github.com/simplygenius/atmos/commit/c0e6a57)
63
+ * readme tweaks [16db27a](https://github.com/simplygenius/atmos/commit/16db27a)
64
+ * helper for tagging recipe repos when releasing [9632bee](https://github.com/simplygenius/atmos/commit/9632bee)
65
+
1
66
  0.7.1 (05/03/2018)
2
67
  ------------------
3
68
 
data/exe/atmos-docker CHANGED
@@ -4,24 +4,20 @@
4
4
  set -e
5
5
 
6
6
  APP_VOLUME=${IMAGE_APP_VOLUME:-/app}
7
+ ATMOS_IMAGE=${ATMOS_IMAGE:-simplygenius/atmos}
7
8
 
8
- if [[ -z $AWS_ACCESS_KEY_ID || -z $AWS_SECRET_ACCESS_KEY ]]; then
9
- if command -v aws &> /dev/null; then
10
- export AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id)
11
- export AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key)
12
- export AWS_REGION=$(aws configure get region)
13
- else
14
- echo "Usage through docker requires that access keys to be set in the environment"
15
- echo "Install the aws cli to automatically look them up based on a profile name"
16
- exit 1
9
+ home_mounts=".aws .terraform.d .atmos.yml"
10
+ mounts=""
11
+ for mount in $home_mounts; do
12
+ if [[ -e $HOME/$mount ]]; then
13
+ mounts="$mounts --mount type=bind,source=$HOME/$mount,target=/root/$mount"
17
14
  fi
18
- fi
15
+ done
19
16
 
20
17
  docker run \
21
18
  --interactive --tty --rm \
22
19
  --volume "$(pwd)":"${APP_VOLUME}" \
23
20
  --volume /var/run/docker.sock:/var/run/docker.sock \
24
- --env AWS_ACCESS_KEY_ID \
25
- --env AWS_SECRET_ACCESS_KEY \
26
- --env AWS_REGION \
27
- simplygenius/atmos "$@"
21
+ $mounts \
22
+ --env-file <(env | grep "^AWS\|^ATMOS\|^TF") \
23
+ $ATMOS_IMAGE "$@"
@@ -18,7 +18,11 @@ module SimplyGenius
18
18
 
19
19
  def initialize(process_env: ENV)
20
20
  @process_env = process_env
21
- @recipes = Atmos.config["recipes.#{Atmos.config.working_group}"]
21
+ recipe_config_path = "recipes.#{Atmos.config.working_group}"
22
+ @recipes = Array(Atmos.config[recipe_config_path])
23
+ if @recipes.blank?
24
+ logger.warn("Check your configuration, there are no recipes in '#{recipe_config_path}'")
25
+ end
22
26
  end
23
27
 
24
28
  def run(*terraform_args, skip_backend: false, skip_secrets: false, get_modules: false, output_io: nil)
@@ -2,6 +2,7 @@ require_relative '../atmos'
2
2
  require 'highline'
3
3
  require 'rainbow'
4
4
  require 'yaml'
5
+ require 'json'
5
6
  require 'open3'
6
7
  require 'os'
7
8
  require 'hashie'
@@ -121,12 +122,13 @@ module SimplyGenius
121
122
  elsif OS.mac? && ! force_inline
122
123
  display_method = modal ? "displayDialog" : "displayNotification"
123
124
 
125
+ # Usse to_json as JSON.generate doesn't work for strings on ruby 2.3
124
126
  dialogScript = <<~EOF
125
127
  var app = Application.currentApplication();
126
128
  app.includeStandardAdditions = true;
127
129
  app.#{display_method}(
128
- #{JSON.generate(message)}, {
129
- withTitle: #{JSON.generate(title)},
130
+ #{message.to_json}, {
131
+ withTitle: #{title.to_json},
130
132
  buttons: ['OK'],
131
133
  defaultButton: 1
132
134
  })
@@ -1,5 +1,5 @@
1
1
  module SimplyGenius
2
2
  module Atmos
3
- VERSION = "0.9.0"
3
+ VERSION = "0.9.1"
4
4
  end
5
5
  end
@@ -1,4 +1,13 @@
1
1
  require_relative 'atmos/version'
2
+
3
+ # FIXME: Force active support json to prevent some weird errors. We don't really rely
4
+ # on it, but guessing some gem does and causes a breakage when calling to_json in
5
+ # ui.rb when running its spec:
6
+ # NameError: uninitialized constant ActiveSupport::JSON Did you mean? JSON
7
+ #
8
+ require 'active_support/json'
9
+ require 'active_support/core_ext/object/json'
10
+
2
11
  require 'active_support/core_ext/string'
3
12
  require 'active_support/concern'
4
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplygenius-atmos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Conway
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-18 00:00:00.000000000 Z
11
+ date: 2018-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler