simplygenius-atmos 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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