redhat_access 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +24 -0
- data/LICENSE.txt +620 -0
- data/README.rdoc +7 -0
- data/Rakefile +131 -0
- data/app/assets/javascripts/insights/app.module.js +64 -0
- data/app/assets/javascripts/insights/application.js +18 -0
- data/app/assets/javascripts/insights/configuration.controller.js +66 -0
- data/app/assets/javascripts/insights/configuration.service.js +28 -0
- data/app/assets/javascripts/insights/views/configuration.html +85 -0
- data/app/assets/javascripts/insights/views/error.html +13 -0
- data/app/assets/javascripts/insights/views/help.html +16 -0
- data/app/assets/javascripts/redhat_access/analytics_dashboard.js +2 -0
- data/app/assets/javascripts/redhat_access/application.js +15 -0
- data/app/assets/javascripts/redhat_access/redhat_access.module.js +126 -0
- data/app/assets/stylesheets/insights/application.css +14 -0
- data/app/assets/stylesheets/insights/insights.css +21 -0
- data/app/assets/stylesheets/redhat_access/application.css +14 -0
- data/app/assets/stylesheets/redhat_access/telemetry_configuration.css +4 -0
- data/app/controllers/redhat_access/analytics_dashboard_controller.rb +12 -0
- data/app/controllers/redhat_access/api/api_controller.rb +24 -0
- data/app/controllers/redhat_access/api/attachments_controller.rb +40 -0
- data/app/controllers/redhat_access/api/logs_controller.rb +49 -0
- data/app/controllers/redhat_access/api/machine_telemetry_api_controller.rb +112 -0
- data/app/controllers/redhat_access/api/strata_proxy_controller.rb +81 -0
- data/app/controllers/redhat_access/api/telemetry_api_controller.rb +179 -0
- data/app/controllers/redhat_access/application_controller.rb +2 -0
- data/app/controllers/redhat_access/cases_controller.rb +14 -0
- data/app/controllers/redhat_access/configuration_controller.rb +21 -0
- data/app/controllers/redhat_access/log_viewer_controller.rb +9 -0
- data/app/controllers/redhat_access/redhat_access_controller.rb +8 -0
- data/app/controllers/redhat_access/search_controller.rb +9 -0
- data/app/controllers/redhat_access/strata_credentials_controller.rb +48 -0
- data/app/controllers/redhat_access/telemetry_configurations_controller.rb +38 -0
- data/app/controllers/redhat_access/telemetry_controller.rb +6 -0
- data/app/helpers/redhat_access/analytics_dashboard_helper.rb +13 -0
- data/app/helpers/redhat_access/application_helper.rb +4 -0
- data/app/helpers/redhat_access/attachments_helper.rb +4 -0
- data/app/helpers/redhat_access/cases_helper.rb +4 -0
- data/app/helpers/redhat_access/log_viewer_helper.rb +4 -0
- data/app/helpers/redhat_access/logs_helper.rb +4 -0
- data/app/helpers/redhat_access/redhat_access_helper.rb +4 -0
- data/app/helpers/redhat_access/search_helper.rb +4 -0
- data/app/helpers/redhat_access/telemetry_configuration_helper.rb +4 -0
- data/app/models/redhat_access/concerns/organization_extensions.rb +10 -0
- data/app/models/redhat_access/telemetry_configuration.rb +11 -0
- data/app/models/redhat_access/telemetry_proxy_credentials.rb +10 -0
- data/app/services/redhat_access/authentication/client_authentication.rb +80 -0
- data/app/services/redhat_access/telemetry/look_ups.rb +233 -0
- data/app/services/redhat_access/telemetry/portal_client.rb +39 -0
- data/app/views/redhat_access/analytics_dashboard/configuration.html.erb +85 -0
- data/app/views/redhat_access/analytics_dashboard/error.html.erb +13 -0
- data/app/views/redhat_access/analytics_dashboard/help.html.erb +16 -0
- data/app/views/redhat_access/analytics_dashboard/index.html.erb +69 -0
- data/app/views/redhat_access/analytics_dashboard/welcome.html.erb +8 -0
- data/app/views/redhat_access/redhat_access/index.html.erb +34 -0
- data/ca/rh_cert-api_chain.pem +74 -0
- data/config/config.yml.example +15 -0
- data/config/environments/development.rb +5 -0
- data/config/initializers/load_config.rb +5 -0
- data/config/mount_engine.rb +3 -0
- data/config/routes.rb +36 -0
- data/db/migrate/20141204161152_create_redhat_access_telemetry_proxy_credentials.rb +11 -0
- data/db/migrate/20150319153744_create_redhat_access_telemetry_configurations.rb +13 -0
- data/db/migrate/20160425175501_add_email_to_telemetry_configurations.rb +5 -0
- data/db/seeds.d/200-update-insights-roles.rb +11 -0
- data/lib/redhat_access/configuration.rb +8 -0
- data/lib/redhat_access/engine.rb +225 -0
- data/lib/redhat_access/sos_reports/generator.rb +58 -0
- data/lib/redhat_access/strata/client.rb +39 -0
- data/lib/redhat_access/version.rb +3 -0
- data/lib/redhat_access.rb +5 -0
- data/lib/tasks/redhat_access_tasks.rake +41 -0
- data/locale/Makefile +62 -0
- data/locale/de/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/de/redhat_access.po +589 -0
- data/locale/es/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/es/redhat_access.po +589 -0
- data/locale/fr/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/fr/redhat_access.po +593 -0
- data/locale/gemspec.rb +2 -0
- data/locale/it/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/it/redhat_access.po +589 -0
- data/locale/ja/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ja/redhat_access.po +569 -0
- data/locale/ko/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ko/redhat_access.po +570 -0
- data/locale/pt/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/pt/redhat_access.po +588 -0
- data/locale/redhat_access.pot +34 -0
- data/locale/ru/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ru/redhat_access.po +580 -0
- data/locale/zh/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/zh/redhat_access.po +561 -0
- data/redhat_access.gemspec +30 -0
- data/script/rails +8 -0
- data/script/sos_reports/foreman_sosreport.pam +9 -0
- data/script/sos_reports/foreman_sosreport_console.apps +3 -0
- data/script/sos_reports/foreman_sosreport_wrapper.py +65 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/fixtures/redhat_access/telemetry_configurations.yml +11 -0
- data/test/fixtures/redhat_access/telemetry_proxy_credentials.yml +11 -0
- data/test/functional/redhat_access/analytics_dashboard_controller_test.rb +11 -0
- data/test/functional/redhat_access/attachments_controller_test.rb +11 -0
- data/test/functional/redhat_access/cases_controller_test.rb +16 -0
- data/test/functional/redhat_access/configuration_controller_test.rb +11 -0
- data/test/functional/redhat_access/log_viewer_controller_test.rb +11 -0
- data/test/functional/redhat_access/logs_controller_test.rb +9 -0
- data/test/functional/redhat_access/redhat_access_controller_test.rb +11 -0
- data/test/functional/redhat_access/search_controller_test.rb +11 -0
- data/test/functional/redhat_access/telemetry_configuration_controller_test.rb +26 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/models/redhat_access/telemetry_proxy_credentials_test.rb +9 -0
- data/test/redhat_access_test.rb +7 -0
- data/test/sos-report-test.rb +32 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/redhat_access/analytics_dashboard_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/attachments_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/cases_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/log_viewer_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/logs_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/redhat_access_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/search_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/telemetry_configuration_helper_test.rb +6 -0
- data/test/unit/redhat_access/telemetry_configuration_test.rb +9 -0
- data/vendor/assets/fonts/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.svg +655 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/fonts/icomoon.eot +0 -0
- data/vendor/assets/fonts/fonts/icomoon.svg +22 -0
- data/vendor/assets/fonts/fonts/icomoon.ttf +0 -0
- data/vendor/assets/fonts/fonts/icomoon.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.svg +454 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.svg +2105 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.svg +454 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.woff +0 -0
- data/vendor/assets/fonts/fonts/portalicons.eot +0 -0
- data/vendor/assets/fonts/fonts/portalicons.svg +145 -0
- data/vendor/assets/fonts/fonts/portalicons.ttf +0 -0
- data/vendor/assets/fonts/fonts/portalicons.woff +0 -0
- data/vendor/assets/images/images/Icon_RH_Document_Blueprint_RGB_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Misc_Lifestyle_RGB_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Software_Data_CMYK_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Software_Transfer-Upload_CMYK_Button.png +0 -0
- data/vendor/assets/images/images/bg1.jpg +0 -0
- data/vendor/assets/images/images/bg_body.jpg +0 -0
- data/vendor/assets/images/images/bg_chart-shadow.png +0 -0
- data/vendor/assets/images/images/bg_dount-hole-na.png +0 -0
- data/vendor/assets/images/images/bg_glow.jpg +0 -0
- data/vendor/assets/images/images/bg_pattern.png +0 -0
- data/vendor/assets/images/images/i_chart.png +0 -0
- data/vendor/assets/images/images/img-insights-connection-sat.png +0 -0
- data/vendor/assets/images/images/img-insights-connection.png +0 -0
- data/vendor/assets/images/images/img-sat5-step2-admin.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-completed.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-pending.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-setup.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-overview.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-reports.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-systems.png +0 -0
- data/vendor/assets/images/images/img-sat6-step2.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step3.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step3.png +0 -0
- data/vendor/assets/images/images/img-sat6-step4.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5a.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5b.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5c.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5d.jpg +0 -0
- data/vendor/assets/images/images/keynote-snap.jpg +0 -0
- data/vendor/assets/images/images/keynote-snap.png +0 -0
- data/vendor/assets/images/images/splash-gettingstarted.jpg +0 -0
- data/vendor/assets/images/images/splash-learnmore.jpg +0 -0
- data/vendor/assets/images/images/splash-security.jpg +0 -0
- data/vendor/assets/javascripts/angular/angular.js +20131 -0
- data/vendor/assets/javascripts/redhat_access/redhat_access_angular_ui-deps.js +14103 -0
- data/vendor/assets/javascripts/redhat_access/redhat_access_angular_ui.js +7854 -0
- data/vendor/assets/javascripts/telemetry/insights.js +39 -0
- data/vendor/assets/stylesheets/redhat_access/redhat_access_angular_ui-deps.css +11 -0
- data/vendor/assets/stylesheets/redhat_access/redhat_access_angular_ui.css +1 -0
- data/vendor/assets/stylesheets/telemetry/sat6.css +18 -0
- metadata +341 -0
@@ -0,0 +1,74 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIHZDCCBUygAwIBAgIJAOb+QiglyeZeMA0GCSqGSIb3DQEBBQUAMIGwMQswCQYD
|
3
|
+
VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp
|
4
|
+
Z2gxFjAUBgNVBAoMDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0
|
5
|
+
d29yazEeMBwGA1UEAwwVRW50aXRsZW1lbnQgTWFzdGVyIENBMSQwIgYJKoZIhvcN
|
6
|
+
AQkBFhVjYS1zdXBwb3J0QHJlZGhhdC5jb20wHhcNMTAwMzE3MTkwMDQ0WhcNMzAw
|
7
|
+
MzEyMTkwMDQ0WjCBsDELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9s
|
8
|
+
aW5hMRAwDgYDVQQHDAdSYWxlaWdoMRYwFAYDVQQKDA1SZWQgSGF0LCBJbmMuMRgw
|
9
|
+
FgYDVQQLDA9SZWQgSGF0IE5ldHdvcmsxHjAcBgNVBAMMFUVudGl0bGVtZW50IE1h
|
10
|
+
c3RlciBDQTEkMCIGCSqGSIb3DQEJARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMIIC
|
11
|
+
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2Z+mW7OYcBcGxWS+RSKG2GJ2
|
12
|
+
csMXiGGfEp36vKVsIvypmNS60SkicKENMYREalbdSjrgfXxPJygZWsVWJ5lHPfBV
|
13
|
+
o3WkFrFHTIXd/R6LxnaHD1m8Cx3GwEeuSlE/ASjc1ePtMnsHH7xqZ9wdl85b1C8O
|
14
|
+
scgO7fwuM192kvv/veI/BogIqUQugtG6szXpV8dp4ml029LXFoNIy2lfFoa2wKYw
|
15
|
+
MiUHwtYgAz7TDY63e8qGhd5PoqTv9XKQogo2ze9sF9y/npZjliNy5qf6bFE+24oW
|
16
|
+
E8pGsp3zqz8h5mvw4v+tfIx5uj7dwjDteFrrWD1tcT7UmNrBDWXjKMG81zchq3h4
|
17
|
+
etgF0iwMHEuYuixiJWNzKrLNVQbDmcLGNOvyJfq60tM8AUAd72OUQzivBegnWMit
|
18
|
+
CLcT5viCT1AIkYXt7l5zc/duQWLeAAR2FmpZFylSukknzzeiZpPclRziYTboDYHq
|
19
|
+
revM97eER1xsfoSYp4mJkBHfdlqMnf3CWPcNgru8NbEPeUGMI6+C0YvknPlqDDtU
|
20
|
+
ojfl4qNdf6nWL+YNXpR1YGKgWGWgTU6uaG8Sc6qGfAoLHh6oGwbuz102j84OgjAJ
|
21
|
+
DGv/S86svmZWSqZ5UoJOIEqFYrONcOSgztZ5tU+gP4fwRIkTRbTEWSgudVREOXhs
|
22
|
+
bfN1YGP7HYvS0OiBKZUCAwEAAaOCAX0wggF5MB0GA1UdDgQWBBSIS6ZFxEbsj9bP
|
23
|
+
pvYazyY8kMx/FzCB5QYDVR0jBIHdMIHagBSIS6ZFxEbsj9bPpvYazyY8kMx/F6GB
|
24
|
+
tqSBszCBsDELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAw
|
25
|
+
DgYDVQQHDAdSYWxlaWdoMRYwFAYDVQQKDA1SZWQgSGF0LCBJbmMuMRgwFgYDVQQL
|
26
|
+
DA9SZWQgSGF0IE5ldHdvcmsxHjAcBgNVBAMMFUVudGl0bGVtZW50IE1hc3RlciBD
|
27
|
+
QTEkMCIGCSqGSIb3DQEJARYVY2Etc3VwcG9ydEByZWRoYXQuY29tggkA5v5CKCXJ
|
28
|
+
5l4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEG
|
29
|
+
MCAGA1UdEQQZMBeBFWNhLXN1cHBvcnRAcmVkaGF0LmNvbTAgBgNVHRIEGTAXgRVj
|
30
|
+
YS1zdXBwb3J0QHJlZGhhdC5jb20wDQYJKoZIhvcNAQEFBQADggIBAJ1hEdNBDTRr
|
31
|
+
6kI6W6stoogSUwjuiWPDY8DptwGhdpyIfbCoxvBR7F52DlwyXOpCunogfKMRklnE
|
32
|
+
gH1Wt66RYkgNuJcenKHAhR5xgSLoPCOVF9rDjMunyyBuxjIbctM21R7BswVpsEIE
|
33
|
+
OpV5nlJ6wkHsrn0/E+Zk5UJdCzM+Fp4hqHtEn/c97nvRspQcpWeDg6oUvaJSZTGM
|
34
|
+
8yFpzR90X8ZO4rOgpoERukvYutUfJUzZuDyS3LLc6ysamemH93rZXr52zc4B+C9G
|
35
|
+
Em8zemDgIPaH42ce3C3TdVysiq/yk+ir7pxW8toeavFv75l1UojFSjND+Q2AlNQn
|
36
|
+
pYkmRznbD5TZ3yDuPFQG2xYKnMPACepGgKZPyErtOIljQKCdgcvb9EqNdZaJFz1+
|
37
|
+
/iWKYBL077Y0CKwb+HGIDeYdzrYxbEd95YuVU0aStnf2Yii2tLcpQtK9cC2+DXjL
|
38
|
+
Yf3kQs4xzH4ZejhG9wzv8PGXOS8wHYnfVNA3+fclDEQ1mEBKWHHmenGI6QKZUP8f
|
39
|
+
g0SQ3PNRnSZu8R+rhABOEuVFIBRlaYijg2Pxe0NgL9FlHsNyRfo6EUrB2QFRKACW
|
40
|
+
3Mo6pZyDjQt7O8J7l9B9IIURoJ1niwygf7VSJTMl2w3fFleNJlZTGgdXw0V+5g+9
|
41
|
+
Kg6Ay0rrsi4nw1JHue2GvdjdfVOaWSWC
|
42
|
+
-----END CERTIFICATE-----
|
43
|
+
-----BEGIN CERTIFICATE-----
|
44
|
+
MIIFfTCCA2WgAwIBAgIJAJGKz8qFAAADMA0GCSqGSIb3DQEBBQUAMIGwMQswCQYD
|
45
|
+
VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp
|
46
|
+
Z2gxFjAUBgNVBAoMDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0
|
47
|
+
d29yazEeMBwGA1UEAwwVRW50aXRsZW1lbnQgTWFzdGVyIENBMSQwIgYJKoZIhvcN
|
48
|
+
AQkBFhVjYS1zdXBwb3J0QHJlZGhhdC5jb20wHhcNMTUwNTA1MTMwMzQ4WhcNMjUw
|
49
|
+
NTAyMTMwMzQ4WjCBiTELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5PUlRIIENBUk9M
|
50
|
+
SU5BMRAwDgYDVQQHEwdSYWxlaWdoMRAwDgYDVQQKEwdSZWQgSGF0MRgwFgYDVQQL
|
51
|
+
Ew9SZWQgSGF0IE5ldHdvcmsxIzAhBgNVBAMTGmNlcnQtYXBpLmFjY2Vzcy5yZWRo
|
52
|
+
YXQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9hTNMtZMa7Kg
|
53
|
+
Jlux6pnuUinP0Rv0aiiPFr7qNHFore4loGrPlpzUvQbUByy3xm7lhf4R4qbINCls
|
54
|
+
veWg6HDidvQr174RXb5YLMXuBrYAiPWQTrRRLNuvXFHKzREghRWTv48IXTIDEo0G
|
55
|
+
fZJUO+myY2RfwqugZKic5dR6ZakHSSpQO70O6H5R0eHlKa13k4eEpG2fVY/xqFto
|
56
|
+
WkfZyEmSacZpqxp7gIjZqreLc4MFwpiVjGFrK3Jk+Px1Z6J94LTLx2SxrYzWIeUs
|
57
|
+
5j+lceQOvpV4/pkClnRCW1pkCKTccjFKQkpNPGwdIusRXUGl9IYc20Fa/7g9iUQc
|
58
|
+
5fXu9EAzfwIDAQABo4G+MIG7MAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZA
|
59
|
+
MAsGA1UdDwQEAwIF4DATBgNVHSUEDDAKBggrBgEFBQcDATA5BglghkgBhvhCAQ0E
|
60
|
+
LBYqTWFuYWdlZCBieSBSZWQgSGF0IChjYS1zdXBwb3J0QHJlZGhhdC5jb20pMB0G
|
61
|
+
A1UdDgQWBBRfgCjd8aXf0U4VX8DKTVIn+paGBzAfBgNVHSMEGDAWgBSIS6ZFxEbs
|
62
|
+
j9bPpvYazyY8kMx/FzANBgkqhkiG9w0BAQUFAAOCAgEAlC+r6UEEp5BUkI0Rj2T+
|
63
|
+
1PH7oUCaGQeQoyVbGddz/WUcBk/lMMtyCEoxU+3tTwNWmCWWjYXtjoL9MlSAC/q+
|
64
|
+
NZfBi1iq0uuSus9JI/Uu8aRhoxTK56qGRed/JNixOHEmFn891cahIPpF0exWwtYD
|
65
|
+
ThwXo7Z6PI7t8EMKdSrGTOowp58yho8xYFL/Z7JmjL55Pf85GIrdiniNZd4i178J
|
66
|
+
07R9zsiLvdXq9mT33iJwkm+uhO+FA9d8OE3ji21pBbGUAQSWOdkemvUCsy8zANW9
|
67
|
+
fT+dBrMr5Buk7eaBBJ2PxECNiWLCRQJWmyff1O5zMT0daS2lBdEGUNhBZ0hnX13Q
|
68
|
+
kabUp0bxRrNRq+WkomP7onZhfZS6SjKm0UmwoV6o3V1ED6y7muQNRmgDpA5PcbvO
|
69
|
+
gl7OexNL4zcpyfMdAmTYf5yTRSvB42Yg5hVfuzPEnOIqupwES3mWkEHRlqbMUkHw
|
70
|
+
qIQAxIwQqZd5PdPpElQ/6j/ZT9DwW/I6zgndX2rsS0oGYcwFTkSj0/rKKkC13hk7
|
71
|
+
LchXMZu5ckdustM79U6OZIBairrJaL2OpR08un2nwIjgEGqhVFYc44UK1VpkE8mr
|
72
|
+
qvqJS6OHVlTlKcEDnhVkPS3i5qjuS/PtSq0CwH8bzYKFJayLDY/z36Zv6PdttzmU
|
73
|
+
Yb1NSDcJejHJ80pMINutyYQ=
|
74
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,15 @@
|
|
1
|
+
:strata_host : access.redhat.com
|
2
|
+
:attachment_max_http_size : 250000000
|
3
|
+
:attachment_ftp_host : dropbox.redhat.com
|
4
|
+
:attachment_ftp_dir : /incoming
|
5
|
+
:deployment : satellite
|
6
|
+
|
7
|
+
:enable_telemetry_basic_auth : false
|
8
|
+
:telemetry_upload_host : "https://cert-api.access.redhat.com"
|
9
|
+
:telemetry_api_host : "https://cert-api.access.redhat.com"
|
10
|
+
:telemetry_ssl_verify_peer : true
|
11
|
+
|
12
|
+
:diagnostic_logs :
|
13
|
+
- /var/log/foreman/production.log
|
14
|
+
- /var/log/foreman/delayed_job.log
|
15
|
+
- /var/log/foreman/jobs-startup.log
|
@@ -0,0 +1,5 @@
|
|
1
|
+
if File.exists? ("#{RedhatAccess::Engine.root}/config/config.yml")
|
2
|
+
REDHAT_ACCESS_CONFIG = YAML.load_file("#{RedhatAccess::Engine.root}/config/config.yml")
|
3
|
+
elsif File.exists? ('/etc/redhat_access/config.yml')
|
4
|
+
REDHAT_ACCESS_CONFIG = YAML.load_file('/etc/redhat_access/config.yml')
|
5
|
+
end
|
data/config/routes.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
RedhatAccess::Engine.routes.draw do
|
2
|
+
|
3
|
+
#API routes
|
4
|
+
get 'configuration' => 'configuration#index'
|
5
|
+
get 'logs' => 'api/logs#index'
|
6
|
+
get 'attachments' => 'api/attachments#index'
|
7
|
+
post 'attachments' => 'api/attachments#create'
|
8
|
+
|
9
|
+
unless Foreman::Plugin.installed?('foreman_sam')
|
10
|
+
scope '/' do
|
11
|
+
resource :telemetry_configuration, only: [:show, :update]
|
12
|
+
end
|
13
|
+
get "/insights/templates/:page" => "analytics_dashboard#template" # hack to get around angular-rails-templates bug
|
14
|
+
scope '/r/insights' do
|
15
|
+
get '/', to: 'api/machine_telemetry_api#api_connection_test'
|
16
|
+
get '/v1/branch_info', to: 'api/machine_telemetry_api#get_branch_info'
|
17
|
+
post '/uploads/(:id)', to: 'api/machine_telemetry_api#proxy_upload'
|
18
|
+
get '/view/api/:v/me' , to: 'api/telemetry_api#connection_status', :constraints => {:v =>/(v[0-9]|latest)/}
|
19
|
+
match '/view/api/:path', to: 'api/telemetry_api#proxy', :constraints => {:path => /.*/} ,via: [:get, :post, :delete,:put]
|
20
|
+
match '/:path', to: 'api/machine_telemetry_api#proxy', :constraints => {:path => /.*/}, via: [:get, :post, :delete,:put]
|
21
|
+
end
|
22
|
+
get 'insights', to: 'analytics_dashboard#index'
|
23
|
+
get 'analytics_configuration', to: 'telemetry_configuration#index'
|
24
|
+
match '/insights/*path', to: 'analytics_dashboard#index', via: [:get]
|
25
|
+
end
|
26
|
+
|
27
|
+
scope '/strata' do
|
28
|
+
match '/:path', to: 'api/strata_proxy#call', :constraints => {:path => /.*/}, via: [:get, :post, :delete,:put]
|
29
|
+
end
|
30
|
+
|
31
|
+
#Angular UI routes
|
32
|
+
|
33
|
+
match '/:path', to: 'redhat_access#index', :constraints => {:path => /.*/}, :via => [:get]
|
34
|
+
root :to => 'redhat_access#index'
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateRedhatAccessTelemetryConfigurations < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :redhat_access_telemetry_configurations do |t|
|
4
|
+
t.string :portal_user
|
5
|
+
t.string :portal_password
|
6
|
+
t.boolean :enable_telemetry
|
7
|
+
t.integer :organization_id
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
add_index :redhat_access_telemetry_configurations, :organization_id
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Role.without_auditing do
|
2
|
+
insights_admin_role = Role.where(:name => "Access Insights Admin").first
|
3
|
+
insights_viewer_role = Role.where(:name => "Access Insights Viewer").first
|
4
|
+
view_host_perm = Permission.find_by_name(:view_hosts)
|
5
|
+
if insights_admin_role
|
6
|
+
insights_admin_role.add_permissions!(:view_hosts) unless insights_admin_role.has_permission?(view_host_perm)
|
7
|
+
end
|
8
|
+
if insights_viewer_role
|
9
|
+
insights_viewer_role.add_permissions!(:view_hosts) unless insights_viewer_role.has_permission?(view_host_perm)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,225 @@
|
|
1
|
+
# require 'fast_gettext'
|
2
|
+
# require 'gettext_i18n_rails'
|
3
|
+
# require 'deface'
|
4
|
+
begin
|
5
|
+
# Since we depend on katello, need to force it load so our plugin
|
6
|
+
# dependency checks can work properly
|
7
|
+
require 'katello'
|
8
|
+
require 'foreman_sam.rb'
|
9
|
+
rescue Exception => error
|
10
|
+
# don't need to do anything
|
11
|
+
end
|
12
|
+
|
13
|
+
module RedhatAccess
|
14
|
+
class Engine < ::Rails::Engine
|
15
|
+
isolate_namespace RedhatAccess
|
16
|
+
|
17
|
+
initializer 'redhat_access.load_app_instance_data' do |app|
|
18
|
+
unless app.root.to_s.match root.to_s
|
19
|
+
config.paths["db/migrate"].expanded.each do |expanded_path|
|
20
|
+
app.config.paths["db/migrate"] << expanded_path
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
initializer 'redhat_access.mount_engine', :after => :build_middleware_stack do |app|
|
26
|
+
app.routes_reloader.paths << "#{RedhatAccess::Engine.root}/config/mount_engine.rb"
|
27
|
+
app.reload_routes!
|
28
|
+
end
|
29
|
+
|
30
|
+
# Precompile any JS or CSS files under app/assets/
|
31
|
+
# If requiring files from each other, list them explicitly here to avoid precompiling the same
|
32
|
+
# content twice.
|
33
|
+
assets_to_precompile = [
|
34
|
+
'redhat_access/application.js',
|
35
|
+
'redhat_access/application.css',
|
36
|
+
'insights/application.js',
|
37
|
+
'insights/application.css'
|
38
|
+
]
|
39
|
+
initializer 'redhat_access.assets.precompile' do |app|
|
40
|
+
app.config.assets.precompile += assets_to_precompile
|
41
|
+
end
|
42
|
+
initializer 'redhat_access.configure_assets', :group => :assets do
|
43
|
+
SETTINGS[:redhat_access] = {:assets => {:precompile => assets_to_precompile}}
|
44
|
+
end
|
45
|
+
|
46
|
+
initializer :security_initialization do |app|
|
47
|
+
app.config.filter_parameters << :authToken
|
48
|
+
end
|
49
|
+
|
50
|
+
initializer 'redhat_access.register_gettext', :after => :load_config_initializers do |_app|
|
51
|
+
locale_dir = File.join(File.expand_path('../../..', __FILE__), 'locale')
|
52
|
+
locale_domain = 'redhat_access'
|
53
|
+
Foreman::Gettext::Support.add_text_domain locale_domain, locale_dir
|
54
|
+
end
|
55
|
+
|
56
|
+
initializer :config_csp_headers do |_app|
|
57
|
+
::SecureHeaders::Configuration.configure do |config|
|
58
|
+
if config && config.csp
|
59
|
+
if config.csp[:frame_src]
|
60
|
+
config.csp[:frame_src] = config.csp[:frame_src] << ' *.redhat.com *.force.com'
|
61
|
+
end
|
62
|
+
if config.csp[:connect_src]
|
63
|
+
config.csp[:connect_src] = config.csp[:connect_src] << ' *.redhat.com'
|
64
|
+
end
|
65
|
+
if config.csp[:script_src]
|
66
|
+
config.csp[:script_src] = config.csp[:script_src] << ' *.redhat.com'
|
67
|
+
end
|
68
|
+
if config.csp[:img_src]
|
69
|
+
config.csp[:img_src] = config.csp[:img_src] << ' *.redhat.com'
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
config.after_initialize do
|
76
|
+
Foreman::Plugin.register :redhat_access do
|
77
|
+
#
|
78
|
+
# Start Monkey Patching
|
79
|
+
# Implement our own (temp until we fix foreman upstream)
|
80
|
+
#
|
81
|
+
class RhaItem < Menu::Item
|
82
|
+
def initialize(name, options)
|
83
|
+
super(name, options)
|
84
|
+
end
|
85
|
+
|
86
|
+
def authorized?
|
87
|
+
return false if @condition and not @condition.call
|
88
|
+
User.current.allowed_to?(url_hash.slice(:controller, :action, :id))
|
89
|
+
rescue => error
|
90
|
+
Rails.logger.error "#{error.message} (#{error.class})\n#{error.backtrace.join("\n")}"
|
91
|
+
false
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def rha_menu(menu, name, options = {})
|
96
|
+
options.merge!(:parent => @parent) if @parent
|
97
|
+
Menu::Manager.map(menu).push(RhaItem.new(name, options), options)
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# End monkey patching
|
102
|
+
#
|
103
|
+
|
104
|
+
def sam_deployment?
|
105
|
+
# TODO: make generic and move to lib util class
|
106
|
+
Foreman::Plugin.installed?('foreman_sam')
|
107
|
+
end
|
108
|
+
|
109
|
+
requires_foreman '> 1.6'
|
110
|
+
#requires_foreman_plugin 'katello', '> 3.0.0'
|
111
|
+
|
112
|
+
|
113
|
+
# permission section
|
114
|
+
security_block :redhat_access_security do
|
115
|
+
# Everything except logs should be available to all users
|
116
|
+
permission :view_search, {:"redhat_access/search" => [:index]}, :public => true
|
117
|
+
permission :view_cases, {:"redhat_access/cases" => [:index, :create]}, :public => true
|
118
|
+
permission :attachments, {:"redhat_access/attachments" => [:index, :create]}, :public => true
|
119
|
+
permission :configuration, {:"redhat_access/configuration" => [:index]}, :public => true
|
120
|
+
permission :app_root, {:"redhat_access/redhat_access" => [:index]}, :public => true
|
121
|
+
|
122
|
+
# Logs require special permissions
|
123
|
+
permission :view_log_viewer, {:"redhat_access/logviewer" => [:index]}
|
124
|
+
permission :logs, {:"redhat_access/logs" => [:index]}
|
125
|
+
|
126
|
+
unless sam_deployment?
|
127
|
+
# Proactive Diagnostics permissions
|
128
|
+
permission :rh_telemetry_api, {:"redhat_access/api/telemetry_api" => [:proxy, :connection_status]}
|
129
|
+
permission :rh_telemetry_view, {:"redhat_access/analytics_dashboard" => [:index]}
|
130
|
+
permission :rh_telemetry_configurations, {:"redhat_access/telemetry_configurations" => [:show, :update]}
|
131
|
+
end
|
132
|
+
end
|
133
|
+
# roles section
|
134
|
+
role "Red Hat Access Logs", [:logs, :view_log_viewer]
|
135
|
+
unless sam_deployment?
|
136
|
+
#Need to be kept in sync with db/seeds.d/20-update-insights-roles
|
137
|
+
role "Access Insights Viewer", [:rh_telemetry_api, :rh_telemetry_view]
|
138
|
+
role "Access Insights Admin", [:rh_telemetry_api, :rh_telemetry_view, :rh_telemetry_configurations]
|
139
|
+
end
|
140
|
+
# menus
|
141
|
+
sub_menu :header_menu, :redhat_access_menu, :caption => N_('Red Hat Access') do
|
142
|
+
menu :header_menu,
|
143
|
+
:Search,
|
144
|
+
:url => '/redhat_access/search',
|
145
|
+
:url_hash => {:controller => :"redhat_access/search", :action => :index},
|
146
|
+
:engine => RedhatAccess::Engine,
|
147
|
+
:turbolinks => false
|
148
|
+
menu :header_menu,
|
149
|
+
:LogViewer,
|
150
|
+
:url => '/redhat_access/logviewer',
|
151
|
+
:url_hash => {:controller => :"redhat_access/logs", :action => :index},
|
152
|
+
:engine => RedhatAccess::Engine,
|
153
|
+
:caption => N_('Logs'),
|
154
|
+
:turbolinks => false
|
155
|
+
divider :header_menu, :parent => :redhat_access_menu, :caption => N_('Support')
|
156
|
+
menu :header_menu,
|
157
|
+
:mycases,
|
158
|
+
:url => '/redhat_access/case/list',
|
159
|
+
:url_hash => {:controller => :"redhat_access/cases", :action => :index},
|
160
|
+
:engine => RedhatAccess::Engine,
|
161
|
+
:caption => N_('My Cases'),
|
162
|
+
:turbolinks => false
|
163
|
+
|
164
|
+
menu :header_menu, :new_cases, :caption => N_('Open New Case'),
|
165
|
+
:url => '/redhat_access/case/new',
|
166
|
+
:url_hash => {:controller => :"redhat_access/cases", :action => :create},
|
167
|
+
:engine => RedhatAccess::Engine,
|
168
|
+
:turbolinks => false
|
169
|
+
|
170
|
+
end
|
171
|
+
|
172
|
+
unless sam_deployment?
|
173
|
+
sub_menu :top_menu, :redhat_access_top_menu, :caption => N_('Red Hat Insights') do
|
174
|
+
rha_menu :top_menu,
|
175
|
+
:rhai_dashboard,
|
176
|
+
:caption => N_('Overview'),
|
177
|
+
:url => '/redhat_access/insights',
|
178
|
+
:url_hash => {:controller => :"redhat_access/analytics_dashboard", :action => :index},
|
179
|
+
:engine => RedhatAccess::Engine,
|
180
|
+
:turbolinks => false
|
181
|
+
rha_menu :top_menu,
|
182
|
+
:rhai_actions,
|
183
|
+
:caption => N_('Actions'),
|
184
|
+
:url => '/redhat_access/insights/actions',
|
185
|
+
:url_hash => {:controller => :"redhat_access/analytics_dashboard", :action => :index},
|
186
|
+
:engine => RedhatAccess::Engine,
|
187
|
+
:turbolinks => false
|
188
|
+
rha_menu :top_menu,
|
189
|
+
:rhai_inventory,
|
190
|
+
:caption => N_('Inventory'),
|
191
|
+
:url => '/redhat_access/insights/inventory',
|
192
|
+
:url_hash => {:controller => :"redhat_access/analytics_dashboard", :action => :index},
|
193
|
+
:engine => RedhatAccess::Engine,
|
194
|
+
:turbolinks => false
|
195
|
+
rha_menu :top_menu,
|
196
|
+
:rhai_rules,
|
197
|
+
:caption => N_('Rules'),
|
198
|
+
:url => '/redhat_access/insights/rules',
|
199
|
+
:url_hash => {:controller => :"redhat_access/analytics_dashboard", :action => :index},
|
200
|
+
:engine => RedhatAccess::Engine,
|
201
|
+
:turbolinks => false
|
202
|
+
rha_menu :top_menu,
|
203
|
+
:rhai_configuration,
|
204
|
+
:caption => N_('Manage'),
|
205
|
+
:url => '/redhat_access/insights/manage',
|
206
|
+
:url_hash => {:controller => :"redhat_access/telemetry_configurations", :action => :show},
|
207
|
+
:engine => RedhatAccess::Engine,
|
208
|
+
:turbolinks => false
|
209
|
+
rha_menu :top_menu,
|
210
|
+
:rhai_help,
|
211
|
+
:caption => N_('Help'),
|
212
|
+
:url => '/redhat_access/insights/help',
|
213
|
+
:url_hash => {:controller => :"redhat_access/analytics_dashboard", :action => :index},
|
214
|
+
:engine => RedhatAccess::Engine,
|
215
|
+
:turbolinks => false
|
216
|
+
end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
config.to_prepare do
|
222
|
+
::Organization.send :include, RedhatAccess::Concerns::OrganizationExtensions
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# This program is free software; you can redistribute it and/or modify
|
2
|
+
# it under the terms of the GNU General Public License as published by
|
3
|
+
# the Free Software Foundation; either version 2 of the License, or
|
4
|
+
# (at your option) any later version.
|
5
|
+
|
6
|
+
# This program is distributed in the hope that it will be useful,
|
7
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
8
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
9
|
+
# GNU General Public License for more details.
|
10
|
+
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program; if not, write to the Free Software
|
13
|
+
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
14
|
+
require 'open3'
|
15
|
+
module RedhatAccess::SosReports
|
16
|
+
SOS_COMMAND = "foreman-sosreport --batch -o foreman"
|
17
|
+
class Generator
|
18
|
+
def self.create_report case_num
|
19
|
+
command = SOS_COMMAND
|
20
|
+
unless case_num.nil?
|
21
|
+
unless is_valid_case_number case_num #security injection check
|
22
|
+
raise ArgumentError.new "case number must be an integer"
|
23
|
+
else
|
24
|
+
command = command + " --ticket-number=#{case_num}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
begin
|
28
|
+
Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
|
29
|
+
report_location = ''
|
30
|
+
if wait_thr.value == 0
|
31
|
+
stdout.readlines.each do |line|
|
32
|
+
if line.include? "tar.xz"
|
33
|
+
report_location = line #brittle, but we assume only single line
|
34
|
+
break
|
35
|
+
end
|
36
|
+
end
|
37
|
+
else
|
38
|
+
#puts "sos report failed"
|
39
|
+
end
|
40
|
+
sos_file_name = report_location.strip
|
41
|
+
puts "SOS file created : " + sos_file_name
|
42
|
+
sos_file_name
|
43
|
+
end
|
44
|
+
rescue => exception
|
45
|
+
Rails.logger.error("Error Creating SOS report: #{$!}")
|
46
|
+
raise exception
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.is_valid_case_number case_num
|
52
|
+
if case_num.nil?
|
53
|
+
return false
|
54
|
+
end
|
55
|
+
case_num.to_s =~ /\A\d+\z/ ? true : false
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'redhat_access_lib'
|
2
|
+
require 'base64'
|
3
|
+
module RedhatAccess::Strata
|
4
|
+
class Client
|
5
|
+
attr_reader :api
|
6
|
+
def initialize(token)
|
7
|
+
username = ""
|
8
|
+
password = ""
|
9
|
+
unless token.nil?
|
10
|
+
token = Base64.decode64(token)
|
11
|
+
username,password = token.split(":")
|
12
|
+
end
|
13
|
+
config = RedHatSupportLib::Network::Config.new
|
14
|
+
config.base_uri = 'https://api.' + REDHAT_ACCESS_CONFIG[:strata_host]
|
15
|
+
config.username= username
|
16
|
+
config.password = password
|
17
|
+
config.proxy = get_portal_http_proxy
|
18
|
+
attachments_config = {:max_http_size => REDHAT_ACCESS_CONFIG[:attachment_max_http_size],
|
19
|
+
:ftp_host => REDHAT_ACCESS_CONFIG[:attachment_ftp_host],
|
20
|
+
:ftp_remote_dir => REDHAT_ACCESS_CONFIG[:attachment_ftp_dir]}
|
21
|
+
@api = RedHatSupportLib::Api::API.new(config,attachments_config)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_portal_http_proxy
|
25
|
+
proxy = nil
|
26
|
+
if Katello.config.cdn_proxy && Katello.config.cdn_proxy.host
|
27
|
+
proxy_config = Katello.config.cdn_proxy
|
28
|
+
uri = URI('')
|
29
|
+
uri.scheme = URI.parse(proxy_config.host).scheme
|
30
|
+
uri.host = URI.parse(proxy_config.host).host
|
31
|
+
uri.port = proxy_config.port
|
32
|
+
uri.user = proxy_config.user
|
33
|
+
uri.password = proxy_config.password
|
34
|
+
proxy = uri.to_s
|
35
|
+
end
|
36
|
+
return proxy
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# desc "Explaining what the task does"
|
2
|
+
# task :redhat_access do
|
3
|
+
# # Task goes here
|
4
|
+
# end
|
5
|
+
desc 'Compile stand alone engine assets'
|
6
|
+
task 'assets:precompile:engine' do
|
7
|
+
require 'sprockets'
|
8
|
+
require 'sprockets/railtie'
|
9
|
+
require 'uglifier'
|
10
|
+
require 'sass/rails/compressor'
|
11
|
+
require File.expand_path('../lib/red_hat_access', __FILE__)
|
12
|
+
|
13
|
+
precompile = [
|
14
|
+
'red_hat_access/articles.js',
|
15
|
+
'red_hat_access/articles.css'
|
16
|
+
]
|
17
|
+
|
18
|
+
env = Sprockets::Environment.new(RedHatAccess::Engine.root)
|
19
|
+
env.js_compressor = Uglifier.new
|
20
|
+
env.css_compressor = Sass::Rails::CssCompressor.new
|
21
|
+
|
22
|
+
paths = [
|
23
|
+
'app/assets/stylesheets',
|
24
|
+
'app/assets/javascripts',
|
25
|
+
'vendor/assets/javascripts',
|
26
|
+
'vendor/assets/stylesheets',
|
27
|
+
]
|
28
|
+
|
29
|
+
paths.each do |path|
|
30
|
+
env.append_path(path)
|
31
|
+
end
|
32
|
+
|
33
|
+
target = File.join(RedHatAccess::Engine.root, 'public', 'assets')
|
34
|
+
compiler = Sprockets::StaticCompiler.new(env,
|
35
|
+
target,
|
36
|
+
precompile,
|
37
|
+
:manifest_path => File.join(target),
|
38
|
+
:digest => true,
|
39
|
+
:manifest => true)
|
40
|
+
compiler.compile
|
41
|
+
end
|
data/locale/Makefile
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
#
|
2
|
+
# Makefile for PO merging and MO generation. More info in the README.
|
3
|
+
#
|
4
|
+
# make all-mo (default) - generate MO files
|
5
|
+
# make check - check translations using translate-tool
|
6
|
+
# make tx-update - download and merge translations from Transifex
|
7
|
+
# make clean - clean everything
|
8
|
+
#
|
9
|
+
DOMAIN = redhat_access
|
10
|
+
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
|
11
|
+
POTFILE = $(DOMAIN).pot
|
12
|
+
MOFILE = $(DOMAIN).mo
|
13
|
+
POFILES = $(shell find . -name '*.po')
|
14
|
+
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
|
15
|
+
POXFILES = $(patsubst %.po,%.pox,$(POFILES))
|
16
|
+
|
17
|
+
%.mo: %.po
|
18
|
+
mkdir -p $(shell dirname $@)/LC_MESSAGES
|
19
|
+
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $<
|
20
|
+
|
21
|
+
# Generate MO files from PO files
|
22
|
+
all-mo: $(MOFILES)
|
23
|
+
|
24
|
+
# Check for malformed strings
|
25
|
+
%.pox: %.po
|
26
|
+
msgfmt -c $<
|
27
|
+
pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \
|
28
|
+
-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@
|
29
|
+
cat $@
|
30
|
+
! grep -q msgid $@
|
31
|
+
|
32
|
+
check: $(POXFILES)
|
33
|
+
msgfmt -c ${POTFILE}
|
34
|
+
|
35
|
+
# Merge PO files
|
36
|
+
update-po:
|
37
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
38
|
+
msgmerge -N --backup=none -U $$f ${POTFILE} ; \
|
39
|
+
done
|
40
|
+
|
41
|
+
# Unify duplicate translations
|
42
|
+
uniq-po:
|
43
|
+
for f in $(shell find ./ -name "*.po") ; do \
|
44
|
+
msguniq $$f -o $$f ; \
|
45
|
+
done
|
46
|
+
|
47
|
+
tx-pull:
|
48
|
+
tx pull -f
|
49
|
+
for f in $(POFILES) ; do \
|
50
|
+
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
|
51
|
+
done
|
52
|
+
-git commit -a -m "i18n - pulling from tx"
|
53
|
+
|
54
|
+
reset-po:
|
55
|
+
# merging po files is unnecessary when using transifex.com
|
56
|
+
git checkout -- ../locale/*/*po
|
57
|
+
|
58
|
+
tx-update: tx-pull reset-po $(MOFILES)
|
59
|
+
# amend mo files
|
60
|
+
git add ../locale/*/LC_MESSAGES
|
61
|
+
git commit -a --amend -m "i18n - pulling from tx"
|
62
|
+
-echo Changes commited!
|
Binary file
|