MuranoCLI 3.2.0.beta.5 → 3.2.0.beta.8
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 +4 -4
- data/.ignore +22 -11
- data/dockers/Dockerfile.2.2.9 +2 -2
- data/dockers/Dockerfile.2.3.6 +2 -2
- data/dockers/Dockerfile.2.4.3 +2 -2
- data/dockers/Dockerfile.2.5.0 +2 -2
- data/dockers/Dockerfile.GemRelease +6 -6
- data/dockers/Dockerfile.m4 +4 -4
- data/dockers/README.rst +87 -19
- data/dockers/RELEASE.rst +1 -1
- data/dockers/docker-test.sh +4 -1
- data/{.trustme.plugin → docs/ci/.trustme.plugin} +5 -2
- data/{.trustme.sh → docs/ci/.trustme.sh} +64 -16
- data/lib/MrMurano/Business.rb +73 -0
- data/lib/MrMurano/Config.rb +4 -3
- data/lib/MrMurano/Keystore.rb +4 -0
- data/lib/MrMurano/ReCommander.rb +23 -0
- data/lib/MrMurano/Solution.rb +10 -0
- data/lib/MrMurano/SyncUpDown-Core.rb +94 -56
- data/lib/MrMurano/SyncUpDown-Item.rb +2 -0
- data/lib/MrMurano/Webservice-Endpoint.rb +8 -7
- data/lib/MrMurano/commands/business.rb +60 -0
- data/lib/MrMurano/commands/content.rb +7 -1
- data/lib/MrMurano/commands/cors.rb +1 -0
- data/lib/MrMurano/commands/devices.rb +1 -1
- data/lib/MrMurano/commands/element.rb +40 -14
- data/lib/MrMurano/commands/keystore.rb +8 -0
- data/lib/MrMurano/commands/logs.rb +1 -0
- data/lib/MrMurano/commands/network.rb +120 -0
- data/lib/MrMurano/commands/postgresql.rb +2 -0
- data/lib/MrMurano/commands/service.rb +5 -0
- data/lib/MrMurano/commands/settings.rb +3 -0
- data/lib/MrMurano/commands/show.rb +1 -0
- data/lib/MrMurano/commands/status.rb +1 -0
- data/lib/MrMurano/commands/sync.rb +2 -0
- data/lib/MrMurano/commands/timeseries.rb +9 -0
- data/lib/MrMurano/commands/tsdb.rb +4 -0
- data/lib/MrMurano/commands.rb +1 -0
- data/lib/MrMurano/variegated/ruby_dig.rb +11 -0
- data/lib/MrMurano/version.rb +1 -1
- data/spec/cmd_element_spec.rb +2 -2
- data/spec/fixtures/dumped_config +1 -0
- metadata +6 -5
- /data/{.trustme.vim → docs/ci/.trustme.vim} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8940564247a955849c5a89835b1915f57b3766f28b0fc52cd83e282ec9aef599
|
4
|
+
data.tar.gz: dda30a89bf0f573fd124902dba05fe8c7f21b0b803dd951a6573ccd400a6293f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e221c40000b55e2c6b18aa2738541ed3c8edbc4bdb61377a2e62342a0ca2f6e261731e455a846eff2a77b18893e1d90fc6c2bd74b9dee4d41ee23bdd8868a4ee
|
7
|
+
data.tar.gz: 6d9076522f2a45cd76a95ffc2f362952e6f2d3978699571efcc93663906b062051e8e883edc58400758112ad7093632f14d087d3218ec87179d9f121473fd01c
|
data/.ignore
CHANGED
@@ -1,19 +1,30 @@
|
|
1
1
|
.git/
|
2
|
-
coverage/
|
3
|
-
pkg/
|
4
|
-
report/
|
5
2
|
|
6
|
-
.
|
7
|
-
|
3
|
+
# Build/install cruft.
|
4
|
+
pkg/
|
8
5
|
Gemfile.lock
|
9
6
|
.bundle/
|
10
|
-
|
11
|
-
|
12
|
-
# 2017-05-12: Testing!
|
13
|
-
*.out
|
14
|
-
.trustme.log
|
15
|
-
curldebug.out
|
7
|
+
.rake_build.out
|
16
8
|
|
9
|
+
# Testing cruft.
|
10
|
+
coverage/
|
11
|
+
report/
|
17
12
|
rspec-*.html
|
18
13
|
*.rspec.html
|
14
|
+
.rspec_examples.txt
|
15
|
+
|
16
|
+
# Debugging/developing cruft.
|
17
|
+
curldebug.out
|
18
|
+
tags
|
19
|
+
.byebug_history
|
20
|
+
.trustme.log
|
21
|
+
active-project
|
22
|
+
projects
|
23
|
+
|
24
|
+
# Symlinks!
|
25
|
+
projects
|
26
|
+
active-project
|
27
|
+
|
28
|
+
# Generated files.
|
29
|
+
docs/completions/murano_completion-bash
|
19
30
|
|
data/dockers/Dockerfile.2.2.9
CHANGED
@@ -16,7 +16,7 @@ RUN \
|
|
16
16
|
&& apt-get -qq update \
|
17
17
|
&& apt-get install -y sudo
|
18
18
|
|
19
|
-
RUN echo "jenkins ALL= NOPASSWD:
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
20
20
|
|
21
21
|
WORKDIR /app
|
22
22
|
COPY . /app
|
@@ -26,7 +26,7 @@ RUN /bin/chown -R jenkins /app
|
|
26
26
|
USER jenkins
|
27
27
|
|
28
28
|
RUN cd /app && \
|
29
|
-
|
29
|
+
gem install bundler && \
|
30
30
|
gem install rspec && \
|
31
31
|
bundle install --with test && \
|
32
32
|
rake build
|
data/dockers/Dockerfile.2.3.6
CHANGED
@@ -16,7 +16,7 @@ RUN \
|
|
16
16
|
&& apt-get -qq update \
|
17
17
|
&& apt-get install -y sudo
|
18
18
|
|
19
|
-
RUN echo "jenkins ALL= NOPASSWD:
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
20
20
|
|
21
21
|
WORKDIR /app
|
22
22
|
COPY . /app
|
@@ -26,7 +26,7 @@ RUN /bin/chown -R jenkins /app
|
|
26
26
|
USER jenkins
|
27
27
|
|
28
28
|
RUN cd /app && \
|
29
|
-
|
29
|
+
gem install bundler && \
|
30
30
|
gem install rspec && \
|
31
31
|
bundle install --with test && \
|
32
32
|
rake build
|
data/dockers/Dockerfile.2.4.3
CHANGED
@@ -16,7 +16,7 @@ RUN \
|
|
16
16
|
&& apt-get -qq update \
|
17
17
|
&& apt-get install -y sudo
|
18
18
|
|
19
|
-
RUN echo "jenkins ALL= NOPASSWD:
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
20
20
|
|
21
21
|
WORKDIR /app
|
22
22
|
COPY . /app
|
@@ -26,7 +26,7 @@ RUN /bin/chown -R jenkins /app
|
|
26
26
|
USER jenkins
|
27
27
|
|
28
28
|
RUN cd /app && \
|
29
|
-
|
29
|
+
gem install bundler && \
|
30
30
|
gem install rspec && \
|
31
31
|
bundle install --with test && \
|
32
32
|
rake build
|
data/dockers/Dockerfile.2.5.0
CHANGED
@@ -16,7 +16,7 @@ RUN \
|
|
16
16
|
&& apt-get -qq update \
|
17
17
|
&& apt-get install -y sudo
|
18
18
|
|
19
|
-
RUN echo "jenkins ALL= NOPASSWD:
|
19
|
+
RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
20
20
|
|
21
21
|
WORKDIR /app
|
22
22
|
COPY . /app
|
@@ -26,7 +26,7 @@ RUN /bin/chown -R jenkins /app
|
|
26
26
|
USER jenkins
|
27
27
|
|
28
28
|
RUN cd /app && \
|
29
|
-
|
29
|
+
gem install bundler && \
|
30
30
|
gem install rspec && \
|
31
31
|
bundle install --with test && \
|
32
32
|
rake build
|
@@ -26,11 +26,11 @@ RUN /bin/chown -R jenkins /app
|
|
26
26
|
|
27
27
|
USER jenkins
|
28
28
|
|
29
|
-
RUN cd /app
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
RUN cd /app && \
|
30
|
+
gem install bundler && \
|
31
|
+
gem install rspec && \
|
32
|
+
bundle install && \
|
33
|
+
rake build
|
34
34
|
|
35
35
|
RUN gem install \
|
36
36
|
pkg/MuranoCLI-$(ruby -e \
|
@@ -41,7 +41,7 @@ RUN gem install \
|
|
41
41
|
|
42
42
|
RUN mkdir -p /home/jenkins/Downloads && \
|
43
43
|
cd /home/jenkins/Downloads && \
|
44
|
-
curl -L https://github.com/aktau/github-release/releases/download/v0.
|
44
|
+
curl -L https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2 | bzcat | tar xf - && \
|
45
45
|
mkdir -p /home/jenkins/bin && \
|
46
46
|
cp bin/linux/amd64/github-release /home/jenkins/bin/github-release
|
47
47
|
|
data/dockers/Dockerfile.m4
CHANGED
@@ -77,10 +77,10 @@ RUN \
|
|
77
77
|
&& apt-get -qq update \
|
78
78
|
&& apt-get install -y sudo
|
79
79
|
|
80
|
-
dnl #
|
81
|
-
|
80
|
+
dnl # (lb) It may be easier to give the jenkins user full sudo...
|
81
|
+
RUN echo "jenkins ALL= NOPASSWD: /bin/chmod" >> /etc/sudoers
|
82
82
|
dnl # RUN echo "jenkins ALL= NOPASSWD: /usr/local/bundle/bin/gem" >> /etc/sudoers
|
83
|
-
RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
83
|
+
dnl # RUN echo "jenkins ALL= NOPASSWD: ALL" >> /etc/sudoers
|
84
84
|
dnl # If you have complainst about sudoers, try:
|
85
85
|
dnl # RUN visudo -c
|
86
86
|
|
@@ -106,7 +106,7 @@ dnl #
|
|
106
106
|
USER jenkins
|
107
107
|
|
108
108
|
RUN cd /app && \
|
109
|
-
|
109
|
+
gem install bundler && \
|
110
110
|
gem install rspec && \
|
111
111
|
bundle install --with test && \
|
112
112
|
rake build
|
data/dockers/README.rst
CHANGED
@@ -196,7 +196,7 @@ Jenkins project configuration: Murano CLI Gem Release
|
|
196
196
|
|
197
197
|
- NEW:
|
198
198
|
|
199
|
-
|
199
|
+
https://jenkins.exosite.com/job/MuranoCLI/job/Murano_CLI_Gem_Release/configure
|
200
200
|
|
201
201
|
- OLD:
|
202
202
|
|
@@ -204,7 +204,13 @@ Jenkins project configuration: Murano CLI Gem Release
|
|
204
204
|
|
205
205
|
- General configuration
|
206
206
|
|
207
|
-
- Project name: ``
|
207
|
+
- Project name: ``Murano_CLI_Gem_Release``
|
208
|
+
|
209
|
+
- NOTE: Do not use spaces in the project name -- e.g., this is bad:
|
210
|
+
``Murano CLI Gem Release`` -- or the `Jenkins Docker Plugin
|
211
|
+
<https://github.com/jenkinsci/docker-custom-build-environment-plugin>`__
|
212
|
+
will complain, e.g., ``docker: Error response from daemon: Invalid container
|
213
|
+
name (Murano CLI Gem Release-69), only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed``.
|
208
214
|
|
209
215
|
- Discard old builds ``✓``
|
210
216
|
|
@@ -226,7 +232,7 @@ Jenkins project configuration: Murano CLI Gem Release
|
|
226
232
|
|
227
233
|
- Repository URL: https://github.com/exosite/MuranoCLI.git
|
228
234
|
|
229
|
-
- Credentials:
|
235
|
+
- Credentials [dropdown]: ``git``
|
230
236
|
|
231
237
|
- Branches to build
|
232
238
|
|
@@ -242,33 +248,31 @@ Jenkins project configuration: Murano CLI Gem Release
|
|
242
248
|
|
243
249
|
- Build Environment
|
244
250
|
|
245
|
-
-
|
251
|
+
- Use secret text(s) or file(s) ``✓``
|
246
252
|
|
247
|
-
-
|
253
|
+
- Bindings
|
248
254
|
|
249
|
-
-
|
255
|
+
- Secret text
|
250
256
|
|
251
|
-
-
|
257
|
+
- Variable: ``GITHUB_TOKEN``
|
252
258
|
|
253
|
-
-
|
259
|
+
- Credentials: "Specific credentials"
|
254
260
|
|
255
|
-
|
261
|
+
Dropdown: "Exosite Github API Token"
|
256
262
|
|
257
|
-
|
263
|
+
- Build inside a Docker container ``✓``
|
258
264
|
|
259
|
-
|
260
|
-
GITHUB_USER=exosite
|
261
|
-
PATH=$HOME/bin:$PATH
|
265
|
+
- Docker image to use
|
262
266
|
|
263
|
-
|
267
|
+
- Build from Dockerfile ``✓``
|
264
268
|
|
265
|
-
|
269
|
+
- path to docker context: ``.``
|
266
270
|
|
267
|
-
|
271
|
+
- Dockerfile: ``./dockers/Dockerfile.GemRelease``
|
268
272
|
|
269
|
-
|
273
|
+
- Color ANSI Console Output ``✓``
|
270
274
|
|
271
|
-
-
|
275
|
+
- ANSI color map [dropdown]: ``xterm``
|
272
276
|
|
273
277
|
- Build
|
274
278
|
|
@@ -277,11 +281,75 @@ Jenkins project configuration: Murano CLI Gem Release
|
|
277
281
|
- Command::
|
278
282
|
|
279
283
|
#!/bin/bash
|
284
|
+
export GITHUB_REPO=MuranoCLI
|
285
|
+
export GITHUB_USER=exosite
|
286
|
+
export PATH=$HOME/bin:$PATH
|
280
287
|
/app/dockers/gem-release.sh
|
281
288
|
|
282
289
|
- Post-build Actions
|
283
290
|
|
284
291
|
- Files to archive: ``pkg/MuranoCLI-*.gem``
|
285
292
|
|
286
|
-
|
293
|
+
- E-mail Notification
|
294
|
+
|
295
|
+
- Recipients: ``user`@exosite.com user2@exosite.com``
|
296
|
+
|
297
|
+
- Send e-mail for every unstable build ``✓``
|
298
|
+
|
299
|
+
- HipChat Notifications
|
300
|
+
|
301
|
+
- Credentials [dropdown]: ``HipChat token for Jenkins``
|
302
|
+
|
303
|
+
- Project Room: ``4403216`` [MurCLI:CI]
|
304
|
+
|
305
|
+
- Notifications
|
306
|
+
|
307
|
+
- Notification Type: ``Build started``
|
308
|
+
|
309
|
+
- Notification Type: ``Build aborted``
|
310
|
+
|
311
|
+
- Notification Type: ``Build successful``
|
312
|
+
|
313
|
+
- Notification Type: ``Build failed``
|
314
|
+
|
315
|
+
- Notification Type: ``Module not built``
|
316
|
+
|
317
|
+
- Notification Type: ``Build is back to normal``
|
318
|
+
|
319
|
+
- Notification Type: ``Build is unstable``
|
320
|
+
|
321
|
+
Job started::
|
322
|
+
|
323
|
+
Jenkins is starting up <a href="$URL">$JOB_NAME #$BUILD_NUMBER</a> using <a href="$GIT_URL">$GIT_BRANCH</a> ($CHANGES_OR_CAUSE).
|
324
|
+
|
325
|
+
Job Completed::
|
326
|
+
|
327
|
+
Jenkins completed <a href="$URL">$JOB_NAME #$BUILD_NUMBER</a> on <a href="$GIT_URL">$GIT_BRANCH</a> (Lap Time: $DURATION).
|
328
|
+
|
329
|
+
Legacy Jenkins Settings:
|
330
|
+
|
331
|
+
- (lb): This is how it looked on the old build server, which is still
|
332
|
+
alive if we need it:
|
333
|
+
|
334
|
+
https://build.exosite.com/view/MuranoCLI/job/MrMurano%20Gem%20Release/
|
335
|
+
|
336
|
+
- Build Environment
|
337
|
+
|
338
|
+
- Inject environment variables to the build process ``✓``
|
339
|
+
|
340
|
+
- Properties Content::
|
341
|
+
|
342
|
+
GITHUB_REPO=MuranoCLI
|
343
|
+
GITHUB_USER=exosite
|
344
|
+
PATH=$HOME/bin:$PATH
|
345
|
+
|
346
|
+
- Inject passwords to the build as environment variables ``✓``
|
347
|
+
|
348
|
+
- Job passwords
|
349
|
+
|
350
|
+
- Name: ``GITHUB_TOKEN``
|
351
|
+
|
352
|
+
- Password: (App token generated on GitHub.)
|
353
|
+
|
354
|
+
- Mask password parameters ``✓``
|
287
355
|
|
data/dockers/RELEASE.rst
CHANGED
data/dockers/docker-test.sh
CHANGED
@@ -52,6 +52,9 @@ must_verify_environs () {
|
|
52
52
|
|
53
53
|
# Create a basic Murano CLI config indicating the Murano account credentials.
|
54
54
|
|
55
|
+
# Default to host "bizapi-staging.hosted.exosite.io".
|
56
|
+
export MURANO_BIZAPIIO=${MURANO_BIZAPIIO:-bizapi-staging.hosted.exosite.io}
|
57
|
+
|
55
58
|
create_basic_config () {
|
56
59
|
cat > "${WORKSPACE}/test.run.muranocfg" <<-EOCFB
|
57
60
|
[user]
|
@@ -59,7 +62,7 @@ create_basic_config () {
|
|
59
62
|
[business]
|
60
63
|
id = ${MURANO_BUSINESS}
|
61
64
|
[net]
|
62
|
-
host =
|
65
|
+
host = ${MURANO_BIZAPIIO}
|
63
66
|
EOCFB
|
64
67
|
export MURANO_CONFIGFILE="${WORKSPACE}/test.run.muranocfg"
|
65
68
|
}
|
@@ -43,6 +43,8 @@ build_it() {
|
|
43
43
|
).gem \
|
44
44
|
&>> ${OUT_FILE} 2>&1 &
|
45
45
|
wait_maybe_fail
|
46
|
+
#alert_success_toast 'Murano CLI says, "Woot woot!!"' 'Wheeee!' 666
|
47
|
+
alert_success_flash
|
46
48
|
|
47
49
|
say '' true
|
48
50
|
}
|
@@ -57,8 +59,9 @@ lint_it() {
|
|
57
59
|
|
58
60
|
test_it() {
|
59
61
|
test_it_
|
60
|
-
#
|
61
|
-
|
62
|
+
# 2017-10-02: (lb): Testing takes too long (20 minutes!), and saving often
|
63
|
+
# just means constant churn, so skip tests.
|
64
|
+
return
|
62
65
|
|
63
66
|
rake rspec &>> ${OUT_FILE}
|
64
67
|
|
@@ -66,7 +66,8 @@ source_plugin() {
|
|
66
66
|
PROJECT_DIR=$(dirname -- "${BASH_SOURCE[0]}")
|
67
67
|
DOTFILENAME=${TRUSTME_BASENAME:-.trustme}
|
68
68
|
|
69
|
-
|
69
|
+
source_home_fries_util 'color_util.sh'
|
70
|
+
source_home_fries_util 'logger.sh'
|
70
71
|
|
71
72
|
PROJ_PLUGIN="${PROJECT_DIR}/${DOTFILENAME}.plugin"
|
72
73
|
if [[ ! -f "${PROJ_PLUGIN}" ]]; then
|
@@ -76,22 +77,24 @@ source_plugin() {
|
|
76
77
|
source "${PROJ_PLUGIN}"
|
77
78
|
}
|
78
79
|
|
79
|
-
|
80
|
-
local
|
81
|
-
local
|
80
|
+
source_home_fries_util() {
|
81
|
+
local home_fries_util="$1"
|
82
|
+
local source_path="${home_fries_util}"
|
82
83
|
# If the /user/home/.fries/lib path is on $PATH, you can just source it.
|
83
|
-
if ! source "${
|
84
|
-
# But if it's not on $PATH, see if this script is a symlink,
|
85
|
-
#
|
84
|
+
if ! source "${source_path}" &> /dev/null; then
|
85
|
+
# But if it's not on $PATH, see if this script is a symlink, and if so,
|
86
|
+
# see if the util file is part of this file's owning repo.
|
86
87
|
if [[ -h "${BASH_SOURCE[0]}" ]]; then
|
87
|
-
|
88
|
+
source_path="$(dirname $(readlink -f ${BASH_SOURCE[0]}))/${home_fries_util}"
|
88
89
|
fi
|
89
|
-
if ! source "${
|
90
|
-
>&2 echo "Unable to find and source ${
|
90
|
+
if ! source "${source_path}" &> /dev/null; then
|
91
|
+
>&2 echo "Unable to find and source ${home_fries_util}. You're missing out!"
|
91
92
|
fi
|
92
93
|
fi
|
93
94
|
}
|
94
95
|
|
96
|
+
# ***
|
97
|
+
|
95
98
|
assign_globals_() {
|
96
99
|
OUT_FILE="${PROJECT_DIR}/${DOTFILENAME}.log"
|
97
100
|
|
@@ -113,6 +116,8 @@ assign_globals() {
|
|
113
116
|
assign_globals_
|
114
117
|
}
|
115
118
|
|
119
|
+
# ***
|
120
|
+
|
116
121
|
say() {
|
117
122
|
FORCE_ECHO=${2:-false}
|
118
123
|
# Restrict newlines to no more than 2 in a row.
|
@@ -161,6 +166,8 @@ repeat_char() {
|
|
161
166
|
printf "$1"'%.s' $(eval "echo {1.."$(($2))"}")
|
162
167
|
}
|
163
168
|
|
169
|
+
# ***
|
170
|
+
|
164
171
|
death() {
|
165
172
|
if [[ -n ${WAIT_PID} ]]; then
|
166
173
|
say "Sub-killing ‘${WAIT_PID}’"
|
@@ -263,7 +270,7 @@ lock_kill_or_die() {
|
|
263
270
|
lock_kill_die true
|
264
271
|
}
|
265
272
|
|
266
|
-
#
|
273
|
+
# ***
|
267
274
|
|
268
275
|
wait_maybe_fail_pre_exit() {
|
269
276
|
: # no-op
|
@@ -286,9 +293,51 @@ wait_maybe_fail() {
|
|
286
293
|
WAIT_PID=
|
287
294
|
}
|
288
295
|
|
296
|
+
# ***
|
297
|
+
|
298
|
+
alert_success_toast() {
|
299
|
+
local message
|
300
|
+
local title
|
301
|
+
local timeout
|
302
|
+
message="${1:-Yay!}"
|
303
|
+
title="${2:-Build Success!}"
|
304
|
+
timeout=${3:-2123}
|
305
|
+
if ``command -v notify-send >/dev/null 2>&1``; then
|
306
|
+
#notify-send -i face-wink -t 1234 \
|
307
|
+
# 'Build Success!' 'Murano CLI says, "Woot woot!!"'
|
308
|
+
# 2018-03-19: 1234 msec. is a tad too long. Something quicker,
|
309
|
+
# so I can train myself to ignore if it's a blip in the corner of my eye.
|
310
|
+
# Just make sure your mouse into over popup, or it won't go away!
|
311
|
+
# Hahaha, at 333 msec. it's basically a flash on the screen...
|
312
|
+
# in that case, there's probably a better way to implement this!
|
313
|
+
notify-send \
|
314
|
+
-t ${timeout} \
|
315
|
+
-u normal \
|
316
|
+
-i '/home/landonb/.waffle/home/Pictures/Landonb-Bitmoji-Thumbs.Up.png' \
|
317
|
+
"${title}" \
|
318
|
+
"${message}"
|
319
|
+
fi
|
320
|
+
}
|
321
|
+
|
322
|
+
alert_success_flash() {
|
323
|
+
local duration
|
324
|
+
duration=${1:-0.075}
|
325
|
+
# 2018-03-19 18:04: This just gets better!
|
326
|
+
# sudo apt-get install xcalib
|
327
|
+
##xcalib -invert -alter
|
328
|
+
#xcalib -alter -invert
|
329
|
+
# xcalib, because of X, only works on the first monitor!
|
330
|
+
# 2018-04-12: But I found a solution that works on all!!
|
331
|
+
/srv/opt/bin/xrandr-invert-colors.bin
|
332
|
+
sleep ${duration}
|
333
|
+
##xcalib -invert -alter
|
334
|
+
#xcalib -alter -invert
|
335
|
+
/srv/opt/bin/xrandr-invert-colors.bin
|
336
|
+
}
|
337
|
+
|
338
|
+
# ***
|
339
|
+
|
289
340
|
prepare_to_build() {
|
290
|
-
#/bin/rm "${DONE_FILE}"
|
291
|
-
#/bin/rm "${OUT_FILE}"
|
292
341
|
rmdir "${KILL_DIR}"
|
293
342
|
say
|
294
343
|
say "See you on the other side!"
|
@@ -360,10 +409,11 @@ remove_pid_files() {
|
|
360
409
|
/bin/rm "${KILL_BIN}"
|
361
410
|
}
|
362
411
|
|
412
|
+
# ***
|
413
|
+
|
363
414
|
main() {
|
364
415
|
source_plugin
|
365
416
|
|
366
|
-
# MAYBE: This call is redundant. Do we need to call it again here? Or should we delete first call?
|
367
417
|
assign_globals
|
368
418
|
|
369
419
|
# We're called on both save, and on simple buffer enter.
|
@@ -448,8 +498,6 @@ main() {
|
|
448
498
|
|
449
499
|
lint_it
|
450
500
|
|
451
|
-
# 2017-10-02: I think testing takes too long, and saving often just means constant churn.
|
452
|
-
|
453
501
|
# Unit tests.
|
454
502
|
test_it
|
455
503
|
|
data/lib/MrMurano/Business.rb
CHANGED
@@ -357,6 +357,79 @@ module MrMurano
|
|
357
357
|
def delete_application(sid)
|
358
358
|
delete_solution(sid)
|
359
359
|
end
|
360
|
+
|
361
|
+
# ---------------------------------------------------------------------
|
362
|
+
|
363
|
+
def get_business_network(bid)
|
364
|
+
return nil unless check_if_biz_network_capable(bid) == true
|
365
|
+
get('business/' + bid + '/network') do |request, http|
|
366
|
+
response = http.request(request)
|
367
|
+
case response
|
368
|
+
when Net::HTTPSuccess
|
369
|
+
workit_response(response)
|
370
|
+
else
|
371
|
+
showHttpError(request, response)
|
372
|
+
nil
|
373
|
+
end
|
374
|
+
end
|
375
|
+
end
|
376
|
+
# ---------------------------------------------------------------------
|
377
|
+
|
378
|
+
# ---------------------------------------------------------------------
|
379
|
+
|
380
|
+
def configure_business_network(bid, name)
|
381
|
+
return nil unless check_if_biz_network_capable(bid) == true
|
382
|
+
patch('business/' + bid + '/network', name: name) do |request, http|
|
383
|
+
response = http.request(request)
|
384
|
+
case response
|
385
|
+
when Net::HTTPSuccess
|
386
|
+
workit_response(response)
|
387
|
+
else
|
388
|
+
showHttpError(request, response)
|
389
|
+
nil
|
390
|
+
end
|
391
|
+
end
|
392
|
+
end
|
393
|
+
# ---------------------------------------------------------------------
|
394
|
+
|
395
|
+
def check_if_biz_network_capable(bid)
|
396
|
+
get('business/' + bid + '/tier') do |request, http|
|
397
|
+
tier_response = http.request(request)
|
398
|
+
case tier_response
|
399
|
+
when Net::HTTPSuccess
|
400
|
+
parsed_response = workit_response(tier_response)
|
401
|
+
if parsed_response[:network] != true
|
402
|
+
MrMurano::Verbose.error(
|
403
|
+
'Your business does not have access to business network features. Please upgrade your business.'
|
404
|
+
)
|
405
|
+
nil
|
406
|
+
else
|
407
|
+
true
|
408
|
+
end
|
409
|
+
else
|
410
|
+
showHttpError(request, tier_response)
|
411
|
+
nil
|
412
|
+
end
|
413
|
+
end
|
414
|
+
end
|
415
|
+
|
416
|
+
def self.must_not_be_managed!
|
417
|
+
# Check that the solution(s) are not managed.
|
418
|
+
# NOTE: BizAPI only tells us 'managed' via the business/<bizid>/solutions
|
419
|
+
# endpoint. I.e., we have to fetch all solutions, and cannot just check
|
420
|
+
# them individually. (lb): Probably not a big deal for most people, but
|
421
|
+
# I know some Support and QA biznesses have loads and loads o' solutions.
|
422
|
+
MrMurano::Verbose.whirly_msg 'Verifying solutions can be managed...'
|
423
|
+
biz = MrMurano::Business.new
|
424
|
+
solz = biz.solutions
|
425
|
+
solz.each do |sol|
|
426
|
+
# FIXME/2018-05-16: (lb): Fix this when Multi-solution support.
|
427
|
+
if [$cfg['application.id'], $cfg['product.id']].include? sol.sid
|
428
|
+
sol.must_not_be_managed!
|
429
|
+
end
|
430
|
+
end
|
431
|
+
MrMurano::Verbose.whirly_stop
|
432
|
+
end
|
360
433
|
end
|
361
434
|
end
|
362
435
|
|
data/lib/MrMurano/Config.rb
CHANGED
@@ -195,6 +195,7 @@ module MrMurano
|
|
195
195
|
set('tool.no-page', false, :defaults)
|
196
196
|
set('tool.no-progress', false, :defaults)
|
197
197
|
set('tool.show-password', false, :defaults)
|
198
|
+
set('tool.skip-managed', false, :defaults)
|
198
199
|
end
|
199
200
|
|
200
201
|
def set_defaults_net
|
@@ -222,12 +223,12 @@ module MrMurano
|
|
222
223
|
set('location.resources', 'specs/resources.yaml', :defaults)
|
223
224
|
set('location.cors', 'cors.yaml', :defaults)
|
224
225
|
# MUR-6562/MUR-6329: Changing defaults: files => assets; routes => endpoints.
|
225
|
-
|
226
|
-
|
226
|
+
set_defaults_location_newstyle('location.files', 'files', 'assets')
|
227
|
+
set_defaults_location_newstyle('location.endpoints', 'routes', 'endpoints')
|
227
228
|
end
|
228
229
|
|
229
230
|
# rubocop:disable Style/MethodName: Use snake_case for method names.
|
230
|
-
def
|
231
|
+
def set_defaults_location_newstyle(key, formerly, currently)
|
231
232
|
if @project_dir && !@project_dir.join(formerly).exist?
|
232
233
|
set(key, currently, :defaults)
|
233
234
|
elsif @project_dir.join(currently).exist?
|
data/lib/MrMurano/Keystore.rb
CHANGED
@@ -26,15 +26,19 @@ module MrMurano
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def getkey(key)
|
29
|
+
key = URI.encode_www_form_component(key)
|
29
30
|
ret = call(:get, :post, key: key)
|
30
31
|
ret[:value]
|
31
32
|
end
|
32
33
|
|
33
34
|
def setkey(key, value)
|
35
|
+
key = URI.encode_www_form_component(key)
|
36
|
+
value = URI.encode_www_form_component(value)
|
34
37
|
call(:set, :post, key: key, value: value)
|
35
38
|
end
|
36
39
|
|
37
40
|
def delkey(key)
|
41
|
+
key = URI.encode_www_form_component(key)
|
38
42
|
call(:delete, :post, key: key)
|
39
43
|
end
|
40
44
|
|