fluentd-ui 0.3.8 → 0.3.9

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.

Potentially problematic release.


This version of fluentd-ui might be problematic. Click here for more details.

Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +9 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +4 -1
  5. data/app/assets/javascripts/vue/fluent_log.js +4 -4
  6. data/app/assets/javascripts/vue/in_tail_format.js +43 -49
  7. data/app/assets/javascripts/{alert.js → vue/notification.js} +21 -7
  8. data/app/assets/javascripts/vue/settings.js +121 -0
  9. data/app/assets/javascripts/vue/treeview.js +3 -3
  10. data/app/assets/stylesheets/common.css.scss +7 -1
  11. data/app/controllers/api/settings_controller.rb +55 -0
  12. data/app/controllers/api_controller.rb +6 -2
  13. data/app/controllers/concerns/setting_concern.rb +2 -2
  14. data/app/controllers/fluentd/settings_controller.rb +17 -2
  15. data/app/models/fluentd/setting/config.rb +39 -0
  16. data/app/views/api/settings/_element.json.jbuilder +6 -0
  17. data/app/views/api/settings/index.json.jbuilder +3 -0
  18. data/app/views/api/settings/show.json.jbuilder +1 -0
  19. data/app/views/fluentd/settings/edit.html.haml +3 -0
  20. data/app/views/fluentd/settings/source_and_output.html.haml +19 -2
  21. data/app/views/layouts/application.html.erb +1 -30
  22. data/app/views/shared/vue/_in_tail_format.html.erb +11 -36
  23. data/app/views/shared/vue/_notification.html.erb +31 -0
  24. data/app/views/shared/vue/_setting.html.erb +23 -0
  25. data/app/views/shared/vue/_treeview.html.erb +2 -2
  26. data/bower.json +1 -1
  27. data/config/application.rb +1 -0
  28. data/config/locales/translation_en.yml +11 -7
  29. data/config/locales/translation_ja.yml +4 -0
  30. data/config/routes.rb +2 -0
  31. data/lib/fluentd-ui/version.rb +1 -1
  32. data/spec/features/fluentd/setting/source_and_output_spec.rb +157 -0
  33. data/spec/spec_helper.rb +1 -0
  34. data/spec/support/javascript_macro.rb +21 -0
  35. data/vendor/assets/javascripts/bower/vue/.bower.json +7 -7
  36. data/vendor/assets/javascripts/bower/vue/LICENSE +1 -1
  37. data/vendor/assets/javascripts/bower/vue/dist/vue.js +7822 -4768
  38. data/vendor/assets/javascripts/bower/vue/dist/vue.min.js +7 -7
  39. data/vendor/assets/javascripts/bower/vue/src/api/child.js +53 -0
  40. data/vendor/assets/javascripts/bower/vue/src/api/data.js +161 -0
  41. data/vendor/assets/javascripts/bower/vue/src/api/dom.js +211 -0
  42. data/vendor/assets/javascripts/bower/vue/src/api/events.js +176 -0
  43. data/vendor/assets/javascripts/bower/vue/src/api/global.js +146 -0
  44. data/vendor/assets/javascripts/bower/vue/src/api/lifecycle.js +144 -0
  45. data/vendor/assets/javascripts/bower/vue/src/batcher.js +52 -32
  46. data/vendor/assets/javascripts/bower/vue/src/cache.js +112 -0
  47. data/vendor/assets/javascripts/bower/vue/src/compiler/compile.js +549 -0
  48. data/vendor/assets/javascripts/bower/vue/src/compiler/transclude.js +163 -0
  49. data/vendor/assets/javascripts/bower/vue/src/config.js +74 -14
  50. data/vendor/assets/javascripts/bower/vue/src/directive.js +179 -219
  51. data/vendor/assets/javascripts/bower/vue/src/directives/attr.js +32 -0
  52. data/vendor/assets/javascripts/bower/vue/src/directives/class.js +18 -0
  53. data/vendor/assets/javascripts/bower/vue/src/directives/cloak.js +12 -0
  54. data/vendor/assets/javascripts/bower/vue/src/directives/component.js +214 -0
  55. data/vendor/assets/javascripts/bower/vue/src/directives/el.js +13 -0
  56. data/vendor/assets/javascripts/bower/vue/src/directives/html.js +30 -34
  57. data/vendor/assets/javascripts/bower/vue/src/directives/if.js +77 -46
  58. data/vendor/assets/javascripts/bower/vue/src/directives/index.js +22 -129
  59. data/vendor/assets/javascripts/bower/vue/src/directives/model/checkbox.js +25 -0
  60. data/vendor/assets/javascripts/bower/vue/src/directives/model/default.js +123 -0
  61. data/vendor/assets/javascripts/bower/vue/src/directives/model/index.js +56 -0
  62. data/vendor/assets/javascripts/bower/vue/src/directives/model/radio.js +26 -0
  63. data/vendor/assets/javascripts/bower/vue/src/directives/model/select.js +166 -0
  64. data/vendor/assets/javascripts/bower/vue/src/directives/on.js +51 -50
  65. data/vendor/assets/javascripts/bower/vue/src/directives/partial.js +36 -42
  66. data/vendor/assets/javascripts/bower/vue/src/directives/ref.js +24 -0
  67. data/vendor/assets/javascripts/bower/vue/src/directives/repeat.js +477 -226
  68. data/vendor/assets/javascripts/bower/vue/src/directives/show.js +8 -0
  69. data/vendor/assets/javascripts/bower/vue/src/directives/style.js +49 -37
  70. data/vendor/assets/javascripts/bower/vue/src/directives/text.js +15 -0
  71. data/vendor/assets/javascripts/bower/vue/src/directives/transition.js +12 -0
  72. data/vendor/assets/javascripts/bower/vue/src/directives/with.js +38 -41
  73. data/vendor/assets/javascripts/bower/vue/src/filters/array-filters.js +87 -0
  74. data/vendor/assets/javascripts/bower/vue/src/filters/index.js +135 -0
  75. data/vendor/assets/javascripts/bower/vue/src/instance/compile.js +71 -0
  76. data/vendor/assets/javascripts/bower/vue/src/instance/events.js +122 -0
  77. data/vendor/assets/javascripts/bower/vue/src/instance/init.js +76 -0
  78. data/vendor/assets/javascripts/bower/vue/src/instance/scope.js +217 -0
  79. data/vendor/assets/javascripts/bower/vue/src/observer/array.js +90 -0
  80. data/vendor/assets/javascripts/bower/vue/src/observer/dep.js +50 -0
  81. data/vendor/assets/javascripts/bower/vue/src/observer/index.js +235 -0
  82. data/vendor/assets/javascripts/bower/vue/src/observer/object.js +75 -0
  83. data/vendor/assets/javascripts/bower/vue/src/parsers/directive.js +159 -0
  84. data/vendor/assets/javascripts/bower/vue/src/parsers/expression.js +226 -0
  85. data/vendor/assets/javascripts/bower/vue/src/parsers/path.js +300 -0
  86. data/vendor/assets/javascripts/bower/vue/src/parsers/template.js +246 -0
  87. data/vendor/assets/javascripts/bower/vue/src/parsers/text.js +178 -0
  88. data/vendor/assets/javascripts/bower/vue/src/transition/css.js +189 -0
  89. data/vendor/assets/javascripts/bower/vue/src/transition/index.js +151 -0
  90. data/vendor/assets/javascripts/bower/vue/src/transition/js.js +43 -0
  91. data/vendor/assets/javascripts/bower/vue/src/util/debug.js +50 -0
  92. data/vendor/assets/javascripts/bower/vue/src/util/dom.js +176 -0
  93. data/vendor/assets/javascripts/bower/vue/src/util/env.js +74 -0
  94. data/vendor/assets/javascripts/bower/vue/src/util/filter.js +72 -0
  95. data/vendor/assets/javascripts/bower/vue/src/util/index.js +8 -0
  96. data/vendor/assets/javascripts/bower/vue/src/util/lang.js +175 -0
  97. data/vendor/assets/javascripts/bower/vue/src/util/merge-option.js +258 -0
  98. data/vendor/assets/javascripts/bower/vue/src/vue.js +84 -0
  99. data/vendor/assets/javascripts/bower/vue/src/watcher.js +240 -0
  100. metadata +65 -20
  101. data/app/assets/javascripts/setting_format.js +0 -15
  102. data/vendor/assets/javascripts/bower/vue/src/binding.js +0 -103
  103. data/vendor/assets/javascripts/bower/vue/src/compiler.js +0 -1037
  104. data/vendor/assets/javascripts/bower/vue/src/deps-parser.js +0 -65
  105. data/vendor/assets/javascripts/bower/vue/src/directives/model.js +0 -174
  106. data/vendor/assets/javascripts/bower/vue/src/directives/view.js +0 -56
  107. data/vendor/assets/javascripts/bower/vue/src/emitter.js +0 -97
  108. data/vendor/assets/javascripts/bower/vue/src/exp-parser.js +0 -190
  109. data/vendor/assets/javascripts/bower/vue/src/filters.js +0 -191
  110. data/vendor/assets/javascripts/bower/vue/src/fragment.js +0 -67
  111. data/vendor/assets/javascripts/bower/vue/src/main.js +0 -188
  112. data/vendor/assets/javascripts/bower/vue/src/observer.js +0 -446
  113. data/vendor/assets/javascripts/bower/vue/src/template-parser.js +0 -46
  114. data/vendor/assets/javascripts/bower/vue/src/text-parser.js +0 -96
  115. data/vendor/assets/javascripts/bower/vue/src/transition.js +0 -228
  116. data/vendor/assets/javascripts/bower/vue/src/utils.js +0 -326
  117. data/vendor/assets/javascripts/bower/vue/src/viewmodel.js +0 -190
