Update Gitea to 1.26.4, Gitea Runner to 2.0.0
Two avatar configs were moved to the admin settings.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#
|
||||
# Cookbook:: kosmos_gitea
|
||||
# Recipe:: runner
|
||||
#
|
||||
|
||||
version = node["gitea"]["runner"]["version"]
|
||||
download_url = "https://dl.gitea.com/gitea-runner/#{version}/gitea-runner-#{version}-linux-amd64"
|
||||
working_directory = node["gitea"]["working_directory"]
|
||||
gitea_credentials = data_bag_item("credentials", "gitea")
|
||||
runners = gitea_credentials["runners"]
|
||||
gitea_host = "https://#{node["gitea"]["domain"]}"
|
||||
|
||||
apt_repository 'docker' do
|
||||
uri 'https://download.docker.com/linux/ubuntu'
|
||||
key 'https://download.docker.com/linux/ubuntu/gpg'
|
||||
components ['stable']
|
||||
end
|
||||
|
||||
%w[
|
||||
docker-ce
|
||||
docker-ce-cli
|
||||
containerd.io
|
||||
docker-buildx-plugin
|
||||
].each do |apt_pkg|
|
||||
package apt_pkg
|
||||
end
|
||||
|
||||
remote_file "/usr/local/bin/gitea_runner" do
|
||||
source download_url
|
||||
checksum node["gitea"]["runner"]["checksum"]
|
||||
mode "0750"
|
||||
end
|
||||
|
||||
directory "#{working_directory}/runners" do
|
||||
mode "0700"
|
||||
end
|
||||
|
||||
runners.each do |runner|
|
||||
runner_name = "gitea-runner-#{runner["org"]}"
|
||||
runner_dir = "#{working_directory}/runners/#{runner["org"]}"
|
||||
|
||||
directory runner_dir do
|
||||
mode "0700"
|
||||
end
|
||||
|
||||
bash "register_#{runner["org"]}_runner" do
|
||||
cwd runner_dir
|
||||
code <<-EOF
|
||||
gitea_runner register \
|
||||
--no-interactive \
|
||||
--instance #{gitea_host} \
|
||||
--name #{runner_name} \
|
||||
--token #{runner["token"]}
|
||||
EOF
|
||||
not_if { File.exist?("#{runner_dir}/.runner") }
|
||||
end
|
||||
|
||||
systemd_unit "#{runner_name}.service" do
|
||||
content({
|
||||
Unit: {
|
||||
Description: "Gitea Actions Runner for '#{runner["org"]}' org",
|
||||
Documentation: ["https://gitea.com/gitea/runner"],
|
||||
Requires: "gitea.service",
|
||||
After: "syslog.target network.target"
|
||||
},
|
||||
Service: {
|
||||
Type: "simple",
|
||||
WorkingDirectory: runner_dir,
|
||||
Environment: "HOME=/root",
|
||||
ExecStart: "/usr/local/bin/gitea_runner daemon",
|
||||
ExecStartPre: "/bin/sleep 3", # Wait for Gitea's API to be up when restarting at the same time
|
||||
Restart: "always",
|
||||
},
|
||||
Install: {
|
||||
WantedBy: "multi-user.target"
|
||||
}
|
||||
})
|
||||
verify false
|
||||
triggers_reload true
|
||||
action [:create]
|
||||
end
|
||||
|
||||
service runner_name do
|
||||
action [:enable, :start]
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user