Compare commits
5 Commits
feature/ak
...
5da11394d4
| Author | SHA1 | Date | |
|---|---|---|---|
|
5da11394d4
|
|||
|
89f1790afc
|
|||
|
72ac8c6a84
|
|||
|
b1bb5d0625
|
|||
|
b470110fd4
|
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "akaunting-1",
|
|
||||||
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzmNpNWJh5DeXDsINDqAt\n5OtcGhnzLtqdILTD8A8KuPxWhoKI0k9xwvuT4yO2DLQqFMPyGefRuQkVsIq2OuU5\npK8B5c79E9MBHxti6mQZw4b/Jhmul+x2LGtOWYjPTDhFYXRsNNDtFDxwpwJGPede\nYts026yExHPhiF35Mt1JxA3TXJfPC8Vx0YGHu/6Ev+1fLmcKhFmhed5yKkA0gwod\nczdyQiCfw3ze9LuS90QmALpFOHHpekZeywemdwyPia207CoTrXsPLWj9KmuUEIQJ\nwL+OlEU2tVA6KaBKpl54n5/tMsccZmlicbNsVpgkk6LctrkNh6Kk+fW9ry3L/Gxg\nAwIDAQAB\n-----END PUBLIC KEY-----\n"
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "akaunting",
|
|
||||||
"app_key": {
|
|
||||||
"encrypted_data": "C7VVGHHrE/ESwtGeODf8zVraayO5uBSXaGR7f4yoj0MDq9WxPujItC3dIkMQ\ngjGzk8fH\n",
|
|
||||||
"iv": "4+d+RMLeuqaneFBa\n",
|
|
||||||
"auth_tag": "sBQDUVl6QbL/h9pd0kBQ0g==\n",
|
|
||||||
"version": 3,
|
|
||||||
"cipher": "aes-256-gcm"
|
|
||||||
},
|
|
||||||
"pg_database": {
|
|
||||||
"encrypted_data": "4mqHsMfDAqPvDmGsWgS9iE63qVeus7diSW8WiA==\n",
|
|
||||||
"iv": "6Cb1lVUcXBz+GA4u\n",
|
|
||||||
"auth_tag": "8O3N0m8jGhxs/YacdhgNHA==\n",
|
|
||||||
"version": 3,
|
|
||||||
"cipher": "aes-256-gcm"
|
|
||||||
},
|
|
||||||
"pg_username": {
|
|
||||||
"encrypted_data": "Nu0wiBhvqUwqC7PL2Qo8otq0b3faJqRsabqp2g==\n",
|
|
||||||
"iv": "1uA8mJc7itT0qHcx\n",
|
|
||||||
"auth_tag": "PRWw6LTlFrWs63SDRsovtQ==\n",
|
|
||||||
"version": 3,
|
|
||||||
"cipher": "aes-256-gcm"
|
|
||||||
},
|
|
||||||
"pg_password": {
|
|
||||||
"encrypted_data": "oXDKiXQ4aH5M2pVu1sx7dj0awKCORke03fq0uemjIfCMYbM=\n",
|
|
||||||
"iv": "snPyC8mocevc5kGH\n",
|
|
||||||
"auth_tag": "9wx4GPSydkYr2WGpZK5HZg==\n",
|
|
||||||
"version": 3,
|
|
||||||
"cipher": "aes-256-gcm"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,72 +1,72 @@
|
|||||||
{
|
{
|
||||||
"id": "akkounts",
|
"id": "akkounts",
|
||||||
"postgresql_username": {
|
"postgresql_username": {
|
||||||
"encrypted_data": "ofLOjxGBj7no+lWrIvtxQQFoeozCh6mpfMTt\n",
|
"encrypted_data": "v2QoNkkxXGflxEdspIpfJdBjQVraMyF9yHq7\n",
|
||||||
"iv": "/CF+o4GqZx2O5WOm\n",
|
"iv": "du8wubB9xQjOVeOS\n",
|
||||||
"auth_tag": "bjHXfgNQfXpQ2gucPLrUWA==\n",
|
"auth_tag": "gDZLYz5/XBCQDlDaFoP6mQ==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"postgresql_password": {
|
"postgresql_password": {
|
||||||
"encrypted_data": "f8Jfs4aqIjc6/6/NQlI2Fv8TzSgVmi5g0iYNhh9bAA==\n",
|
"encrypted_data": "Naz4R5oOCUS/S/CZmW5eoil8BpJ3K1WLUIc3mAihhA==\n",
|
||||||
"iv": "vAzrZeUodmu4x5eB\n",
|
"iv": "0S9Sb1MUoBVWbW9t\n",
|
||||||
"auth_tag": "vx8eH2SY7I4IkZElXSC1Nw==\n",
|
"auth_tag": "L2yGzVMKiKAzfpA+HADRqA==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"sentry_dsn": {
|
"sentry_dsn": {
|
||||||
"encrypted_data": "oxW5jGU8DlIp5A9enxBhcJXuKyaZ5HziXq8Zw+Rbvpbv4C/RTGkJkgZdKcH1\nVzW/wNAT8nTK+nEvWgcQ3svjE40ltj2jcOexIRqLbuCClJE=\n",
|
"encrypted_data": "OXiAeg6lIqEnbplAnKlkwb3o3DTfMJbLC0wnxmguQ8GZiP0RcpPOwUAa9Q3U\naA44f36BCKgHtCxdlVB59TTFA9W24ecU5KWb/jIc7mueSoc=\n",
|
||||||
"iv": "wpW9+VdX5GjocHSl\n",
|
"iv": "86cAncfc1K4d43ql\n",
|
||||||
"auth_tag": "1qrf1kZMrIR7WRiSaRjppQ==\n",
|
"auth_tag": "0i04Y/eFIN+b+5F605d7Dg==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"rails_master_key": {
|
"rails_master_key": {
|
||||||
"encrypted_data": "KHVYYH7Nb9/SsoKkYfbjzhFwj3Ioj72hm5pfdCuinf+GQvjKumq99eQTlKdf\nBZM1n0XN\n",
|
"encrypted_data": "Ypv4g33evnuutOWmGl49kq3Ca3SmfWIswyxGIZA0J/o1ZMGpMOfySim/e7r8\nzdAM/PFo\n",
|
||||||
"iv": "x9AQZvw/vCinKQ8k\n",
|
"iv": "w2bflz2KIbu/vRT1\n",
|
||||||
"auth_tag": "mi0KHHOTBvVNhtvqk38BtQ==\n",
|
"auth_tag": "tpemUQJly8Ft9lN6rP+W4w==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"discourse_connect_secret": {
|
"discourse_connect_secret": {
|
||||||
"encrypted_data": "WyLrV0DOsxyafSqyeQVj0BhVwm/0gvWeJLBsAbiqCGphryoYqUByPcum1T6R\n2H44nQ==\n",
|
"encrypted_data": "DUK6G5SyRiehJh3iHtCKQj8Ki5+suk9Ds5/ZMp6OP1EshdbpziQ4XNey2x+R\nHCTSVg==\n",
|
||||||
"iv": "lUtlJDv6Ieq8Bs5x\n",
|
"iv": "kfhA3apCUAHcNlwH\n",
|
||||||
"auth_tag": "ku22BlQKw/BhHxuANTF6yg==\n",
|
"auth_tag": "BqRV+CiF9rFrqEToJeisoQ==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"lndhub_admin_token": {
|
"lndhub_admin_token": {
|
||||||
"encrypted_data": "DQuxQW8ks3sUzyHYEpQVyPg2f/U4/LWeRoCD9225Hd+c\n",
|
"encrypted_data": "C3aKQIEwcQNCrr+uyLiOY2KAHZh5dUvTZ9IdANPqkGlr\n",
|
||||||
"iv": "mjxYi+YAcKGuurD2\n",
|
"iv": "qrhJJzmmced9lNF1\n",
|
||||||
"auth_tag": "8P3bFFNeQ5HQgpXDB5Sk5A==\n",
|
"auth_tag": "CH1fOwMWsidmWBwX2+4nJg==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"btcpay_auth_token": {
|
"btcpay_auth_token": {
|
||||||
"encrypted_data": "3wsY9osaUdX4SvBPfHprNLSbx6/rfI5BfXnDxsc6OET3nGn19qBhH6wgeiwZ\n/dweqdQ25HpbFPygddc=\n",
|
"encrypted_data": "0vRq3ZeYPtNcdlCUQI0ip6YOaQZKBeK/dODL7IxdrAK9pHz+u53aL8LW92nJ\nmHW2DYcv+eX3ltnwu88=\n",
|
||||||
"iv": "ccouibxktHLlUCQJ\n",
|
"iv": "5HenMAvE1Uu5l7jJ\n",
|
||||||
"auth_tag": "pWuRC8O2EAkmztL/9V3now==\n",
|
"auth_tag": "rJzkZPRYar1qw4dauSNV2w==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"s3_access_key": {
|
"s3_access_key": {
|
||||||
"encrypted_data": "hJGHa+hEmddtsZ4UncrYBkjRa/2Csqdh79tXpTVxUWbIsYGdlvyadk7C1UCj\n",
|
"encrypted_data": "QB7XpwhzCvLczUojhcjXy+KX26rEDQHSSw983KP8W7Nud1SNbheU1PrDEQv/\n",
|
||||||
"iv": "GlxNdnWiNzmNYthg\n",
|
"iv": "DTtUXHNQ2g04E+oE\n",
|
||||||
"auth_tag": "hlRLkroUN01L7VzQFBU/IA==\n",
|
"auth_tag": "0XSkHE+MG4AnVT4XJR9tzw==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"s3_secret_key": {
|
"s3_secret_key": {
|
||||||
"encrypted_data": "LKdQJOKIfFIoiF3GvfTs1mg3AI//Aoi8r42zcw8QhEVPB8ONsSf0/vhM037C\nf5nzUk7xwglvTOveqbOM+UTBJF/4oblQfgwFW3VobWUGkJqjtKE=\n",
|
"encrypted_data": "IEUzFfOBuOwjzD1DbRyk07+jFlZhQVY+a7riDJ3QU1cNYZ3OTJUgJkowA/u5\nrZ6jqehGIzvPlDuzIezxQwN+Dy0ZJueB/ZEdRqhfkXUxgzkqb2s=\n",
|
||||||
"iv": "tWTxzK/ccpjlLmQV\n",
|
"iv": "gs9Igisu2EH+dAC/\n",
|
||||||
"auth_tag": "n2MFkTIquyqz4wqRNdSJcg==\n",
|
"auth_tag": "gDFuQCwlCL5mvys83CGv+w==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"nostr_private_key": {
|
"nostr_private_key": {
|
||||||
"encrypted_data": "CPMeNxzpYMReaQU4+v+EqpVESRsnaYc3a4y7OkHOhtn2gjaNEDERGKvRmlyd\nD6vxKPcIrwTCZ7neJ3YLOVOxPDNv6skqdtMHBwSgl7aBEOrx7tY=\n",
|
"encrypted_data": "sFnQlwyZF0tfMzbaG/bdwqQLPVdHPpbyDT66FY1+ubssmWUpxsuNtbI71KyY\nI1784c7SSl4qKRgHZRrR658bYMKU4whe836qBgSf7Icczp1VSQY=\n",
|
||||||
"iv": "AV1on2sw1avmFFuY\n",
|
"iv": "x8RJT4dcNdtm59Zz\n",
|
||||||
"auth_tag": "9rb9qQBKrj5Xja1t+qROKQ==\n",
|
"auth_tag": "6yxBq1W4jCNDYwP6+cTE6g==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
}
|
}
|
||||||
|
|||||||
10
data_bags/credentials/kosmos-rs.json
Normal file
10
data_bags/credentials/kosmos-rs.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "kosmos-rs",
|
||||||
|
"auth_tokens": {
|
||||||
|
"encrypted_data": "fiznpRw7VKlm232+U6XV1rqkAf2Z8CpoD8KyvuvOH2JniaymlcTHgazGWQ8s\nGeqK4RU9l4d29e9i+Mh0k4vnhO4q\n",
|
||||||
|
"iv": "SvurcL2oNSNWjlxp\n",
|
||||||
|
"auth_tag": "JLQ7vGXAuYYJpLEpL6C+Rw==\n",
|
||||||
|
"version": 3,
|
||||||
|
"cipher": "aes-256-gcm"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,30 +1,30 @@
|
|||||||
{
|
{
|
||||||
"id": "lndhub-go",
|
"id": "lndhub-go",
|
||||||
"jwt_secret": {
|
"jwt_secret": {
|
||||||
"encrypted_data": "3T4JYnoISKXCnatCBeLCXyE8wVjzphw5/JU5A0vHfQ2xSDZreIRQ\n",
|
"encrypted_data": "lJsKBTCRzI83xmRHXzpnuRH/4cuMOR+Rd+SBU50G9HdibadIEDhS\n",
|
||||||
"iv": "bGQZjCk6FtD/hqVj\n",
|
"iv": "f/SvsWtZIYOVc54X\n",
|
||||||
"auth_tag": "CS87+UK1ZIFMiNcNaoyO6w==\n",
|
"auth_tag": "YlJ78EuJbcPfjCPc2eH+ug==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"postgresql_password": {
|
"postgresql_password": {
|
||||||
"encrypted_data": "u8kf/6WdSTzyIz2kF+24JgOPLndWH2WmTFZ3CToJsnay\n",
|
"encrypted_data": "aT0yNlWjvk/0S4z2kZB4Ye1u/ngk5J6fGPbwZSfdq6cy\n",
|
||||||
"iv": "KqLtV2UuaAzJx7C8\n",
|
"iv": "OgUttF4LlSrL/7gH\n",
|
||||||
"auth_tag": "3aqx45+epb2NFkNfOfG89A==\n",
|
"auth_tag": "pcbbGqbQ2RjU+i9dt8c3OQ==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"admin_token": {
|
"admin_token": {
|
||||||
"encrypted_data": "Z737fXqRE9JHfunRhc2GG281dFFN1bvBvTzTDzl/Vb8O\n",
|
"encrypted_data": "I9EsqCCxMIw+fX6sfu6KX8B5fJj9DX5Y4tbX30jdnmxr\n",
|
||||||
"iv": "oKLQJbD67tiz2235\n",
|
"iv": "vnERvIWYInO6+Y8q\n",
|
||||||
"auth_tag": "SlVIqC9d9SRoO78M7cBjTw==\n",
|
"auth_tag": "gO+MprZUQgPEWJQUmSF1sA==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
},
|
},
|
||||||
"sentry_dsn": {
|
"sentry_dsn": {
|
||||||
"encrypted_data": "gmDHGDWkTIvaXjcWMs1dnKnbqtsADPJ2mLmWw8Idj6RVevU5CabjvviAxEo1\n3hs2LWuObumRSCQt2QKap191uMq3CL2+da53hbsv+JUkxl4=\n",
|
"encrypted_data": "+sUXWgl6dXpA1/0FqjKC3Jnl54aor6gtM+19EM/NsHwg4qu672YnSgxV+c9x\nHM3JZBYxBYvJ+HYGAvMmhlGvaOOEIvLmFUpCCJeVUXR32S8=\n",
|
||||||
"iv": "Yt0fSsxL4SNicwUY\n",
|
"iv": "82+DzAnHiptaX7sO\n",
|
||||||
"auth_tag": "j7BWbcNnymHHMNTADWmCNw==\n",
|
"auth_tag": "CDx44iRBVhSIF8DOxb2c+w==\n",
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"cipher": "aes-256-gcm"
|
"cipher": "aes-256-gcm"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,66 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "akaunting-1",
|
|
||||||
"chef_environment": "production",
|
|
||||||
"normal": {
|
|
||||||
"knife_zero": {
|
|
||||||
"host": "10.1.1.215"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"automatic": {
|
|
||||||
"fqdn": "akaunting-1",
|
|
||||||
"os": "linux",
|
|
||||||
"os_version": "5.15.0-1069-kvm",
|
|
||||||
"hostname": "akaunting-1",
|
|
||||||
"ipaddress": "192.168.122.162",
|
|
||||||
"roles": [
|
|
||||||
"base",
|
|
||||||
"kvm_guest",
|
|
||||||
"akaunting",
|
|
||||||
"postgresql_client"
|
|
||||||
],
|
|
||||||
"recipes": [
|
|
||||||
"kosmos-base",
|
|
||||||
"kosmos-base::default",
|
|
||||||
"kosmos_kvm::guest",
|
|
||||||
"kosmos_postgresql::hostsfile",
|
|
||||||
"kosmos_akaunting",
|
|
||||||
"kosmos_akaunting::default",
|
|
||||||
"apt::default",
|
|
||||||
"timezone_iii::default",
|
|
||||||
"timezone_iii::debian",
|
|
||||||
"ntp::default",
|
|
||||||
"ntp::apparmor",
|
|
||||||
"kosmos-base::systemd_emails",
|
|
||||||
"apt::unattended-upgrades",
|
|
||||||
"kosmos-base::firewall",
|
|
||||||
"kosmos-postfix::default",
|
|
||||||
"postfix::default",
|
|
||||||
"postfix::_common",
|
|
||||||
"postfix::_attributes",
|
|
||||||
"postfix::sasl_auth",
|
|
||||||
"hostname::default",
|
|
||||||
"kosmos-nodejs::default",
|
|
||||||
"nodejs::nodejs_from_package",
|
|
||||||
"nodejs::repo"
|
|
||||||
],
|
|
||||||
"platform": "ubuntu",
|
|
||||||
"platform_version": "22.04",
|
|
||||||
"cloud": null,
|
|
||||||
"chef_packages": {
|
|
||||||
"chef": {
|
|
||||||
"version": "18.5.0",
|
|
||||||
"chef_root": "/opt/chef/embedded/lib/ruby/gems/3.1.0/gems/chef-18.5.0/lib",
|
|
||||||
"chef_effortless": null
|
|
||||||
},
|
|
||||||
"ohai": {
|
|
||||||
"version": "18.1.11",
|
|
||||||
"ohai_root": "/opt/chef/embedded/lib/ruby/gems/3.1.0/gems/ohai-18.1.11/lib/ohai"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"run_list": [
|
|
||||||
"role[base]",
|
|
||||||
"role[kvm_guest]",
|
|
||||||
"role[akaunting]"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
"kosmos-bitcoin::dotnet",
|
"kosmos-bitcoin::dotnet",
|
||||||
"kosmos-bitcoin::nbxplorer",
|
"kosmos-bitcoin::nbxplorer",
|
||||||
"kosmos-bitcoin::btcpay",
|
"kosmos-bitcoin::btcpay",
|
||||||
|
"kosmos-bitcoin::price_tracking",
|
||||||
"apt::default",
|
"apt::default",
|
||||||
"timezone_iii::default",
|
"timezone_iii::default",
|
||||||
"timezone_iii::debian",
|
"timezone_iii::debian",
|
||||||
@@ -102,6 +103,7 @@
|
|||||||
"role[bitcoind]",
|
"role[bitcoind]",
|
||||||
"role[lnd]",
|
"role[lnd]",
|
||||||
"role[lndhub]",
|
"role[lndhub]",
|
||||||
"role[btcpay]"
|
"role[btcpay]",
|
||||||
|
"recipe[kosmos-bitcoin::price_tracking]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
"automatic": {
|
"automatic": {
|
||||||
"fqdn": "gitea-2",
|
"fqdn": "gitea-2",
|
||||||
"os": "linux",
|
"os": "linux",
|
||||||
"os_version": "5.4.0-1096-kvm",
|
"os_version": "5.4.0-1123-kvm",
|
||||||
"hostname": "gitea-2",
|
"hostname": "gitea-2",
|
||||||
"ipaddress": "192.168.122.189",
|
"ipaddress": "192.168.122.189",
|
||||||
"roles": [
|
"roles": [
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"automatic": {
|
"automatic": {
|
||||||
"fqdn": "her",
|
"fqdn": "her",
|
||||||
"os": "linux",
|
"os": "linux",
|
||||||
"os_version": "5.15.0-101-generic",
|
"os_version": "5.15.0-84-generic",
|
||||||
"hostname": "her",
|
"hostname": "her",
|
||||||
"ipaddress": "192.168.30.172",
|
"ipaddress": "192.168.30.172",
|
||||||
"roles": [
|
"roles": [
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
"kosmos_kvm::guest",
|
"kosmos_kvm::guest",
|
||||||
"kosmos_postgresql::primary",
|
"kosmos_postgresql::primary",
|
||||||
"kosmos_postgresql::firewall",
|
"kosmos_postgresql::firewall",
|
||||||
"kosmos_akaunting::pg_db",
|
|
||||||
"kosmos-bitcoin::lndhub-go_pg_db",
|
"kosmos-bitcoin::lndhub-go_pg_db",
|
||||||
"kosmos-bitcoin::nbxplorer_pg_db",
|
"kosmos-bitcoin::nbxplorer_pg_db",
|
||||||
"kosmos_drone::pg_db",
|
"kosmos_drone::pg_db",
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
name "akaunting"
|
|
||||||
|
|
||||||
run_list %w[
|
|
||||||
role[postgresql_client]
|
|
||||||
kosmos_akaunting::default
|
|
||||||
]
|
|
||||||
@@ -3,7 +3,6 @@ name "postgresql_primary"
|
|||||||
run_list %w(
|
run_list %w(
|
||||||
kosmos_postgresql::primary
|
kosmos_postgresql::primary
|
||||||
kosmos_postgresql::firewall
|
kosmos_postgresql::firewall
|
||||||
kosmos_akaunting::pg_db
|
|
||||||
kosmos-bitcoin::lndhub-go_pg_db
|
kosmos-bitcoin::lndhub-go_pg_db
|
||||||
kosmos-bitcoin::nbxplorer_pg_db
|
kosmos-bitcoin::nbxplorer_pg_db
|
||||||
kosmos_drone::pg_db
|
kosmos_drone::pg_db
|
||||||
|
|||||||
@@ -111,3 +111,5 @@ node.default['btcpay']['postgres']['user'] = 'satoshi'
|
|||||||
node.default['peerswap']['repo'] = 'https://github.com/ElementsProject/peerswap.git'
|
node.default['peerswap']['repo'] = 'https://github.com/ElementsProject/peerswap.git'
|
||||||
node.default['peerswap']['revision'] = 'master'
|
node.default['peerswap']['revision'] = 'master'
|
||||||
node.default['peerswap-lnd']['source_dir'] = '/opt/peerswap'
|
node.default['peerswap-lnd']['source_dir'] = '/opt/peerswap'
|
||||||
|
|
||||||
|
node.default['price_tracking']['rs_base_url'] = "https://storage.kosmos.org/kosmos/public/btc-price"
|
||||||
|
|||||||
59
site-cookbooks/kosmos-bitcoin/recipes/price_tracking.rb
Normal file
59
site-cookbooks/kosmos-bitcoin/recipes/price_tracking.rb
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
#
|
||||||
|
# Cookbook:: kosmos-bitcoin
|
||||||
|
# Recipe:: price_tracking
|
||||||
|
#
|
||||||
|
# Track BTC rates and publish them via remoteStorage
|
||||||
|
#
|
||||||
|
|
||||||
|
%w[curl jq].each do |pkg|
|
||||||
|
apt_package pkg
|
||||||
|
end
|
||||||
|
|
||||||
|
daily_tracker_path = "/usr/local/bin/btc-price-tracker-daily"
|
||||||
|
|
||||||
|
credentials = Chef::EncryptedDataBagItem.load('credentials', 'kosmos-rs')
|
||||||
|
|
||||||
|
template daily_tracker_path do
|
||||||
|
source "btc-price-tracker-daily.sh.erb"
|
||||||
|
mode '0740'
|
||||||
|
variables rs_base_url: node['price_tracking']['rs_base_url']
|
||||||
|
notifies :restart, "systemd_unit[lnd-channel-backup.service]", :delayed
|
||||||
|
end
|
||||||
|
|
||||||
|
systemd_unit 'btc-price-tracker-daily.service' do
|
||||||
|
content({
|
||||||
|
Unit: {
|
||||||
|
Description: 'BTC price tracker (daily rates)',
|
||||||
|
After: 'network-online.target',
|
||||||
|
Wants: 'network-online.target'
|
||||||
|
},
|
||||||
|
Service: {
|
||||||
|
Type: 'oneshot',
|
||||||
|
ExecStart: daily_tracker_path,
|
||||||
|
Environment: "RS_AUTH=#{credentials["auth_tokens"]["/btc-price"]}"
|
||||||
|
},
|
||||||
|
Install: {
|
||||||
|
WantedBy: 'multi-user.target'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
sensitive true
|
||||||
|
triggers_reload true
|
||||||
|
action [:create]
|
||||||
|
end
|
||||||
|
|
||||||
|
systemd_unit 'btc-price-tracker-daily.timer' do
|
||||||
|
content({
|
||||||
|
Unit: {
|
||||||
|
Description: 'Run BTC price tracker daily'
|
||||||
|
},
|
||||||
|
Timer: {
|
||||||
|
OnCalendar: '*-*-* 00:00:00',
|
||||||
|
Persistent: 'true'
|
||||||
|
},
|
||||||
|
Install: {
|
||||||
|
WantedBy: 'timers.target'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
triggers_reload true
|
||||||
|
action [:create, :enable, :start]
|
||||||
|
end
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Calculate yesterday's date in YYYY-MM-DD format
|
||||||
|
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
|
||||||
|
echo "Starting price tracking for $YESTERDAY" >&2
|
||||||
|
|
||||||
|
# Fetch and process rates for a fiat currency
|
||||||
|
get_price_data() {
|
||||||
|
local currency=$1
|
||||||
|
local data avg open24 last
|
||||||
|
|
||||||
|
data=$(curl -s "https://www.bitstamp.net/api/v2/ticker/btc${currency,,}/")
|
||||||
|
if [ $? -eq 0 ] && [ ! -z "$data" ]; then
|
||||||
|
echo "Successfully retrieved ${currency} price data" >&2
|
||||||
|
open24=$(echo "$data" | jq -r '.open_24')
|
||||||
|
last=$(echo "$data" | jq -r '.last')
|
||||||
|
avg=$(( (${open24%.*} + ${last%.*}) / 2 ))
|
||||||
|
else
|
||||||
|
echo "ERROR: Failed to retrieve ${currency} price data" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get price data for each currency
|
||||||
|
usd_avg=$(get_price_data "USD")
|
||||||
|
eur_avg=$(get_price_data "EUR")
|
||||||
|
gbp_avg=$(get_price_data "GBP")
|
||||||
|
|
||||||
|
# Create JSON
|
||||||
|
json="{\"EUR\":$eur_avg,\"USD\":$usd_avg,\"GBP\":$gbp_avg}"
|
||||||
|
|
||||||
|
# PUT in remote storage
|
||||||
|
response=$(curl -X PUT \
|
||||||
|
-H "Authorization: Bearer $RS_AUTH" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "$json" \
|
||||||
|
-w "%{http_code}" \
|
||||||
|
-s \
|
||||||
|
-o /dev/null \
|
||||||
|
"<%= @rs_base_url %>/$YESTERDAY")
|
||||||
|
|
||||||
|
if [ "$response" -eq 200 ] || [ "$response" -eq 201 ]; then
|
||||||
|
echo "Successfully uploaded price data" >&2
|
||||||
|
else
|
||||||
|
echo "ERROR: Failed to upload price data. HTTP status: $response" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@@ -231,7 +231,6 @@ modules:
|
|||||||
mod_shared_roster: {}
|
mod_shared_roster: {}
|
||||||
mod_stun_disco:
|
mod_stun_disco:
|
||||||
offer_local_services: false
|
offer_local_services: false
|
||||||
credentials_lifetime: 300
|
|
||||||
secret: <%= @stun_secret %>
|
secret: <%= @stun_secret %>
|
||||||
services:
|
services:
|
||||||
-
|
-
|
||||||
|
|||||||
25
site-cookbooks/kosmos_akaunting/.gitignore
vendored
25
site-cookbooks/kosmos_akaunting/.gitignore
vendored
@@ -1,25 +0,0 @@
|
|||||||
.vagrant
|
|
||||||
*~
|
|
||||||
*#
|
|
||||||
.#*
|
|
||||||
\#*#
|
|
||||||
.*.sw[a-z]
|
|
||||||
*.un~
|
|
||||||
|
|
||||||
# Bundler
|
|
||||||
Gemfile.lock
|
|
||||||
gems.locked
|
|
||||||
bin/*
|
|
||||||
.bundle/*
|
|
||||||
|
|
||||||
# test kitchen
|
|
||||||
.kitchen/
|
|
||||||
kitchen.local.yml
|
|
||||||
|
|
||||||
# Chef Infra
|
|
||||||
Berksfile.lock
|
|
||||||
.zero-knife.rb
|
|
||||||
Policyfile.lock.json
|
|
||||||
|
|
||||||
.idea/
|
|
||||||
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Policyfile.rb - Describe how you want Chef Infra Client to build your system.
|
|
||||||
#
|
|
||||||
# For more information on the Policyfile feature, visit
|
|
||||||
# https://docs.chef.io/policyfile/
|
|
||||||
|
|
||||||
# A name that describes what the system you're building with Chef does.
|
|
||||||
name 'kosmos_akaunting'
|
|
||||||
|
|
||||||
# Where to find external cookbooks:
|
|
||||||
default_source :supermarket
|
|
||||||
|
|
||||||
# run_list: chef-client will run these recipes in the order specified.
|
|
||||||
run_list 'kosmos_akaunting::default'
|
|
||||||
|
|
||||||
# Specify a custom source for a single cookbook:
|
|
||||||
cookbook 'kosmos_akaunting', path: '.'
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# kosmos_akaunting
|
|
||||||
|
|
||||||
TODO: Enter the cookbook description here.
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
node.default["akaunting"]["user"] = "deploy"
|
|
||||||
node.default["akaunting"]["group"] = "www-data"
|
|
||||||
node.default["akaunting"]["repo"] = "https://github.com/akaunting/akaunting.git"
|
|
||||||
node.default["akaunting"]["revision"] = "3.1.12"
|
|
||||||
node.default["akaunting"]["port"] = 80
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
# Put files/directories that should be ignored in this file when uploading
|
|
||||||
# to a Chef Infra Server or Supermarket.
|
|
||||||
# Lines that start with '# ' are comments.
|
|
||||||
|
|
||||||
# OS generated files #
|
|
||||||
######################
|
|
||||||
.DS_Store
|
|
||||||
ehthumbs.db
|
|
||||||
Icon?
|
|
||||||
nohup.out
|
|
||||||
Thumbs.db
|
|
||||||
.envrc
|
|
||||||
|
|
||||||
# EDITORS #
|
|
||||||
###########
|
|
||||||
.#*
|
|
||||||
.project
|
|
||||||
.settings
|
|
||||||
*_flymake
|
|
||||||
*_flymake.*
|
|
||||||
*.bak
|
|
||||||
*.sw[a-z]
|
|
||||||
*.tmproj
|
|
||||||
*~
|
|
||||||
\#*
|
|
||||||
REVISION
|
|
||||||
TAGS*
|
|
||||||
tmtags
|
|
||||||
.vscode
|
|
||||||
.editorconfig
|
|
||||||
|
|
||||||
## COMPILED ##
|
|
||||||
##############
|
|
||||||
*.class
|
|
||||||
*.com
|
|
||||||
*.dll
|
|
||||||
*.exe
|
|
||||||
*.o
|
|
||||||
*.pyc
|
|
||||||
*.so
|
|
||||||
*/rdoc/
|
|
||||||
a.out
|
|
||||||
mkmf.log
|
|
||||||
|
|
||||||
# Testing #
|
|
||||||
###########
|
|
||||||
.circleci/*
|
|
||||||
.codeclimate.yml
|
|
||||||
.delivery/*
|
|
||||||
.foodcritic
|
|
||||||
.kitchen*
|
|
||||||
.mdlrc
|
|
||||||
.overcommit.yml
|
|
||||||
.rspec
|
|
||||||
.rubocop.yml
|
|
||||||
.travis.yml
|
|
||||||
.watchr
|
|
||||||
.yamllint
|
|
||||||
azure-pipelines.yml
|
|
||||||
Dangerfile
|
|
||||||
examples/*
|
|
||||||
features/*
|
|
||||||
Guardfile
|
|
||||||
kitchen.yml*
|
|
||||||
mlc_config.json
|
|
||||||
Procfile
|
|
||||||
Rakefile
|
|
||||||
spec/*
|
|
||||||
test/*
|
|
||||||
|
|
||||||
# SCM #
|
|
||||||
#######
|
|
||||||
.git
|
|
||||||
.gitattributes
|
|
||||||
.gitconfig
|
|
||||||
.github/*
|
|
||||||
.gitignore
|
|
||||||
.gitkeep
|
|
||||||
.gitmodules
|
|
||||||
.svn
|
|
||||||
*/.bzr/*
|
|
||||||
*/.git
|
|
||||||
*/.hg/*
|
|
||||||
*/.svn/*
|
|
||||||
|
|
||||||
# Berkshelf #
|
|
||||||
#############
|
|
||||||
Berksfile
|
|
||||||
Berksfile.lock
|
|
||||||
cookbooks/*
|
|
||||||
tmp
|
|
||||||
|
|
||||||
# Bundler #
|
|
||||||
###########
|
|
||||||
vendor/*
|
|
||||||
Gemfile
|
|
||||||
Gemfile.lock
|
|
||||||
|
|
||||||
# Policyfile #
|
|
||||||
##############
|
|
||||||
Policyfile.rb
|
|
||||||
Policyfile.lock.json
|
|
||||||
|
|
||||||
# Documentation #
|
|
||||||
#############
|
|
||||||
CODE_OF_CONDUCT*
|
|
||||||
CONTRIBUTING*
|
|
||||||
documentation/*
|
|
||||||
TESTING*
|
|
||||||
UPGRADING*
|
|
||||||
|
|
||||||
# Vagrant #
|
|
||||||
###########
|
|
||||||
.vagrant
|
|
||||||
Vagrantfile
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
|
|
||||||
## The forwarded_port port feature lets you connect to ports on the VM guest
|
|
||||||
## via localhost on the host.
|
|
||||||
## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
|
|
||||||
|
|
||||||
# network:
|
|
||||||
# - ["forwarded_port", {guest: 80, host: 8080}]
|
|
||||||
|
|
||||||
provisioner:
|
|
||||||
name: chef_zero
|
|
||||||
|
|
||||||
## product_name and product_version specifies a specific Chef product and version to install.
|
|
||||||
## see the Chef documentation for more details: https://docs.chef.io/workstation/config_yml_kitchen/
|
|
||||||
# product_name: chef
|
|
||||||
# product_version: 17
|
|
||||||
|
|
||||||
verifier:
|
|
||||||
name: inspec
|
|
||||||
|
|
||||||
platforms:
|
|
||||||
- name: ubuntu-20.04
|
|
||||||
- name: centos-8
|
|
||||||
|
|
||||||
suites:
|
|
||||||
- name: default
|
|
||||||
verifier:
|
|
||||||
inspec_tests:
|
|
||||||
- test/integration/default
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
name 'kosmos_akaunting'
|
|
||||||
maintainer 'Kosmos Developers'
|
|
||||||
maintainer_email 'mail@kosmos.org'
|
|
||||||
license 'MIT'
|
|
||||||
description 'Installs/configures akaunting for Kosmos'
|
|
||||||
version '0.1.0'
|
|
||||||
chef_version '>= 18.0'
|
|
||||||
|
|
||||||
depends 'kosmos-nodejs'
|
|
||||||
@@ -1,148 +0,0 @@
|
|||||||
#
|
|
||||||
# Cookbook:: kosmos_akaunting
|
|
||||||
# Recipe:: default
|
|
||||||
#
|
|
||||||
|
|
||||||
app_name = "akaunting"
|
|
||||||
deploy_user = node["akaunting"]["user"]
|
|
||||||
deploy_group = node["akaunting"]["group"]
|
|
||||||
deploy_path = "/opt/#{app_name}"
|
|
||||||
credentials = data_bag_item("credentials", "akaunting")
|
|
||||||
pg_host = search(:node, "role:postgresql_primary").first["knife_zero"]["host"] rescue "localhost"
|
|
||||||
|
|
||||||
env = {
|
|
||||||
app_name: "Akaunting",
|
|
||||||
app_env: "production",
|
|
||||||
app_locale: "en-US",
|
|
||||||
app_installed: "true",
|
|
||||||
app_key: credentials["app_key"],
|
|
||||||
app_debug: "true",
|
|
||||||
app_schedule_time: "\"09:00\"",
|
|
||||||
app_url: "http://akaunting.kosmos.org",
|
|
||||||
db_connection: "pgsql",
|
|
||||||
db_host: pg_host,
|
|
||||||
db_port: "5432",
|
|
||||||
db_database: credentials["pg_database"],
|
|
||||||
db_username: credentials["pg_username"],
|
|
||||||
db_password: credentials["pg_password"],
|
|
||||||
log_level: "debug"
|
|
||||||
# mail_mailer: "mail",
|
|
||||||
# mail_host: "localhost",
|
|
||||||
# mail_port: "2525",
|
|
||||||
# mail_username: "null",
|
|
||||||
# mail_password: "null",
|
|
||||||
# mail_encryption: "null",
|
|
||||||
# mail_from_name: "null",
|
|
||||||
# mail_from_address: "null",
|
|
||||||
}
|
|
||||||
|
|
||||||
%w[
|
|
||||||
unzip nginx php8.1 php8.1-cli php8.1-bcmath php8.1-ctype php8.1-curl
|
|
||||||
php8.1-dom php8.1-fileinfo php8.1-intl php8.1-fpm php8.1-gd php8.1-mbstring
|
|
||||||
php8.1-pdo php8.1-pgsql php8.1-tokenizer php8.1-xml php8.1-zip
|
|
||||||
].each do |pkg|
|
|
||||||
package pkg
|
|
||||||
end
|
|
||||||
|
|
||||||
# TODO install composer
|
|
||||||
|
|
||||||
node.override["nodejs"]["repo"] = "https://deb.nodesource.com/node_18.x"
|
|
||||||
include_recipe "kosmos-nodejs"
|
|
||||||
|
|
||||||
group deploy_group
|
|
||||||
|
|
||||||
user deploy_user do
|
|
||||||
group deploy_group
|
|
||||||
manage_home true
|
|
||||||
shell "/bin/bash"
|
|
||||||
end
|
|
||||||
|
|
||||||
directory deploy_path do
|
|
||||||
owner deploy_user
|
|
||||||
group deploy_group
|
|
||||||
mode "0775"
|
|
||||||
end
|
|
||||||
|
|
||||||
git deploy_path do
|
|
||||||
repository node[app_name]["repo"]
|
|
||||||
revision node[app_name]["revision"]
|
|
||||||
user deploy_user
|
|
||||||
group deploy_group
|
|
||||||
action :sync
|
|
||||||
notifies :run, "execute[composer_install]", :immediately
|
|
||||||
notifies :run, "execute[npm_install]", :immediately
|
|
||||||
notifies :restart, "service[php8.1-fpm]", :delayed
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "composer_install" do
|
|
||||||
user deploy_user
|
|
||||||
cwd deploy_path
|
|
||||||
command "composer install"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "npm_install" do
|
|
||||||
user deploy_user
|
|
||||||
cwd deploy_path
|
|
||||||
command "npm install"
|
|
||||||
action :nothing
|
|
||||||
notifies :run, "execute[compile_assets]", :immediately
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "compile_assets" do
|
|
||||||
user deploy_user
|
|
||||||
cwd deploy_path
|
|
||||||
command "npm run prod"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "set_storage_permissions" do
|
|
||||||
command "chown -R www-data:www-data #{deploy_path}/storage"
|
|
||||||
end
|
|
||||||
|
|
||||||
template "#{deploy_path}/.env" do
|
|
||||||
source 'env.erb'
|
|
||||||
owner deploy_user
|
|
||||||
group deploy_group
|
|
||||||
mode 0660
|
|
||||||
sensitive true
|
|
||||||
variables config: env
|
|
||||||
notifies :restart, "service[php8.1-fpm]", :delayed
|
|
||||||
end
|
|
||||||
|
|
||||||
template "/etc/nginx/sites-available/default" do
|
|
||||||
source 'nginx-local.conf.erb'
|
|
||||||
owner deploy_user
|
|
||||||
group deploy_group
|
|
||||||
mode 0660
|
|
||||||
variables deploy_path: deploy_path,
|
|
||||||
port: node["akaunting"]["port"]
|
|
||||||
notifies :restart, "service[nginx]", :delayed
|
|
||||||
end
|
|
||||||
|
|
||||||
# template "/etc/php/8.1/fpm/pool.d/akaunting.conf" do
|
|
||||||
# source 'php-fpm.pool.erb'
|
|
||||||
# owner deploy_user
|
|
||||||
# group deploy_group
|
|
||||||
# mode 0600
|
|
||||||
# variables user: deploy_user,
|
|
||||||
# group: deploy_group,
|
|
||||||
# chdir: deploy_path,
|
|
||||||
# port: node["akaunting"]["port"]
|
|
||||||
# notifies :restart, "service[php8.1-fpm]", :delayed
|
|
||||||
# end
|
|
||||||
|
|
||||||
service "php8.1-fpm" do
|
|
||||||
action [:enable, :start]
|
|
||||||
end
|
|
||||||
|
|
||||||
service "nginx" do
|
|
||||||
action [:enable, :start]
|
|
||||||
end
|
|
||||||
|
|
||||||
firewall_rule "akaunting_zerotier" do
|
|
||||||
command :allow
|
|
||||||
port node["akaunting"]["port"]
|
|
||||||
protocol :tcp
|
|
||||||
source "10.1.1.0/24"
|
|
||||||
end
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#
|
|
||||||
# Cookbook:: kosmos_akaunting
|
|
||||||
# Recipe:: pg_db
|
|
||||||
#
|
|
||||||
|
|
||||||
credentials = data_bag_item("credentials", "akaunting")
|
|
||||||
|
|
||||||
postgresql_user credentials["pg_username"] do
|
|
||||||
action :create
|
|
||||||
password credentials["pg_password"]
|
|
||||||
end
|
|
||||||
|
|
||||||
postgresql_database credentials["pg_database"] do
|
|
||||||
owner credentials["pg_username"]
|
|
||||||
action :create
|
|
||||||
end
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<% @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 %>
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80 default_server;
|
|
||||||
|
|
||||||
server_name akaunting.kosmos.org;
|
|
||||||
|
|
||||||
root <%= @deploy_path %>;
|
|
||||||
|
|
||||||
add_header X-Frame-Options "SAMEORIGIN";
|
|
||||||
add_header X-XSS-Protection "1; mode=block";
|
|
||||||
add_header X-Content-Type-Options "nosniff";
|
|
||||||
|
|
||||||
index index.html index.htm index.php;
|
|
||||||
|
|
||||||
charset utf-8;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.php?$query_string;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prevent Direct Access To Protected Files
|
|
||||||
location ~ \.(env|log) {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prevent Direct Access To Protected Folders
|
|
||||||
location ~ ^/(^app$|bootstrap|config|database|overrides|resources|routes|storage|tests|artisan) {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prevent Direct Access To modules/vendor Folders Except Assets
|
|
||||||
location ~ ^/(modules|vendor)\/(.*)\.((?!ico|gif|jpg|jpeg|png|js\b|css|less|sass|font|woff|woff2|eot|ttf|svg|xls|xlsx).)*$ {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
error_page 404 /index.php;
|
|
||||||
|
|
||||||
# Pass PHP Scripts To FastCGI Server
|
|
||||||
location ~ \.php$ {
|
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
|
||||||
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # Depends On The PHP Version
|
|
||||||
fastcgi_index index.php;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /\.(?!well-known).* {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
[akaunting]
|
|
||||||
user = <%= @user %>
|
|
||||||
group = <%= @group %>
|
|
||||||
listen = 0.0.0.0:<%= @port %>
|
|
||||||
listen.owner = <%= @user %>
|
|
||||||
listen.group = <%= @group %>
|
|
||||||
listen.mode = 0660
|
|
||||||
|
|
||||||
pm = dynamic
|
|
||||||
pm.max_children = 10
|
|
||||||
pm.start_servers = 4
|
|
||||||
pm.min_spare_servers = 2
|
|
||||||
pm.max_spare_servers = 6
|
|
||||||
pm.max_requests = 500
|
|
||||||
|
|
||||||
chdir = <%= @chdir %>
|
|
||||||
catch_workers_output = yes
|
|
||||||
php_admin_flag[log_errors] = on
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Chef InSpec test for recipe kosmos_akaunting::default
|
|
||||||
|
|
||||||
# The Chef InSpec reference, with examples and extensive documentation, can be
|
|
||||||
# found at https://docs.chef.io/inspec/resources/
|
|
||||||
|
|
||||||
unless os.windows?
|
|
||||||
# This is an example test, replace with your own test.
|
|
||||||
describe user('root'), :skip do
|
|
||||||
it { should exist }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# This is an example test, replace it with your own test.
|
|
||||||
describe port(80), :skip do
|
|
||||||
it { should_not be_listening }
|
|
||||||
end
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
node.default["gitea"]["version"] = "1.22.5"
|
node.default["gitea"]["version"] = "1.22.6"
|
||||||
node.default["gitea"]["checksum"] = "ce2c7e4fff3c1e3ed59f5b5e00e3f2d301f012c34e329fccd564bc5129075460"
|
node.default["gitea"]["checksum"] = "fd77f1a0273c85a0950207c1cfa6753a9fa57604e4ab1382484b191cc919ce15"
|
||||||
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"
|
||||||
|
|||||||
Reference in New Issue
Block a user