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 +4 -4
- data/CHANGELOG.md +65 -0
- data/exe/atmos-docker +10 -14
- data/lib/simplygenius/atmos/terraform_executor.rb +5 -1
- data/lib/simplygenius/atmos/ui.rb +4 -2
- data/lib/simplygenius/atmos/version.rb +1 -1
- data/lib/simplygenius/atmos.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9f69449d48427430bc31762edb6359ac810e1fc32cf94d8ce051df7a6cb92b4
|
4
|
+
data.tar.gz: 1dcb2ed97a319a93f5f87462c1553c898132f23f04dc90cf43807a87cc196ae3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
|
-
|
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
|
-
|
25
|
-
--env
|
26
|
-
|
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
|
-
|
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
|
-
#{
|
129
|
-
withTitle: #{
|
130
|
+
#{message.to_json}, {
|
131
|
+
withTitle: #{title.to_json},
|
130
132
|
buttons: ['OK'],
|
131
133
|
defaultButton: 1
|
132
134
|
})
|
data/lib/simplygenius/atmos.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2018-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|