@@ -22,8 +22,12 @@ class ApiController < ApplicationController
22
22
  preview = RegexpPreview.new(params[:file], params[:format], regexp: params[:regexp], time_format: params[:time_format])
23
23
  matches = preview.matches
24
24
  render json: {
25
- regexp: preview.regexp.try(:source),
26
- time_format: preview.time_format,
25
+ params: {
26
+ setting: {
27
+ regexp: preview.regexp.try(:source),
28
+ time_format: preview.time_format,
29
+ }
30
+ },
27
31
  matches: matches.compact,
28
32
  }
29
33
  end
@@ -16,14 +16,14 @@ module SettingConcern
16
16
  def finish
17
17
  @setting = target_class.new(setting_params)
18
18
  unless @setting.valid?
19
- return render "show"
19
+ return render "shared/settings/show"
20
20
  end
21
21
 
22
22
  @fluentd.agent.config_append @setting.to_config
23
23
  if @fluentd.agent.running?
24
24
  unless @fluentd.agent.restart
25
25
  @setting.errors.add(:base, @fluentd.agent.log_tail(1).first)
26
- return render "show"
26
+ return render "shared/settings/show"
27
27
  end
28
28
  end
29
29
  redirect_to daemon_setting_path(@fluentd)
@@ -1,18 +1,33 @@
1
1
  class Fluentd::SettingsController < ApplicationController
