avmtrf1-tools 0.37.0 → 0.38.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/lib/avmtrf1/git/gitlab.rb +1 -1
- data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +4 -2
- data/lib/avmtrf1/git/push_large/lfs_commit.rb +1 -1
- data/lib/avmtrf1/git/push_large/source_commit.rb +1 -1
- data/lib/avmtrf1/gitlab/repository.rb +1 -1
- data/lib/avmtrf1/{core_ext.rb → tools/core_ext.rb} +0 -0
- data/lib/avmtrf1/tools/msgraph/token_retrieve.rb +42 -0
- data/lib/avmtrf1/tools/msgraph.rb +11 -0
- data/lib/avmtrf1/tools/runner/app_src.rb +1 -1
- data/lib/avmtrf1/tools/runner/check_point/login.rb +1 -1
- data/lib/avmtrf1/tools/runner/check_point.rb +1 -1
- data/lib/avmtrf1/tools/runner/esosti/changed.rb +1 -1
- data/lib/avmtrf1/tools/runner/esosti/fetch.rb +1 -1
- data/lib/avmtrf1/tools/runner/esosti/request.rb +1 -1
- data/lib/avmtrf1/tools/runner/esosti.rb +1 -1
- data/lib/avmtrf1/tools/runner/forponto/espelho.rb +1 -1
- data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +1 -1
- data/lib/avmtrf1/tools/runner/forponto/resumos.rb +1 -1
- data/lib/avmtrf1/tools/runner/forponto/saldo.rb +1 -1
- data/lib/avmtrf1/tools/runner/forponto.rb +1 -1
- data/lib/avmtrf1/tools/runner/git/gitlab/commit_link.rb +1 -1
- data/lib/avmtrf1/tools/runner/git/gitlab.rb +1 -1
- data/lib/avmtrf1/tools/runner/git/issues_check.rb +1 -1
- data/lib/avmtrf1/tools/runner/git/push_large.rb +1 -1
- data/lib/avmtrf1/tools/runner/git.rb +1 -1
- data/lib/avmtrf1/tools/runner/msgraph/token.rb +31 -0
- data/lib/avmtrf1/tools/runner/msgraph.rb +29 -0
- data/lib/avmtrf1/tools/runner/oracle/query.rb +1 -1
- data/lib/avmtrf1/tools/runner/oracle/source_get.rb +1 -1
- data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +1 -1
- data/lib/avmtrf1/tools/runner/oracle.rb +1 -1
- data/lib/avmtrf1/tools/runner/red.rb +1 -1
- data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +1 -1
- data/lib/avmtrf1/tools/version.rb +1 -1
- data/template/avmtrf1/php/docker_image/Dockerfile.template +3 -0
- data/template/avmtrf1/php/docker_image/aux/apache_user.sh +32 -12
- data/template/avmtrf1/tools/msgraph/token_retrieve/python_retriever.py +85 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 037a6ec540a874c12392621c8b3f464d5361d98249b1e9119e8332b061de26ab
|
4
|
+
data.tar.gz: b620adfa7a3c73c3624f3333baf0964d4953c8be195d9b7e92a06c6ff0c1c0a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3aa77327c882bf6f591e7cdfed791e226bca9789207ae8bb24040a9d5a959723349f933d1759e02bee96853a900ee282cd0b7199d2ac2c57e732b21a17a4e07b
|
7
|
+
data.tar.gz: e4574401f796466b176217b928b6e346f3d19119ba57c03bd98c5c78513c31e4ec58b52ef409202255c82adee9d98e7ca6dad4a2df017cbd07c0c30e3fbf7f3d
|
data/Gemfile
CHANGED
data/lib/avmtrf1/git/gitlab.rb
CHANGED
@@ -5,8 +5,10 @@ module Avmtrf1
|
|
5
5
|
class PushLarge
|
6
6
|
class LfsCommit
|
7
7
|
module Cache
|
8
|
-
def
|
9
|
-
source_commit.fs_cache.child(
|
8
|
+
def fs_cache
|
9
|
+
@fs_cache ||= source_commit.fs_cache.child(
|
10
|
+
lfs_file_min_size.present? ? lfs_file_min_size : 'nil'
|
11
|
+
)
|
10
12
|
end
|
11
13
|
|
12
14
|
%w[sha1 files_size push_pack_error].each do |attr|
|
File without changes
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_rest/api'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'eac_ruby_utils/fs/temp'
|
6
|
+
require 'avmtrf1/template'
|
7
|
+
|
8
|
+
module Avmtrf1
|
9
|
+
module Tools
|
10
|
+
module Msgraph
|
11
|
+
class TokenRetrieve
|
12
|
+
enable_simple_cache
|
13
|
+
common_constructor :client_id
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def python_retrieve_command(file)
|
18
|
+
::EacRubyUtils::Envs.local.command(python_retrieve_program_path, client_id, file)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @return [Hash]
|
22
|
+
def result_uncached
|
23
|
+
::EacRubyUtils::Yaml.load(result_string)
|
24
|
+
end
|
25
|
+
|
26
|
+
# @return [String]
|
27
|
+
def result_string
|
28
|
+
::EacRubyUtils::Fs::Temp.on_file do |file|
|
29
|
+
raise ::RuntimeError, result.pretty_inspect unless python_retrieve_command(file.to_path)
|
30
|
+
.system
|
31
|
+
|
32
|
+
file.read
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def python_retrieve_program_path
|
37
|
+
template.child('python_retriever.py').path
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
require 'avmtrf1/tools/msgraph/token_retrieve'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner
|
9
|
+
class Msgraph
|
10
|
+
class Token
|
11
|
+
runner_with :help, :output
|
12
|
+
|
13
|
+
def run
|
14
|
+
infov 'Client ID', token_retrieve.client_id
|
15
|
+
run_output
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def output_content
|
21
|
+
::EacRubyUtils::Yaml.dump(token_retrieve.result)
|
22
|
+
end
|
23
|
+
|
24
|
+
def token_retrieve_uncached
|
25
|
+
::Avmtrf1::Tools::Msgraph::TokenRetrieve.new(runner_context.call(:client_id))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/tools/core_ext'
|
4
|
+
|
5
|
+
module Avmtrf1
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class Msgraph
|
9
|
+
require_sub __FILE__
|
10
|
+
runner_with :help, :subcommands do
|
11
|
+
arg_opt '-i', '--client-id', 'ID de aplicação cliente alternativo.'
|
12
|
+
subcommands
|
13
|
+
end
|
14
|
+
|
15
|
+
def client_id
|
16
|
+
client_id_by_argument || client_id_by_config
|
17
|
+
end
|
18
|
+
|
19
|
+
def client_id_by_argument
|
20
|
+
parsed.client_id.presence
|
21
|
+
end
|
22
|
+
|
23
|
+
def client_id_by_config
|
24
|
+
::EacConfig::Node.context.current.entry('msgraph.client_id').value
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -39,6 +39,9 @@ RUN docker-php-ext-install ldap
|
|
39
39
|
RUN apt-get install -y libmcrypt-dev
|
40
40
|
%%MCRYPT_INSTALL%%
|
41
41
|
|
42
|
+
# Extensão PHP "pcntl"
|
43
|
+
RUN docker-php-ext-install pcntl
|
44
|
+
|
42
45
|
# Extensão PHP "snmp"
|
43
46
|
RUN apt-get install -y libsnmp-dev snmp
|
44
47
|
RUN docker-php-ext-install snmp
|
@@ -12,23 +12,43 @@ done
|
|
12
12
|
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
13
13
|
source "$DIR/init.sh"
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
infom "Alterando ID do usuário \"$APACHE_USER_NAME\"..."
|
19
|
-
usermod --uid "$APP_USER_ID" "$APACHE_USER_NAME"
|
20
|
-
else
|
21
|
-
infom "Criando usuário \"$APACHE_USER_NAME\"..."
|
22
|
-
useradd --uid "$APP_USER_ID" "$APACHE_USER_NAME"
|
23
|
-
fi
|
15
|
+
function apache_user_home() {
|
16
|
+
getent passwd "$APP_USER_ID" | cut '-d:' '-f6'
|
17
|
+
}
|
24
18
|
|
25
|
-
|
26
|
-
|
27
|
-
|
19
|
+
function assert_apache_user() {
|
20
|
+
if user_exist_by_id "$APP_USER_ID"; then
|
21
|
+
infom "ID de usuário \"$APP_USER_ID\" já existe"
|
22
|
+
elif user_exist_by_name "$APACHE_USER_NAME"; then
|
23
|
+
infom "Alterando ID do usuário \"$APACHE_USER_NAME\"..."
|
24
|
+
usermod --uid "$APP_USER_ID" "$APACHE_USER_NAME"
|
25
|
+
else
|
26
|
+
infom "Criando usuário \"$APACHE_USER_NAME\"..."
|
27
|
+
useradd --uid "$APP_USER_ID" "$APACHE_USER_NAME"
|
28
|
+
fi
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
function assert_apache_user_home() {
|
33
|
+
infom 'Assegurando diretório de usuário...'
|
34
|
+
mkdir -p "$(apache_user_home)"
|
35
|
+
chown --recursive "${APP_USER_ID}:$(id -g "$APP_USER_ID")" "$(apache_user_home)"
|
36
|
+
}
|
37
|
+
|
38
|
+
function setup_apache_user_envvars() {
|
28
39
|
infom "Configurando usuário/grupo de execução do Apache..."
|
29
40
|
export APACHE_RUN_USER="$(id -nu "$APP_USER_ID")"
|
30
41
|
export APACHE_RUN_GROUP="$(id -ng "$APACHE_RUN_USER")"
|
31
42
|
infov "Execução do Apache"
|
32
43
|
infov ' * $APACHE_RUN_USER' "$APACHE_RUN_USER (ID: $APP_USER_ID)"
|
33
44
|
infov ' * $APACHE_RUN_GROUP' "$APACHE_RUN_GROUP (ID: $(id -g "$APACHE_RUN_USER"))"
|
45
|
+
}
|
46
|
+
|
47
|
+
assert_apache_user
|
48
|
+
|
49
|
+
if [[ "$APP_USER_ID" == '0' ]]; then
|
50
|
+
infom "\$APP_USER_ID é 0 (root). Apache executará com usuário padrão (Nenhuma alteração)"
|
51
|
+
else
|
52
|
+
assert_apache_user_home
|
53
|
+
setup_apache_user_envvars
|
34
54
|
fi
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
|
3
|
+
# Requirements
|
4
|
+
# pyperclip>=1.6.0
|
5
|
+
# requests>=2.18.4
|
6
|
+
# adal>=1.0.0
|
7
|
+
# pyyaml
|
8
|
+
|
9
|
+
from adal import AuthenticationContext
|
10
|
+
import argparse
|
11
|
+
import pyperclip
|
12
|
+
import sys
|
13
|
+
import webbrowser
|
14
|
+
import yaml
|
15
|
+
|
16
|
+
|
17
|
+
class Config:
|
18
|
+
AUTHORITY_URL = 'https://login.microsoftonline.com/common'
|
19
|
+
RESOURCE = 'https://graph.microsoft.com'
|
20
|
+
API_VERSION = 'beta'
|
21
|
+
|
22
|
+
|
23
|
+
class TokenInfo:
|
24
|
+
def __init__(self, args):
|
25
|
+
self.__device = None
|
26
|
+
self.__token = None
|
27
|
+
self.__context = None
|
28
|
+
self.__args = args
|
29
|
+
|
30
|
+
def context(self):
|
31
|
+
if not self.__context:
|
32
|
+
self.__context = AuthenticationContext(Config.AUTHORITY_URL,
|
33
|
+
api_version=None)
|
34
|
+
return self.__context
|
35
|
+
|
36
|
+
def device(self):
|
37
|
+
if not self.__device:
|
38
|
+
self.__device = self.context().acquire_user_code(
|
39
|
+
Config.RESOURCE, self.__args.client_id)
|
40
|
+
return self.__device
|
41
|
+
|
42
|
+
def token(self, auto=True):
|
43
|
+
if not self.__token:
|
44
|
+
device_code = self.device()
|
45
|
+
if auto:
|
46
|
+
pyperclip.copy(
|
47
|
+
device_code['user_code']) # copy user code to clipboard
|
48
|
+
webbrowser.open(
|
49
|
+
device_code['verification_url']) # open browser
|
50
|
+
self.info(
|
51
|
+
f'The code {device_code["user_code"]} has been copied to your clipboard, '
|
52
|
+
f'and your web browser is opening {device_code["verification_url"]}. '
|
53
|
+
'Paste the code to sign in.\n')
|
54
|
+
else:
|
55
|
+
self.info(device_code['message'])
|
56
|
+
|
57
|
+
self.__token = self.context().acquire_token_with_device_code(
|
58
|
+
Config.RESOURCE, device_code, self.__args.client_id)
|
59
|
+
return self.__token
|
60
|
+
|
61
|
+
def info(self, message):
|
62
|
+
sys.stderr.write(message + "\n")
|
63
|
+
|
64
|
+
def result(self):
|
65
|
+
if self.token():
|
66
|
+
return {'device': self.device(), 'token': self.token()}
|
67
|
+
else:
|
68
|
+
return None
|
69
|
+
|
70
|
+
def run(self):
|
71
|
+
if self.result():
|
72
|
+
with open(self.__args.output_path, 'w') as outfile:
|
73
|
+
yaml.dump(self.result(), outfile, default_flow_style=False)
|
74
|
+
self.info('Result writed in "%s"' % (self.__args.output_path))
|
75
|
+
else:
|
76
|
+
sys.exit("Result empty!")
|
77
|
+
|
78
|
+
|
79
|
+
if __name__ == '__main__':
|
80
|
+
parser = argparse.ArgumentParser(
|
81
|
+
description='Recupera token de acesso ao MSGraph')
|
82
|
+
parser.add_argument('client_id')
|
83
|
+
parser.add_argument('output_path')
|
84
|
+
args = parser.parse_args()
|
85
|
+
TokenInfo(args).run()
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avmtrf1-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.38.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-selenium
|
@@ -148,7 +148,6 @@ files:
|
|
148
148
|
- lib/avmtrf1/check_point.rb
|
149
149
|
- lib/avmtrf1/check_point/session.rb
|
150
150
|
- lib/avmtrf1/check_point/session/login.rb
|
151
|
-
- lib/avmtrf1/core_ext.rb
|
152
151
|
- lib/avmtrf1/default_esosti.rb
|
153
152
|
- lib/avmtrf1/default_jira.rb
|
154
153
|
- lib/avmtrf1/default_redmine.rb
|
@@ -284,6 +283,9 @@ files:
|
|
284
283
|
- lib/avmtrf1/template.rb
|
285
284
|
- lib/avmtrf1/tools.rb
|
286
285
|
- lib/avmtrf1/tools/application.rb
|
286
|
+
- lib/avmtrf1/tools/core_ext.rb
|
287
|
+
- lib/avmtrf1/tools/msgraph.rb
|
288
|
+
- lib/avmtrf1/tools/msgraph/token_retrieve.rb
|
287
289
|
- lib/avmtrf1/tools/runner.rb
|
288
290
|
- lib/avmtrf1/tools/runner/app_src.rb
|
289
291
|
- lib/avmtrf1/tools/runner/check_point.rb
|
@@ -303,6 +305,8 @@ files:
|
|
303
305
|
- lib/avmtrf1/tools/runner/git/issues_check.rb
|
304
306
|
- lib/avmtrf1/tools/runner/git/push_large.rb
|
305
307
|
- lib/avmtrf1/tools/runner/inventario_sistemas.rb
|
308
|
+
- lib/avmtrf1/tools/runner/msgraph.rb
|
309
|
+
- lib/avmtrf1/tools/runner/msgraph/token.rb
|
306
310
|
- lib/avmtrf1/tools/runner/node_js.rb
|
307
311
|
- lib/avmtrf1/tools/runner/node_js/docker.rb
|
308
312
|
- lib/avmtrf1/tools/runner/openvpn.rb
|
@@ -338,6 +342,7 @@ files:
|
|
338
342
|
- template/avmtrf1/php/docker_image/aux/setup_apache_site.sh
|
339
343
|
- template/avmtrf1/php/docker_image/aux/start.sh
|
340
344
|
- template/avmtrf1/php/docker_image/aux/templates/apache_site.conf
|
345
|
+
- template/avmtrf1/tools/msgraph/token_retrieve/python_retriever.py
|
341
346
|
- template/avmtrf1/trf1_dspace_base0/deploy/build.properties.template
|
342
347
|
homepage: http://redmine.trf1.gov.br/projects/avm-trf1
|
343
348
|
licenses: []
|