Greg Karékinian 51d4d88568 Initial kosmos_gitea cookbook
The default recipe deploys the gitea binary, generates a config file and
our custom Kosmos label set. The service runs as a Systemd unit.

The pg_db recipe needs to run on the primary PostgreSQL (currently
andromeda).

The backup recipe is empty for now

Refs #147
2020-05-18 19:39:43 +02:00

38 lines
876 B
Ruby

#
# Cookbook:: kosmos_gitea
# Recipe:: pg_db
#
# Copyright:: 2020, Kosmos Developers, All Rights Reserved.
gitea_data_bag_item = data_bag_item("credentials", "gitea")
postgresql_service = "service[#{postgresql_service_name}]"
service postgresql_service do
supports restart: true, status: true, reload: true
end
postgresql_user "gitea" do
action :create
password gitea_data_bag_item["postgresql_password"]
end
postgresql_database "gitea" do
owner "gitea"
action :create
end
search(:node, "role:gitea AND chef_environment:#{node.chef_environment}").each do |gitea_server|
ip = ip_for(gitea_server)
hostname = gitea_server[:hostname]
postgresql_access "gitea #{hostname}" do
access_type "host"
access_db "gitea"
access_user "gitea"
access_addr "#{ip}/32"
access_method "md5"
notifies :reload, postgresql_service, :delayed
end
end