2
2
  before_action :login_required
3
3
  before_action :find_fluentd
4
+ before_action :set_config, only: [:show, :edit, :update]
4
5
 
5
6
  def show
6
- @config = @fluentd.agent.config
7
7
  end
8
8
 
9
9
  def edit
10
- @config = @fluentd.agent.config
11
10
  end
12
11
 
13
12
  def update
13
+ Fluent::Config::V1Parser.parse(params[:config], @fluentd.config_file)
14
14
  @fluentd.agent.config_write params[:config]
15
15
  @fluentd.agent.restart if @fluentd.agent.running?
16
16
  redirect_to daemon_setting_path(@fluentd)
17
+ rescue Fluent::ConfigParseError => e
18
+ @config = params[:config]
19
+ @error = e.message
20
+ render "edit"
21
+ end
22
+
23
+ def source_and_output
24
+ # TODO: error handling if config file has invalid syntax
25
+ # @config = Fluentd::Setting::Config.new(@fluentd.config_file)
26
+ end
27
+
28
+ private
29
+
30
+ def set_config
31
+ @config = @fluentd.agent.config
17
32
  end
18
33
  end
@@ -0,0 +1,39 @@
1
+ require 'fluent/config'
2
+
3
+ class Fluentd
4
+ module Setting
5
+ class Config
6
+ attr_reader :fl_config, :file
7
+ delegate :elements, to: :fl_config
8
+
9
+ def initialize(config_file)
10
+ @fl_config = Fluent::Config.parse(IO.read(config_file), config_file, nil, true)
11
+ @file = config_file
12
+ end
13
+
14
+ def empty?
15
+ elements.length.zero?
16
+ end
17
+
18
+ def sources
19
+ elements.find_all do |elm|
20
+ elm.name == "source"
21
+ end
22
+ end
23
+
24
+ def matches
25
+ elements.find_all do |elm|
26
+ elm.name == "match"
27
+ end
28
+ end
29
+
30
+ def write_to_file
31
+ File.open(file, "w"){|f| f.write formatted }
32
+ end
33
+
34
+ def formatted
35
+ fl_config.to_s.gsub(/<\/?ROOT>/, "").strip_heredoc.gsub(%r|^</.*?>$|, "\\0\n")
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,6 @@
1
+ json.id element_id(element)
2
+ json.name element.name
3
+ json.type element["type"]
4
+ json.arg element.arg
5
+ json.settings element
6
+ json.content element.to_s
@@ -0,0 +1,3 @@
1
+ json.array! @config.elements do |elm|
2
+ json.partial! "api/settings/element", element: elm
3
+ end
@@ -0,0 +1 @@
1
+ json.partial! "api/settings/element", element: @section
@@ -1,5 +1,8 @@
1
1
  - page_title t('.page_title', label: @fluentd.label)
