opskit 0.1.0
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 +7 -0
- data/bin/opskit +6 -0
- data/lib/opskit.rb +8 -0
- data/lib/opskit/cli.rb +25 -0
- data/lib/opskit/host.rb +5 -0
- data/lib/opskit/templates/apache.erb.conf +11 -0
- data/lib/opskit/version.rb +3 -0
- data/lib/opskit/vhost.rb +33 -0
- metadata +109 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0e94137fcc73c0f671ec796e1d923cf6c146f9c8
|
4
|
+
data.tar.gz: 2a3ee1228bf0744053fcc614240e73cab2c02772
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ff520e6f5edd04a71b136cd7ba22fd466105919a789ae2b647098f4426b0e0912cd12233c5a37fd8a9641485fbdade58cef8a18f9cc62e8e8430baaca2906781
|
7
|
+
data.tar.gz: a115e7b390915e890b27e079c9c4236ea70c9f8f5117ab41c9067327b7de091b2b5b53df10764fa7d0177b235fc67cb41d5c04a3625a53662ae14e0a5e049aba
|
data/bin/opskit
ADDED
data/lib/opskit.rb
ADDED
data/lib/opskit/cli.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'thor/group'
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
module OpsKit
|
6
|
+
class OdinSon < Thor
|
7
|
+
class_option :dry, type: :boolean
|
8
|
+
|
9
|
+
desc "render TEMPLATE", "generate apache vhost for TEMPLATE."
|
10
|
+
def render(template = nil)
|
11
|
+
conf = YAML.load_file( '.opskit.yml' ) if File.exist? ( '.opskit.yml' )
|
12
|
+
conf.keys.each do |key|
|
13
|
+
conf[(key.to_sym rescue key) || key] = conf.delete(key)
|
14
|
+
end
|
15
|
+
vhost = OpsKit::VHost.new( template, conf )
|
16
|
+
|
17
|
+
if options[:dry]
|
18
|
+
puts vhost.render
|
19
|
+
else
|
20
|
+
#TODO Should write to site-available
|
21
|
+
puts vhost.vhost_location
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<VirtualHost *:80>
|
2
|
+
ServerName <%= url %>
|
3
|
+
DocumentRoot /home/clikex/hoppinger/<%= project %>/<%= docroot %>
|
4
|
+
|
5
|
+
<Directory "/home/clikex/hoppinger/projects/<%= project %>/<%= docroot %>/">
|
6
|
+
Options Indexes FollowSymLinks Includes ExecCGI
|
7
|
+
AllowOverride All
|
8
|
+
Require all granted
|
9
|
+
Allow from all
|
10
|
+
</Directory>
|
11
|
+
</VirtualHost>
|
data/lib/opskit/vhost.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
module OpsKit
|
2
|
+
class VHost
|
3
|
+
PROVIDERS = Dir.entries( File.join( File.dirname(__FILE__), "templates/" ) ).select {|f| !File.directory? f}.map{ |e| e.split('.').first.to_sym }
|
4
|
+
|
5
|
+
attr_reader :provider, :conf
|
6
|
+
|
7
|
+
def initialize( provider = nil, conf = {} )
|
8
|
+
@provider = provider
|
9
|
+
@conf = conf
|
10
|
+
end
|
11
|
+
|
12
|
+
def render
|
13
|
+
raise NotImplementedError "No template specified" unless @provider
|
14
|
+
|
15
|
+
if PROVIDERS.include? @provider.to_sym
|
16
|
+
file_path = File.join( File.dirname(__FILE__), "templates/#{ @provider }.erb.conf" )
|
17
|
+
elsif @conf[ :template_path ]
|
18
|
+
file_path = @conf[ :template ]
|
19
|
+
end
|
20
|
+
|
21
|
+
template = File.read( file_path )
|
22
|
+
vhost = Erubis::Eruby.new( template )
|
23
|
+
vhost.result(@conf)
|
24
|
+
end
|
25
|
+
|
26
|
+
def vhost_location
|
27
|
+
case @provider.to_sym
|
28
|
+
when :apache
|
29
|
+
"/etc/apache2/sites-available/#{ @conf[:url] }.conf"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: opskit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- "ClikeX\n\n"
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-04-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.9'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.19.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.19.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: erubis
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.7'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.7'
|
69
|
+
description: "\n This command line tool allows dev to easily
|
70
|
+
set up their dev environments so they don't have to waste time.\n "
|
71
|
+
email:
|
72
|
+
- w.s.van.der.meulen@gmail.com
|
73
|
+
executables:
|
74
|
+
- opskit
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- bin/opskit
|
79
|
+
- lib/opskit.rb
|
80
|
+
- lib/opskit/cli.rb
|
81
|
+
- lib/opskit/host.rb
|
82
|
+
- lib/opskit/templates/apache.erb.conf
|
83
|
+
- lib/opskit/version.rb
|
84
|
+
- lib/opskit/vhost.rb
|
85
|
+
homepage: https://github.com/ClikeX/opskit
|
86
|
+
licenses:
|
87
|
+
- MIT
|
88
|
+
metadata: {}
|
89
|
+
post_install_message:
|
90
|
+
rdoc_options: []
|
91
|
+
require_paths:
|
92
|
+
- lib
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
requirements: []
|
104
|
+
rubyforge_project:
|
105
|
+
rubygems_version: 2.6.3
|
106
|
+
signing_key:
|
107
|
+
specification_version: 4
|
108
|
+
summary: Command line tool to simplify setting up dev environments
|
109
|
+
test_files: []
|