Compare commits
16 Commits
b03628f8de
...
feature/bw
| Author | SHA1 | Date | |
|---|---|---|---|
|
d156883605
|
|||
|
825c2b78a5
|
|||
|
|
1c5cd1afcc | ||
|
68a6635c5e
|
|||
|
|
23b5cd5bc1 | ||
| a9fdce52dc | |||
|
|
09961d2bdb | ||
|
a551f86e37
|
|||
|
e2c9e783e6
|
|||
|
cafdc07631
|
|||
|
963ba3d785
|
|||
|
88133daf7e
|
|||
|
c0103496a1
|
|||
|
73c370b360
|
|||
|
2d96ed9348
|
|||
|
e86533701a
|
10
.idea/jsonSchemas.xml
generated
10
.idea/jsonSchemas.xml
generated
@@ -106,6 +106,16 @@
|
||||
<option name="applicationDefined" value="true" />
|
||||
<option name="patterns">
|
||||
<list>
|
||||
<Item>
|
||||
<option name="pattern" value="true" />
|
||||
<option name="path" value="*/compose.yml" />
|
||||
<option name="mappingKind" value="Pattern" />
|
||||
</Item>
|
||||
<Item>
|
||||
<option name="pattern" value="true" />
|
||||
<option name="path" value="*/compose.yml.j2" />
|
||||
<option name="mappingKind" value="Pattern" />
|
||||
</Item>
|
||||
<Item>
|
||||
<option name="pattern" value="true" />
|
||||
<option name="path" value="*/docker-compose.yml" />
|
||||
|
||||
12
Makefile
12
Makefile
@@ -1,19 +1,23 @@
|
||||
.POSIX:
|
||||
.PHONY: *
|
||||
.EXPORT_ALL_VARIABLES:
|
||||
MAKEFLAGS += -r # no use of built-in rules
|
||||
|
||||
env ?= staging
|
||||
vault_id ?= alpina@contrib/rbw-client.sh
|
||||
|
||||
clean_desired ?= false
|
||||
playbook_cmd := poetry run ansible-playbook --vault-id ${vault_id} -i inventories/${env}
|
||||
|
||||
all: site
|
||||
all: site services
|
||||
|
||||
setup:
|
||||
poetry install --quiet
|
||||
|
||||
site: setup
|
||||
poetry run ansible-playbook --vault-id ${vault_id} -i inventories/${env} --extra-vars "clean_desired_arg=${clean_desired}" site.yml
|
||||
$(playbook_cmd) site.yml
|
||||
|
||||
services: setup
|
||||
poetry run ansible-playbook --vault-id ${vault_id} -i inventories/${env} services.yml
|
||||
$(playbook_cmd) services.yml
|
||||
|
||||
clean: setup
|
||||
$(playbook_cmd) clean.yml
|
||||
|
||||
3
contrib/bws-client.sh
Normal file
3
contrib/bws-client.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
bws secret get --output env "e4fca935-28fa-4ca5-bcc9-b19d018ae606"
|
||||
16
contrib/bws_client.py
Normal file
16
contrib/bws_client.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import os
|
||||
|
||||
from bitwarden_sdk import BitwardenClient
|
||||
|
||||
ACCESS_TOKEN = os.getenv('BWS_ACCESS_TOKEN')
|
||||
assert ACCESS_TOKEN is not None, 'BWS_ACCESS_TOKEN environment variable is not set'
|
||||
SECRET_ID = 'e4fca935-28fa-4ca5-bcc9-b19d018ae606'
|
||||
|
||||
def main():
|
||||
client = BitwardenClient()
|
||||
client.auth().login_access_token(ACCESS_TOKEN)
|
||||
secret = client.secrets().get(SECRET_ID).data.value
|
||||
print(secret, end='')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -6,23 +6,38 @@ default:
|
||||
- subnet: {{ docker_ipv6_subnet | ansible.utils.ipsubnet(80, subnet_index) }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro traefik_labels(host, service="", port="", auth=false) %}
|
||||
{% macro traefik_labels(host, port='', path_prefix='', auth=false, wildcard=false) %}
|
||||
{% set name = host ~ (wildcard * '-*') ~ path_prefix -%}
|
||||
{% set tls_base = domain %}
|
||||
{% if wildcard -%}
|
||||
{% set tls_base = host ~ '.' ~ domain %}
|
||||
{%- endif -%}
|
||||
|
||||
traefik.enable=true
|
||||
- traefik.http.routers.{{ host }}.rule=Host(`{{ host }}.{{ domain }}`)
|
||||
- traefik.http.routers.{{ host }}.entrypoints=web
|
||||
- traefik.http.routers.{{ host }}-tls.rule=Host(`{{ host }}.{{ domain }}`)
|
||||
- traefik.http.routers.{{ host }}-tls.entrypoints=websecure
|
||||
- traefik.http.routers.{{ host }}-tls.tls=true
|
||||
- traefik.http.routers.{{ host }}-tls.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.{{ host }}-tls.tls.domains.0.main={{ domain }}
|
||||
- traefik.http.routers.{{ host }}-tls.tls.domains.0.sans=*.{{ domain }}
|
||||
{% if service -%}
|
||||
- traefik.http.routers.{{ host }}.service={{ service }}
|
||||
{% endif %}
|
||||
- traefik.http.routers.r-{{ name }}.rule={{ host_rule(host, path_prefix, wildcard) }}
|
||||
- traefik.http.routers.r-{{ name }}.entrypoints=websecure
|
||||
- traefik.http.routers.r-{{ name }}.tls=true
|
||||
- traefik.http.routers.r-{{ name }}.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.r-{{ name }}.tls.domains.0.main={{ tls_base }}
|
||||
- traefik.http.routers.r-{{ name }}.tls.domains.0.sans=*.{{ tls_base }}
|
||||
{% if port -%}
|
||||
- traefik.http.services.{{ host }}.loadbalancer.server.port={{ port }}
|
||||
- traefik.http.routers.r-{{ name }}.service=svc-{{ name }}
|
||||
- traefik.http.services.svc-{{ name }}.loadbalancer.server.port={{ port }}
|
||||
{% endif %}
|
||||
{% if auth -%}
|
||||
- traefik.http.routers.{{ host }}-tls.middlewares=authentik@docker
|
||||
- traefik.http.routers.r-{{ name }}.middlewares=authentik@docker
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro host_rule(host, path_prefix="", wildcard=false) %}
|
||||
{% if wildcard %}
|
||||
{# regular a.host prevents warnings from 'No domain found in rule HostRegexp' #}
|
||||
{# TODO: figure out this stupidity properly #}
|
||||
Host(`a.{{ host }}.{{ domain }}`) || HostRegexp(`^.+\.{{ host }}\.{{ domain | replace('.', '\.') }}$`)
|
||||
{%- else %}
|
||||
Host(`{{ host }}.{{ domain }}`)
|
||||
{%- endif %}
|
||||
{% if path_prefix -%}
|
||||
&& PathPrefix(`{{ path_prefix }}`)
|
||||
{%- endif %}
|
||||
{% endmacro %}
|
||||
|
||||
@@ -5,7 +5,11 @@ alpina_svc_path: ~/alpina
|
||||
base_volume_path: /mnt/dock
|
||||
media_volume_path: /mnt/media
|
||||
|
||||
traefik_subnet: 172.16.122.0
|
||||
docker_ipv6_subnet: "{{ \
|
||||
ansible_default_ipv6.address \
|
||||
| ansible.utils.ipsubnet(64) \
|
||||
| ansible.utils.ipsubnet(72, docker_ipv6_index) \
|
||||
}}"
|
||||
|
||||
# Authentik
|
||||
authentik_db_password: "{{ vault_authentik_db_password }}"
|
||||
@@ -18,6 +22,7 @@ auth_gitea_client_secret: "{{ vault_auth_gitea_client_secret }}"
|
||||
auth_nextcloud_client_secret: "{{ vault_auth_nextcloud_client_secret }}"
|
||||
arrstack_password: "{{ vault_arrstack_password }}"
|
||||
auth_vpgen_client_secret: "{{ vault_auth_vpgen_client_secret }}"
|
||||
auth_pgrok_client_secret: "{{ vault_auth_pgrok_client_secret }}"
|
||||
|
||||
auth_default_enrollment_group: vpgen
|
||||
|
||||
@@ -52,6 +57,8 @@ redis_password: "{{ vault_redis_password }}"
|
||||
nextcloud_sendgrid_api_key: "{{ vault_nextcloud_sendgrid_api_key }}"
|
||||
|
||||
# VPGen
|
||||
vpgen_auth_invite_token: "{{ vault_vpgen_auth_invite_token }}"
|
||||
|
||||
vpgen_opnsense_api_url: https://opnsense.cazzzer.com
|
||||
vpgen_opnsense_api_key: "{{ vault_vpgen_opnsense_api_key }}"
|
||||
vpgen_opnsense_api_secret: "{{ vault_vpgen_opnsense_api_secret }}"
|
||||
@@ -62,3 +69,9 @@ vpgen_ip_max_index: 100
|
||||
vpgen_vpn_endpoint: "{{ vault_vpgen_vpn_endpoint }}"
|
||||
vpgen_vpn_dns: "{{ vault_vpgen_vpn_dns }}"
|
||||
vpgen_max_clients_per_user: 20
|
||||
|
||||
# Woodpecker
|
||||
woodpecker_agent_secret: "{{ vault_woopecker_agent_secret }}"
|
||||
|
||||
# Pgrok
|
||||
pgrok_db_password: "{{ vault_pgrok_db_password }}"
|
||||
|
||||
@@ -1,138 +1,158 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
38376439643766303237356563616337663731366435613930393135383962666435313530663632
|
||||
3432326162343632613565393737363335306263653032300a643539393562376162333761376631
|
||||
62343731316430316638363338343966326635383930623339383339653936343765316439393233
|
||||
6562323634383363300a323233346338393764623363346139313661386433656337363332656230
|
||||
31306233643735333033316139363165373062363334363933396563366234316330646230353261
|
||||
62326539663337323036346533303031333730373061656563613535376162633138306634626462
|
||||
37313038356466336138643834643863393333373939616362636365366231383762633030313831
|
||||
33393139313336623437396161623437323163633362363137626262653462633737373062643735
|
||||
63353561313639393166306466346134623933323532636438656263663338376337376434356163
|
||||
64343239616632313566656664393136363337386464613932383961343134363233653039336137
|
||||
65656566306463313264646163646130323533666464323464643433313030346535346535323264
|
||||
34356433343739343166383034313935666139663239653662663734343139343035616134303730
|
||||
39643136623735666333646234346239303337333961343261383834393963386633633030633962
|
||||
61376132313532643730633865326130666565303631386262396366306565613665363934383335
|
||||
37376139616165396436663135373932653064656136356662363137653036383537613665393634
|
||||
38313063656637353630373634316564383362663335356364626161663163323362333937316461
|
||||
64336636386234623438613766316430353261346339313863306462393335636131363966363038
|
||||
66393561323335393063663838393466656331323433376461653838313638303564666662636438
|
||||
38663735616261656338626437336433613730353236636266316536656165303534353538316232
|
||||
62363063376464323932383261663537393263333266633461326536656533653661303335646431
|
||||
36616436396137343634373563386439653833306537373735353764346430616231313538636362
|
||||
30363430613839373761363032316137636432643339383561313637376339323836353161343639
|
||||
36316665656164396236383538346561306432333637393431393566333566633434393961663330
|
||||
32383833396238633966393837336564626135653733383863346161663364353062303931303931
|
||||
39653662373734643037393832643439653437353935666430373337643532346161376661633738
|
||||
61643431633431666535333463636461613166363238373138306565643533623039353031646634
|
||||
62383662663435346635373865633731393362623761313834393964623930646364366534333236
|
||||
35393138346433366435313066633436393561643263343534393034373161343834633261363933
|
||||
65376636393263663566653436633762643331336139653565663334373561353130653065653935
|
||||
31616337313764313532303934376236623833363433336335303262643135643339613839623231
|
||||
37343730616166323239653537313137373136626337333665633134363830626131353030393662
|
||||
31643366386365353336326133636434303636343637643539653131316133306132643133643364
|
||||
64636464373564383938663838613031626563613362626435383832346661306562343165643539
|
||||
66353431393032313262393566353833343632366139656234306561366139633431653133356165
|
||||
32363332636433626132666462626137653337646234646565303831646330333133353964626461
|
||||
37333265623865376562663365336339353036346135363062663534643537353331623630356264
|
||||
66386665333633383534313062623533383239383231333163663565633531666236306465633135
|
||||
36363164636165343863363866343437636630353863316633623761373232643262623762316162
|
||||
32613665306535626139366564616362393536336364666663333761383362393631316134373138
|
||||
32616665363164363639303538373539346239663261373731613464333734326436666433666539
|
||||
31656264326535626134323231646535656563363231633434636337323538343038303233363765
|
||||
61393164316237323533313336316530316431653731343261636265393361616464323536333130
|
||||
65346538306664663566666435393738323832396365363764333637613331356661306535376332
|
||||
62313533306365373737643835396364363737306631346161353031633531383364636563383237
|
||||
64633432386565356137333730313736393737303665326531356265376333663636393430386233
|
||||
33666532616632373061633063656136646533363034363330366231653936396166663134396139
|
||||
66393131653963386365656364666263666362316136333561326566626562616138383739346139
|
||||
62343035646435393136656434646138376331346164663562306166646132363230333538323536
|
||||
38643934613633373734653337666261356639353235326539356264633232343834633062336539
|
||||
31616536663730656163626437653932313564633938643163313765393731386533323465303831
|
||||
34353663363862363761643565633635373834623665653131613531373637386361636661376532
|
||||
64386435643966343034643763393461373961626134346539653865636161333962333463393734
|
||||
62343838363432396133326235323636613239326139376365353930373835313531326433326234
|
||||
66396537636162363865663433626230316362343334653735646637613130636436633132663538
|
||||
64623230303266373965616533346464373661363233613837613765343463306136623063313139
|
||||
31383039343462363536646636653736316362356565326538636331646235373162663332313961
|
||||
64623061636638666234623336656365383165626461323561343930316432313632316332306334
|
||||
61376430303835383934396266303564363230313735366464386134393265326334663633663632
|
||||
38643034393737303963643733656333316137646435653666353239373738373632383561646333
|
||||
65363865353362383832643238363332613931343038366563316163303764323936316466666364
|
||||
31373439383661656336653431666164393833643266656133383137376133636134643137663532
|
||||
33353531663336346562653339616430333133363232336461353937303435346337363932306133
|
||||
37623164343462363830323263323664303334633563313439376232303031633633316636383164
|
||||
66306238333432333635653435383138383339343837346134613630353335656335663062326132
|
||||
65323638343963623062663638366538363162343230323262616138373239653163623832313366
|
||||
65323834383631646164316363383636643437346435313030656362653332653635343066666232
|
||||
39346235383265326262306434383861653138393835663863383032363664323565316165646566
|
||||
61646238393062373131346536343533663839313831383335316363343465663130633133393436
|
||||
66333465633636353639663836376561353839613533346164366238353833636534633338313262
|
||||
30656433376362346333303630643639353262323532666238633764363132303161326638643761
|
||||
36616131636538613539383935613337643930333334613566393031646630383330656164363361
|
||||
37306536356164633831626362653364313164356235653464333633313263383032333439626434
|
||||
65376531396661636661303831393062666362623966353739303330393631323963373564353265
|
||||
61343862323737336238356231626561396333386264666563356235333339653538626130623936
|
||||
63326431316538346534313764356333396565666431633833613337323136643137306166623238
|
||||
66393561333137373964353935323930636237366433613038383761643665363330323865386133
|
||||
37623339613733353366656637383030623663313639363334656361623035643232626633313864
|
||||
36346564653766646333613763616163363462613937656534363461376235613064373039326165
|
||||
32666265383065636232613632333830633439653066653666663261646536663434393535613131
|
||||
30373062313765663038313534623165653833623330383032363063393239373234636630646561
|
||||
38633962363530666638666630316434613462656335613236363831313863613030636539356133
|
||||
66386133383433663964306661636131633236633935633236623530373864646363383534383735
|
||||
63633165626464333332303331333338313838393832626637626137316338643136336333633930
|
||||
61346436336635656639616261383666336330333862303139633137373362303033653432613039
|
||||
35623663353538323761623839623438646363313164356631386364356533346133333334326565
|
||||
32303837663261386463313535373765356166376165386535623838326431616564346632363732
|
||||
62373231356530346632373134343865303532326136653731633038353066623435336462303138
|
||||
37363039343433613939363663623135396636396433653362666164323237393664623564393532
|
||||
61376463336564396537366365373936333666373432376566323864343735636264643139643063
|
||||
66396230303336633438666234336434353866323637316334313162363734623763666338336234
|
||||
39303330343035333864396631323231363134646238323065356138633131323135613133356237
|
||||
34373562633430613062313261363939373632313838333934303165336562663839663833383763
|
||||
39316632656561653033613933373861366361353761346539306234366538373461373930306535
|
||||
66623430343336333033306135303639646566393336663538313430616364653933663536386535
|
||||
64323962353734356134656361663131376564626461386233643731393664353038626464313763
|
||||
64396265373737313134613962376334373965353338303363303935353538643561336461393032
|
||||
37356434343837376534663938366434343063643966643965346465636166363235643635333466
|
||||
38323664366366663363616664336165653264633437393636363866316262303432356461386330
|
||||
63326539626363333331366162363230626462656633653866383331333164663734633630353265
|
||||
63303832376230646136346261383965626633613739616330666232376366613332663839336531
|
||||
32343031336363663865643165666435623462376130326433316562363530343662366432313031
|
||||
63626538656633346563663735323030363231643933326337613634376531636235333339373633
|
||||
66353362333265343964353966383363613336636536393734363363623363316532653533633434
|
||||
39333162303834353362323362656630343733653336613065333462626637303264653361393462
|
||||
32336238326535383662636465383832346438333230666662633430303964343236626331623536
|
||||
65383666316431646538396661386332323037383666336138666135613763363633343934663836
|
||||
32656362323631303732613235663135633939643165626231373162643963613637626235613365
|
||||
32326266323431636434633234333730373836373039666137663232323539396364373061393232
|
||||
30646432666365333336333836313333363537363163383034656136383164663331373632313564
|
||||
34353731363338323438366464663938393632626530323537306233613866356234323364373766
|
||||
34326662656263383864613538326536626133386532303932326362376632363631356535393937
|
||||
33346462336636656165316166363364343330383337636361656438383661333366633532616131
|
||||
37313033623430663039626131303933316561666233613666636433363537373264653331323136
|
||||
66663532653233373735326333333738663931343735306262353831303330633136623966316431
|
||||
39316462313066336536623438626163383139343532313932316435356431323865373035343465
|
||||
30346237393531353833616136323431376530333635633632666431313938643539363831313539
|
||||
38396338336136363165323135663836336139623865666631663237616664636233653663383965
|
||||
39623665656563316334323738323730306631636565393662313536353565383033653365663461
|
||||
38326432353166376438356238386161396638666131636536356333393563613461373263346538
|
||||
36656138353762323662363061613764633466303566353338626666646533616137393336333333
|
||||
30393733316636353266653039346237363830333831383535646531616130353534633062643135
|
||||
64373533646462313035383236333866313866366130663863363162613234393762646662666233
|
||||
30653666353333366365343036643462346361303536363935396133343166303339623461376563
|
||||
39333163636466646534356337656431376663623833303235303534633634386665636162346634
|
||||
34646665633639663763316339663539663261333436363935316334656330313835616138626237
|
||||
35623363393532633937653132303635396536646635633062393661616538303631663136363038
|
||||
35623539303963383063343338653130643233636537356264323238633839303337383665393333
|
||||
36303330393638643464646535653833626531343634626531396261363139326336623765623039
|
||||
32613237636366376463343766303964336661363432646436373963626537373137396661633766
|
||||
63633830663035663764303634643662333464353234646232343066306131336533396435313239
|
||||
66366630643564313665306130656463633065646430373334336664633264353336376439666137
|
||||
65366537366462623136353539373961333238373733663837373430663865643334393565333861
|
||||
35363035343561633164613631633532623164376339633630393633396437333034376339656538
|
||||
32653030626434326632386635383739663932393331333062656565303939373566653031613839
|
||||
31363162666330393232646562333833633266643165316464623533623539356339333365623966
|
||||
65323638396531346261303835373138333262323466656263643737343734303237303638353036
|
||||
3733
|
||||
39313964356339363432393662666162343133633033316465636433323339323931303866646635
|
||||
3630663865626431396563346365363636383637626263620a633332623365643765386566356336
|
||||
65356439386565306461313863633835623031656136393039326366623137333536363836316563
|
||||
3062356431346539330a366534646239353934363137373662343862393365373835653530336166
|
||||
34613763626630316431326133366461363030663137366536393764356437323235343438326237
|
||||
36656234653363623836303863346233616661623135383130663930333365373733663134323234
|
||||
39666233643733653336386234613563656134396638373561323432313631633166386266323865
|
||||
66313630333332316662643434646465343861643461373631396538663763633263323738616330
|
||||
37316561663231366336383539306130396631643839383563643363623362376266356565363434
|
||||
31306634356162383839613464386664633237343461646132366439613563623732346362363534
|
||||
39636635396133336330373938366236646237393866316136663537363138636239636638386363
|
||||
37623131636133343062306139666666393566333665356566313530383033636534383132373765
|
||||
31303362303237623337323632373161306138353666633462386165633935626536396135363330
|
||||
62633233316664656166306438653039306564633336616661306366306634333734353866313765
|
||||
30386236643033303537336562643431306232656162663066643238353662303533616130303335
|
||||
61643436333063313164353366346564336366663431663636653334326262626635326264653938
|
||||
37393136336336656538366533626566366365313837383236653762653464666336353862313434
|
||||
64646431363462643839643937646537306433616565303466626530386366373934376665303638
|
||||
63653164623231636539643332356162353134646130626365393166373932386530313030336136
|
||||
30303138373432306665376432646664336461303564333535636463373232303661323336633536
|
||||
63366363393161613832356362356437666365333062303635363961343739373739343364646331
|
||||
63383131363430393331666331613965666239393865346234646632353962333531346239333333
|
||||
39643832386363353461366332366138366134333638666664383434353262376263386531346262
|
||||
36383365613764363135343765313863306135373062613362313761353165613166613966366363
|
||||
37616163643230343062336462666233666438643332343963666161333631663532653733376239
|
||||
37383335623337343761643936333264383766373137393964636138663362643064363666643130
|
||||
39636639646264303333623036373439636566346437643539656531303534376139613832396638
|
||||
37373736343538663062633132376164386635333038656338373037633033623238633035333130
|
||||
65316330393261326139373331386239636230376237386664386134663131343836393464646362
|
||||
39366434313034383561623664343530633165316438333830346330653730613264656661303061
|
||||
34393863306465373639306531643534366464393365373264316136653334356530376366303330
|
||||
31383137306439616362313861396633333430626463326531336533323038333336313337396338
|
||||
64636161333839366536643662653563613138633331316166333766666537386666616161313531
|
||||
62363666646635656233363962346333393861303165643130333435613436366131393463663162
|
||||
34623536316363643539663261373830316638383439326431373866646436616635303466343830
|
||||
33303362356166333338333265633366353538353135353933383939343562633433333337363564
|
||||
37366536343066326338313262313830623263356464323565373362356631303538646366373635
|
||||
31343861626636313530343964656133333031326634333434643037393436313833306133396563
|
||||
61333636646437623963666265666565623965386364376430666662336365363762316639343939
|
||||
66303164303161396463363265393966306636616231633838366437626162323465356430643333
|
||||
66663633353462646334663034373465343432626638383237383330313932663930663962656665
|
||||
62363133306632613062393830316135333965623963643337336638366236343533323832633564
|
||||
66643331623263393966343930613430646438386563646235363837376230373365346462633937
|
||||
37333431346363303630313265626533373662613332383236313736663534306132653635333464
|
||||
30643761613762353536613531326334336138323934393832393765613533666432616631396337
|
||||
36373261313236666365656563316330313061336664646230393931616264643864623263333132
|
||||
33336263663164343962383366333264633735383731613939383333343265366166346534326538
|
||||
31636136643466623037333334396162333435303062313861626435623134386432333065383865
|
||||
62343435396233376366656365303966633533633232303763616234396365306338326562363234
|
||||
65313437396534346661643365363533363133663133613733316331663364326131613464653133
|
||||
63386535366138636436616666613664663632376430623063343030393631386233346133373466
|
||||
39386436313566636662306438373932386232353865363736383962353864373132363564393133
|
||||
38343439313766323035363238336335333063323730396161303634313738663931316262613164
|
||||
61623939666263323563313131383064386632663132336234373132316430306431636535393663
|
||||
66653835396431626633616236666365333264306662333865663739623430656563393133393938
|
||||
37633665633961326162666232386338316432633139386233393834376533326333343435643562
|
||||
32353664383436633832356662326265613636636534346432356534303061633337313139323138
|
||||
66303064366636316537333735336232303964333139626161373138373765303464633835623333
|
||||
66623862343636343134363266666164666432393835316165333465363736643735643134636364
|
||||
65383037646633613564363436663235616530643631356462383337396437653437613933653739
|
||||
64396434343839393638363866386234393132396262363637643466333439656464326364393231
|
||||
39333635643165666331636230333931663561663532326338366136343832613862616466623132
|
||||
37653139343235656335336566356631663938646631626562363130393031346133326562656366
|
||||
38623633346632393263663536623131316662646130633533333431666162353834363537633631
|
||||
36643439313734396365633533303930626431376132656439393838306662363934663764373939
|
||||
65623136363239636161343162363265313036346332333864366363663933356264663935653762
|
||||
61306135366562613162616538303334626433633731613530613837323433306235393338613532
|
||||
35626366613535326363643864663863303734373435636664653931613462336332353334323365
|
||||
37616539343335386636306138656233396238636137636130663035336365653230666436663030
|
||||
63653136636162386630656538636338646531336335363737333062383138646538356137353837
|
||||
61306235303564653065653034633762653466376530653338383362613766313563636232613934
|
||||
63373466613136663035646134623335383037653231333035323036653264636161623766643332
|
||||
35323530386333333563373565356130393836343137656361316437343235343235623539333963
|
||||
36396565336233373433643466643330623434363261643933666332386536323332643466363135
|
||||
64353464386365313862323032363932656662376464323830326432313737336166373764303034
|
||||
66343664613839323731643463323239303138303234316564626438663031613763393532376531
|
||||
30333037386138306466313332346139363238323736656463633038323261363862666433663865
|
||||
34333464363637313362303863356236376531643161646632303265646337616532323039373562
|
||||
31316262643764353937336433343630396534653831376231626338643033353939363562636535
|
||||
62326634396538393564353531343461353137613932386531353362313262653363623633373131
|
||||
33353861373136663162383439616131303639313931616633333538363436353934636530303461
|
||||
30346237373331356335656632633632353735386433313934323031646339386631373838366331
|
||||
35303736373432343361643439316333386233633634393464343164633161643436306637336234
|
||||
62373136303263323133303839333438633038356161653839333139383633366333616363303766
|
||||
34313236306462366261336331306634373538316435623963313335383130653732323032663234
|
||||
65626131353839373137346166633164303462336234666230383664383139323036393732373531
|
||||
32653034326134626133313363613432663366373739653332376364636139666261353536303437
|
||||
33626332376361653930356261316162623134303135346235616165323632353538653661393261
|
||||
37373561616237353133646466313262633632383533656632633431643131333366306662653361
|
||||
39653066326564383461623035636136613035613962623131633734663262313532653366306530
|
||||
38366132323030346262366262363231303737646131633931363162383461333262316564383861
|
||||
32313537323637363163646335333566333463366265323438386230333765396334646436623234
|
||||
62653233306433643261373262376535616365363065346431333331653164306463643033333930
|
||||
34383533336536613233663630656561653034333134326563613538613134633038356265343839
|
||||
36303266303363666335323831613430373536346336333934643338373064646365386365316633
|
||||
37303565653565653334643463323137366137346538613632343131383235326339333235373562
|
||||
36326230333734373365376239306664616433373664343462383961366636383263333764646362
|
||||
32383463343130313931656436613235336561383165613737643835396264616262356431333564
|
||||
36313965323164393633653330366666393337363831653763343938653464383235623236343332
|
||||
30653034386136643961323034346262613566373534333464653235636164393931393131316662
|
||||
65656462623431613239336431313239343762643731663438323333613661343462633038333264
|
||||
31303435313431373461623564396336386131383565376162386439383562653036373262643662
|
||||
37326634646233326461633236336364356133383135326638623063313332616539353538663432
|
||||
31396135396430646635323335323666646265646339333838326261393963383331356334303630
|
||||
63313465356233363636336136356336366333636261613663663433343535323563663062626361
|
||||
35323161376466383966343963306237396362323736666331633235383832376364343037656433
|
||||
33326638396232396666393939303735636337313730363137663839393662613333393061386536
|
||||
35353132366432623336333331386234326139653435376261366631356538303562383034623338
|
||||
66353834633161313462663531623762356561393535656535613663393137663436313466633364
|
||||
33313533343633376638333339653834313231393131363866333961393639393665373638353930
|
||||
39653831613563313537333137323633613536363536613335363836336339613135346330626335
|
||||
63323038626462656435343431326663643332363962393863393461336334616637316462363538
|
||||
33333762393164396435646266376534363861633430643265646662626630643035396466363537
|
||||
63386233663130373335376334353630386662306563323736623265333230623136356664666639
|
||||
32316139386165623264616466353765613239313635653635343439666337656335393334323939
|
||||
66393331653266316330633535636534663436316235373231626664393565303161643730323537
|
||||
36373063326339326339653232323331663532653337343638653236306263313264323734303465
|
||||
33363239653634623630393961346139343230363135393830336139386130356239346430306238
|
||||
61616433343566393962656532333833363036373235386530303237653537363139373962386364
|
||||
32336231613362353131623263313539623330663632646135313038346161346135353233303965
|
||||
39356331626465613036376266376264396563373239333834336337383332646536346636623666
|
||||
31386536343964643433616638386161383935386165363230643131336439623835326136646161
|
||||
39343035383039396235653364396638656334396231323263636534633932386161616233343063
|
||||
61373462366235383564313762366334313137363636333732313663356233653133323537663331
|
||||
64636336663862303335316432393663653436313834323231663730623562373333346634303138
|
||||
31353662333139626133623564333863363565616466353266343737616163386432636631613136
|
||||
34313530383934336138336535373562636366653663383238376136376561306532383933336236
|
||||
62613361613539663030323832666430356138376236383335393538306131333061313339323163
|
||||
32313131383134663838393462343963623962613638656462356664303132386233363063316266
|
||||
35656635333861366435396638653934663935306230373962346633613431353461373933316435
|
||||
35373134643562616662656130396266613365326565666536653732333635346338643435376264
|
||||
65323237386565363431653930373137633330363764663063393335633638653036623732316464
|
||||
66373863303364333534316464636130633665383439626531383466313330393233663933666438
|
||||
36333535636562396361643564343534626436373961636261666135386635316331326164316565
|
||||
34386565636538633361613235303862303231343664363465373363306461356333363764356163
|
||||
65396533626238356331346434383435343135326135366235393862663861636361363032613266
|
||||
34633631653261653230396338363762376563613138303533653530636666313864303334626261
|
||||
34346436316564663632303634343837303065306530306662343062633738653635653164656465
|
||||
36393239373763666131343739303132616366353365636338333263326539343862623462653639
|
||||
64616430663033663162306335303230643131633763633635306464346431393237666536343130
|
||||
35366231386237666331383132373835616365316665353235623735363530626266366437326537
|
||||
32326230306562343830666135326464383834623461643465336131356332376235623735633232
|
||||
62663535303661376465303533306530636366356632626137353135336264356266366335396539
|
||||
31616661363065366136323061303764366332326362653036353562336561336166316664346661
|
||||
63303835626463303731376337366265653931343238316631333032656535376439313335326265
|
||||
62383761623437323862643035333832653065396439303738343336653961623563383964326338
|
||||
38613464653530373938333737316133353064356362323933383765363566343638303233616233
|
||||
63333039363063616464616465313166626262363030326565346461313034633432643232356336
|
||||
65306534366234333562333764653539333935613166313065646430343834653833386434613436
|
||||
62613033313632623236663731343533643864373139613739336135353833386438353461626336
|
||||
64336334646139633633656266633034373461656539633238383531356537396439363233633466
|
||||
64663639383166303261303864383137623236643934356665623537363839396565633863376639
|
||||
64376131356637333562663731393437653236393366303830323239643736386464326539636234
|
||||
61353939356465656465666263336232373733326331623831376539336438373265666135306134
|
||||
64303736346431633332633635633839663235373864323664343830393336376336633235373164
|
||||
64326335326664376530313838386266613632633764373430643663306434303263613234616438
|
||||
6230
|
||||
@@ -1 +0,0 @@
|
||||
domain: cazzzer.com
|
||||
@@ -1,6 +1,8 @@
|
||||
# Environment specific variables (prod)
|
||||
|
||||
---
|
||||
domain: cazzzer.com
|
||||
|
||||
docker_ipv6_index: 255
|
||||
|
||||
# Arrstack VPN
|
||||
@@ -18,3 +20,7 @@ google_consumer_secret: "{{ vault_google_consumer_secret }}"
|
||||
# VPGen
|
||||
vpgen_ipv4_starting_addr: 10.18.11.100
|
||||
vpgen_ipv6_starting_addr: "{{ vault_vpgen_ipv6_starting_addr }}"
|
||||
|
||||
# Woodpecker
|
||||
woodpecker_gitea_client_id: 3b7515f3-6005-4512-a2ee-5464dba315f8
|
||||
woodpecker_gitea_client_secret: "{{ vault_woodpecker_gitea_client_secret }}"
|
||||
|
||||
@@ -1,27 +1,32 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
64376262343730306465343137353235393430646535633031646432363631643061656336313962
|
||||
6661643832613835353937313832393762613430616338360a356137373036343037316635666366
|
||||
62643132656233663933353239653438316238353363326539353038383436613038356137643836
|
||||
6265373939326266640a376162333266313333653339383533303639393932373266356361313763
|
||||
65346235626430323232393161643932316161383564393663343039626431366130353066636265
|
||||
63643639383162326235373636393435316338393431393166663835623739356562633435373438
|
||||
30393630623261353134313038643464306637383738303163353937316261313263613264393939
|
||||
37363037616230623732663866656665666664393835313836393237303234303866393437393833
|
||||
34376335353133613938663861323062623763323463316563363439623030653033373538323436
|
||||
38333863353333323364396431373030386636366330323562663831376531333661613337303835
|
||||
35643464396332333436633036326563613863636238353837643965303862636665303362336162
|
||||
34623430353061613364643436343736613734326332316465356333626534303166636638336236
|
||||
36613362666337616635316330396635616165346666396465303861386162353836333332663931
|
||||
64663838646332316363376339666632336238613365636666623137663564313665363461393163
|
||||
35303735613734393439376339396466643065316432383236393633376461316534623535396464
|
||||
62386464396534333561323539646336623464623033333835356439353632373033373736393134
|
||||
30666435306632336433383562303238363361313735323439366638333033653761393061303130
|
||||
36633536356264376366383335623534323436383361373037383931313766353534363663336462
|
||||
39353064306439306135623863643163393762333366303665623432386462333466626535613464
|
||||
65613031666530303163353534323032396264666464303639383038343537303839633831373039
|
||||
61323437313737623530663532626530613935353431306138623239386136323334636163343432
|
||||
65633933643630643634336639393866353739653638656366356163343132656666336232643731
|
||||
65363639623262613132646366353235626237646532373233626162643434396362313033653637
|
||||
36333035646634616138313863386637346466393262363833313135343964666630623736343666
|
||||
64373638333066343666306334366332366530623138306636633166613739363635303138633434
|
||||
3439326265613564666639363362643037653733393336363232
|
||||
36313835643238353932323631323439626432316436346533376365633332313963666433313333
|
||||
6134633133636133623130376237373462383164396338380a316463396139653161366536636336
|
||||
64346664356538366538363239306631326464633635316161663963326635656430326637333963
|
||||
6462633236353132300a323062353639646238663737353461633733636530613036316364353864
|
||||
34326534376639643734303137613866393464306334336566653134333765356361386436323939
|
||||
35393535303635376162386266396431313739663961643061623037343463303637623130623131
|
||||
31653761616639613964386432643561376637316435333064343837636463303033333432636234
|
||||
39323735373161616133396566316266383165343033666530376333626264643531613334363634
|
||||
35393766623361346461333764666139366632306362613362376133363239656562346263643066
|
||||
65616538366532346537383432663766366161633234373562623531356339666661346164306563
|
||||
35343339386631383462656466303563376237386137346437323634626163353464356462346364
|
||||
35373061636237383335396231326563366230663566333665326338303564326263316630666233
|
||||
65303930663862313137333630353837363265333532303133306466643462626662613166326132
|
||||
66346439333739653965346236313766346532356233333164633538326135643662623533646561
|
||||
65626530386333303362343830653430653866336261623566616362313739303939656364656363
|
||||
37336331353766633534653936626139303061623531323362346564363665663438646533646166
|
||||
62376534653562373138656465666133353235313935626534383537643436376665613865303363
|
||||
62326562396361306131616363363866316232623635353663323537366563333239383636643763
|
||||
35623366663463303831323730363036306363643364303532326339353633393739306366396331
|
||||
33313230656431623462376135623438633164323064653866646165643263383832353138633931
|
||||
66306463346361646561376334613837383762366365666638643434383034376339643239646463
|
||||
66343461363233626635323535336462666339323032616136396239396534346434623238396330
|
||||
37653665643366323362313136386231396532323035363963623738346564356435303263303832
|
||||
37346532366432363638363330316464366361313461626535616165333433343835393565633766
|
||||
32663162386562373035333335303332323136613233613431386265626337653939326435396262
|
||||
61303631633838613962346663326232636438393563396230306361333335383462653432383766
|
||||
35376662353262303635316635363130383032366530396439613861653037383234363831333562
|
||||
37343332646534353838626366623361636261393865363633303631613837323733626264643835
|
||||
63376430613234386463336234623062656534643863656434386134616265333666613939393331
|
||||
39333166393538306135313431303831623063363533326330633062653333313733653831383736
|
||||
613864303461323739336563356161353234
|
||||
@@ -1,2 +1,2 @@
|
||||
[alpina]
|
||||
debbi.lab.home
|
||||
debbi.sys.cazzzer.com
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
domain: lab.cazzzer.com
|
||||
@@ -1,6 +1,8 @@
|
||||
# Environment specific variables (staging)
|
||||
|
||||
---
|
||||
domain: lab.cazzzer.com
|
||||
|
||||
docker_ipv6_index: 254
|
||||
|
||||
# Arrstack VPN
|
||||
@@ -18,3 +20,7 @@ google_consumer_secret: "{{ vault_google_consumer_secret }}"
|
||||
# VPGen
|
||||
vpgen_ipv4_starting_addr: 10.18.11.50
|
||||
vpgen_ipv6_starting_addr: "{{ vault_vpgen_ipv6_starting_addr }}"
|
||||
|
||||
# Woodpecker
|
||||
woodpecker_gitea_client_id: c7122416-b160-498b-8021-8f2837552588
|
||||
woodpecker_gitea_client_secret: "{{ vault_woodpecker_gitea_client_secret }}"
|
||||
|
||||
@@ -1,27 +1,32 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
66646463303166643563376162636432643963336537343738383763653232316661383864373761
|
||||
3539643230626437623736353630663865376630663765650a666266663366393833396461303665
|
||||
61663961623036383039323239333361396564343836363662326237666464363439643336613336
|
||||
6562666639313461330a613831316232623963396136343638643133376430373634316133653432
|
||||
65633339623833303866343130386433633065326466333636353362306362663830333934393364
|
||||
35613338316631333438623230623131626431633930313664616237396666326665633965373333
|
||||
33636234666561656333623836633562363130346665623839353734616437303562623530613432
|
||||
31313037366232613335613262336334393966326139633332613733326335383130316265613038
|
||||
35366162623737666331636435643234383634663964666465666563396262336134306636343830
|
||||
30373831393232373664666564316134316266376134323538366130383962396566386161303461
|
||||
31336333633135323631373763346631656132346334356233303630643166323565393736336236
|
||||
39343231313132316663613734323833303935333162643862623632316662653736303266336635
|
||||
37316435633464343761656262326538633730616239366330363736323761653061306139623335
|
||||
33363066383636633461353534396433653161393132313034373165653563646234653764306539
|
||||
32653239613566653762613364653863313334653437646166643537633530613463653966383538
|
||||
37343834326162393739333066623066613566313265626562333537366230393938613931366638
|
||||
36316364383361366461396136353063363233353865373062643963646266643763363938376265
|
||||
34623333316264383035373266313437353161666537376535333830616435383830366166316136
|
||||
33643132316534383466343366303764633031353961363033663662636364613132343862653066
|
||||
39376136323662383866666136656361396263666338623133346436353938316464346363303761
|
||||
39656133653736646137396437396133373765376337623832653232383531663930663037323462
|
||||
66373630633737356138333532333265393964313739336363663265613363636464623232316539
|
||||
37353164393965616363346666303330613438306136363037313065666662656535356437663262
|
||||
37306264626431396336326362653764316536396366393533336164663861366462653964656465
|
||||
64366139333535383065643033343632323837633036323439376134373966613739626261376436
|
||||
3133326138613735316230353965656239303263386638373339
|
||||
36343339366166383430383235626463376339653331333635623936653135633633353064613634
|
||||
3263306161376232356634363532653266366665333364650a636365393465383165306563346132
|
||||
37653564633630653635353464333939353266396562316663653933373065353536333130383065
|
||||
3864353332303164320a316439313164663736636465366539643131303663343861333164613561
|
||||
37383965373964313535313335643164376164323263613539643933333035323837373662303030
|
||||
66636465303566313334386435326433653032383962353739643861346161323738636366396239
|
||||
39623336336234376339343562656362323932383265313161396435346530663330353266323433
|
||||
66396538313365653963323164306464663565303364386466666636346533633661333634313236
|
||||
33623936616239613264613730363039366561646535633239633564656166343162303633373366
|
||||
37656163333838656533363735383332626632353237613666396633363531666366336630613064
|
||||
66626561663766376531313666663963643766393965653564333062653139336230356330383464
|
||||
38343562383430303132663964303736623238386562323033623861303432363363373934643332
|
||||
63363239323664333131306237336134613137653136633932356238343733393632616464366134
|
||||
33623038363032653134626337663863366663383433633134326239616136656139366535613565
|
||||
61646330356330396236303566363834613236653733643162666536303435643133346633353632
|
||||
62386135303262353332643135636164303963616234626132356161663463366434323864626261
|
||||
33356536626263626261343937386666396561306334346435316262333431353234303836356563
|
||||
31343566373935396633636133616265346235396333396664333534336162323039623937656336
|
||||
36656133383966613333646336613039626563353862646238376461373264633233313836333062
|
||||
30343134363862626630393035643762376435346532306462363437646238333463396230666465
|
||||
64386365393063613139313164366562643066323461313364393265393638643137386561633530
|
||||
65643861386531323836306339386462656530383533363831323461303131396666626464303136
|
||||
64343865616235616366633136393662623862383961323338366435396334653538303830616166
|
||||
39636164613466313033643639366635323666666235653633333436613133343962353664313838
|
||||
64356466393239666131363964643461346633313030643061643938643232343334313731636463
|
||||
37396637643232353539626239306463623237623534366666396164613135356136313534663231
|
||||
36613662653237343061316463386231656136383636393034333666633063613731316162333464
|
||||
64313866633062623530326233633166343434636639346565346337396461393637383333366435
|
||||
62393030383963396638653230613431623837353461313630343333376131616239313164336234
|
||||
62323739316536353835613032303438623230626563303934626466303934613566656232323663
|
||||
643265386333313065333737613438316532
|
||||
@@ -1,2 +1,2 @@
|
||||
[alpina]
|
||||
etappi.lab.home
|
||||
etappi.sys.cazzzer.com
|
||||
|
||||
236
poetry.lock
generated
236
poetry.lock
generated
@@ -1,28 +1,30 @@
|
||||
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "ansible"
|
||||
version = "10.7.0"
|
||||
version = "11.5.0"
|
||||
description = "Radically simple IT automation"
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
python-versions = ">=3.11"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "ansible-10.7.0-py3-none-any.whl", hash = "sha256:0089f08e047ceb70edd011be009f5c6273add613fbe491e9697c0556c989d8ea"},
|
||||
{file = "ansible-10.7.0.tar.gz", hash = "sha256:59d29e3de1080e740dfa974517d455217601b16d16880314d9be26145c68dc22"},
|
||||
{file = "ansible-11.5.0-py3-none-any.whl", hash = "sha256:d20bc30f44a35678ca5f05868084f2f52a8bb6f024e85dc80639f6ac4364cc61"},
|
||||
{file = "ansible-11.5.0.tar.gz", hash = "sha256:18a3fc73120a49ade9a9a67eb8f9d4f5009d2106c34ffeb9663ad928b76ed59b"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
ansible-core = ">=2.17.7,<2.18.0"
|
||||
ansible-core = ">=2.18.5,<2.19.0"
|
||||
|
||||
[[package]]
|
||||
name = "ansible-core"
|
||||
version = "2.17.7"
|
||||
version = "2.18.5"
|
||||
description = "Radically simple IT automation"
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
python-versions = ">=3.11"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "ansible_core-2.17.7-py3-none-any.whl", hash = "sha256:64d4f0a006687a5621aa80dca54fd0c5ae75145b7aac8c1b8d7f07a1399c4705"},
|
||||
{file = "ansible_core-2.17.7.tar.gz", hash = "sha256:3aaab735d6c4e2d6239bc326800dc0ecda2a1490caa8455b41084ec0bc54dacf"},
|
||||
{file = "ansible_core-2.18.5-py3-none-any.whl", hash = "sha256:4a1e75a24969d0a650d399bffbaf5a76d7c9b96a21a199a939fe836c3452718d"},
|
||||
{file = "ansible_core-2.18.5.tar.gz", hash = "sha256:319304d161770a8a891c07dec8a22c528548a948a7097eaf1a79939395105535"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -38,6 +40,7 @@ version = "2.1.0"
|
||||
description = "R/W an ansible-vault yaml file"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "ansible-vault-2.1.0.tar.gz", hash = "sha256:5ce8fdb5470f1449b76bf07ae2abc56480dad48356ae405c85b686efb64dbd5e"},
|
||||
]
|
||||
@@ -47,27 +50,46 @@ ansible = "*"
|
||||
setuptools = "*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["black", "flake8", "isort[pyproject]", "pytest"]
|
||||
dev = ["black ; python_version >= \"3.6\"", "flake8 ; python_version >= \"3.6\"", "isort[pyproject] ; python_version >= \"3.6\"", "pytest"]
|
||||
release = ["twine"]
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "24.3.0"
|
||||
version = "25.3.0"
|
||||
description = "Classes Without Boilerplate"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"},
|
||||
{file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"},
|
||||
{file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"},
|
||||
{file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
||||
cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
||||
dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
||||
docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
|
||||
tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
||||
tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"]
|
||||
benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"]
|
||||
cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"]
|
||||
dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"]
|
||||
docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"]
|
||||
tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"]
|
||||
tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""]
|
||||
|
||||
[[package]]
|
||||
name = "bitwarden_sdk"
|
||||
version = "1.0.0"
|
||||
description = "A Bitwarden Client for python"
|
||||
optional = false
|
||||
python-versions = ">=3.0"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "bitwarden_sdk-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2fae1101b527ffdceed2f817d16d20076a5949df9fc64184053f09ff79f035f3"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
dateutils = ">=0.6.6"
|
||||
|
||||
[package.source]
|
||||
type = "url"
|
||||
url = "https://files.pythonhosted.org/packages/dc/3a/42f4ae601947e39a48cb3e23e672fe467bb9ed22ebe869778860cece8c4a/bitwarden_sdk-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl"
|
||||
|
||||
[[package]]
|
||||
name = "cffi"
|
||||
@@ -75,6 +97,8 @@ version = "1.17.1"
|
||||
description = "Foreign Function Interface for Python calling C code."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
markers = "platform_python_implementation != \"PyPy\""
|
||||
files = [
|
||||
{file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"},
|
||||
{file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"},
|
||||
@@ -150,59 +174,87 @@ pycparser = "*"
|
||||
|
||||
[[package]]
|
||||
name = "cryptography"
|
||||
version = "44.0.0"
|
||||
version = "44.0.3"
|
||||
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
||||
optional = false
|
||||
python-versions = "!=3.9.0,!=3.9.1,>=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"},
|
||||
{file = "cryptography-44.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:abc998e0c0eee3c8a1904221d3f67dcfa76422b23620173e28c11d3e626c21bd"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:660cb7312a08bc38be15b696462fa7cc7cd85c3ed9c576e81f4dc4d8b2b31591"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"},
|
||||
{file = "cryptography-44.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:708ee5f1bafe76d041b53a4f95eb28cdeb8d18da17e597d46d7833ee59b97ede"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37d76e6863da3774cd9db5b409a9ecfd2c71c981c38788d3fcfaf177f447b731"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa"},
|
||||
{file = "cryptography-44.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:62901fb618f74d7d81bf408c8719e9ec14d863086efe4185afd07c352aee1d2c"},
|
||||
{file = "cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-win32.whl", hash = "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d"},
|
||||
{file = "cryptography-44.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-win32.whl", hash = "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028"},
|
||||
{file = "cryptography-44.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:cad399780053fb383dc067475135e41c9fe7d901a97dd5d9c5dfb5611afc0d7d"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:21a83f6f35b9cc656d71b5de8d519f566df01e660ac2578805ab245ffd8523f8"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fc3c9babc1e1faefd62704bb46a69f359a9819eb0292e40df3fb6e3574715cd4"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:e909df4053064a97f1e6565153ff8bb389af12c5c8d29c343308760890560aff"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:dad80b45c22e05b259e33ddd458e9e2ba099c86ccf4e88db7bbab4b747b18d06"},
|
||||
{file = "cryptography-44.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:479d92908277bed6e1a1c69b277734a7771c2b78633c224445b5c60a9f4bc1d9"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:896530bc9107b226f265effa7ef3f21270f18a2026bc09fed1ebd7b66ddf6375"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9b4d4a5dbee05a2c390bf212e78b99434efec37b17a4bff42f50285c5c8c9647"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02f55fb4f8b79c1221b0961488eaae21015b69b210e18c386b69de182ebb1259"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:dd3db61b8fe5be220eee484a17233287d0be6932d056cf5738225b9c05ef4fff"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:978631ec51a6bbc0b7e58f23b68a8ce9e5f09721940933e9c217068388789fe5"},
|
||||
{file = "cryptography-44.0.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:5d20cc348cca3a8aa7312f42ab953a56e15323800ca3ab0706b8cd452a3a056c"},
|
||||
{file = "cryptography-44.0.3.tar.gz", hash = "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""}
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0)"]
|
||||
docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0) ; python_version >= \"3.8\""]
|
||||
docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"]
|
||||
nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2)"]
|
||||
pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"]
|
||||
nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2) ; python_version >= \"3.8\""]
|
||||
pep8test = ["check-sdist ; python_version >= \"3.8\"", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"]
|
||||
sdist = ["build (>=1.0.0)"]
|
||||
ssh = ["bcrypt (>=3.1.5)"]
|
||||
test = ["certifi (>=2024)", "cryptography-vectors (==44.0.0)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"]
|
||||
test = ["certifi (>=2024)", "cryptography-vectors (==44.0.3)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"]
|
||||
test-randomorder = ["pytest-randomly"]
|
||||
|
||||
[[package]]
|
||||
name = "dateutils"
|
||||
version = "0.6.12"
|
||||
description = "Various utilities for working with date and datetime objects"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "dateutils-0.6.12-py2.py3-none-any.whl", hash = "sha256:f33b6ab430fa4166e7e9cb8b21ee9f6c9843c48df1a964466f52c79b2a8d53b3"},
|
||||
{file = "dateutils-0.6.12.tar.gz", hash = "sha256:03dd90bcb21541bd4eb4b013637e4f1b5f944881c46cc6e4b67a6059e370e3f1"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
python-dateutil = "*"
|
||||
pytz = "*"
|
||||
|
||||
[[package]]
|
||||
name = "grafanalib"
|
||||
version = "0.7.1"
|
||||
description = "Library for building Grafana dashboards"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "grafanalib-0.7.1-py3-none-any.whl", hash = "sha256:6fab5d7b837a1f2d1322ef762cd52e565ec0422707a7512765c59f668bdceb58"},
|
||||
{file = "grafanalib-0.7.1.tar.gz", hash = "sha256:3d92bb4e92ae78fe4e21c5b252ab51f4fdcacd8523ba5a44545b897b2a375b83"},
|
||||
@@ -216,13 +268,14 @@ dev = ["flake8", "pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "jinja2"
|
||||
version = "3.1.5"
|
||||
version = "3.1.6"
|
||||
description = "A very fast and expressive template engine."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
|
||||
{file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
|
||||
{file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
|
||||
{file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -237,6 +290,7 @@ version = "3.0.2"
|
||||
description = "Safely add untrusted strings to HTML/XML markup."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"},
|
||||
{file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"},
|
||||
@@ -307,6 +361,7 @@ version = "1.3.0"
|
||||
description = "A network address manipulation library for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "netaddr-1.3.0-py3-none-any.whl", hash = "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe"},
|
||||
{file = "netaddr-1.3.0.tar.gz", hash = "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a"},
|
||||
@@ -317,13 +372,14 @@ nicer-shell = ["ipython"]
|
||||
|
||||
[[package]]
|
||||
name = "packaging"
|
||||
version = "24.2"
|
||||
version = "25.0"
|
||||
description = "Core utilities for Python packages"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
|
||||
{file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
|
||||
{file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
|
||||
{file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -332,17 +388,47 @@ version = "2.22"
|
||||
description = "C parser in Python"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
markers = "platform_python_implementation != \"PyPy\""
|
||||
files = [
|
||||
{file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
|
||||
{file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "python-dateutil"
|
||||
version = "2.9.0.post0"
|
||||
description = "Extensions to the standard Python datetime module"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
|
||||
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
six = ">=1.5"
|
||||
|
||||
[[package]]
|
||||
name = "pytz"
|
||||
version = "2025.2"
|
||||
description = "World timezone definitions, modern and historical"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"},
|
||||
{file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyyaml"
|
||||
version = "6.0.2"
|
||||
description = "YAML parser and emitter for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"},
|
||||
{file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"},
|
||||
@@ -405,6 +491,7 @@ version = "1.0.1"
|
||||
description = "Resolve abstract dependencies into concrete ones"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "resolvelib-1.0.1-py2.py3-none-any.whl", hash = "sha256:d2da45d1a8dfee81bdd591647783e340ef3bcb104b54c383f70d422ef5cc7dbf"},
|
||||
{file = "resolvelib-1.0.1.tar.gz", hash = "sha256:04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309"},
|
||||
@@ -418,25 +505,38 @@ test = ["commentjson", "packaging", "pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "setuptools"
|
||||
version = "75.6.0"
|
||||
version = "80.6.0"
|
||||
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"},
|
||||
{file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"},
|
||||
{file = "setuptools-80.6.0-py3-none-any.whl", hash = "sha256:3f6586e9196c76f59857319fdca6571efd156a4b57d6069fd774145c4b5655a2"},
|
||||
{file = "setuptools-80.6.0.tar.gz", hash = "sha256:79cf4c44dfd0b5fb890be2dccc3fbd405253ce3baedd2700b54880a75219ea25"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"]
|
||||
core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
|
||||
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""]
|
||||
core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"]
|
||||
cover = ["pytest-cov"]
|
||||
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
|
||||
enabler = ["pytest-enabler (>=2.2)"]
|
||||
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
||||
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"]
|
||||
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
||||
type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"]
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.17.0"
|
||||
description = "Python 2 and 3 compatibility utilities"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
|
||||
{file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
|
||||
]
|
||||
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "334448cb0c7d192f0e10987a995ecefca5e136733cce4dd15dcc2238f1c371c8"
|
||||
lock-version = "2.1"
|
||||
python-versions = "^3.11, <3.13"
|
||||
content-hash = "5b094f68aebd417f93bcea68c57476c646cafcf11df1e0d4dc6482c70a6f3412"
|
||||
|
||||
@@ -6,12 +6,13 @@ authors = ["Iurii Tatishchev <itatishch@gmail.com>"]
|
||||
readme = "README.md"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
ansible = "^10.1.0"
|
||||
python = "^3.11, <3.13" # bitwarden-sdk doesn't have a 3.13 wheel yet
|
||||
ansible = "^11.1.0"
|
||||
ansible-vault = "^2.1.0"
|
||||
netaddr = "^1.3.0"
|
||||
bitwarden-sdk = "^1.0.0"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
grafanalib = "^0.7.1"
|
||||
|
||||
|
||||
|
||||
11
renovate.json
Normal file
11
renovate.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended"
|
||||
],
|
||||
"docker-compose": {
|
||||
"fileMatch": [
|
||||
"(^|/)(?:docker-)?compose[^/]*\\.ya?ml(\\.j2)?$"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
path: "{{ current_stack_dest }}/{{ item.path }}"
|
||||
state: directory
|
||||
mode: "755"
|
||||
loop: "{{ lookup('community.general.filetree', current_stack_source) }}"
|
||||
loop: "{{ query('community.general.filetree', current_stack_source) }}"
|
||||
when: item.state == "directory"
|
||||
|
||||
- name: Generate {{ current_stack_name }} deployment from templates
|
||||
@@ -19,7 +19,7 @@
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ current_stack_dest }}/{{ item.path | regex_replace('\\.j2$', '') }}"
|
||||
mode: "644"
|
||||
loop: "{{ lookup('community.general.filetree', current_stack_source) }}"
|
||||
loop: "{{ query('community.general.filetree', current_stack_source) }}"
|
||||
when: item.state == "file" and item.path | regex_search('\\.j2$')
|
||||
|
||||
- name: Generate {{ current_stack_name }} deployment from static files
|
||||
@@ -27,7 +27,7 @@
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ current_stack_dest }}/{{ item.path }}"
|
||||
mode: "644"
|
||||
loop: "{{ lookup('community.general.filetree', current_stack_source) }}"
|
||||
loop: "{{ query('community.general.filetree', current_stack_source) }}"
|
||||
when: item.state == "file" and not item.path | regex_search('\\.j2$')
|
||||
|
||||
- name: Deploy docker-compose for {{ current_stack_name }}
|
||||
|
||||
@@ -13,23 +13,9 @@
|
||||
path: "{{ alpina_svc_path }}"
|
||||
mode: "700"
|
||||
|
||||
- name: Deploy collection services
|
||||
vars:
|
||||
collection: services
|
||||
stacks:
|
||||
- traefik
|
||||
- monitoring
|
||||
- authentik
|
||||
- minio
|
||||
import_tasks: deploy_collection.yml
|
||||
|
||||
- name: Deploy collection apps
|
||||
vars:
|
||||
collection: apps
|
||||
stacks:
|
||||
- gitea
|
||||
- nextcloud
|
||||
- jellyfin
|
||||
- arrstack
|
||||
- vpgen
|
||||
import_tasks: deploy_collection.yml
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(249) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
gluetun:
|
||||
@@ -11,14 +9,13 @@ services:
|
||||
container_name: gluetun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
env_file:
|
||||
- .env.gluetun
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/arrstack/gluetun:/gluetun
|
||||
|
||||
@@ -49,9 +46,6 @@ services:
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- qbittorrent
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/arrstack/config/prowlarr:/config
|
||||
|
||||
@@ -63,9 +57,6 @@ services:
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- qbittorrent
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/arrstack/config/sonarr:/config
|
||||
- {{ base_volume_path }}/arrstack/downloads:/downloads
|
||||
@@ -79,9 +70,6 @@ services:
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- qbittorrent
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/arrstack/config/radarr:/config
|
||||
- {{ base_volume_path }}/arrstack/downloads:/downloads
|
||||
@@ -25,5 +25,7 @@ GITEA__security__INTERNAL_TOKEN={{ internal_token }}
|
||||
|
||||
GITEA__oauth2__JWT_SECRET={{ jwt_secret }}
|
||||
|
||||
GITEA__webhook__ALLOWED_HOST_LIST="external,woodpecker.{{ domain }}"
|
||||
|
||||
# Indexer
|
||||
GITEA__indexer__REPO_INDEXER_ENABLED=true
|
||||
|
||||
@@ -2,21 +2,16 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(199) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
server:
|
||||
image: gitea/gitea:1.22
|
||||
image: gitea/gitea
|
||||
container_name: gitea_server
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('gitea', port='3000') | indent(6) }}
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.gitea
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/gitea/gitea:/data
|
||||
depends_on:
|
||||
@@ -27,7 +22,5 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.db
|
||||
networks:
|
||||
- default
|
||||
volumes:
|
||||
- {{ base_volume_path }}/gitea/postgres:/var/lib/postgresql/data
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(197) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
jellyfin:
|
||||
@@ -14,9 +12,6 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.jellyfin
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/jellyfin/config:/config
|
||||
- {{ base_volume_path }}/jellyfin/cache:/cache
|
||||
@@ -1 +0,0 @@
|
||||
NEXTCLOUD_VERSION=30-apache
|
||||
@@ -2,13 +2,10 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(198) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
|
||||
services:
|
||||
app:
|
||||
image: nextcloud:${NEXTCLOUD_VERSION}
|
||||
image: &nextcloud_image nextcloud:stable-apache
|
||||
container_name: nextcloud_app
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('nc', port='80') | indent(6) }}
|
||||
@@ -18,40 +15,28 @@ services:
|
||||
- redis
|
||||
env_file:
|
||||
- .env.nextcloud
|
||||
networks:
|
||||
- default
|
||||
volumes:
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud:/var/www/html
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_config:/var/www/html/config
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_config/config.php:/var/www/html/config
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_data:/var/www/html/data
|
||||
|
||||
cron:
|
||||
image: nextcloud:${NEXTCLOUD_VERSION}
|
||||
image: *nextcloud_image
|
||||
container_name: nextcloud_cron
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- app
|
||||
entrypoint: /cron.sh
|
||||
networks:
|
||||
- default
|
||||
volumes:
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud:/var/www/html
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_config:/var/www/html/config
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud/custom_apps:/var/www/html/custom_apps
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_config/config.php:/var/www/html/config/config.php
|
||||
- {{ base_volume_path }}/nextcloud/nextcloud_data:/var/www/html/data
|
||||
|
||||
notify_push:
|
||||
image: nextcloud:${NEXTCLOUD_VERSION}
|
||||
image: *nextcloud_image
|
||||
container_name: nextcloud_notify_push
|
||||
{# TODO: Refactor this and minio -#}
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.nc-notify.rule=Host(`nc.{{ domain }}`) && PathPrefix(`/push`)
|
||||
- traefik.http.routers.nc-notify.entrypoints=websecure
|
||||
- traefik.http.routers.nc-notify.tls=true
|
||||
- traefik.http.routers.nc-notify.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.nc-notify.tls.domains.0.main={{ domain }}
|
||||
- traefik.http.routers.nc-notify.tls.domains.0.sans=*.{{ domain }}
|
||||
- traefik.http.services.nc-notify.loadbalancer.server.port=7867
|
||||
- {{ helpers.traefik_labels('nc', port='7867', path_prefix='/push') | indent(6) }}
|
||||
restart: unless-stopped
|
||||
user: www-data
|
||||
env_file:
|
||||
@@ -68,8 +53,6 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.db
|
||||
networks:
|
||||
- default
|
||||
volumes:
|
||||
- {{ base_volume_path }}/nextcloud/db:/var/lib/postgresql/data
|
||||
|
||||
@@ -79,8 +62,6 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.redis
|
||||
networks:
|
||||
- default
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
31
roles/alpina/templates/apps/pgrok/compose.yml.j2
Normal file
31
roles/alpina/templates/apps/pgrok/compose.yml.j2
Normal file
@@ -0,0 +1,31 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(194) | indent(2) }}
|
||||
|
||||
# https://github.com/pgrok/pgrok/blob/main/docs/admin/docker.md#docker-compose
|
||||
services:
|
||||
server:
|
||||
image: ghcr.io/pgrok/pgrokd:latest
|
||||
container_name: pgrok_server
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('pgrok', port='3320') | indent(6) }}
|
||||
- {{ helpers.traefik_labels('pgrok', port='3000', wildcard=true) | indent(6) }}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./pgrokd.yml:/var/opt/pgrokd/pgrokd.yml
|
||||
ports:
|
||||
- "2222:2222"
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: postgres:17-alpine
|
||||
container_name: pgrok_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- {{ base_volume_path }}/pgrok/postgres:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: pgrok
|
||||
POSTGRES_USER: pgrok
|
||||
POSTGRES_PASSWORD: "{{ pgrok_db_password }}"
|
||||
29
roles/alpina/templates/apps/pgrok/pgrokd.yml.j2
Normal file
29
roles/alpina/templates/apps/pgrok/pgrokd.yml.j2
Normal file
@@ -0,0 +1,29 @@
|
||||
external_url: "https://pgrok.{{ domain }}"
|
||||
web:
|
||||
port: 3320
|
||||
proxy:
|
||||
port: 3000
|
||||
scheme: https
|
||||
domain: "pgrok.{{ domain }}"
|
||||
sshd:
|
||||
port: 2222
|
||||
|
||||
database:
|
||||
host: db
|
||||
port: 5432
|
||||
user: pgrok
|
||||
password: "{{ pgrok_db_password }}"
|
||||
database: pgrok
|
||||
|
||||
identity_provider:
|
||||
type: oidc
|
||||
display_name: Authentik
|
||||
issuer: "https://auth.{{ domain }}/application/o/pgrok/"
|
||||
client_id: "pgrok"
|
||||
client_secret: "{{ auth_pgrok_client_secret }}"
|
||||
field_mapping:
|
||||
identifier: "preferred_username"
|
||||
display_name: "name"
|
||||
email: "email"
|
||||
# # The required domain name, "field_mapping.email" is required to set for this to work.
|
||||
# required_domain: "example.com"
|
||||
16
roles/alpina/templates/apps/syncthing/compose.yml.j2
Normal file
16
roles/alpina/templates/apps/syncthing/compose.yml.j2
Normal file
@@ -0,0 +1,16 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(193) | indent(2) }}
|
||||
|
||||
services:
|
||||
syncthing:
|
||||
image: linuxserver/syncthing
|
||||
container_name: syncthing
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('sync', port='8384', auth=true) | indent(6) }}
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
volumes:
|
||||
- {{ base_volume_path }}/syncthing/config:/config
|
||||
- {{ base_volume_path }}/syncthing/data:/data
|
||||
@@ -1,8 +1,17 @@
|
||||
DATABASE_URL=file:/data/vpgen.db
|
||||
|
||||
AUTH_DOMAIN=auth.{{ domain }}
|
||||
AUTH_CLIENT_ID=vpgen
|
||||
AUTH_CLIENT_SECRET={{ auth_vpgen_client_secret }}
|
||||
PUBLIC_AUTH_AUTHENTIK_ENABLE=1
|
||||
AUTH_AUTHENTIK_REQUIRE_INVITE=0
|
||||
AUTH_AUTHENTIK_DOMAIN="auth.{{ domain }}"
|
||||
AUTH_AUTHENTIK_CLIENT_ID=vpgen
|
||||
AUTH_AUTHENTIK_CLIENT_SECRET="{{ auth_vpgen_client_secret }}"
|
||||
|
||||
PUBLIC_AUTH_GOOGLE_ENABLE=1
|
||||
AUTH_GOOGLE_REQUIRE_INVITE=1
|
||||
AUTH_GOOGLE_CLIENT_ID="{{ google_consumer_key }}"
|
||||
AUTH_GOOGLE_CLIENT_SECRET="{{ google_consumer_secret }}"
|
||||
|
||||
AUTH_INVITE_TOKEN="{{ vpgen_auth_invite_token }}"
|
||||
|
||||
OPNSENSE_API_URL={{ vpgen_opnsense_api_url }}
|
||||
OPNSENSE_API_KEY={{ vpgen_opnsense_api_key }}
|
||||
|
||||
35
roles/alpina/templates/apps/woodpecker/compose.yml.j2
Normal file
35
roles/alpina/templates/apps/woodpecker/compose.yml.j2
Normal file
@@ -0,0 +1,35 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(195) | indent(2) }}
|
||||
|
||||
services:
|
||||
woodpecker-server:
|
||||
image: woodpeckerci/woodpecker-server:v3
|
||||
container_name: woodpecker_server
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('woodpecker', port='8000') | indent(6) }}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- {{ base_volume_path }}/woodpecker/data:/var/lib/woodpecker
|
||||
environment:
|
||||
- WOODPECKER_OPEN=true
|
||||
- WOODPECKER_HOST=https://woodpecker.{{ domain }}
|
||||
- WOODPECKER_GITEA=true
|
||||
- WOODPECKER_GITEA_URL=https://gitea.{{ domain }}
|
||||
- WOODPECKER_GITEA_CLIENT={{ woodpecker_gitea_client_id }}
|
||||
- WOODPECKER_GITEA_SECRET={{ woodpecker_gitea_client_secret }}
|
||||
- WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
|
||||
|
||||
woodpecker-agent:
|
||||
image: woodpeckerci/woodpecker-agent:v3
|
||||
container_name: woodpecker_agent
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- woodpecker-server
|
||||
volumes:
|
||||
- {{ base_volume_path }}/woodpecker/agent_config:/etc/woodpecker
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- WOODPECKER_SERVER=woodpecker-server:9000
|
||||
- WOODPECKER_AGENT_SECRET={{ woodpecker_agent_secret }}
|
||||
@@ -40,6 +40,13 @@ entries:
|
||||
"ui_group": "Apps",
|
||||
"allowed_for_groups": ["admins", "users", "vpgen"],
|
||||
},
|
||||
"Pgrok": {
|
||||
"redirect_uri": "https://pgrok."~ domain ~"/-/oidc/callback",
|
||||
"icon": "https://pgrok."~ domain ~"/pgrok.svg",
|
||||
"client_secret": auth_pgrok_client_secret,
|
||||
"ui_group": "Apps",
|
||||
"allowed_for_groups": ["admins", "users"],
|
||||
},
|
||||
} -%}
|
||||
{% for app in apps.keys() -%}
|
||||
- identifiers:
|
||||
|
||||
@@ -13,6 +13,13 @@ entries:
|
||||
"ui_group": "Services",
|
||||
"allowed_for_groups": ["admins"],
|
||||
},
|
||||
"Syncthing": {
|
||||
"host": "sync",
|
||||
"icon": "https://sync."~ domain ~"/assets/img/favicon-default.png",
|
||||
"unauthenticated_paths": "^/assets/img/favicon-default.png$",
|
||||
"ui_group": "Apps",
|
||||
"allowed_for_groups": ["admins"],
|
||||
},
|
||||
"qBit": {
|
||||
"host": "qbit",
|
||||
"icon": "https://qbit."~ domain ~"/images/qbittorrent-tray.svg",
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(253) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
server:
|
||||
@@ -17,13 +15,11 @@ services:
|
||||
restart: unless-stopped
|
||||
# Port forward is needed because traefik can't resolve the container name from the host network
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "127.0.0.1:9000:9000"
|
||||
- "[::1]:9000:9000"
|
||||
command: server
|
||||
env_file:
|
||||
- .env.authentik
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
|
||||
worker:
|
||||
image: ghcr.io/goauthentik/server:latest
|
||||
19
roles/alpina/templates/services/minio/compose.yml.j2
Normal file
19
roles/alpina/templates/services/minio/compose.yml.j2
Normal file
@@ -0,0 +1,19 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(252) | indent(2) }}
|
||||
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('minio', port='9090') | indent(6) }}
|
||||
- {{ helpers.traefik_labels('s3', port='9000') | indent(6) }}
|
||||
- {{ helpers.traefik_labels('s3', port='9000', wildcard=true) | indent(6) }}
|
||||
restart: unless-stopped
|
||||
command: server --console-address ":9090" /data
|
||||
env_file:
|
||||
- .env.minio
|
||||
volumes:
|
||||
- {{ base_volume_path }}/minio/data:/data
|
||||
@@ -1,32 +0,0 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(252) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('minio', port='9090') | indent(6) }}
|
||||
- traefik.http.routers.minio.service=minio
|
||||
- traefik.http.routers.minio-tls.service=minio
|
||||
- traefik.http.routers.minio-s3.rule=Host(`s3.{{ domain }}`) || HostRegexp(`^.+[.]s3[.]{{ domain }}`)
|
||||
- traefik.http.routers.minio-s3.entrypoints=websecure
|
||||
- traefik.http.routers.minio-s3.tls=true
|
||||
- traefik.http.routers.minio-s3.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.minio-s3.tls.domains.0.main=s3.{{ domain }}
|
||||
- traefik.http.routers.minio-s3.tls.domains.0.sans=*.s3.{{ domain }}
|
||||
- traefik.http.routers.minio-s3.service=minio-s3
|
||||
- traefik.http.services.minio-s3.loadbalancer.server.port=9000
|
||||
restart: unless-stopped
|
||||
command: server --console-address ":9090" /data
|
||||
env_file:
|
||||
- .env.minio
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/minio/data:/data
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
networks:
|
||||
{{ helpers.default_network(251) | indent(2) }}
|
||||
traefik_traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
grafana:
|
||||
@@ -17,9 +15,6 @@ services:
|
||||
restart: unless-stopped
|
||||
# Needed to make config files readable (not anymore, TODO: remove)
|
||||
user: "{{ remote_uid }}"
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/monitoring/grafana:/var/lib/grafana
|
||||
- ./grafana_config/grafana.ini:/etc/grafana/grafana.ini:ro
|
||||
@@ -27,7 +22,7 @@ services:
|
||||
{# - ./grafana_config:/etc/grafana:ro#}
|
||||
|
||||
loki:
|
||||
image: grafana/loki:latest
|
||||
image: grafana/loki:3.4
|
||||
container_name: loki
|
||||
restart: unless-stopped
|
||||
# Needed to make config files readable (not anymore, TODO: remove)
|
||||
@@ -36,7 +31,8 @@ services:
|
||||
- -config.file=/etc/loki/loki-config.yaml
|
||||
# Port forward is needed because not possible to resolve the container name from the host network
|
||||
ports:
|
||||
- 3100:3100
|
||||
- "127.0.0.1:3100:3100"
|
||||
- "[::1]:3100:3100"
|
||||
volumes:
|
||||
- {{ base_volume_path }}/monitoring/loki:/loki
|
||||
- ./loki_config:/etc/loki:ro
|
||||
@@ -44,7 +40,7 @@ services:
|
||||
- /tmp/loki
|
||||
|
||||
promtail:
|
||||
image: grafana/promtail:latest
|
||||
image: grafana/promtail:3.4
|
||||
container_name: promtail
|
||||
restart: unless-stopped
|
||||
command:
|
||||
@@ -103,9 +99,6 @@ services:
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.influxdb
|
||||
networks:
|
||||
- default
|
||||
- traefik_traefik
|
||||
volumes:
|
||||
- {{ base_volume_path }}/monitoring/influxdb:/var/lib/influxdb2
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
{% import 'contrib/compose_helpers.j2' as helpers with context %}
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
internal: true
|
||||
enable_ipv6: true
|
||||
ipam:
|
||||
config:
|
||||
# TODO: Consider removing traefik network, it shouldn't be needed with host networking
|
||||
- subnet: {{ traefik_subnet }}/24
|
||||
- subnet: {{ docker_ipv6_subnet | ansible.utils.ipsubnet(80, 255) }}
|
||||
{{ helpers.default_network(254) | indent(2) }}
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v3.2
|
||||
image: traefik:v3.4
|
||||
container_name: traefik
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
@@ -25,11 +18,8 @@ services:
|
||||
- {{ base_volume_path }}/traefik/rules:/rules/extra:ro
|
||||
- {{ base_volume_path }}/traefik/acme:/acme
|
||||
|
||||
# This is mostly just so that the traefik network gets created
|
||||
whoami:
|
||||
image: containous/whoami
|
||||
container_name: whoami
|
||||
labels:
|
||||
- {{ helpers.traefik_labels('whoami', port=80) | indent(6) }}
|
||||
networks:
|
||||
- traefik
|
||||
- {{ helpers.traefik_labels('whoami', port='80') | indent(6) }}
|
||||
@@ -12,6 +12,16 @@ entryPoints:
|
||||
address: ":443"
|
||||
http3:
|
||||
advertisedPort: 443
|
||||
forwardedHeaders:
|
||||
trustedIPs:
|
||||
# https://www.cloudflare.com/ips-v6
|
||||
- 2400:cb00::/32
|
||||
- 2606:4700::/32
|
||||
- 2803:f800::/32
|
||||
- 2405:b500::/32
|
||||
- 2405:8100::/32
|
||||
- 2a06:98c0::/29
|
||||
- 2c0f:f248::/32
|
||||
metrics:
|
||||
address: ":8082"
|
||||
|
||||
@@ -36,7 +46,6 @@ certificatesResolvers:
|
||||
providers:
|
||||
docker:
|
||||
exposedByDefault: false
|
||||
network: traefik_traefik
|
||||
file:
|
||||
directory: /rules
|
||||
watch: true
|
||||
|
||||
22
roles/clean/tasks/main.yml
Normal file
22
roles/clean/tasks/main.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
- name: Get list of running Docker containers
|
||||
docker_host_info:
|
||||
containers: yes
|
||||
register: docker_container_list
|
||||
|
||||
- name: Stop all running Docker containers
|
||||
docker_container:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
loop: "{{ docker_container_list.containers | map(attribute='Id') | list }}"
|
||||
async: 300
|
||||
poll: 0
|
||||
|
||||
- name: Prune all Docker containers and networks
|
||||
docker_prune:
|
||||
containers: yes
|
||||
networks: yes
|
||||
|
||||
- name: Clean alpina directory
|
||||
file:
|
||||
path: "{{ alpina_svc_path }}"
|
||||
state: absent
|
||||
@@ -32,7 +32,7 @@
|
||||
state: enabled
|
||||
immediate: yes
|
||||
|
||||
- name: Allow Web
|
||||
- name: Disallow Web
|
||||
become: yes
|
||||
firewalld:
|
||||
service: http
|
||||
@@ -64,6 +64,22 @@
|
||||
state: enabled
|
||||
immediate: yes
|
||||
|
||||
- name: Allow 2222 tcp for pgrok ssh tunnel
|
||||
become: yes
|
||||
firewalld:
|
||||
port: 2222/tcp
|
||||
permanent: yes
|
||||
state: enabled
|
||||
immediate: yes
|
||||
|
||||
- name: Allow Syncthing
|
||||
become: yes
|
||||
firewalld:
|
||||
service: syncthing
|
||||
permanent: yes
|
||||
state: enabled
|
||||
immediate: yes
|
||||
|
||||
- name: Reboot if needed
|
||||
become: yes
|
||||
ansible.builtin.reboot:
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
- name: Get IPv6 subnet for Docker
|
||||
set_fact:
|
||||
docker_ipv6_subnet: "{{ \
|
||||
ansible_default_ipv6.address \
|
||||
| ansible.utils.ipsubnet(64) \
|
||||
| ansible.utils.ipsubnet(72, docker_ipv6_index) \
|
||||
}}"
|
||||
|
||||
- debug:
|
||||
- name: IPv6 subnet for Docker
|
||||
debug:
|
||||
var: docker_ipv6_subnet
|
||||
|
||||
- name: Configure Docker daemon
|
||||
@@ -35,33 +28,6 @@
|
||||
state: disabled
|
||||
register: docker0_firewalld
|
||||
|
||||
- name: Get list of running Docker containers
|
||||
docker_host_info:
|
||||
containers: yes
|
||||
register: docker_container_list
|
||||
when: clean_desired is true
|
||||
|
||||
- name: Stop all running Docker containers
|
||||
docker_container:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
loop: "{{ docker_container_list.containers | map(attribute='Id') | list }}"
|
||||
async: 300
|
||||
poll: 0
|
||||
when: clean_desired is true and docker_container_list.containers | length > 0
|
||||
|
||||
- name: Prune all Docker containers and networks
|
||||
docker_prune:
|
||||
containers: yes
|
||||
networks: yes
|
||||
when: clean_desired is true
|
||||
|
||||
- name: Clean alpina directory
|
||||
file:
|
||||
path: "{{ alpina_svc_path }}"
|
||||
state: absent
|
||||
when: clean_desired is true
|
||||
|
||||
- name: Restart Docker daemon
|
||||
become: yes
|
||||
service:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
- hosts: alpina
|
||||
roles:
|
||||
- docker_host
|
||||
- alpina
|
||||
post_tasks:
|
||||
- name: Docker prune objects
|
||||
|
||||
12
site.yml
12
site.yml
@@ -1,12 +1,4 @@
|
||||
- hosts: all
|
||||
- hosts: alpina
|
||||
roles:
|
||||
- common
|
||||
pre_tasks:
|
||||
- name: Set fact for clean desired of docker objects and compose files
|
||||
set_fact:
|
||||
# clean_desired_arg is an extra variable passed to the playbook
|
||||
clean_desired: "{{ clean_desired_arg | bool }}"
|
||||
|
||||
|
||||
- name: Install services
|
||||
import_playbook: services.yml
|
||||
- docker_host
|
||||
|
||||
Reference in New Issue
Block a user