2
2
 
3
+ - if @error
4
+ %pre.alert.alert-danger= @error
5
+
3
6
  = form_tag(daemon_setting_path(@fluentd), method: :patch) do
4
7
  .form-group
5
8
  = text_area_tag "config", @config, class: "form-control", rows: 40
@@ -1,7 +1,5 @@
1
1
  - page_title t('.page_title')
2
2
 
3
- %h2
4
-
5
3
  .row.fluentd-setting-inout
6
4
  .col-xs-4
7
5
  .panel.panel-default
@@ -47,3 +45,22 @@
47
45
  = link_to(daemon_setting_out_forward_path(@fluentd)) do
48
46
  = icon('fa-file-text-o fa-lg')
49
47
  = t("fluentd.common.setup_out_forward")
48
+
49
+ = render "shared/vue/setting"
50
+
51
+ #vue-setting.current-settings
52
+ %h2
53
+ = t('.current')
54
+ %span{"v-on" => "click: update", "v-if" => "!loading"}= icon('fa-refresh')
55
+ %span{"v-if" => "loading"}= icon('fa-spin fa-refresh')
56
+ .row
57
+ .col-xs-6.input
58
+ %h3= t('.in')
59
+ %div{"v-if" => "loaded && sections.sources.length == 0"}
60
+ %p.empty= t('.setting_empty')
61
+ %div{"v-repeat" => "sections.sources", "v-component" => "section"}
62
+ .col-xs-6.output
63
+ %h3= t('.out')
64
+ %div{"v-if" => "loaded && sections.matches.length == 0"}
65
+ %p.empty= t('.setting_empty')
66
+ %div{"v-repeat" => "sections.matches", "v-component" => "section"}
@@ -29,36 +29,7 @@
29
29
  <!-- /.navbar-header -->
30
30
 
31
31
  <ul class="nav navbar-top-links navbar-right">
