forked from logicalclocks/kagent-chef
-
Notifications
You must be signed in to change notification settings - Fork 1
/
metadata.rb
executable file
·171 lines (128 loc) · 5.3 KB
/
metadata.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
maintainer "Jim Dowling"
maintainer_email "jdowling@kth.se"
name "kagent"
license "GPL 2.0"
description "Installs/Configures the Karamel agent used by Hops"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version "0.3.0"
source_url "https://github.com/karamelchef/kagent-chef"
%w{ ubuntu debian centos }.each do |os|
supports os
end
depends 'poise-python'
depends 'openssl'
depends 'sudo'
depends 'hostsfile'
depends 'ntp'
depends 'poise-python'
depends 'conda'
depends 'magic_shell'
recipe "kagent::install", "Installs the Karamel agent and python dependencies"
recipe "kagent::default", "Installs and configures the Karamel agent, including anaconda"
recipe "kagent::hops", "Installs and configures the Karamel agent for hops"
recipe "kagent::purge", "Deletes the Karamel agent files"
recipe "kagent::anaconda", "Installs and configures anaconda"
attribute "kagent/user",
:description => "Username to run kagent as",
:type => 'string'
attribute "kagent/group",
:description => "group to run kagent as",
:type => 'string'
attribute "kagent/dir",
:description => "Installation directory for kagent",
:type => 'string'
attribute "kagent/dashboard/ip",
:description => " Ip address for Dashboard REST API",
:type => 'string'
attribute "kagent/dashboard/port",
:description => " Port for Dashboard REST API",
:type => 'string'
attribute "kagent/enabled",
:description => "Kagent enabled: default 'true'. Set to 'false' to disable it.",
:type => 'string'
attribute "kagent/hostid",
:description => " One-time password used when registering the host",
:type => 'string'
attribute "kagent/name",
:description => "Cookbook name",
:type => 'string'
attribute "kagent/rest_api/user",
:description => "kagent REST API username",
:type => "string"
attribute "kagent/rest_api/password",
:description => "kagent REST API password",
:type => "string"
attribute "kagent/dashboard/user",
:description => "kagent username to register with server",
:type => "string"
attribute "kagent/hostname",
:description => "hostname used to register with hopsworks",
:type => "string"
attribute "kagent/dashboard/password",
:description => "kagent password to register with server",
:type => "string"
attribute "kagent/env_report_freq_in_secs",
:description => "How often the kagent sends a full report of its conda environments for synchronization",
:type => "string"
attribute "ndb/mysql_port",
:description => "Port for the mysql server",
:type => "string"
attribute "ndb/mysql_socket",
:description => "Socket for the mysql server",
:type => "string"
attribute "systemd",
:description => "Use systemd startup scripts, default 'true'",
:type => "string"
attribute "kagent/network/interface",
:description => "Define the network intefaces (eth0, enp0s3)",
:type => "string"
attribute "ntp/install",
:description => "Install Network Time Protocol (default: false)",
:type => "string"
attribute "services/enabled",
:description => "Default 'false'. Set to 'true' to enable daemon services, so that they are started on a host restart.",
:type => "string"
attribute "install/dir",
:description => "Default ''. Set to a base directory under which all hops services will be installed.",
:type => "string"
attribute "install/user",
:description => "User to install the services as",
:type => "string"
attribute "install/ssl",
:description => "Is SSL turned on for all services?",
:type => "string"
attribute "install/cleanup_downloads",
:description => "Remove any zipped binaries that were downloaded and used to install services",
:type => "string"
attribute "hops/yarn/user",
:description => "Yarn user for conda",
:type => "string"
attribute "hops/group",
:description => "Haodop group for conda",
:type => "string"
attribute "smtp/host",
:description => "Ip Address/hostname of SMTP server (default is smtp.gmail.com)",
:type => 'string'
attribute "smtp/port",
:description => "Port of SMTP server (default is 587)",
:type => 'string'
attribute "smtp/ssl_port",
:description => "SSL port of SMTP server (default is 465)",
:type => 'string'
attribute "smtp/email",
:description => "Email account to send notifications from. ",
:required => "required",
:type => 'string'
attribute "smtp/email_password",
:description => "Password for email account. ",
:required => "required",
:type => 'string'
attribute "certs/dir",
:description => "Installation directory for ssl/tls certs",
:type => 'string'
attribute "hops/dir",
:description => "Installation directory for Hops",
:type => 'string'
attribute "jupyter/python",
:description => "'true' (default) to enable the python interpreter, 'false' to disable it (more secure). ",
:type => 'string'