flash_kick 0.1.0 → 0.1.1
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/lib/flash_kick/version.rb +1 -1
- data/lib/generators/flash_kick/templates/_deploy.rb +10 -7
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/complete/tasks/main.yml +2 -2
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/essentials/tasks/main.yml +3 -18
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/essentials/templates/vimrc +1 -402
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/postgresql/tasks/main.yml +5 -5
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/ruby/tasks/rbenv.yml +3 -3
- data/lib/generators/flash_kick/templates/ansible/playbooks/roles/security/tasks/ssh_settings.yml +4 -4
- data/lib/generators/flash_kick/templates/ansible_templates/_hosts +2 -2
- data/lib/generators/flash_kick/templates/ansible_templates/playbooks/_production.yml +2 -2
- data/lib/generators/flash_kick/templates/ansible_templates/playbooks/_vagrant.yml +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75f309f0d603a93c56c314c15e2ed7d8c0472a7b
|
4
|
+
data.tar.gz: 2c4fd7afa53498821df604c63cd81da11416ed0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7eead790b1e9f2e8eb3f2e8ff885f52f05553f7431b57fb368595682326c117b0dd8df01e6c0bac31dcb94352a8c0c9a4ebc22569b8ee035833fb0801beb75cc
|
7
|
+
data.tar.gz: 3155bb461a203714081d46da70451755ae1b01cd634fdb67d6712ac069af10ab3fd7200d93e08c6fbdae9eaa23f16cccfc91c602c5a22dd9e2149b2afc14b389
|
data/lib/flash_kick/version.rb
CHANGED
@@ -2,17 +2,20 @@ require 'mina/bundler'
|
|
2
2
|
require 'mina/rails'
|
3
3
|
require 'mina/git'
|
4
4
|
require 'mina/rbenv'
|
5
|
+
require 'yaml'
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
set :
|
9
|
-
set :
|
10
|
-
set :
|
7
|
+
FLASH = YAML.load(File.read(File.expand_path('../../.env/production_env.yml', __FILE__)))
|
8
|
+
|
9
|
+
set :deploy_to, FLASH['app_name']
|
10
|
+
set :app_path, FLASH['app_name']
|
11
|
+
set :user, FLASH['server_user']
|
12
|
+
set :port, FLASH['server_ssh_port']
|
13
|
+
set :repository, FLASH['app_repo']
|
11
14
|
set :forward_agent, true
|
12
15
|
|
13
16
|
task :production do
|
14
|
-
set :domain,
|
15
|
-
set :branch,
|
17
|
+
set :domain, FLASH['server_domain']
|
18
|
+
set :branch, FLASH['app_repo_branch']
|
16
19
|
set :rails_env, 'production'
|
17
20
|
set :shared_paths, ['config/database.yml', 'config/secrets.yml', 'log', 'tmp', '.env/production_env.yml']
|
18
21
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
- name: create config directory
|
3
|
-
|
3
|
+
become: true
|
4
4
|
file: path={{app_root}}/shared/config owner={{server_user}} group={{server_user}} recurse=yes state=directory
|
5
5
|
|
6
6
|
- name: copy database.yml
|
@@ -10,7 +10,7 @@
|
|
10
10
|
template: src=secrets.yml dest={{app_root}}/shared/config/secrets.yml owner={{server_user}} group={{server_user}}
|
11
11
|
|
12
12
|
- name: update app root directory permissions
|
13
|
-
|
13
|
+
become: true
|
14
14
|
file: path={{app_root}} owner={{server_user}} group={{server_user}} recurse=yes state=directory
|
15
15
|
|
16
16
|
- name: add symlink to app root
|
@@ -21,23 +21,8 @@
|
|
21
21
|
- name: copy .vimrc
|
22
22
|
template: src=vimrc dest=/home/{{server_user}}/.vimrc owner={{server_user}} group={{server_user}}
|
23
23
|
|
24
|
-
- name: check if NeoBundle exists
|
25
|
-
shell: test -d /home/{{server_user}}/.vim/bundle/.neobundle && echo true
|
26
|
-
register: neobundle_installed
|
27
|
-
ignore_errors: yes
|
28
|
-
|
29
|
-
- name: download NeoBundle plugin for vim
|
30
|
-
git: repo=git://github.com/Shougo/neobundle.vim dest=/home/{{server_user}}/.vim/bundle/neobundle.vim
|
31
|
-
when: neobundle_installed|failed
|
32
|
-
|
33
|
-
- name: check if YouCompleteMe exists
|
34
|
-
shell: test -d /home/{{server_user}}/.vim/bundle/YouCompleteMe && echo true
|
35
|
-
register: ycm_installed
|
36
|
-
ignore_errors: yes
|
37
|
-
|
38
|
-
- name: download YouCompleteMe plugin for vim
|
39
|
-
git: repo=git://github.com/Valloric/YouCompleteMe dest=/home/{{server_user}}/.vim/bundle/YouCompleteMe
|
40
|
-
when: ycm_installed|failed
|
41
|
-
|
42
24
|
- name: change .vim permissions
|
43
25
|
file: path=/home/{{server_user}}/.vim owner={{server_user}} group={{server_user}} recurse=yes state=directory
|
26
|
+
|
27
|
+
- name: set vim as default editor
|
28
|
+
command: update-alternatives --set editor /usr/bin/vim.basic
|
@@ -1,221 +1,5 @@
|
|
1
|
-
" ===================================================
|
2
|
-
" INITIALIZE
|
3
|
-
" ===================================================
|
4
|
-
if has('vim_starting')
|
5
|
-
set nocompatible
|
6
|
-
set runtimepath+=$HOME/.vim/bundle/neobundle.vim/
|
7
|
-
endif
|
8
|
-
call neobundle#begin(expand('$HOME/.vim/bundle'))
|
9
|
-
|
10
|
-
NeoBundleFetch 'Shougo/neobundle.vim'
|
11
|
-
|
12
|
-
" File management, search, navigation
|
13
|
-
NeoBundle 'mileszs/ack.vim'
|
14
|
-
NeoBundle 'kien/ctrlp.vim'
|
15
|
-
NeoBundle 'sjl/gundo.vim'
|
16
|
-
NeoBundle 'scrooloose/nerdtree'
|
17
|
-
NeoBundle 'vim-scripts/restore_view.vim'
|
18
|
-
NeoBundle 'jeetsukumaran/vim-buffergator'
|
19
|
-
NeoBundle 'vim-scripts/YankRing.vim'
|
20
|
-
NeoBundle 'vim-scripts/zoomwintab.vim'
|
21
|
-
|
22
|
-
" Vim UI/UX
|
23
|
-
NeoBundle 'bling/vim-airline'
|
24
|
-
NeoBundle 'reedes/vim-colors-pencil'
|
25
|
-
NeoBundle 'gcmt/taboo.vim'
|
26
|
-
|
27
|
-
" Syntax highlighting
|
28
|
-
NeoBundle 'jtratner/vim-flavored-markdown.git'
|
29
|
-
NeoBundle 'elzr/vim-json'
|
30
|
-
NeoBundle 'kchmck/vim-coffee-script'
|
31
|
-
NeoBundle 'pangloss/vim-javascript'
|
32
|
-
|
33
|
-
" Snippets & autocomplete
|
34
|
-
NeoBundle 'sirver/ultisnips'
|
35
|
-
NeoBundle 'Valloric/YouCompleteMe'
|
36
|
-
NeoBundle 'honza/vim-snippets'
|
37
|
-
|
38
|
-
" Formatters, selectors, accelerators
|
39
|
-
NeoBundle 'mattn/emmet-vim'
|
40
|
-
NeoBundle 'vim-scripts/matchit.zip'
|
41
|
-
NeoBundle 'godlygeek/tabular'
|
42
|
-
NeoBundle 'tpope/vim-commentary'
|
43
|
-
NeoBundle 'tpope/vim-endwise'
|
44
|
-
NeoBundle 'terryma/vim-multiple-cursors'
|
45
|
-
NeoBundle 'tpope/vim-repeat'
|
46
|
-
NeoBundle 'tpope/vim-surround'
|
47
|
-
|
48
|
-
" Ruby/Rails
|
49
|
-
NeoBundle 'vim-ruby/vim-ruby'
|
50
|
-
NeoBundle 'tpope/vim-rails'
|
51
|
-
NeoBundle 'henrik/vim-ruby-runner'
|
52
|
-
NeoBundle 'nelstrom/vim-textobj-rubyblock'
|
53
|
-
NeoBundle 'skalnik/vim-vroom'
|
54
|
-
|
55
|
-
" Git
|
56
|
-
NeoBundle 'tpope/vim-fugitive'
|
57
|
-
NeoBundle 'mhinz/vim-signify'
|
58
|
-
|
59
|
-
" Dependencies & utilities
|
60
|
-
NeoBundle 'MarcWeber/vim-addon-mw-utils'
|
61
|
-
NeoBundle 'kana/vim-textobj-user'
|
62
|
-
NeoBundle 'tomtom/tlib_vim'
|
63
|
-
|
64
|
-
call neobundle#end()
|
65
|
-
|
66
|
-
filetype plugin indent on
|
67
|
-
|
68
|
-
NeoBundleCheck
|
69
|
-
|
70
|
-
" ===================================================
|
71
|
-
" VISUALS
|
72
|
-
" ===================================================
|
73
1
|
syntax enable
|
74
2
|
|
75
|
-
" Colorscheme
|
76
|
-
set t_Co=256
|
77
|
-
set background=dark
|
78
|
-
colorscheme pencil
|
79
|
-
" Fix for pencil comments
|
80
|
-
hi Comment cterm=NONE ctermbg=00 ctermfg=08
|
81
|
-
" hi ColorColumn ctermbg=27
|
82
|
-
|
83
|
-
" Tab styles
|
84
|
-
hi TabLineFill ctermfg=08 ctermbg=08
|
85
|
-
hi TabLine ctermfg=13 ctermbg=08
|
86
|
-
hi TabLineSel ctermfg=02 ctermbg=00
|
87
|
-
|
88
|
-
" Interactive cursor
|
89
|
-
let &t_SI = "\<esc>]50;CursorShape=1\x7"
|
90
|
-
let &t_EI = "\<esc>]50;CursorShape=0\x7"
|
91
|
-
|
92
|
-
" For MacVim
|
93
|
-
if has("gui_running")
|
94
|
-
colorscheme pencil
|
95
|
-
set guifont=Monaco:h13
|
96
|
-
set guioptions-=r
|
97
|
-
set guioptions-=T
|
98
|
-
set guioptions-=L
|
99
|
-
set fuoptions=maxvert,maxhorz
|
100
|
-
set columns=1000
|
101
|
-
au GUIEnter * set fullscreen
|
102
|
-
endif
|
103
|
-
|
104
|
-
" ===================================================
|
105
|
-
" REMAPS
|
106
|
-
" ===================================================
|
107
|
-
let mapleader=","
|
108
|
-
|
109
|
-
" Movement
|
110
|
-
nnoremap j gj
|
111
|
-
nnoremap k gk
|
112
|
-
nnoremap <c-j> }
|
113
|
-
nnoremap <c-k> {
|
114
|
-
nnoremap <s-j> }
|
115
|
-
nnoremap <s-k> {
|
116
|
-
nnoremap <c-h> ^
|
117
|
-
nnoremap <c-l> $
|
118
|
-
vnoremap <c-h> ^
|
119
|
-
vnoremap <c-l> $
|
120
|
-
|
121
|
-
" Windows
|
122
|
-
nnoremap wl <c-w>l
|
123
|
-
nnoremap wh <c-w>h
|
124
|
-
nnoremap wj <c-w>j
|
125
|
-
nnoremap wk <c-w>k
|
126
|
-
nnoremap w= <c-w>=
|
127
|
-
nnoremap wL <c-w>L
|
128
|
-
nnoremap wH <c-w>H
|
129
|
-
nnoremap wJ <c-w>J
|
130
|
-
nnoremap wK <c-w>K
|
131
|
-
nnoremap wf <c-w>x
|
132
|
-
nnoremap wo :ZoomWinTabToggle<cr>
|
133
|
-
|
134
|
-
" Tabs
|
135
|
-
nnoremap t <esc>:tabnew<cr>
|
136
|
-
nnoremap T <esc><c-w>T
|
137
|
-
nnoremap { <esc>gT
|
138
|
-
nnoremap } <esc>gt
|
139
|
-
|
140
|
-
" File navigation, search, replace
|
141
|
-
nnoremap <leader>n :NERDTreeToggle<cr>
|
142
|
-
nnoremap <leader>f :NERDTreeFind<cr>
|
143
|
-
nnoremap <leader>s :Ack<space>
|
144
|
-
nnoremap <leader><space> :noh<cr>
|
145
|
-
nnoremap <leader>* *:%s//
|
146
|
-
|
147
|
-
" Keep search matches in the middle of the window
|
148
|
-
nnoremap n nzzzv
|
149
|
-
nnoremap N Nzzzv
|
150
|
-
|
151
|
-
" Keep indent selected
|
152
|
-
vnoremap <s-l> >gv
|
153
|
-
vnoremap <s-h> <gv
|
154
|
-
vnoremap > >gv
|
155
|
-
vnoremap < <gv
|
156
|
-
|
157
|
-
" Make F1 useful
|
158
|
-
nmap <F1> <esc>
|
159
|
-
imap <F1> <esc>
|
160
|
-
|
161
|
-
" Convential select all
|
162
|
-
nnoremap <leader>a ggVG
|
163
|
-
|
164
|
-
" Change pwd to current file
|
165
|
-
nnoremap <leader>cd :lcd<space>%:p:h<cr>:pwd<cr>
|
166
|
-
|
167
|
-
" Open in pwd
|
168
|
-
cnoremap e<space> e <c-r>=expand('%:p:h') . '/'<cr>
|
169
|
-
|
170
|
-
" Copy & paste to clipboard
|
171
|
-
vnoremap <leader>y "*y
|
172
|
-
nnoremap <leader>p "*p
|
173
|
-
|
174
|
-
" Drag block up/down
|
175
|
-
vnoremap <s-j> :m'>+<cr>gv
|
176
|
-
vnoremap <s-k> :m-2<cr>gv
|
177
|
-
|
178
|
-
" Toggle line wrapping
|
179
|
-
nnoremap <leader>w :set wrap!<cr>
|
180
|
-
nnoremap <leader>i :set list!<cr>
|
181
|
-
|
182
|
-
" Toggle relative numbers in visual line mode
|
183
|
-
nnoremap <silent> v v:<c-u>set nonu rnu<cr>gv
|
184
|
-
nnoremap <silent> V V0:<c-u>set nonu rnu<cr>gv
|
185
|
-
nnoremap <silent> <c-v> <c-v>:<c-u>set nonu rnu<cr>gv
|
186
|
-
vnoremap <esc> <esc>:set nornu nu<cr>
|
187
|
-
autocmd CursorMoved * if mode() !~# "[vV\<c-v>]" | set nornu nu | endif
|
188
|
-
|
189
|
-
" Use sane regexes
|
190
|
-
nnoremap / /\v
|
191
|
-
vnoremap / /\v
|
192
|
-
|
193
|
-
" Tags
|
194
|
-
nnoremap <c-]> <c-]>mzzvzz15<c-e>`z:Pulse<cr>
|
195
|
-
nnoremap <c-\> <c-w>v<c-w>L<c-]>mzzMzvzz15<c-e>`z:Pulse<cr>
|
196
|
-
nnoremap <leader>\ :tab split<CR>:exec("tag ".expand("<cword>"))<cr><c-e>`z:Pulse<cr>
|
197
|
-
nnoremap <silent> <leader>tt :!ctags -R . <cr>
|
198
|
-
|
199
|
-
" Sudo to write
|
200
|
-
cnoremap w!! w !sudo tee % >/dev/null
|
201
|
-
|
202
|
-
" Modify command line cursor movement
|
203
|
-
cnoremap <c-a> <home>
|
204
|
-
cnoremap <c-e> <end>
|
205
|
-
|
206
|
-
" Gundo
|
207
|
-
nnoremap <leader>G :GundoToggle<cr>
|
208
|
-
|
209
|
-
" Tabularize
|
210
|
-
vnoremap <leader>T :Tabularize /
|
211
|
-
|
212
|
-
" YankRing
|
213
|
-
nnoremap <leader>Y :YRShow<cr>
|
214
|
-
|
215
|
-
" ===================================================
|
216
|
-
" Settings
|
217
|
-
" ===================================================
|
218
|
-
" Searching
|
219
3
|
set incsearch
|
220
4
|
set ignorecase
|
221
5
|
set smartcase
|
@@ -256,7 +40,6 @@ set wrap
|
|
256
40
|
set linebreak
|
257
41
|
let &showbreak = '↪ '
|
258
42
|
set listchars=tab:▸\ ,trail:·,eol:¬
|
259
|
-
" set splitright
|
260
43
|
|
261
44
|
" Makes things faster?
|
262
45
|
set notimeout
|
@@ -280,191 +63,7 @@ set undodir=~/.vim/tmp/undo//
|
|
280
63
|
set backupdir=~/.vim/backup//
|
281
64
|
set directory=~/.vim/tmp/swap//
|
282
65
|
set viewdir=~/.vim/tmp/view//
|
283
|
-
set viminfo+=n$HOME/.vim/tmp/.viminfo
|
284
|
-
set tags=./tmp/tags,./tags,tags
|
285
|
-
|
286
|
-
" Make those folders automatically if they don't already exist.
|
287
|
-
if !isdirectory(expand(&undodir))
|
288
|
-
call mkdir(expand(&undodir), "p")
|
289
|
-
endif
|
290
|
-
if !isdirectory(expand(&backupdir))
|
291
|
-
call mkdir(expand(&backupdir), "p")
|
292
|
-
endif
|
293
|
-
if !isdirectory(expand(&directory))
|
294
|
-
call mkdir(expand(&directory), "p")
|
295
|
-
endif
|
296
|
-
if !isdirectory(expand(&viewdir))
|
297
|
-
call mkdir(expand(&viewdir), "p")
|
298
|
-
endif
|
66
|
+
set viminfo+=n$HOME/.vim/tmp/.viminfo
|
299
67
|
|
300
68
|
" Don't try to highlight lines longer than 800 characters.
|
301
69
|
set synmaxcol=800
|
302
|
-
|
303
|
-
" ===================================================
|
304
|
-
" PLUGINS
|
305
|
-
" ===================================================
|
306
|
-
" NERDTree
|
307
|
-
let NERDTreeShowHidden=1
|
308
|
-
let NERDTreeQuitOnOpen=1
|
309
|
-
let NERDTreeBookmarksFile=expand("$HOME/.vim/tmp/NERDTreeBookmarks")
|
310
|
-
|
311
|
-
" Ctrlp
|
312
|
-
let g:ctrlp_match_window='order:ttb,max:30'
|
313
|
-
let g:ctrlp_clear_cache_on_exit=1
|
314
|
-
let g:ctrlp_cache_dir='$HOME/.vim/tmp/cache/ctrlp'
|
315
|
-
let g:ctrlp_arg_map=1
|
316
|
-
let g:ctrlp_max_files=0
|
317
|
-
let g:ctrlp_max_depth=40
|
318
|
-
let g:ctrlp_custom_ignore = '\v[\/](\.git|\.hg|\.svn)$'
|
319
|
-
|
320
|
-
" Ack
|
321
|
-
let g:ackhighlight=1
|
322
|
-
|
323
|
-
" Airline
|
324
|
-
let g:airline_left_sep=''
|
325
|
-
let g:airline_right_sep=''
|
326
|
-
let g:airline#extensions#whitespace#enabled=0
|
327
|
-
let g:airline_theme='pencil'
|
328
|
-
|
329
|
-
" Buffergator
|
330
|
-
let g:buffergator_viewport_split_policy='R'
|
331
|
-
let g:buffergator_split_size=50
|
332
|
-
|
333
|
-
" Taboo
|
334
|
-
let g:taboo_tab_format=' %f '
|
335
|
-
|
336
|
-
" YankRing
|
337
|
-
let g:yankring_history_dir='$HOME/.vim/tmp'
|
338
|
-
let g:yankring_clipboard_monitor=0
|
339
|
-
" YR - Stop polluting my global map space
|
340
|
-
let g:yankring_n_keys=''
|
341
|
-
let g:yankring_o_keys=''
|
342
|
-
let g:yankring_zap_keys=''
|
343
|
-
let g:yankring_ignore_operator=''
|
344
|
-
let g:yankring_v_key=''
|
345
|
-
let g:yankring_del_v_key=''
|
346
|
-
let g:yankring_paste_n_bkey=''
|
347
|
-
let g:yankring_paste_n_akey=''
|
348
|
-
let g:yankring_paste_v_key=''
|
349
|
-
let g:yankring_replace_n_pkey=''
|
350
|
-
let g:yankring_replace_n_nkey=''
|
351
|
-
|
352
|
-
" UltiSnips
|
353
|
-
let g:UltiSnipsExpandTrigger='<c-j>'
|
354
|
-
let g:UltiSnipsEditSplit='vertical'
|
355
|
-
|
356
|
-
" Emmet
|
357
|
-
" Usage: <Ctrl>e,
|
358
|
-
let g:user_emmet_leader_key='<c-e>'
|
359
|
-
let g:user_emmet_prevkey='<c-e>p'
|
360
|
-
|
361
|
-
" RubyRunner
|
362
|
-
let g:RubyRunner_key = '<Leader>e'
|
363
|
-
let g:RubyRunner_keep_focus_key = '<Leader>E'
|
364
|
-
let g:RubyRunner_open_below = 1
|
365
|
-
let g:RubyRunner_window_size = 10
|
366
|
-
|
367
|
-
" Vim-Javascript
|
368
|
-
" let g:javascript_enable_domhtmlcss = 1
|
369
|
-
" let g:used_javascript_libs = 'jquery,angularjs,angularui,jasmin,coffeescript'
|
370
|
-
" let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
|
371
|
-
let g:html_indent_inctags = "html,body,head,tbody"
|
372
|
-
|
373
|
-
" Vroom
|
374
|
-
let g:vroom_clear_screen = 0
|
375
|
-
let g:vroom_use_binstubs = 1
|
376
|
-
let g:vroom_use_bundle_exec = 0
|
377
|
-
|
378
|
-
" ===================================================
|
379
|
-
" CUSTOM FUNCTIONS
|
380
|
-
" ===================================================
|
381
|
-
" Git
|
382
|
-
autocmd Filetype gitcommit setlocal spell textwidth=72
|
383
|
-
autocmd Filetype gitcommit setlocal colorcolumn=80
|
384
|
-
|
385
|
-
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher
|
386
|
-
if executable('ag')
|
387
|
-
let g:ackprg='ag --nogroup --column'
|
388
|
-
|
389
|
-
" Use Ag over Grep
|
390
|
-
set grepprg=ag\ --nogroup\ --nocolor
|
391
|
-
|
392
|
-
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
|
393
|
-
let g:ctrlp_user_command='ag %s --hidden -l --nocolor -g ""'
|
394
|
-
endif
|
395
|
-
|
396
|
-
" Hide cursor crosshairs when not in focus
|
397
|
-
augroup cline
|
398
|
-
au!
|
399
|
-
au WinLeave,InsertEnter * set nocursorline
|
400
|
-
au WinLeave,InsertEnter * set nocursorcolumn
|
401
|
-
au WinEnter,InsertLeave * set cursorline
|
402
|
-
au WinEnter,InsertLeave * set cursorcolumn
|
403
|
-
augroup END
|
404
|
-
|
405
|
-
" Sets Quickfix window height
|
406
|
-
au FileType qf call AdjustWindowHeight(3, 30)
|
407
|
-
function! AdjustWindowHeight(minheight, maxheight)
|
408
|
-
exe max([min([line("$"), a:maxheight]), a:minheight]) . "wincmd _"
|
409
|
-
endfunction
|
410
|
-
|
411
|
-
" Clear register
|
412
|
-
function! <SID>ClearRegisters()
|
413
|
-
let regs='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-="*+'
|
414
|
-
let i=0
|
415
|
-
while (i<strlen(regs))
|
416
|
-
exec 'let @'.regs[i].'=""'
|
417
|
-
let i=i+1
|
418
|
-
endwhile
|
419
|
-
endfunction
|
420
|
-
command! -nargs=0 ClearRegisters call <SID>ClearRegisters()
|
421
|
-
|
422
|
-
" Clear undo history
|
423
|
-
function! <SID>ForgetUndo()
|
424
|
-
let old_undolevels = &undolevels
|
425
|
-
set undolevels=-1
|
426
|
-
exe "normal a \<BS>\<esc>"
|
427
|
-
let &undolevels = old_undolevels
|
428
|
-
unlet old_undolevels
|
429
|
-
endfunction
|
430
|
-
command! -nargs=0 ClearUndo call <SID>ForgetUndo()
|
431
|
-
|
432
|
-
" Make JavaScript brackets close properly
|
433
|
-
augroup ft_javascript
|
434
|
-
au!
|
435
|
-
au Filetype javascript inoremap <buffer> {<cr> {}<left><cr><tab>.<cr><esc>kA<bs>
|
436
|
-
augroup END
|
437
|
-
|
438
|
-
" Pulse Line - used to highlight matches when navigating ctags
|
439
|
-
function! s:Pulse()
|
440
|
-
let current_window = winnr()
|
441
|
-
windo set nocursorline
|
442
|
-
execute current_window . 'wincmd w'
|
443
|
-
setlocal cursorline
|
444
|
-
|
445
|
-
redir => old_hi
|
446
|
-
silent execute 'hi CursorLine'
|
447
|
-
redir END
|
448
|
-
let old_hi = split(old_hi, '\n')[0]
|
449
|
-
let old_hi = substitute(old_hi, 'xxx', '', '')
|
450
|
-
|
451
|
-
let steps = 9
|
452
|
-
let width = 1
|
453
|
-
let start = width
|
454
|
-
let end = steps * width
|
455
|
-
let color = 233
|
456
|
-
|
457
|
-
for i in range(start, end, width)
|
458
|
-
execute "hi CursorLine ctermbg=" . (color + i)
|
459
|
-
redraw
|
460
|
-
sleep 6m
|
461
|
-
endfor
|
462
|
-
for i in range(end, start, -1 * width)
|
463
|
-
execute "hi CursorLine ctermbg=" . (color + i)
|
464
|
-
redraw
|
465
|
-
sleep 6m
|
466
|
-
endfor
|
467
|
-
|
468
|
-
execute 'hi ' . old_hi
|
469
|
-
endfunction
|
470
|
-
command! -nargs=0 Pulse call s:Pulse()
|
@@ -16,23 +16,23 @@
|
|
16
16
|
apt: name=postgresql-{{postgresql_version}} state=latest update_cache=true
|
17
17
|
|
18
18
|
- name: copy pg_hba.conf
|
19
|
-
|
19
|
+
become: true
|
20
20
|
template: src=pg_hba.conf dest=/etc/postgresql/{{postgresql_version}}/main/pg_hba.conf
|
21
21
|
|
22
22
|
- name: set pg_hba.conf permissions
|
23
|
-
|
23
|
+
become: true
|
24
24
|
file: path=/etc/postgresql/{{postgresql_version}}/main/pg_hba.conf owner=postgres group=postgres mode=0640
|
25
25
|
|
26
26
|
- name: start postgresql
|
27
|
-
service: name=postgresql state=started
|
27
|
+
service: name=postgresql state=started
|
28
28
|
|
29
29
|
- name: create db user
|
30
30
|
postgresql_user: name={{database_user}} password={{database_password}} role_attr_flags=CREATEDB
|
31
|
-
|
31
|
+
become_user: postgres
|
32
32
|
|
33
33
|
- name: create database
|
34
34
|
postgresql_db: name={{database_name}} owner={{database_user}} encoding=unicode lc_collate=en_US.utf8 lc_ctype=en_US.utf8 template=template0
|
35
|
-
|
35
|
+
become_user: postgres
|
36
36
|
when: inventory_hostname == 'deploy'
|
37
37
|
|
38
38
|
- name: ensure postgres starts on a fresh reboot
|
@@ -8,15 +8,15 @@
|
|
8
8
|
- libffi-dev
|
9
9
|
|
10
10
|
- name: install rbenv
|
11
|
-
|
11
|
+
become: true
|
12
12
|
git: repo=https://github.com/sstephenson/rbenv.git dest={{rbenv_root}}
|
13
13
|
|
14
14
|
- name: install ruby-build as rbenv plugin
|
15
|
-
|
15
|
+
become: true
|
16
16
|
git: repo=https://github.com/sstephenson/ruby-build.git dest={{rbenv_root}}/plugins/ruby-build
|
17
17
|
|
18
18
|
- name: change owner of rbenv directory
|
19
|
-
|
19
|
+
become: true
|
20
20
|
file: path={{rbenv_root}} owner={{server_user}} recurse=yes state=directory
|
21
21
|
|
22
22
|
- name: add rbenv symlink
|
data/lib/generators/flash_kick/templates/ansible/playbooks/roles/security/tasks/ssh_settings.yml
CHANGED
@@ -6,19 +6,19 @@
|
|
6
6
|
file: path=/home/{{server_user}}/.ssh/authorized_keys mode=0400
|
7
7
|
|
8
8
|
- name: change ssh port
|
9
|
-
|
9
|
+
become: true
|
10
10
|
action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?Port" line="Port {{server_ssh_port}}"
|
11
11
|
|
12
12
|
- name: disable root user login via ssh
|
13
|
-
|
13
|
+
become: true
|
14
14
|
action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?PermitRootLogin" line="PermitRootLogin no"
|
15
15
|
|
16
16
|
- name: disable password authentication
|
17
|
-
|
17
|
+
become: true
|
18
18
|
action: lineinfile dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
|
19
19
|
|
20
20
|
- name: allow deploy user login via ssh
|
21
|
-
|
21
|
+
become: true
|
22
22
|
action: lineinfile dest=/etc/ssh/sshd_config insertafter=EOF line="AllowUsers {{server_user}}"
|
23
23
|
|
24
24
|
- name: restart ssh service
|
@@ -1,3 +1,3 @@
|
|
1
1
|
[production]
|
2
|
-
root ansible_ssh_host=<%= FlashKick::VariableStore.variables['server_domain'] == '' ? '127.0.0.1' :
|
3
|
-
deploy ansible_ssh_host=<%= FlashKick::VariableStore.variables['server_domain'] == '' ? '127.0.0.1' :
|
2
|
+
root ansible_ssh_host=<%= FlashKick::VariableStore.variables['server_domain'] == '' ? '127.0.0.1' : {{server_domain}} %>
|
3
|
+
deploy ansible_ssh_host=<%= FlashKick::VariableStore.variables['server_domain'] == '' ? '127.0.0.1' : {{server_domain}} %> ansible_ssh_port=<%= FlashKick::VariableStore.variables['server_ssh_port'] == '' ? '22' : FlashKick::VariableStore.variables['server_ssh_port'] %>
|
@@ -2,14 +2,14 @@
|
|
2
2
|
# Production playbook
|
3
3
|
#==========================================================
|
4
4
|
- hosts: root
|
5
|
-
|
5
|
+
become: true
|
6
6
|
user: root
|
7
7
|
roles:
|
8
8
|
- role: user
|
9
9
|
- role: security
|
10
10
|
|
11
11
|
- hosts: deploy
|
12
|
-
|
12
|
+
become: true
|
13
13
|
user: <%= FlashKick::VariableStore.variables['server_user'] %>
|
14
14
|
roles:
|
15
15
|
- role: essentials
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flash_kick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Helio Oliveira
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
138
|
version: '0'
|
139
139
|
requirements: []
|
140
140
|
rubyforge_project:
|
141
|
-
rubygems_version: 2.5.1
|
141
|
+
rubygems_version: 2.4.5.1
|
142
142
|
signing_key:
|
143
143
|
specification_version: 4
|
144
144
|
summary: Quick and painless Rails deployment
|