32
- <!-- vue.js -->
33
- <li class="dropdown" id="alert">
34
- <a
35
- class="dropdown-toggle"
36
- data-toggle="dropdown" href="#"
37
- >
38
- <i class="fa fa-bell fa-fw"></i>
39
- <span class="badge" v-if="hasAlerts">{{ alertsCount }}</span>
40
- <i class="fa fa-caret-down"></i>
41
- </a>
42
- <ul class="nav dropdown-menu dropdown-alerts">
43
- <li v-if="!hasAlerts">
44
- <a>
45
- <div class="nothing text text-success">
46
- <%= icon "fa-check" %>
47
- <%= t "terms.no_alert" %>
48
- </div>
49
- </a>
50
- </li>
51
- <li v-repeat="alerts">
52
- <a>
53
- <div>
54
- <%= icon("fa-cog fa-fw fa-lg fa-spin") %>
55
- {{ text }}
56
- </div>
57
- </a>
58
- </li>
59
- </ul>
60
- </li>
61
- <!-- /vue.js -->
32
+ <%= render partial: "shared/vue/notification" %>
62
33
 
63
34
  <li class="dropdown">
64
35
  <%= link_to(t("terms.sign_out"), sessions_path, method: :delete) %>
@@ -1,19 +1,4 @@
1
- <div id="in_tail_format" class="form-group"
2
- formatOptions="<%= formats.to_json %>"
3
- initialSelected="<%= initialSelected %>"
4
- targetFile="<%= file %>"
5
- paramsJson="<%= params.to_json %>"
6
- >
7
- <div class="form-group">
8
- <label>
9
- <input type="radio" v-model="formatType" value="bundled">bundled
10
- </label>
11
- <label>
12
- <input type="radio" v-model="formatType" value="regexp">regexp
13
- </label>
14
- </div>
15
-
16
- <div v-if="formatType == 'bundled'">
1
+ <script type="text/template" id="format-bundle">
17
2
  <div class="form-group">
18
3
  <label>format</label>
19
4
  <select name="setting[format]" v-model="format">
@@ -22,28 +7,18 @@
22
7
  </div>
23
8
  <div class="form-group" v-repeat="options">
24
9
  <label>{{ $value }} </label>
25
- <input type="text" name="setting[{{ $value }}]" v-model="{{ $value }}" size="100%" />
26
- <span v-if="format == 'grok' && previewProcessing"><%= icon('fa-spin fa-refresh fa-lg') %></span>
27
- </div>
28
- <div v-if="format == 'grok'">
29
- <pre v-if="highlightedLines">{{{ highlightedLines }}}</pre>
30
- <div class="well well-sm">
31
- <%= raw t('fluentd.settings.grok_manual') %>
32
- </div>
10
+ <input type="text" name="setting[{{ $value }}]" v-model="params.setting[$value]" size="100%" />
33
11
  </div>
34
- </div>
12
+ </script>
35
13
 
36
- <div v-if="formatType == 'regexp'">
37
- <div class="form-group">
38
- <label>regexp</label>
39
- <input type="hidden" name="setting[format]" value="regexp" />
40
- <input type="text" name="setting[regexp]" v-model="regexp" size="100%" />
41
- </div>
42
- <div class="form-group">
43
- <label>time_format</label>
44
- <input type="text" name="setting[time_format]" v-model="time_format" size="100%" />
45
- </div>
46
- </div>
14
+ <div id="in_tail_format" class="form-group"
15
+ formatOptionsJson="<%= formats.to_json %>"
16
+ initialSelected="<%= initialSelected %>"
17
+ targetFile="<%= file %>"
18
+ paramsJson="<%= params.to_json %>"
19
+ >
20
+
21
+ <div v-component="format-bundle" wait-for="data-loaded"></div>
47
22
 
48
23
  <pre>{{{ highlightedLines }}}</pre>
49
24
 
