forked from logicalclocks/kagent-chef
-
Notifications
You must be signed in to change notification settings - Fork 0
/
metadata.rb
executable file
·165 lines (123 loc) · 5.18 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
maintainer "Jim Dowling"
maintainer_email "[email protected]"
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.10.0"
source_url "https://github.com/karamelchef/kagent-chef"
%w{ ubuntu debian centos }.each do |os|
supports os
end
depends 'openssl'
depends 'sudo'
depends 'hostsfile'
depends 'ntp'
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/dns",
:description => "Default 'false'. Set to 'true' to use fully qualified domain names for kagent hosts in Hopsworks.",
: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/password",
:description => "Agent's password - needed to call REST APIs on the kagent",
: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 "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 "kagent/conda_gc_interval",
:description => "Define interval for kagent to run Anaconda garbage collection, suffix: ms, s, m, h, d. Default: 1h",
: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 "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'
attribute "kagent/python_conda_versions",
:description => "CSV of python versions to be used as base environments for Anaconda",
:type => "string"