Merge pull request 'Compile Gitea from source, apply our LDAP fixes' (#596) from feature/compile_gitea_from_source into master
Reviewed-on: #596 Reviewed-by: Greg <greg@kosmos.org>
This commit is contained in:
commit
3c51ff261e
@ -39,6 +39,7 @@
|
|||||||
"timezone_iii::debian",
|
"timezone_iii::debian",
|
||||||
"ntp::default",
|
"ntp::default",
|
||||||
"ntp::apparmor",
|
"ntp::apparmor",
|
||||||
|
"kosmos-base::journald_conf",
|
||||||
"kosmos-base::systemd_emails",
|
"kosmos-base::systemd_emails",
|
||||||
"apt::unattended-upgrades",
|
"apt::unattended-upgrades",
|
||||||
"kosmos-base::firewall",
|
"kosmos-base::firewall",
|
||||||
@ -49,6 +50,13 @@
|
|||||||
"postfix::sasl_auth",
|
"postfix::sasl_auth",
|
||||||
"hostname::default",
|
"hostname::default",
|
||||||
"firewall::default",
|
"firewall::default",
|
||||||
|
"kosmos_gitea::compile_from_source",
|
||||||
|
"git::default",
|
||||||
|
"git::package",
|
||||||
|
"kosmos-nodejs::default",
|
||||||
|
"nodejs::nodejs_from_package",
|
||||||
|
"nodejs::repo",
|
||||||
|
"golang::default",
|
||||||
"backup::default",
|
"backup::default",
|
||||||
"logrotate::default"
|
"logrotate::default"
|
||||||
],
|
],
|
||||||
|
@ -5,3 +5,11 @@ run_list %w(
|
|||||||
kosmos_gitea::default
|
kosmos_gitea::default
|
||||||
kosmos_gitea::backup
|
kosmos_gitea::backup
|
||||||
)
|
)
|
||||||
|
|
||||||
|
override_attributes(
|
||||||
|
"gitea" => {
|
||||||
|
"repo" => "https://github.com/67P/gitea.git",
|
||||||
|
"revision" => "ldap_sync",
|
||||||
|
"log" => { "level" => "Info" }
|
||||||
|
},
|
||||||
|
)
|
||||||
|
@ -1,13 +1,21 @@
|
|||||||
node.default["gitea"]["version"] = "1.23.7"
|
node.default["gitea"]["version"] = "1.23.8"
|
||||||
node.default["gitea"]["checksum"] = "3c0a7121ad1d9c525a92c68a7c040546553cd41e7464ce2fa811246b648c0a46"
|
node.default["gitea"]["checksum"] = "827037e7ca940866918abc62a7488736923396c467fcb4acd0dd9829bb6a6f4c"
|
||||||
|
node.default["gitea"]["repo"] = nil
|
||||||
|
node.default["gitea"]["revision"] = nil
|
||||||
node.default["gitea"]["working_directory"] = "/var/lib/gitea"
|
node.default["gitea"]["working_directory"] = "/var/lib/gitea"
|
||||||
node.default["gitea"]["port"] = 3000
|
node.default["gitea"]["port"] = 3000
|
||||||
node.default["gitea"]["postgresql_host"] = "localhost:5432"
|
node.default["gitea"]["postgresql_host"] = "localhost:5432"
|
||||||
node.default["gitea"]["domain"] = "gitea.kosmos.org"
|
node.default["gitea"]["domain"] = "gitea.kosmos.org"
|
||||||
|
|
||||||
node.default["gitea"]["config"] = {
|
node.default["gitea"]["config"] = {
|
||||||
|
"log": {
|
||||||
|
"level" => "Info",
|
||||||
|
"logger.router.MODE" => "",
|
||||||
|
"logger.xorm.MODE" => "",
|
||||||
|
"logger.access.MODE" => ""
|
||||||
|
},
|
||||||
"actions": {
|
"actions": {
|
||||||
"enabled": true
|
"enabled" => true
|
||||||
},
|
},
|
||||||
"webhook": {
|
"webhook": {
|
||||||
"allowed_host_list" => "external,127.0.1.1"
|
"allowed_host_list" => "external,127.0.1.1"
|
||||||
|
@ -10,5 +10,8 @@ chef_version '>= 14.0'
|
|||||||
depends "firewall"
|
depends "firewall"
|
||||||
depends "kosmos_openresty"
|
depends "kosmos_openresty"
|
||||||
depends "kosmos_postgresql"
|
depends "kosmos_postgresql"
|
||||||
depends "backup"
|
|
||||||
depends "kosmos-dirsrv"
|
depends "kosmos-dirsrv"
|
||||||
|
depends 'kosmos-nodejs'
|
||||||
|
depends 'git'
|
||||||
|
depends 'golang'
|
||||||
|
depends "backup"
|
||||||
|
42
site-cookbooks/kosmos_gitea/recipes/compile_from_source.rb
Normal file
42
site-cookbooks/kosmos_gitea/recipes/compile_from_source.rb
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#
|
||||||
|
# Cookbook:: kosmos_gitea
|
||||||
|
# Recipe:: compile_from_source
|
||||||
|
#
|
||||||
|
# Compiles/installs Gitea from source
|
||||||
|
#
|
||||||
|
|
||||||
|
include_recipe "git"
|
||||||
|
|
||||||
|
node.override["nodejs"]["repo"] = "https://deb.nodesource.com/node_20.x"
|
||||||
|
include_recipe 'kosmos-nodejs'
|
||||||
|
|
||||||
|
node.override["golang"]["version"] = "1.23.9"
|
||||||
|
include_recipe "golang"
|
||||||
|
|
||||||
|
link "/usr/local/bin/go" do
|
||||||
|
to "/usr/local/go/bin/go"
|
||||||
|
end
|
||||||
|
|
||||||
|
source_dir = "/opt/gitea"
|
||||||
|
|
||||||
|
git source_dir do
|
||||||
|
repository node["gitea"]["repo"]
|
||||||
|
revision node["gitea"]["revision"]
|
||||||
|
action :sync
|
||||||
|
notifies :run, "execute[npm_install]", :immediately
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "npm_install" do
|
||||||
|
cwd source_dir
|
||||||
|
command "npm ci"
|
||||||
|
action :nothing
|
||||||
|
notifies :run, "bash[compile_gitea]", :immediately
|
||||||
|
end
|
||||||
|
|
||||||
|
bash "compile_gitea" do
|
||||||
|
cwd source_dir
|
||||||
|
environment "TAGS" => "bindata"
|
||||||
|
code "make build"
|
||||||
|
action :nothing
|
||||||
|
notifies :restart, "service[gitea]", :delayed
|
||||||
|
end
|
@ -5,11 +5,12 @@
|
|||||||
|
|
||||||
version = node["gitea"]["version"]
|
version = node["gitea"]["version"]
|
||||||
download_url = "https://dl.gitea.io/gitea/#{version}/gitea-#{version}-linux-amd64"
|
download_url = "https://dl.gitea.io/gitea/#{version}/gitea-#{version}-linux-amd64"
|
||||||
|
compile_from_source = node["gitea"]["repo"] && node["gitea"]["revision"]
|
||||||
working_directory = node["gitea"]["working_directory"]
|
working_directory = node["gitea"]["working_directory"]
|
||||||
git_home_directory = "/home/git"
|
git_home_directory = "/home/git"
|
||||||
repository_root_directory = "#{git_home_directory}/gitea-repositories"
|
repository_root_directory = "#{git_home_directory}/gitea-repositories"
|
||||||
config_directory = "/etc/gitea"
|
config_directory = "/etc/gitea"
|
||||||
gitea_binary_path = "/usr/local/bin/gitea"
|
gitea_binary_path = compile_from_source ? "/opt/gitea/gitea" : "/usr/local/bin/gitea"
|
||||||
gitea_data_bag_item = data_bag_item("credentials", "gitea")
|
gitea_data_bag_item = data_bag_item("credentials", "gitea")
|
||||||
smtp_credentials = data_bag_item("credentials", "smtp")
|
smtp_credentials = data_bag_item("credentials", "smtp")
|
||||||
smtp_addr = smtp_credentials["relayhost"].split(":")[0]
|
smtp_addr = smtp_credentials["relayhost"].split(":")[0]
|
||||||
@ -18,7 +19,6 @@ jwt_secret = gitea_data_bag_item["jwt_secret"]
|
|||||||
internal_token = gitea_data_bag_item["internal_token"]
|
internal_token = gitea_data_bag_item["internal_token"]
|
||||||
secret_key = gitea_data_bag_item["secret_key"]
|
secret_key = gitea_data_bag_item["secret_key"]
|
||||||
|
|
||||||
# Dependency
|
|
||||||
package "git"
|
package "git"
|
||||||
|
|
||||||
user "git" do
|
user "git" do
|
||||||
@ -108,11 +108,15 @@ template "#{config_directory}/app.ini" do
|
|||||||
notifies :restart, "service[gitea]", :delayed
|
notifies :restart, "service[gitea]", :delayed
|
||||||
end
|
end
|
||||||
|
|
||||||
remote_file gitea_binary_path do
|
if compile_from_source
|
||||||
source download_url
|
include_recipe "kosmos_gitea::compile_from_source"
|
||||||
checksum node['gitea']['checksum']
|
else
|
||||||
mode "0755"
|
remote_file gitea_binary_path do
|
||||||
notifies :restart, "service[gitea]", :delayed
|
source download_url
|
||||||
|
checksum node['gitea']['checksum']
|
||||||
|
mode "0755"
|
||||||
|
notifies :restart, "service[gitea]", :delayed
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
execute "systemctl daemon-reload" do
|
execute "systemctl daemon-reload" do
|
||||||
|
@ -74,8 +74,11 @@ ENABLE_OPENID_SIGNIN = false
|
|||||||
ENABLE_OPENID_SIGNUP = false
|
ENABLE_OPENID_SIGNUP = false
|
||||||
|
|
||||||
[log]
|
[log]
|
||||||
MODE = console
|
MODE = console
|
||||||
LEVEL = Debug
|
LEVEL = <%= @config["log"]["level"] %>
|
||||||
|
logger.router.MODE = <%= @config["log"]["logger.router.MODE"] %>
|
||||||
|
logger.xorm.MODE = <%= @config["log"]["logger.xorm.MODE"] %>
|
||||||
|
logger.access.MODE = <%= @config["log"]["logger.access.MODE"] %>
|
||||||
|
|
||||||
[attachment]
|
[attachment]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user