@@ -0,0 +1,31 @@
1
+ <!-- vue.js -->
2
+ <li class="dropdown" id="vue-notification">
3
+ <a
4
+ class="dropdown-toggle"
5
+ data-toggle="dropdown" href="#"
6
+ >
7
+ <i class="fa fa-bell fa-fw"></i>
8
+ <span class="badge" v-if="hasAlerts">{{ alertsCount }}</span>
9
+ <i class="fa fa-caret-down"></i>
10
+ </a>
11
+ <ul class="nav dropdown-menu dropdown-alerts">
12
+ <li v-if="!hasAlerts">
13
+ <a>
14
+ <div class="nothing text text-success">
15
+ <%= icon "fa-check" %>
16
+ <%= t "terms.no_alert" %>
17
+ </div>
18
+ </a>
19
+ </li>
20
+ <li v-repeat="alerts">
21
+ <a>
22
+ <div>
23
+ <%= icon("fa-cog fa-fw fa-lg fa-spin") %>
24
+ {{ text }}
25
+ </div>
26
+ </a>
27
+ </li>
28
+ </ul>
29
+ </li>
30
+ <!-- /vue.js -->
31
+
@@ -0,0 +1,23 @@
1
+ <script type="text/template" id="vue-setting-section">
2
+
3
+ <div class='panel panel-default'>
4
+ <div class='panel-heading' data-toggle='collapse' href='#{{ id }}' title='{{ content }}'>
5
+ {{ type }}
6
+ <span v-if="name == 'match'">({{ arg }})</span>
7
+ <i class="fa fa-caret-down"></i>
8
+ </div>
9
+ <div class='panel-body collapse' id='{{ id }}'>
10
+ <pre v-if="mode != 'edit'">{{ content }}</pre>
11
+ <p v-if="mode == 'edit'">
12
+ <textarea class="form-control" v-model="editContent" v-attr="disabled: processing"></textarea>
13
+ </p>
14
+ <p class="pull-right">
15
+ <button v-if="mode != 'edit'" class="btn btn-default" v-on="click: onEdit"><%= t('terms.edit') %></button>
16
+ <button v-if="mode != 'edit'" class="btn btn-danger" v-on="click: onDelete"><%= t('terms.destroy') %></button>
17
+ <button v-if="mode == 'edit'" class="btn btn-default" v-on="click: onCancel"><%= t('terms.cancel') %></button>
18
+ <button v-if="mode == 'edit'" class="btn btn-primary" v-on="click: onSubmit"><%= t('terms.save') %></button>
19
+ </p>
20
+ </div>
21
+ </div>
22
+
23
+ </script>
@@ -2,8 +2,8 @@
2
2
  <% action ||= "" %>
3
3
  <% submit_button ||= "" %>
4
4
  <%= form_tag(action, method: :post) do %>
5
- <div id="treeview">
6
- <input type="text" size="48" v-model="path" disabled />
5
+ <div id="treeview" initialPath="/var/log">
6
+ <pre>{{ path }}</pre>
7
7
  <input type="hidden" name="<%= name %>" v-model="path" />
8
8
  <div class="dirs">
9
9
  <span v-repeat="currentDirs">
data/bower.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "fluentd-ui",
3
3
  "dependencies": {
4
4
  "es6-promise": "~1.0.0",
5
- "vue": "~0.10.0",
5
+ "vue": "~0.11.1",
6
6
  "lodash": "~2.4.0"
7
7
  },
