Remove unused data bags and cookbooks
This commit is contained in:
parent
b10c53cce8
commit
aa79297387
@ -1,21 +0,0 @@
|
||||
{
|
||||
"id": "5apps_botka_xmpp",
|
||||
"password": {
|
||||
"encrypted_data": "DY7A6osNk5UpLZQMVZiQnKl+5eR5sRZeyENZa38qBTqOtzALhwgqxwULIgoV\nhs+q\n",
|
||||
"iv": "LMPDBACECul+dP/gwvrILA==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"webhook_token": {
|
||||
"encrypted_data": "v7F6EX5up25FNlNdg4Rwrh/vBxR/GWu3044mBlbErNKQi9tMgaS8GOJNCalK\n9PUf\n",
|
||||
"iv": "9U8CyeMgAZHsfkW9dlScEA==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"rs_logger_token": {
|
||||
"encrypted_data": "WPEhS0I6FxJ7hPDz7/71mYmHN4Gll2MJICkUvwuAS639eYZvpaGW96TAOleb\nlVtORxd7KnG+9mPLikXOxODEuA==\n",
|
||||
"iv": "cQM6JOcXmcLZfXdWCmFydA==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
{
|
||||
"id": "5apps_schlupp_xmpp",
|
||||
"password": {
|
||||
"encrypted_data": "PoT+Wn5X9/509Rt2XVHrvBk8khF9cbxluwQlgHI/PVSLWZ+JlcnvO1YF0xal\ng0hd\n",
|
||||
"iv": "kJPRQDvdPT0V9bHQeV/lrA==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"webhook_token": {
|
||||
"encrypted_data": "Gg4/3dSVtWmXq/Ce5fCDg+4AKPPjy90CI0Lp7DnPV4R+j+T467LEYYtgp038\nplyi\n",
|
||||
"iv": "FEhVZWtxFt85DeJcp2E6jA==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"rs_logger_token": {
|
||||
"encrypted_data": "5S6I1cenYT2qTvjtuXlgIestyI6tHcPzKw6Hvwe9b7tZ3tHF2j8gsCfqCPQR\nx3xhRJnH4PyhVkbCzr6dApNNZA==\n",
|
||||
"iv": "GWtGG5jqapw65Oes4zG4Xw==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"deploy_key": {
|
||||
"encrypted_data": "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\n8Ajg3k1paLzi09ypwLVWOzq+\n",
|
||||
"iv": "//Oik8zYVxlYLCJ/5zk2Jw==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"airtable_api_key": {
|
||||
"encrypted_data": "qDEztKIUYN6qU6dAbXi7leapA/+fK0beTZpEvFxvP9+0IrfSQ0mjagIU33ne\nkM/Y\n",
|
||||
"iv": "MdfLft5aSoC/yzZe7BRCyg==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"github_token": {
|
||||
"encrypted_data": "Rp1icQX6fbE8WImrY3NxkLcq10+CcCOG0nSED3ALtVaiY9gXtLb4mEPhgz6B\nqepZ5bG35W08ORxjBskpPudKMQ==\n",
|
||||
"iv": "9JTZWHikvB9+dfyht5UYmQ==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"aws_access_key_id": {
|
||||
"encrypted_data": "J7sNPOtA+lzj+7FjZlneadNcLZxBGz2x1JNeX0j0Rl/pSU7QZCaPFy8KCGj+\nIh8v\n",
|
||||
"iv": "K29ZdZdSAd+yJS8yNxkjpg==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"aws_secret_access_key": {
|
||||
"encrypted_data": "UFLVmj81LAMZheItVvEioQhecPYXLU9tzQVRFLOO1NKZLRK6oDNDPbvey5vO\ndzw1UiGD6LcrAFRPDYuwsQrteg==\n",
|
||||
"iv": "RCSCMBxVC8oF02R3l2ASxg==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"id": "schlupp_5apps",
|
||||
"nickserv_password": {
|
||||
"encrypted_data": "lbBdgTUfmpduKtGe016XIj5vXDIrCD6Zr6XC1GVrtAk=\n",
|
||||
"iv": "woPI4Urqdf+2My1sZnnM7Q==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"rs_logger_token": {
|
||||
"encrypted_data": "0eR75jl00C4fxpVWHwPxDPnOwuWXJOGKhcQ51Yx7PIQaQ1dxpR24PlE4iwfq\nXnlhiP+J9BVWko98QDb3LgxNBw==\n",
|
||||
"iv": "f4zGM+sgctpmON1uH0ylVw==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"webhook_token": {
|
||||
"encrypted_data": "hM0aE+B23vaovLPGKd9nw8LiiPnVcv6ZUMj+RnGGDSe0obVslaj0oMusiDuY\n8YU0\n",
|
||||
"iv": "AwUPMpO2W0fP51gKYvB4gw==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"rs_ops_token": {
|
||||
"encrypted_data": "Dweur0XEIuce23nQV4mMqX5WB7ozzfrr6Gz6cBA2kywriV2JhL6fvfWzUX3K\nGiBqTluJ1NXgIapjuxjmy8ssmw==\n",
|
||||
"iv": "wEuzcADN5cZdIghrYgQg8g==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
},
|
||||
"deploy_key": {
|
||||
"encrypted_data": "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\nae8hr7/pRkludQdmvem0X3TX\n",
|
||||
"iv": "C8kUHlS1U84I45JsAql/Qg==\n",
|
||||
"version": 1,
|
||||
"cipher": "aes-256-cbc"
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# 5apps-hubot CHANGELOG
|
||||
|
||||
## 0.1.0
|
||||
- [Greg Karékinian] - Initial release of 5apps-hubot
|
@ -1,80 +0,0 @@
|
||||
# 5apps-hubot Cookbook
|
||||
|
||||
TODO: Enter the cookbook description here.
|
||||
|
||||
e.g.
|
||||
This cookbook makes your favorite breakfast sandwich.
|
||||
|
||||
## Requirements
|
||||
|
||||
TODO: List your cookbook requirements. Be sure to include any requirements this cookbook has on platforms, libraries, other cookbooks, packages, operating systems, etc.
|
||||
|
||||
e.g.
|
||||
### Platforms
|
||||
|
||||
- SandwichOS
|
||||
|
||||
### Chef
|
||||
|
||||
- Chef 12.0 or later
|
||||
|
||||
### Cookbooks
|
||||
|
||||
- `toaster` - 5apps-hubot needs toaster to brown your bagel.
|
||||
|
||||
## Attributes
|
||||
|
||||
TODO: List your cookbook attributes here.
|
||||
|
||||
e.g.
|
||||
### 5apps-hubot::default
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Key</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
<th>Default</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><tt>['5apps-hubot']['bacon']</tt></td>
|
||||
<td>Boolean</td>
|
||||
<td>whether to include bacon</td>
|
||||
<td><tt>true</tt></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Usage
|
||||
|
||||
### 5apps-hubot::default
|
||||
|
||||
TODO: Write usage instructions for each cookbook.
|
||||
|
||||
e.g.
|
||||
Just include `5apps-hubot` in your node's `run_list`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name":"my_node",
|
||||
"run_list": [
|
||||
"recipe[5apps-hubot]"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
TODO: (optional) If this is a public cookbook, detail the process for contributing. If this is a private cookbook, remove this section.
|
||||
|
||||
e.g.
|
||||
1. Fork the repository on Github
|
||||
2. Create a named feature branch (like `add_component_x`)
|
||||
3. Write your change
|
||||
4. Write tests for your change (if applicable)
|
||||
5. Run the tests, ensuring they all pass
|
||||
6. Submit a Pull Request using Github
|
||||
|
||||
## License and Authors
|
||||
|
||||
Authors: TODO: List authors
|
||||
|
@ -1,12 +0,0 @@
|
||||
name '5apps-hubot'
|
||||
maintainer 'Kosmos'
|
||||
maintainer_email 'mail@kosmos.org'
|
||||
license 'All rights reserved'
|
||||
description 'Installs/Configures 5apps-hubot'
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '0.1.0'
|
||||
|
||||
depends 'kosmos-nodejs'
|
||||
depends 'application_javascript'
|
||||
depends 'application_git'
|
||||
depends 'firewall'
|
@ -1,98 +0,0 @@
|
||||
#
|
||||
# Cookbook Name:: 5apps-hubot
|
||||
# Recipe:: xmpp_botka
|
||||
#
|
||||
# Copyright 2016, Kosmos
|
||||
#
|
||||
# All rights reserved - Do Not Redistribute
|
||||
#
|
||||
|
||||
unless node.chef_environment == "development"
|
||||
include_recipe "firewall"
|
||||
firewall_rule 'hubot_express_botka_xmpp' do
|
||||
port 8082
|
||||
protocol :tcp
|
||||
command :allow
|
||||
end
|
||||
end
|
||||
|
||||
group "hubot" do
|
||||
gid 48268
|
||||
end
|
||||
|
||||
user "hubot" do
|
||||
system true
|
||||
manage_home true
|
||||
comment "hubot user"
|
||||
uid 48268
|
||||
gid 48268
|
||||
|
||||
shell "/bin/bash"
|
||||
end
|
||||
|
||||
botka_xmpp_data_bag_item = Chef::EncryptedDataBagItem.load('credentials', '5apps_botka_xmpp')
|
||||
|
||||
botka_xmpp_path = "/opt/botka_xmpp"
|
||||
application botka_xmpp_path do
|
||||
owner "hubot"
|
||||
group "hubot"
|
||||
|
||||
git do
|
||||
user "hubot"
|
||||
group "hubot"
|
||||
repository "https://github.com/67P/botka.git"
|
||||
revision "master"
|
||||
end
|
||||
|
||||
file "external-scripts.json" do
|
||||
mode "0640"
|
||||
owner "hubot"
|
||||
group "hubot"
|
||||
content [
|
||||
"hubot-help",
|
||||
"hubot-remotestorage-logger",
|
||||
].to_json
|
||||
end
|
||||
|
||||
npm_install do
|
||||
user "hubot"
|
||||
end
|
||||
|
||||
execute "systemctl daemon-reload" do
|
||||
command "systemctl daemon-reload"
|
||||
action :nothing
|
||||
end
|
||||
|
||||
template "/lib/systemd/system/botka_xmpp_nodejs.service" do
|
||||
source 'nodejs.systemd.service.erb'
|
||||
owner 'root'
|
||||
group 'root'
|
||||
mode '0644'
|
||||
variables(
|
||||
user: "hubot",
|
||||
group: "hubot",
|
||||
app_dir: botka_xmpp_path,
|
||||
entry: "#{botka_xmpp_path}/bin/hubot -a xmpp --name botka",
|
||||
environment: { "HUBOT_XMPP_USERNAME" => "botka@5apps.com/hubot",
|
||||
"HUBOT_XMPP_PASSWORD" => botka_xmpp_data_bag_item['password'],
|
||||
"HUBOT_XMPP_ROOMS" => "5info@muc.5apps.com,5ops@muc.5apps.com,core@muc.5apps.com,deploy@muc.5apps.com,storage@muc.5apps.com,watercooler@muc.5apps.com,hilti@muc.5apps.com,gymapp@muc.5apps.com,solarisbank@muc.5apps.com",
|
||||
"HUBOT_XMPP_HOST" => "xmpp.5apps.com",
|
||||
"HUBOT_RSS_PRINTSUMMARY" => "false",
|
||||
"EXPRESS_PORT" => "8082",
|
||||
"HUBOT_RSS_HEADER" => "Update:",
|
||||
"HUBOT_AUTH_ADMIN" => "basti,garret,greg",
|
||||
"REDIS_URL" => "redis://localhost:6379/5apps_botka_xmpp",
|
||||
"RS_LOGGER_USER" => "5apps@5apps.com",
|
||||
"RS_LOGGER_TOKEN" => botka_xmpp_data_bag_item['rs_logger_token'],
|
||||
"RS_LOGGER_SERVER_NAME" => "5apps",
|
||||
"WEBHOOK_TOKEN" => botka_xmpp_data_bag_item['webhook_token'] }
|
||||
)
|
||||
|
||||
notifies :run, "execute[systemctl daemon-reload]", :delayed
|
||||
notifies :restart, "service[botka_xmpp_nodejs]", :delayed
|
||||
end
|
||||
|
||||
service "botka_xmpp_nodejs" do
|
||||
action [:enable, :start]
|
||||
end
|
||||
end
|
@ -1,137 +0,0 @@
|
||||
#
|
||||
# Cookbook Name:: 5apps-hubot
|
||||
# Recipe:: xmpp_schlupp
|
||||
#
|
||||
# Copyright 2016, Kosmos
|
||||
#
|
||||
# All rights reserved - Do Not Redistribute
|
||||
#
|
||||
|
||||
express_port = 8083
|
||||
express_domain = "hubot.5apps.com"
|
||||
|
||||
unless node.chef_environment == "development"
|
||||
include_recipe "firewall"
|
||||
firewall_rule 'hubot_express_schlupp_xmpp' do
|
||||
port express_port
|
||||
protocol :tcp
|
||||
command :allow
|
||||
end
|
||||
end
|
||||
|
||||
group "hubot" do
|
||||
gid 48268
|
||||
end
|
||||
|
||||
user "hubot" do
|
||||
system true
|
||||
manage_home true
|
||||
comment "hubot user"
|
||||
uid 48268
|
||||
gid 48268
|
||||
shell "/bin/bash"
|
||||
end
|
||||
|
||||
schlupp_xmpp_data_bag_item = Chef::EncryptedDataBagItem.load('credentials', '5apps_schlupp_xmpp')
|
||||
|
||||
schlupp_xmpp_path = "/opt/schlupp_xmpp"
|
||||
application schlupp_xmpp_path do
|
||||
owner "hubot"
|
||||
group "hubot"
|
||||
|
||||
git do
|
||||
user "hubot"
|
||||
group "hubot"
|
||||
repository "git@gitlab.com:5apps/schlupp.git"
|
||||
revision "master"
|
||||
deploy_key schlupp_xmpp_data_bag_item['deploy_key']
|
||||
end
|
||||
|
||||
file "external-scripts.json" do
|
||||
mode "0640"
|
||||
owner "hubot"
|
||||
group "hubot"
|
||||
content [
|
||||
"hubot-auth",
|
||||
"hubot-help",
|
||||
"hubot-redis-brain",
|
||||
"hubot-rules",
|
||||
"hubot-shipit",
|
||||
"hubot-plusplus",
|
||||
"hubot-tell",
|
||||
"hubot-seen",
|
||||
"hubot-rss-reader",
|
||||
"hubot-incoming-webhook",
|
||||
"hubot-yubikey-invalidation",
|
||||
].to_json
|
||||
end
|
||||
|
||||
npm_install do
|
||||
user "hubot"
|
||||
end
|
||||
|
||||
execute "systemctl daemon-reload" do
|
||||
command "systemctl daemon-reload"
|
||||
action :nothing
|
||||
end
|
||||
|
||||
template "/lib/systemd/system/schlupp_xmpp_nodejs.service" do
|
||||
source 'nodejs.systemd.service.erb'
|
||||
owner 'root'
|
||||
group 'root'
|
||||
mode '0644'
|
||||
variables(
|
||||
user: "hubot",
|
||||
group: "hubot",
|
||||
app_dir: schlupp_xmpp_path,
|
||||
entry: "#{schlupp_xmpp_path}/bin/hubot -a xmpp --name schlupp",
|
||||
environment: { "HUBOT_XMPP_USERNAME" => "schlupp@5apps.com/hubot",
|
||||
"HUBOT_XMPP_PASSWORD" => schlupp_xmpp_data_bag_item['password'],
|
||||
"HUBOT_XMPP_ROOMS" => "5info@muc.5apps.com,5ops@muc.5apps.com,core@muc.5apps.com,deploy@muc.5apps.com,storage@muc.5apps.com,watercooler@muc.5apps.com,hilti@muc.5apps.com,test@muc.5apps.com,gymapp@muc.5apps.com,solarisbank@muc.5apps.com",
|
||||
"HUBOT_XMPP_HOST" => "xmpp.5apps.com",
|
||||
"HUBOT_RSS_PRINTSUMMARY" => "false",
|
||||
"EXPRESS_PORT" => express_port,
|
||||
"HUBOT_RSS_HEADER" => "Update:",
|
||||
"HUBOT_AUTH_ADMIN" => "basti,garret,greg",
|
||||
"REDIS_URL" => "redis://localhost:6379/5apps_schlupp_xmpp",
|
||||
"WEBHOOK_TOKEN" => schlupp_xmpp_data_bag_item['webhook_token'],
|
||||
"AIRTABLE_API_KEY" => schlupp_xmpp_data_bag_item['airtable_api_key'],
|
||||
"GITHUB_TOKEN" => schlupp_xmpp_data_bag_item['github_token'],
|
||||
"AWS_ACCESS_KEY_ID" => schlupp_xmpp_data_bag_item['aws_access_key_id'],
|
||||
"AWS_SECRET_ACCESS_KEY" => schlupp_xmpp_data_bag_item['aws_secret_access_key'] }
|
||||
)
|
||||
|
||||
notifies :run, "execute[systemctl daemon-reload]", :delayed
|
||||
notifies :restart, "service[schlupp_xmpp_nodejs]", :delayed
|
||||
end
|
||||
|
||||
service "schlupp_xmpp_nodejs" do
|
||||
action [:enable, :start]
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Nginx reverse proxy
|
||||
#
|
||||
unless node.chef_environment == "development"
|
||||
include_recipe "kosmos-base::letsencrypt"
|
||||
end
|
||||
|
||||
include_recipe 'kosmos-nginx'
|
||||
|
||||
template "#{node['nginx']['dir']}/sites-available/#{express_domain}" do
|
||||
source 'nginx_conf_hubot.erb'
|
||||
owner node["nginx"]["user"]
|
||||
mode 0640
|
||||
variables express_port: express_port,
|
||||
server_name: express_domain,
|
||||
ssl_cert: "/etc/letsencrypt/live/#{express_domain}/fullchain.pem",
|
||||
ssl_key: "/etc/letsencrypt/live/#{express_domain}/privkey.pem"
|
||||
notifies :reload, 'service[nginx]', :delayed
|
||||
end
|
||||
|
||||
nginx_site express_domain do
|
||||
action :enable
|
||||
end
|
||||
|
||||
nginx_certbot_site express_domain
|
@ -1,31 +0,0 @@
|
||||
#
|
||||
# Generated by Chef
|
||||
#
|
||||
upstream _express_<%= @server_name.gsub(".", "_") %> {
|
||||
server localhost:<%= @express_port %>;
|
||||
}
|
||||
|
||||
server {
|
||||
<% if File.exist?(@ssl_cert) && File.exist?(@ssl_key) -%>
|
||||
listen 443 ssl http2;
|
||||
add_header Strict-Transport-Security "max-age=15768000";
|
||||
<% end -%>
|
||||
|
||||
server_name <%= @server_name %>;
|
||||
|
||||
access_log <%= node[:nginx][:log_dir] %>/<%= @server_name %>.access.log json;
|
||||
error_log <%= node[:nginx][:log_dir] %>/<%= @server_name %>.error.log warn;
|
||||
|
||||
location / {
|
||||
# Increase number of buffers. Default is 8
|
||||
proxy_buffers 1024 8k;
|
||||
|
||||
proxy_pass http://_express_<%= @server_name.gsub(".", "_") %>;
|
||||
proxy_http_version 1.1;
|
||||
}
|
||||
|
||||
<% if File.exist?(@ssl_cert) && File.exist?(@ssl_key) -%>
|
||||
ssl_certificate <%= @ssl_cert %>;
|
||||
ssl_certificate_key <%= @ssl_key %>;
|
||||
<% end -%>
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
[Unit]
|
||||
Description=Start nodejs app
|
||||
Requires=redis-server.service
|
||||
After=redis-server.service
|
||||
|
||||
[Service]
|
||||
ExecStart=<%= @entry %>
|
||||
WorkingDirectory=<%= @app_dir %>
|
||||
User=<%= @user %>
|
||||
Group=<%= @group %>
|
||||
<% unless @environment.empty? -%>
|
||||
Environment=<% @environment.each do |key, value| -%>'<%= key %>=<%= value %>' <% end %>
|
||||
<% end -%>
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,4 +0,0 @@
|
||||
# 5apps-xmpp_server CHANGELOG
|
||||
|
||||
## 0.1.0
|
||||
- [Greg Karékinian] - Initial release of 5apps-xmpp_server
|
@ -1,3 +0,0 @@
|
||||
# 5apps-xmpp_server Cookbook
|
||||
|
||||
This cookbook installs prosody as 5apps' private XMPP server
|
@ -1,11 +0,0 @@
|
||||
name '5apps-xmpp_server'
|
||||
maintainer 'Kosmos'
|
||||
maintainer_email 'mail@kosmos.org'
|
||||
license 'All rights reserved'
|
||||
description 'Installs/Configures 5apps-xmpp_server'
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '0.2.0'
|
||||
|
||||
depends 'firewall'
|
||||
depends 'apt'
|
||||
depends 'backup'
|
@ -1,44 +0,0 @@
|
||||
#
|
||||
# Cookbook Name:: 5apps-xmpp_server
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2016, 5apps
|
||||
#
|
||||
# All rights reserved - Do Not Redistribute
|
||||
#
|
||||
|
||||
unless node.chef_environment == "development"
|
||||
include_recipe "firewall"
|
||||
firewall_rule "xmpp" do
|
||||
port [5222, 5269, 5281]
|
||||
protocol :tcp
|
||||
command :allow
|
||||
end
|
||||
end
|
||||
|
||||
apt_repository "prosody" do
|
||||
uri "https://packages.prosody.im/debian"
|
||||
# 15.04 doesn't get new packages anymore, use the ones built for 16.04
|
||||
distribution node["lsb"]["codename"] == "vivid" ? "xenial" : node["lsb"]["codename"]
|
||||
components ["main"]
|
||||
key "https://prosody.im/files/prosody-debian-packages.key"
|
||||
end
|
||||
|
||||
# For SQL backend support
|
||||
package "lua-dbi-sqlite3"
|
||||
|
||||
package "prosody" do
|
||||
version "0.10.0-1~xenial4"
|
||||
end
|
||||
|
||||
service "prosody" do
|
||||
action [:enable]
|
||||
end
|
||||
|
||||
unless node.chef_environment == "development"
|
||||
include_recipe "5apps-xmpp_server::letsencrypt"
|
||||
|
||||
# backup the data dir and the config files
|
||||
node.override["backup"]["archives"]["prosody"] = ["/var/lib/prosody", "/etc/prosody"]
|
||||
include_recipe "backup"
|
||||
end
|
@ -1,44 +0,0 @@
|
||||
# Generate a Let's Encrypt cert for 5apps.com, muc.5apps.com and xmpp.5apps.com
|
||||
|
||||
include_recipe "kosmos-base::letsencrypt"
|
||||
|
||||
prosody_post_hook = <<-EOF
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copy the prosody certificates and restart the server if it has been renewed
|
||||
# This is necessary because the prosody user doesn't have access to the
|
||||
# letsencrypt live folder
|
||||
for domain in $RENEWED_DOMAINS; do
|
||||
case $domain in
|
||||
# Do not copy over when renewing other 5apps.com domains
|
||||
5apps.com)
|
||||
cp "${RENEWED_LINEAGE}/fullchain.pem" /etc/prosody/certs/5apps.com.crt
|
||||
cp "${RENEWED_LINEAGE}/privkey.pem" /etc/prosody/certs/5apps.com.key
|
||||
cp "${RENEWED_LINEAGE}/fullchain.pem" /etc/prosody/certs/muc.5apps.com.crt
|
||||
cp "${RENEWED_LINEAGE}/privkey.pem" /etc/prosody/certs/muc.5apps.com.key
|
||||
cp "${RENEWED_LINEAGE}/fullchain.pem" /etc/prosody/certs/xmpp.5apps.com.crt
|
||||
cp "${RENEWED_LINEAGE}/privkey.pem" /etc/prosody/certs/xmpp.5apps.com.key
|
||||
chown prosody:prosody /etc/prosody/certs/*
|
||||
chmod 600 /etc/prosody/certs/*.key
|
||||
chmod 640 /etc/prosody/certs/*.crt
|
||||
systemctl restart prosody
|
||||
;;
|
||||
esac
|
||||
done
|
||||
EOF
|
||||
|
||||
file "/etc/letsencrypt/renewal-hooks/post/prosody" do
|
||||
content prosody_post_hook
|
||||
mode 0755
|
||||
owner "root"
|
||||
group "root"
|
||||
end
|
||||
|
||||
# Generate a Let's Encrypt cert (only if no cert has been generated before).
|
||||
# The renew cron will take care of renewing
|
||||
execute "letsencrypt cert for 5apps xmpp" do
|
||||
command "/usr/bin/certbot certonly --manual --preferred-challenges dns --manual-public-ip-logging-ok --agree-tos --manual-auth-hook \"/root/gandi_dns_certbot_hook.sh auth\" --manual-cleanup-hook \"/root/gandi_dns_certbot_hook.sh cleanup\" --email ops@5apps.com -d 5apps.com -d muc.5apps.com -d xmpp.5apps.com -n"
|
||||
not_if do
|
||||
File.exist?("/etc/prosody/certs/5apps.com.crt")
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user