Add, configure, deploy strfry policies
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
ubuntu_server_cloud_image_release = "20230506"
|
||||
release = "20240514"
|
||||
img_filename = "ubuntu-22.04-server-cloudimg-amd64-disk-kvm"
|
||||
|
||||
node.default["kosmos_kvm"]["host"]["qemu_base_image"] = {
|
||||
"url" => "https://cloud-images.ubuntu.com/releases/focal/release-#{ubuntu_server_cloud_image_release}/ubuntu-20.04-server-cloudimg-amd64-disk-kvm.img",
|
||||
"checksum" => "27d2b91fd2b715729d739e2a3155dce70d1aaae4f05c177f338b9d4b60be638c",
|
||||
"path" => "/var/lib/libvirt/images/base/ubuntu-20.04-server-cloudimg-amd64-disk-kvm-#{ubuntu_server_cloud_image_release}.qcow2"
|
||||
"url" => "https://cloud-images.ubuntu.com/releases/jammy/release-#{release}/#{img_filename}.img",
|
||||
"checksum" => "2e7698b3ebd7caead06b08bd3ece241e6ce294a6db01f92ea12bcb56d6972c3f",
|
||||
"path" => "/var/lib/libvirt/images/base/#{img_filename}-#{release}.qcow2"
|
||||
}
|
||||
|
||||
# A systemd.timer OnCalendar config value
|
||||
|
||||
1
site-cookbooks/kosmos_strfry/attributes/default.rb
Normal file
1
site-cookbooks/kosmos_strfry/attributes/default.rb
Normal file
@@ -0,0 +1 @@
|
||||
node.default["strfry"]["ldap_search_dn"] = "ou=kosmos.org,cn=users,dc=kosmos,dc=org"
|
||||
@@ -7,3 +7,4 @@ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '0.1.0'
|
||||
|
||||
depends 'kosmos_openresty'
|
||||
depends 'deno'
|
||||
|
||||
62
site-cookbooks/kosmos_strfry/recipes/policies.rb
Normal file
62
site-cookbooks/kosmos_strfry/recipes/policies.rb
Normal file
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# Cookbook Name:: kosmos_strfry
|
||||
# Recipe:: policies
|
||||
#
|
||||
|
||||
include_recipe "deno"
|
||||
|
||||
#
|
||||
# config
|
||||
#
|
||||
|
||||
ldap_credentials = Chef::EncryptedDataBagItem.load('credentials', 'dirsrv')
|
||||
|
||||
env = {
|
||||
ldap_url: 'ldap://ldap.kosmos.local:389', # requires "ldap_client" role
|
||||
ldap_bind_dn: ldap_credentials["service_dn"],
|
||||
ldap_password: ldap_credentials["service_password"],
|
||||
ldap_search_dn: node["strfry"]["ldap_search_dn"]
|
||||
}
|
||||
|
||||
template "/opt/.env" do
|
||||
source 'env.erb'
|
||||
owner node["strfry"]["user"]
|
||||
group node["strfry"]["group"]
|
||||
mode 0600
|
||||
sensitive true
|
||||
variables config: env
|
||||
notifies :restart, "service[strfry]", :delayed
|
||||
end
|
||||
|
||||
#
|
||||
# strfry deno scripts
|
||||
#
|
||||
|
||||
base_url = "https://gitea.kosmos.org/kosmos/akkounts/raw/branch/master/extras/strfry"
|
||||
|
||||
remote_file "/opt/strfry-policy.ts" do
|
||||
source "#{base_url}/strfry-policy.ts"
|
||||
owner node["strfry"]["user"]
|
||||
group node["strfry"]["group"]
|
||||
mode "0755"
|
||||
notifies :restart, "service[strfry]", :delayed
|
||||
end
|
||||
|
||||
remote_file "/opt/ldap-policy.ts" do
|
||||
source "#{base_url}/ldap-policy.ts"
|
||||
owner node["strfry"]["user"]
|
||||
group node["strfry"]["group"]
|
||||
mode "0644"
|
||||
notifies :restart, "service[strfry]", :delayed
|
||||
end
|
||||
|
||||
remote_file "/opt/strfry-sync.ts" do
|
||||
source "#{base_url}/strfry-sync.ts"
|
||||
owner node["strfry"]["user"]
|
||||
group node["strfry"]["group"]
|
||||
mode "0644"
|
||||
end
|
||||
|
||||
# service "strfry" do
|
||||
# action :nothing
|
||||
# end
|
||||
11
site-cookbooks/kosmos_strfry/templates/env.erb
Normal file
11
site-cookbooks/kosmos_strfry/templates/env.erb
Normal file
@@ -0,0 +1,11 @@
|
||||
<% @config.each do |key, value| %>
|
||||
<% if value.is_a?(Hash) %>
|
||||
<% value.each do |k, v| %>
|
||||
<%= "#{key.upcase}_#{k.upcase}" %>=<%= v.to_s %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if value %>
|
||||
<%= key.upcase %>=<%= value.to_s %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
Submodule site-cookbooks/strfry updated: 65b6d65527...a4756377b4
Reference in New Issue
Block a user