8
8
  "devDependencies": {
@@ -19,6 +19,7 @@ require "jquery-rails"
19
19
  require "sucker_punch"
20
20
  require "settingslogic"
21
21
  require "kramdown-haml"
22
+ require "jbuilder"
22
23
 
23
24
  module FluentdUi
24
25
  class Application < Rails::Application
@@ -31,8 +31,10 @@ en:
31
31
  no_alert: Nothing
32
32
  update_password: Update Password
33
33
  detail: Detail
34
+ cancel: Cancel
34
35
  create: Create
35
36
  update: Update & Restart
37
+ save: Save
36
38
  edit: Edit
37
39
  destroy: Destroy
38
40
  new: New
@@ -125,6 +127,8 @@ en:
125
127
  page_title: Add Source and Output
126
128
  in: Source
127
129
  out: Output
130
+ current: Current setting
131
+ setting_empty: Not exists
128
132
  show:
129
133
  page_title: Config File
130
134
  in_out_head: In/Out setting
@@ -132,38 +136,38 @@ en:
132
136
  page_title: Edit Config File
133
137
  out_forward:
134
138
  option_guide: |
135
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/out_forward" target="_blank">Forward output plugin</a> documentation page.
139
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/out_forward" target="_blank">Forward output plugin</a> documentation page.
136
140
  secondary_note: |
137
141
  All servers are unavailable, store data as a file to specified path.
138
142
  show:
139
143
  page_title: Add Output to another Fluentd
140
144
  out_s3:
141
145
  option_guide: |
142
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/out_s3" target="_blank">Amazon S3 output plugin</a> documentation page.
146
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/out_s3" target="_blank">Amazon S3 output plugin</a> documentation page.
143
147
  show:
144
148
  page_title: Add Output to Amazon S3
145
149
  out_td:
146
150
  option_guide: |
147
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/out_td" target="_blank">Treasure Data output plugin</a> documentation page.
151
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/out_td" target="_blank">Treasure Data output plugin</a> documentation page.
148
152
  show:
149
153
  page_title: Add Output to Treasure Data
150
154
  out_elasticsearch:
151
155
  option_guide: |
152
- For each config parameter, pelase refer to the <a target="_blank" href="https://github.com/uken/fluent-plugin-elasticsearch">Elasticsearch output plugin</a> documentation page.
156
+ For each config parameter, please refer to the <a target="_blank" href="https://github.com/uken/fluent-plugin-elasticsearch">Elasticsearch output plugin</a> documentation page.
153
157
  show:
154
158
  page_title: Add Output to Elasticsearch
155
159
  out_mongo:
156
160
  option_guide: |
157
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/out_mongo" target="_blank">MongoDB output plugin</a> documentation page.
161
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/out_mongo" target="_blank">MongoDB output plugin</a> documentation page.
158
162
  show:
159
163
  page_title: Add Output to MongoDB
160
164
  in_syslog:
161
165
  option_guide: |
162
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/in_syslog" target="_blank">MongoDB output plugin</a> documentation page.
166
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/in_syslog" target="_blank">MongoDB output plugin</a> documentation page.
163
167
  show:
164
168
  page_title: Add Input from Syslog Protocol
165
169
  in_tail_option_guide: |
166
- For each config parameter, pelase refer to the <a href="http://docs.fluentd.org/articles/in_tail" target="_blank">Tail iutput plugin</a> documentation page.
170
+ For each config parameter, please refer to the <a href="http://docs.fluentd.org/articles/in_tail" target="_blank">Tail input plugin</a> documentation page.
167
171
  in_tail:
168
172
  notice_for_permission: "Please check permission or group setting for %{user} user can read it."
169
173
  restart_from_first: Restart from first
@@ -31,8 +31,10 @@ ja:
31
31
  no_alert: 通知なし
32
32
  update_password: パスワード更新
33
33
  detail: 詳細
34
+ cancel: キャンセル
34
35
  create: 作成
35
36
  update: 更新
37
+ save: 保存
36
38
  edit: 編集
37
39
  destroy: 削除
38
40
  new: 新規作成
@@ -124,6 +126,8 @@ ja:
124
126
  page_title: ソースと出力先の追加
125
127
  in: 入力
126
128
  out: 出力
129
+ current: 現在の設定
130
+ setting_empty: 設定されていません
127
131
  show:
128
132
  page_title: 設定ファイルの編集
129
133
  edit:
@@ -93,5 +93,7 @@ Rails.application.routes.draw do
93
93
  get "file_preview"
94
94
  post "regexp_preview"
95
95
  post "grok_to_regexp"
96
+
97
+ resources :settings, only: [:index, :show, :update, :destroy], defaults: { format: "json" }
96
98
  end
97
99
  end