The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
#!/usr/local/bin/bash
|
|
|
|
# shellcheck disable=SC1003
|
|
|
|
|
|
|
|
# yml Parser function
|
|
|
|
# Based on https://gist.github.com/pkuczynski/8665367
|
2020-04-26 15:56:13 +00:00
|
|
|
#
|
|
|
|
# This function is very picky and complex. Ignore with shellcheck for now.
|
|
|
|
# shellcheck disable=SC2086,SC2155
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
parse_yaml() {
|
2020-04-26 15:56:13 +00:00
|
|
|
local prefix=${2}
|
|
|
|
local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \
|
2020-04-26 12:55:22 +00:00
|
|
|
-e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" "${1}" |
|
2020-04-26 15:56:13 +00:00
|
|
|
awk -F$fs '{
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
indent = length($1)/2;
|
|
|
|
vname[indent] = $2;
|
|
|
|
for (i in vname) {if (i > indent) {delete vname[i]}}
|
|
|
|
if (length($3) > 0) {
|
|
|
|
vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")}
|
|
|
|
printf("export %s%s%s=\"%s\"\n", "'$prefix'",vn, $2, $3);
|
|
|
|
}
|
|
|
|
}'
|
|
|
|
}
|
|
|
|
|
|
|
|
# automatic update function
|
|
|
|
gitupdate() {
|
|
|
|
echo "checking for updates using Branch: $1"
|
|
|
|
git fetch
|
|
|
|
git update-index -q --refresh
|
2020-04-26 12:55:22 +00:00
|
|
|
CHANGED=$(git diff --name-only origin/"$1")
|
|
|
|
if [ -n "$CHANGED" ];
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
then
|
|
|
|
echo "script requires update"
|
|
|
|
git reset --hard
|
2020-04-26 12:55:22 +00:00
|
|
|
git checkout "${1}"
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
git pull
|
2020-04-06 21:40:09 +00:00
|
|
|
echo "script updated, please restart the script manually"
|
The Birth of JailMan (#2)
* move ex (+25 squashed commit)
Squashed commit:
[e5e9c57] verb
[16b023f] exp
[e0299d9] easier
[67fcf93] no message
[404687f] different
[bd82e7c] test
[14b91d9] mod
[f2bb227] test again
[a9d5ad0] again
[0dcb106] with bash
[7324c15] more
[8ec72d5] another test
[0933fdc] again
[a5247df] test more
[ee61137] temp test
[c90aa90] add some more tests
[9f8e47a] make executable
[ac84788] rename part 2
[890c3ca] rename part 1
[f17e571] test create
[9bd8ecd] typo aqgain
[eb865a7] test2
[fb57e28] typo
[595d9e9] make executable
[5d1ae75] first steps
* test5 (+22 squashed commit)
Squashed commit:
[f059ada] tweaks
[5c325de] again
[9f59aa6] ip4
[9990a77] Standardised creation
[0a6fa7f] whoops
[620d07c] no message
[2a98559] error
[62e9c39] hmmm
[9f8e4df] no message
[d1e9025] puzzle
[73aa99b] substitution try 1
[117e75e] other sub
[7c080b0] more flexible
[a0778f4] testzoveel
[739a3bf] fix
[f881425] no message
[1962b83] oops
[994692c] no message
[b6dd2a2] test
[6713186] echo
[6d8d95a] test
[f8c3740] quote processing
* small update fix (+18 squashed commit)
Squashed commit:
[8f0c2aa] Basic update
[c44eae5] simplification
[b1e9314] define basic pkgs
[1a55a85] define global pkgs
[6829d30] dirtest
[5d2a215] checking for install script existance
[d936df3] 1
[fcc7403] hmm
[08e7e07] exit 0
[380da4d] jail interfaces
[634f12e] make all executable
[0f2728c] add first test jail
[8320d77] restructure individual install scripts
[752b375] Standardise
[cbab837] itterate through jails
[37ecc1d] if array is without elements
[0a9e899] moving it to arrays
[cc356ee] mockup jailman
* moving docs,fixing test thingy (+27 squashed commit)
Squashed commit:
[76e856b] rc.d pathing
[4e1b178] fixing some pathing bugs
[e9e9648] quotes
[7c5aa9e] test10 fixes
[e8858cc] sonarr first steps
[0cb1efe] exit on invalid option
[e3451da] exit on unknown option
[60a1f9c] exit
[0536c11] test idea
[81d3465] hmm
[cb3b935] work on h
[1311fea] enable help
[aa8d55a] space?
[5ef67e0] add comment to global
[61be2fa] Add commenting and in-script help
[aac8557] Testing broken config
[ecc1142] oops
[e0059be] condition fix
[9628297] Add check for missing network settings
[44be2bc] Creating DHCP option, working on default example config.
[b0fe910] Adding documentation, setting up Jackett
[0045b2b] strucutre
[fbe3d20] includes first
[a1b032d] gitupdate space
[1b503b5] update fix
[512f597] add update feature
[e9b8359] add initial upgrade script
* Create LICENSE (#1)
* to 30
* move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit)
Squashed commit:
[095aa36] added py ks to readme
[28526d8] Setup KMS
[82f7bfa] Exeuction fix
[89de700] finish organizr and setup first steps of kms
[0624952] Add dummy cert generation
[2583e39] slight nginx mod
[3b3da6a] fixed again
[7f5807b] Readme and fix for wrong copy
[6cab6ca] Make tautulli permanent and prepare organizr
[6801447] Tautulli setup, plex to permanent
[6198469] also fix update if
[49cff5d] if fix 2
[4c436c4] fixing plex if
[1adf56f] Add first go at plex support
[446dff6] fixing some linking and dataset creation
[6dee179] forgot to set yaml files
[4e767de] settings file is not needed at all
[8ff9d73] setup lidarr, begin setup for transmission
[8f8d9ee] Fixing wrong echo's, adding *arr to readme
[7aab5f0] lidarr test setup, making radarr final, yaml restructure
[3113f71] some dataset creation tweaks
[286437b] movies, much
[181cf3e] test setup
[6477b74] Sonarr done, radarr next
* set to master and make executable
2020-03-06 20:32:55 +00:00
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
echo "script up-to-date"
|
|
|
|
fi
|
|
|
|
}
|
2020-03-13 22:59:05 +00:00
|
|
|
|
|
|
|
jailcreate() {
|
|
|
|
echo "Checking config..."
|
|
|
|
jailname="${1}"
|
|
|
|
jailpkgs="${1}_pkgs"
|
|
|
|
jailinterfaces="${1}_interfaces"
|
|
|
|
jailip4="${1}_ip4_addr"
|
|
|
|
jailgateway="${1}_gateway"
|
|
|
|
jaildhcp="${1}_dhcp"
|
|
|
|
setdhcp=${!jaildhcp}
|
|
|
|
|
|
|
|
if [ -z "${!jailinterfaces}" ]; then
|
|
|
|
jailinterfaces="vnet0:bridge0"
|
|
|
|
else
|
|
|
|
jailinterfaces=${!jailinterfaces}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${setdhcp}" ] && [ -z "${!jailip4}" ] && [ -z "${!jailgateway}" ]; then
|
|
|
|
echo 'no network settings specified in config.yml, defaulting to dhcp="on"'
|
|
|
|
setdhcp="on"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${!jailname}" ]; then
|
|
|
|
echo "ERROR, jail not defined in config.yml"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
echo "Creating jail for $1"
|
2020-04-26 12:55:22 +00:00
|
|
|
# shellcheck disable=SC2154
|
2020-03-13 22:59:05 +00:00
|
|
|
pkgs="$(sed 's/[^[:space:]]\{1,\}/"&"/g;s/ /,/g' <<<"${global_jails_pkgs} ${!jailpkgs}")"
|
2020-04-26 12:55:22 +00:00
|
|
|
echo '{"pkgs":['"${pkgs}"']}' > /tmp/pkg.json
|
2020-03-13 22:59:05 +00:00
|
|
|
if [ "${setdhcp}" == "on" ]
|
|
|
|
then
|
2020-04-26 12:55:22 +00:00
|
|
|
# shellcheck disable=SC2154
|
|
|
|
if ! iocage create -n "${1}" -p /tmp/pkg.json -r "${global_jails_version}" interfaces="${jailinterfaces}" dhcp="on" vnet="on" allow_raw_sockets="1" boot="on" -b
|
2020-03-13 22:59:05 +00:00
|
|
|
then
|
|
|
|
echo "Failed to create jail"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
2020-04-26 12:55:22 +00:00
|
|
|
# shellcheck disable=SC2154
|
|
|
|
if ! iocage create -n "${1}" -p /tmp/pkg.json -r "${global_jails_version}" interfaces="${jailinterfaces}" ip4_addr="vnet0|${!jailip4}" defaultrouter="${!jailgateway}" vnet="on" allow_raw_sockets="1" boot="on" -b
|
2020-03-13 22:59:05 +00:00
|
|
|
then
|
|
|
|
echo "Failed to create jail"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm /tmp/pkg.json
|
|
|
|
echo "creating jail config directory"
|
2020-04-26 12:55:22 +00:00
|
|
|
# shellcheck disable=SC2154
|
|
|
|
createmount "${1}" "${global_dataset_config}"
|
|
|
|
createmount "${1}" "${global_dataset_config}"/"${1}" /config
|
2020-03-13 22:59:05 +00:00
|
|
|
|
2020-04-07 11:28:51 +00:00
|
|
|
# Create and Mount portsnap
|
|
|
|
echo "Mounting and fetching ports"
|
2020-04-26 12:55:22 +00:00
|
|
|
createmount "${1}" "${global_dataset_config}"/portsnap
|
|
|
|
createmount "${1}" "${global_dataset_config}"/portsnap/db /var/db/portsnap
|
|
|
|
createmount "${1}" "${global_dataset_config}"/portsnap/ports /usr/ports
|
2020-04-07 11:28:51 +00:00
|
|
|
|
2020-04-26 12:55:22 +00:00
|
|
|
iocage exec "${1}" "if [ -z /usr/ports ]; then portsnap fetch extract; else portsnap auto; fi"
|
2020-04-07 11:28:51 +00:00
|
|
|
|
2020-04-26 12:55:22 +00:00
|
|
|
echo "Jail creation completed for ${1}"
|
2020-03-13 22:59:05 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
# $1 = jail name
|
|
|
|
# $2 = Dataset
|
|
|
|
# $3 = Target mountpoint
|
|
|
|
# $4 = fstab prefernces
|
|
|
|
createmount() {
|
|
|
|
if [ -z "$2" ] ; then
|
|
|
|
echo "ERROR: No Dataset specified to create and/or mount"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
if [ ! -d "/mnt/$2" ]; then
|
|
|
|
echo "Dataset does not exist... Creating... $2"
|
2020-04-26 12:55:22 +00:00
|
|
|
zfs create "${2}"
|
2020-03-13 22:59:05 +00:00
|
|
|
else
|
|
|
|
echo "Dataset already exists, skipping creation of $2"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$1" ] && [ -n "$3" ]; then
|
2020-04-26 12:55:22 +00:00
|
|
|
iocage exec "${1}" mkdir -p "${3}"
|
|
|
|
if [ -n "${4}" ]; then
|
|
|
|
iocage fstab -a "${1}" /mnt/"${2}" "${3}" "${4}"
|
2020-03-13 22:59:05 +00:00
|
|
|
else
|
2020-04-26 12:55:22 +00:00
|
|
|
iocage fstab -a "${1}" /mnt/"${2}" "${3}" nullfs rw 0 0
|
2020-03-13 22:59:05 +00:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "No Jail Name or Mount target specified, not mounting dataset"
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
export -f createmount
|