From aefed5a20d590e6ed4bc6055b76f59c687639257 Mon Sep 17 00:00:00 2001 From: Daniel Cosme Date: Fri, 1 May 2026 15:02:05 -0400 Subject: [PATCH] Recreate the truenas-csi stack --- apps/hydra/linkding/kustomization.yaml | 4 +-- apps/hydra/secrets/immich-db.yaml | 18 +++++----- apps/hydra/secrets/immich-secret.yaml | 24 ++++++------- apps/hydra/secrets/linking.yaml | 18 +++++----- apps/hydra/secrets/truenas-csi.yaml | 18 +++++----- cmd/apps/main.go | 7 ++-- helmrelease.yaml | 16 --------- infrastructure/hydra/truenas-csi/config.yaml | 12 +++++++ .../hydra/truenas-csi/kustomization.yaml | 8 +++++ .../hydra/truenas-csi/namespace.yaml | 6 ++++ pkg/enc/immich.go.age | Bin 2568 -> 2568 bytes pkg/enc/linkding.go.age | Bin 2126 -> 2126 bytes pkg/enc/secrets.go.age | Bin 2207 -> 2207 bytes pkg/enc/truenas.go.age | Bin 2072 -> 2072 bytes pkg/truenas/truenas.go | 33 +++++++++--------- 15 files changed, 87 insertions(+), 77 deletions(-) delete mode 100644 helmrelease.yaml create mode 100644 infrastructure/hydra/truenas-csi/config.yaml create mode 100644 infrastructure/hydra/truenas-csi/kustomization.yaml create mode 100644 infrastructure/hydra/truenas-csi/namespace.yaml diff --git a/apps/hydra/linkding/kustomization.yaml b/apps/hydra/linkding/kustomization.yaml index f79e113..c922b44 100644 --- a/apps/hydra/linkding/kustomization.yaml +++ b/apps/hydra/linkding/kustomization.yaml @@ -4,7 +4,7 @@ metadata: name: linking namespace: linkding resources: -- pvc.yaml -- deployment.yaml - namespace.yaml - srv.yaml +- pvc.yaml +- deployment.yaml diff --git a/apps/hydra/secrets/immich-db.yaml b/apps/hydra/secrets/immich-db.yaml index 333970c..8c11ffd 100644 --- a/apps/hydra/secrets/immich-db.yaml +++ b/apps/hydra/secrets/immich-db.yaml @@ -4,20 +4,20 @@ metadata: name: immich namespace: cnpg-cluster stringData: - password: ENC[AES256_GCM,data:EkUl5vYOCPWdJvY/M0COw+CIqNL0EI5VjTf4onZiZeKeqE/eo8AcsQ==,iv:lcz6YjxSFU5JhPys5sgEND9n0nw2dDi3+dVzkDayO0Y=,tag:dAezI92YHWC7vlT2EE2BOw==,type:str] - username: ENC[AES256_GCM,data:XJRhXHPW,iv:jN/EKRRpPXtMS4OzoE9DqdohcVpTchBUVOKSbI1J0dE=,tag:/uSBDd/uYpMx+9qdFkIeXQ==,type:str] + password: ENC[AES256_GCM,data:+zTZydXQhJNoPd5i7DDkmzp6C6lxyLx7abyDj4E1tdFUlWGqtFbQUQ==,iv:z5JM00MiNu1U3dWMbYy1DS7++D+ezdRCudufhDqWXNo=,tag:WWfLEPix+6eguUIVNMav/Q==,type:str] + username: ENC[AES256_GCM,data:aSkTrfeJ,iv:QqUrhzGvT7qbwCggZwpugdD2eRgig+fA3812x2oX54U=,tag:5sNY9+OoEDDhtYMe8w1ubQ==,type:str] sops: age: - recipient: age1lelpkv7u2xh5wezuwp09fmf9gsa8gp4rzy92jz0t203au82a7u5sutsjwa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQYWh6Q3p3djd4Q09wUXhG - R0M2Y3NGTGd5SUJyM0w2bnZ2aGVGTFNPczBzCnhVWVVtQ2ZRRTJiazMyTEQzQTY0 - Ulo1cVBBWjlrRkU0K0pNa1BuYlFTOEkKLS0tIE9yZTYxNkhTakE0bzNsemNIV0ll - c0c2R0lDdUNaT1dxSHNYZFh4UVVnQkUKhn0SbMrmeVwGsdn8O24/kBkNZMBp6J3S - CeG4Cb7Jj43Sd9D2vClMPVtXWS1POEPeXyAoQ0AfII/Yw6UzJcADNA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvekNFdXNDV3Zzdllockw5 + aFAyYm9zYUZzVFNZUENDODFLc1phWW5RSWtVCjRFSDdlaDBDRnIwMlp4RDN1YXZu + a0cyVHNNdVNDUW43UytOVGVyRGZ2aVUKLS0tIFFEeGtuVVRkUDNmaC9IRDBmOTVV + amJ6OTJvc0EyaXZTcHhHeXA5QTF6RDQKL8UiivxcPu2dKMpJRiFw58SZpX0Qc+WQ + P99bAZq/d1EwlYdjta9MRd4Ie04D+EcZtA8+F7t+XCby4gvkS6xxRg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-01T18:44:47Z" - mac: ENC[AES256_GCM,data:dsHcOdOeJivq744GvQc1PvRxt9V7L8x66Hot9JwMaZb5trjUrmEMh4Pd44HvDEMZIaQ/Y1TU8bT5eN1ODX22LJ6rA1hifXZa1FaoO4HmG2oHOkcad899YkmXS2Imn+15N9WAPUaL/xnNDD3ckVwIox2ZWP+UcUBo4BSds5GFe24=,iv:AeBbXufM9OD6mAYtvp9JuCTArCFE9Cz3DqqZETu6ylQ=,tag:GDuLIsl1Sj0yQzD5VnHMLA==,type:str] + lastmodified: "2026-05-01T19:01:27Z" + mac: ENC[AES256_GCM,data:jyfmrXB3nYTxGCog4i1kUZjY6xMhfLppkZDY+Bv6cevrXmLR1bDFkvt8suaOl0MAFkoBpvSkVNLC2riRnbHTf7GwRgY6AYTAKQAoRtuENe4sXL7ph9Brf3MkGsxguf93JKmL6QkokC/EEVW18/14iLTDuLb8+UhS3r3dYlUCHHU=,iv:bQFMtgCgeR0b6VLyS3v1Fn6WGh2qqga8EMBkPYNS4h8=,tag:Ji3UgaUVWFp2iwhZKYLDbw==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.12.2 diff --git a/apps/hydra/secrets/immich-secret.yaml b/apps/hydra/secrets/immich-secret.yaml index d333824..5e67073 100644 --- a/apps/hydra/secrets/immich-secret.yaml +++ b/apps/hydra/secrets/immich-secret.yaml @@ -4,23 +4,23 @@ metadata: name: immich namespace: immich stringData: - db_host: ENC[AES256_GCM,data:+GeHxWkxBjbKZZudQ6g1iITfhqrjfZsSu/PImlxhDiIIZ1aCPDYstT/s65QqWw==,iv:MkyRzB9/+Z7iWPIRrhbGyPeDRaoy3o4zFRX48cakLtk=,tag:vnHRcM1PPq89wmGEJWNupQ==,type:str] - db_name: ENC[AES256_GCM,data:/RsDzsLW,iv:UBLaqFGrlcXL8jT4U+zyImU9vYCupA9gBvZc6BxrwBc=,tag:zmg7DsqE5kqQlpKWc8n7Fw==,type:str] - db_password: ENC[AES256_GCM,data:qRzvebXnfz010AXrw5juFtw34uaaPj7qMBb6CjrstpqCKHQvWyycbw==,iv:5YG9fYuiNsCsGRE7o5QqYFKFLsuv8YiminlaR1VZhAI=,tag:Wn1rdOprM41dZBwMW7kUUw==,type:str] - db_port: ENC[AES256_GCM,data:hNHEPg==,iv:JAdm4zl+tgWhMimq+B0F1dkcIhAfU0F410bPq55cYw4=,tag:XiXgnNf1gY8/p3Oe9gjF5w==,type:str] - db_username: ENC[AES256_GCM,data:6PhAJz2c,iv:/VOD4rrccuGdWLyS507bVPsnHtTZNsZmME2QRtG0WZE=,tag:wDo3aCK+QipBbGYJ8F0hEQ==,type:str] + db_host: ENC[AES256_GCM,data:2MV9dErTC4Di9qFUZtWVAc2ad6/ElQX5uDKflHjO/phm8aoDDE12w2ty12z08w==,iv:+P1yYKMheueCmcwUzYNoYOccoqLXlvbimIF8+k0u51M=,tag:ApnYW9n+qMGiQ6oRoVI58g==,type:str] + db_name: ENC[AES256_GCM,data:KcPMIVfj,iv:FtgrUX82DHNP6GjCt/Gs2P6dvc2JhmwqADlKAhneCgg=,tag:ifUR93N/OcO/DqRXwccRuw==,type:str] + db_password: ENC[AES256_GCM,data:amJjSCHVwdtg84H2u8waUUcs7PqBJc6vcjwUFI4oBjGG6ZOJuEZirw==,iv:CmXl4Del1DytyK0oj/6XjuY12wJT2NB/Ewwaa6bje6E=,tag:a+5BFIvhmC+CqhkXbOrvYw==,type:str] + db_port: ENC[AES256_GCM,data:ZCrUVA==,iv:VcBzsDkRKOBCApIfDgO9D52Z3CBRvW+THaViTe1sIy0=,tag:OTrZiW+1KJ7rQob3jzwO6A==,type:str] + db_username: ENC[AES256_GCM,data:6yv3/Naz,iv:CgoU6FWdaBGqOC+B0lLAJSCvOmd3Lm4jNTP8hAAiCwo=,tag:UNYZj4aUTL+t2oKzobVE6g==,type:str] sops: age: - recipient: age1lelpkv7u2xh5wezuwp09fmf9gsa8gp4rzy92jz0t203au82a7u5sutsjwa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrMGxRNDJFM0RveGM5NlFr - VWFVRnBpczFCMVgySGtzUGM5NjNyYkw0TURnClh0a3c1S1RFRGdQMU0rVmRQNEt1 - UVQ2eDR5enVoMVdJcHFzTDJ1cVNLTEUKLS0tIGlUUnhsWGxaWVhSbklRR0tHUzRT - UC8zV3FuSVBvYUtjUUpTbTV5OFNBY1UK3xfeL0uv0fJ33XPfETwvw5W7z+sLeEXb - YvENLg+wcJ+t288ofDRM339pTuAazNaXJn1j1HhHNw7BVZhr0Z47jA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5Q3hBV2dQTzhEMDBvbTl2 + eEFBQndkR0lOcGpxSDZwNzlMa1IrbDlmYmdFCnVJMGo5cThqRng4VnRjS2x5aWVS + d3JnOGlQZTJ0aDFFSUlwRTFjNTNUNFkKLS0tIDdmNmpRSi9hYno4SmYxZ0dkZWNG + UWtOZFJuK1M0anQ2VWpNd29hQzBlNUkKBG0OgcOgBDm1m5a5ZksMXrhpXitA4X+E + gX0CiMjFZ88jpbgAmp+i8McoXB3Pgs5otO+qX9gccWe3SEQet+CFWg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-01T18:44:47Z" - mac: ENC[AES256_GCM,data:pCIEi0jM9O9PTHjzlLEQncAy/RWOlHGAQvav7H43trwMZZmj2aJcqGfu0FkO0iubZ/cqCmobvhHgCSDBVTH+G5s4eCcWOMTz4LrQ82pi56FYEVW91Bq23L/53pyhou6t+5cguGtyFqC8RGe5ATzeg8f5x6Nj225zRNszu1x1R54=,iv:OT+s2pEsxbc4HmsoMDkPO/EOB6EgOxDug65HySzgUMs=,tag:IeYBZpJqMqsFJ6NZ5LKKww==,type:str] + lastmodified: "2026-05-01T19:01:27Z" + mac: ENC[AES256_GCM,data:siCjV+Z5YLlwzfcdjO1+FoXfWW0LLA4VwxQrqaAAE6Q6BZFkXZD83l9mDyXKkya93oOwwVNPmcZyqoJpRwpddA8Lhh/zh6LkWtAhK9gCk4/B33w9iq/TbWS9AJsePrgSjXuSO8KNUl6SOIp6xAMZ7maUj4CIGic+8Z+g149Bwxs=,iv:4HlnGoesdg1Ui8SPI4mNq1FfART9+h8qsVdMw2rgKns=,tag:i4XyPWRZrc2emJsT9Tjnlw==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.12.2 diff --git a/apps/hydra/secrets/linking.yaml b/apps/hydra/secrets/linking.yaml index 9c9c2f9..0dc45c6 100644 --- a/apps/hydra/secrets/linking.yaml +++ b/apps/hydra/secrets/linking.yaml @@ -4,20 +4,20 @@ metadata: name: linking namespace: linkding stringData: - supe_user_name: ENC[AES256_GCM,data:vhWZevOo3I38ovyEcjMAWqI=,iv:tJBB8q/j++EeBh9xkbV8b0Z4Cjv+FfAhCMvcvuCNHiU=,tag:TaNZD57gc4YPC0F9XMG9Zw==,type:str] - supe_user_password: ENC[AES256_GCM,data:3AmIPdvgT9Sm3NnBZOrNwavqufZ8qMDF2mmArGRZu0E7BHh+ACdA4va1LWU=,iv:BneAVoeEkRp1JxKqMuwqld8fq5BEWCCtPDGUId69egE=,tag:swsQQhBmahluZq104KPs7w==,type:str] + supe_user_name: ENC[AES256_GCM,data:u67lwRTU4J5IxQazkFhtY6M=,iv:V7SgzZdRzYbt0Xiprgz4eR5tSR3PMFmArJ/1QN7JFOc=,tag:4hTpjlEyoNoOwNkr/pCEFQ==,type:str] + supe_user_password: ENC[AES256_GCM,data:bO8IYw8pPB4HrAow9iJXF+mTQqYnWawMh21I/ivgIDVVD+zn7TpLGJgbWIg=,iv:fybrYsAIsdGUqQzcLmutlsR+K+kJ4FVZydaU2f+j6yg=,tag:4VfnVxMswCh8poqrV3vdvw==,type:str] sops: age: - recipient: age1lelpkv7u2xh5wezuwp09fmf9gsa8gp4rzy92jz0t203au82a7u5sutsjwa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiK21KOHlwemhCVDVVRnVh - YTNJZWFsUGRsZ2RrQmRTSGdMbmZMQlRYMlRNCnFMR2VZd2dCY0p4SjR0NUFlT3ZM - VW5oa3Q5K3EyOW9KMWd5TlZVWnVBd28KLS0tIGxOUDBQMllaY0pxRWFhZHRiZ292 - d014VjIveFprV1VzSWJZU0FPeGNTU2MKsmNy2B8d+RnaOAQptvinUGSly/tDhfne - oaymAmk4Ekn455auBK/mAez641hJleYmUYpSfNQP6JyEYgrQBHfbfQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAweU9jN3Jpd1RSaFkreVM4 + TkY3WFdUUmhQY21rcWNvQ1dIT29iNG5SL0VJCm1xeDJ1QnpJMkJLUUtrU0FyN2kr + bzR5U2pxM0JiNDN0T0ZNcXZVT1NOUXcKLS0tIFU3bGtCNG8wQUJjTWlwUTNCSVpl + OG9NWTRHUWxpM2VEN2s1VHZuRm5OUXMKwKC/dAJIwHNM8aCdjhLn6teFRMQLfHx5 + jK6RLcMmplqYzLCStt6dlLjwIwbDbCpMpY5v9vrwHXin8lN2DPgygQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-01T18:44:47Z" - mac: ENC[AES256_GCM,data:6tM/koVtZU1FWhNQ7w9Rbksu/tbjEEErgtxtJPjPjMtE9bfdtSd+vpojS2haZ7UKmfEwT/jUN/nSdtQ9ktdKpVqDx0S9SuQ6fhToIgdrKQyHO/CGBzLSrWl32OhB9gdLajGlpINi2MTjQ1EjudgDgovhg5TBBEwFU3AeFuwtNNo=,iv:v7XQiE5JV9raVCvfGf7x+BomPHAKgHxwU/uldX7Q5+M=,tag:B/mwaoNfWjLQZMRzxnIgMw==,type:str] + lastmodified: "2026-05-01T19:01:27Z" + mac: ENC[AES256_GCM,data:W3XJB7kXMPZgFGL7OJ4/9iNpPujvbtjfVglN/WfQ3FpuMcnH088DHg7UKN9D0XdtG5UnSLGhF/OxuumQq2tKUs3Zvnr2YjBiAGf2XGbqEEpiW75dZMSVp/OcdR9kjGOkSxucuPN8NlyV2799wQmBoAOq+C6zejNNCWMuZAGRQnM=,iv:rAiyCWR9LOPtMVUckWMfxXWd2e8eSl/CG/nyWFGUFQ4=,tag:SEtc82xE4SU7jfYTJOEoYA==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.12.2 diff --git a/apps/hydra/secrets/truenas-csi.yaml b/apps/hydra/secrets/truenas-csi.yaml index d9eaa95..2634e57 100644 --- a/apps/hydra/secrets/truenas-csi.yaml +++ b/apps/hydra/secrets/truenas-csi.yaml @@ -1,22 +1,22 @@ apiVersion: v1 kind: Secret metadata: - name: truenas-csi-api-credentials + name: truenas-api-credentials namespace: truenas-csi stringData: - api-key: ENC[AES256_GCM,data:ZW9RMpi2x2os0hDIKu2rUvJJvOgNiOTzT909qm3w9JWRmO91gLI3wo6Gk4gKDzSAM0W12OHFHuP+Dxu+qYjKDrce,iv:cwosmbH9PNOS1YwVNwE66UxTZMRfls3be+bd0bDu9YE=,tag:1YJToI18Jk4VvKsa0PPaYg==,type:str] + api-key: ENC[AES256_GCM,data:vIufuqaIdNQH53pLCPfdi7cYIJlqwuHRbzUshgVJDw6Ayw9fPcVj2Ctp0bY34toHgmMjghYs4GdEtiQJz8BithRf,iv:J1woXagNbwqkjNTerrYjvCDQn/+FpvI25ow/szOCxN0=,tag:mRMKq2Nrs8qnyoQRYkIBtQ==,type:str] sops: age: - recipient: age1lelpkv7u2xh5wezuwp09fmf9gsa8gp4rzy92jz0t203au82a7u5sutsjwa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtUmYreGhzaWNteUI5NklM - cmVSbUVZd1VuL1hURkUvdGc3RFlYamZ0c1dzCitSSkkwc01WR1QxbmVzNXJVc1Na - NEVybzAzS1N0SnQ3RXozUEhlYko3Nm8KLS0tIGdYbWhjUUx1anRNbEx5YTMvazdh - OFVYWHNOcjZjZXo4Wi9XR1dYTlEvQWsKJWRfpG5MUzIqKmQaUIvHbveU9H2qRAmO - Y60WwE08GnqXDi6LMHRy0pQQ65gZRtbf5t1aDZ5+zwCInlLKFxBeEg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCbDhQMmMyNGlUTW9ZSVla + MHF3Sm1lS2prVGlFMnVlSWFYaENhUGlBa1I4Ckw0N0RJUTBnTk53eVFFZXZyQmEy + Sk1rLysxMnRYNVJEZzdoS0xTVXF4eTgKLS0tIFZZZ3lJRmNSOEVocG54TWd2bzM4 + cDVMM3JoTzMzckhpSVA3eFRwR2dnZ0EKD9PygzmR3aAhVIqKQXkmu4acE7Vq5QPj + alS3B/qmLWKIt2jaRlB5hpCK8DXKT4321dRQ0qE113sIPeL3IKxbEg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-01T18:44:47Z" - mac: ENC[AES256_GCM,data:51PPHW9QcGdBgSKoN3Il6QHXzV5sIACgcMXY9BB+eVFK0kNbBFrl0Ytvpl4ec+z2l6+bPIXzj7BHSTOWRUwDTt6tkMjO0/L1/6YTS5rZ4YuPCBlbtXLjqOYHsd3hyCqTTqYKrPBXB+BLaDgI74qw5Uk5w9wSztCh4JUj/Ac097w=,iv:79umLJypCW0adN7dUM3jIS2djX4TKSlmJCL0olftimc=,tag:sFjLm04irHOUGis693c4iw==,type:str] + lastmodified: "2026-05-01T19:01:27Z" + mac: ENC[AES256_GCM,data:m4dQ2as1gWh/C29r4oP7Gdoz1a+E+nSeT5qqA2hjegdMb/RQDh0qt69Cb3cVPXtguM0gi9D7toajHUAWwxCwrYGECtKtuA7VA38aRKheUHUJ+qNo6THzBcZRru3vFNgWwoi4r4fQbX97z92vTehblANm+YPIjK/orwfaXPsQA0Y=,iv:BOVDv+zreFJdbfrCySfip7BXe6FCKoEdGXccBoJ4SV0=,tag:soco0NPvlLKh6DtZQ4Gcfw==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.12.2 diff --git a/cmd/apps/main.go b/cmd/apps/main.go index 92aaa4a..d83be59 100644 --- a/cmd/apps/main.go +++ b/cmd/apps/main.go @@ -12,6 +12,7 @@ import ( "danicos.dev/daniel/homelab/pkg/longhorn" "danicos.dev/daniel/homelab/pkg/monitoring" "danicos.dev/daniel/homelab/pkg/root" + "danicos.dev/daniel/homelab/pkg/truenas" /* apps "k8s.io/api/apps/v1" core "k8s.io/api/core/v1" @@ -24,9 +25,9 @@ func main() { assertNoErr(err) hydra_infrastructure := map[string]stack.Stack{ - "monitoring": monitoring.Stack(), - "longhorn": longhorn.Stack(), - // "truenas-csi": truenas.Stack(), + "monitoring": monitoring.Stack(), + "longhorn": longhorn.Stack(), + "truenas-csi": truenas.Stack(), "cloud-native-pg": cnpg.Stack(), } for name, s := range hydra_infrastructure { diff --git a/helmrelease.yaml b/helmrelease.yaml deleted file mode 100644 index 661a4db..0000000 --- a/helmrelease.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: longhorn-release - namespace: longhorn-system -spec: - chart: - spec: - chart: longhorn - reconcileStrategy: ChartVersion - sourceRef: - kind: HelmRepository - name: longhorn-repo - version: v1.11.1 - interval: 1m0s diff --git a/infrastructure/hydra/truenas-csi/config.yaml b/infrastructure/hydra/truenas-csi/config.yaml new file mode 100644 index 0000000..8045531 --- /dev/null +++ b/infrastructure/hydra/truenas-csi/config.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +data: + defaultPool: datapool + iscsiIQNBase: iqn.2026-04.net.ts.orca-uaru.apex-truenas + iscsiPortal: apex-truenas.orca-uaru.ts.net:3260 + nfsServer: apex-truenas.orca-uaru.ts.net + truenasInsecure: "true" + truenasURL: wss://apex-truenas.orca-uaru.ts.net/api/current +kind: ConfigMap +metadata: + name: truenas-csi-config + namespace: truenas-csi diff --git a/infrastructure/hydra/truenas-csi/kustomization.yaml b/infrastructure/hydra/truenas-csi/kustomization.yaml new file mode 100644 index 0000000..540c509 --- /dev/null +++ b/infrastructure/hydra/truenas-csi/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +metadata: + name: truenas-csi + namespace: truenas-csi +resources: +- namespace.yaml +- config.yaml diff --git a/infrastructure/hydra/truenas-csi/namespace.yaml b/infrastructure/hydra/truenas-csi/namespace.yaml new file mode 100644 index 0000000..761a8fb --- /dev/null +++ b/infrastructure/hydra/truenas-csi/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: truenas-csi +spec: {} +status: {} diff --git a/pkg/enc/immich.go.age b/pkg/enc/immich.go.age index 2a80debafc452df177e6bcf56647c219ba181869..6d959a6676cf89898ad7d9fa2e5ced35c7b24e12 100644 GIT binary patch literal 2568 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 MKfC?P(fw!rA8%j=UjP6A literal 2126 zcmWNR`|sQY0l*0;Zc`o^LWqED5+k#G?e*P4oL=wxy7t<8^xC_^7q~vIz4qE(dv|>t zpauyz%mM)yUEs@@Bx5{=)3F(|K}15Ph=vG)f)I^i;gz5;*#vy-ANc(6Nj{&U>#R7D zm6p@_IF7y+r!JU58&@nv#zj3%}@FtdK;En1QH9 zu)YLnwB{SC>k(Ls1rnq|jNNWOTbgt_bi7e>$m+wIL=HsEEkj@ext#{5h`9&q2tlU9 zE|N-G!03^Jr#haoMA(dLF6?RXY+;Rtgwm1AUKdm*j9!4HNpv!Q?y7O_rd2Wq)C#87 z6s)N`h~zm<1*Fv;gk}p}Nrq}$(^>!&%fdX82|Jr>vaD55Be%?3G-&dPLO7ZRcn2J7JyKdFd28|&0!Gq2RaS5`U^OxR9^P15C|p)qE$Nv;m~xR zlc9^|Nmz&Z$_(mMO1N1$rN5-6i=Yh)@KhQUf=QYs0|3m_5eSKx=xn7*Mbp7p9gE2b zM$K6uFUe_P7yO(a;6?(N14^3Dx)~o&tIJ7=)G$^m%Sl$Zfd!y;QVZ(f6$6p@LB)jq zY?Nt6l^ogOB87x`9oHw;1R>1c7{zUZ>Y6=<6}<_C5xvqs1wq>uw2bMkyCkGhTA*I^MQ(Lfk3<9RuoF$07|{LWDHTZgVk+9%F0D-hQhhnOoLL4tZaVU%llfk_Uk z;h`D&0g@?;&|*gd5o-j3%CtRNN_7E@0E4QJb*ZLfwMG|c4JD1QiTzCHV+;49U}D2I zTFj`lI)k}ZuT3eokymrjG;F2=n`6$%0j`A$t%h}~RbxWUsjvwF$UvqEXIKu|W`z5b z&?l+TX7v=EVug^ovgd}jIHek{7gURR)UJ_@Fz1p{V;XsR3*gJvxRPe&ylNAP1Dcpx zIArRRW^PgHe1O*Lev5|zrjhhS-x3t2H3}uRm(pp+u?w^Y7Nb*Id~sY$>UkyaQ-$EW ztd&ffTr=o06@+CQJef4H`bcS+kxOSenI*ttIm$s8LO8sb%M-+j{DxyS(x#JxS+iG~ zc6B<_jn1NB&|QcqT?T3JO*ijbRnc@AKk74PZC=-?LB*~u5sK1W3q-3@s@4Icql$wl z>DIYalvQ*IF=0g;<8U6OXwTstRcY&hY}cXgI5Z@ih9W42PxXVz8ICVZkL)cl8FyI5N%*ZCoVXK@V@?Gsd%mu}aSfpxQ!lfvGqBjt|2zqtZbt060`G z?5X9nH@G-8N`RIw!ElK-3f@3ayI1pU#7t&vhaF5$EpSYlDcfK+tgNhT0%k1?AoXco zYIjxImN0tMW`VG$deAW7`@>Xt2|x zdnVhT-Mjspr@i7g`%gT=-E-Aq=TF~C{&wfu6&H*b(T)}Ilh-!Bd)k$|t8174IzHoz z=O$(K&dvR6nunhJ#ms;a}HA7d`gh?>>(B`@h^_UT1dQ zyYXS^JNpgr?QIwD`oNn%{or_m5qxy%Et|HXXPki_y>W5qjmJOS+CIGR=u=1i+c)36 zJ^Ip}{m)*vWBUik)PEkp@483YM&9icjW@2m@=xpO#)+H%@Sp6^u}c4$2lk(M==md0 zytn?o?+fv7ZR@!+mtQ{;ynJBs#x0c}pU)@HZ2C=h=Jl7J_u`wE90A{{T+cj?B4?|I zpTBj_^yzOrN4wb

evVW2PLHvN&o-= diff --git a/pkg/enc/secrets.go.age b/pkg/enc/secrets.go.age index 8b318766122b527252e30ce996133c520a1ec05a..7e5bfc1e9c5203e5ac8310d733911fc684e8d7a2 100644 GIT binary patch literal 2207 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 G%Krhzic0zb diff --git a/pkg/enc/truenas.go.age b/pkg/enc/truenas.go.age index db0814e6d5f9fe7070507c00cbb47150bcb94783..6b87f392724a5edabcb24331236d625ce68d4653 100644 GIT binary patch literal 2072 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 OgKgRN_SNTZ+VFp00|pZS diff --git a/pkg/truenas/truenas.go b/pkg/truenas/truenas.go index 6e5c997..2432cfd 100644 --- a/pkg/truenas/truenas.go +++ b/pkg/truenas/truenas.go @@ -18,7 +18,7 @@ var Secret = struct { Name string APIKey string }{ - Name: root.TrueNAS_CSI + "-api-credentials", + Name: "truenas-api-credentials", APIKey: "api-key", } @@ -54,9 +54,10 @@ func init() { nodeSA = kube.ServiceAccount(root.TrueNAS_CSI+"-node", Namespace) split := strings.Split(root.TrueNASURL, ".") slices.Reverse(split) + config_meta := kube.NewMetadata("truenas-csi-config", Namespace) config = core.ConfigMap{ TypeMeta: kube.ConfigMapMeta, - ObjectMeta: meta.Meta(), + ObjectMeta: config_meta.Meta(), Data: map[string]string{ Config.TruenasURL: fmt.Sprintf("wss://%s/api/current", root.TrueNASURL), Config.TrueNASInsecure: "true", @@ -69,24 +70,22 @@ func init() { } func Stack() stack.Stack { - controllerRole := controllerClusterRole() - nodeRole := nodeClusterRole() kz := kube.NewKuztomizedStack( meta, map[string]any{ - "namespace": Namespace, - "controller-deployment": controllerDeployment(), - "controller-service-account": controllerSA, - "controller-cluster-role": controllerRole, - "controller-binding": kube.ClusterRoleBinding(controllerRole.Name+"-binding", controllerSA, controllerRole), - "node-service-account": nodeSA, - "node-cluster-role": nodeRole, - "node-binding": kube.ClusterRoleBinding(nodeRole.Name+"-binding", nodeSA, nodeRole), - "node-deamonset": nodeCSI(), - "CSIDriver": CSIDriver(root.TrueNASProvisioner), - "config": config, - "nfs-storage-class": NFSStorageClass, - "iscsi-storage-class": iSCSIStorageClass, + "namespace": Namespace, + // "controller-deployment": controllerDeployment(), + // "controller-service-account": controllerSA, + // "controller-cluster-role": controllerRole, + // "controller-binding": kube.ClusterRoleBinding(controllerRole.Name+"-binding", controllerSA, controllerRole), + // "node-service-account": nodeSA, + // "node-cluster-role": nodeRole, + // "node-binding": kube.ClusterRoleBinding(nodeRole.Name+"-binding", nodeSA, nodeRole), + // "node-deamonset": nodeCSI(), + // "CSIDriver": CSIDriver(root.TrueNASProvisioner), + "config": config, + // "nfs-storage-class": NFSStorageClass, + // "iscsi-storage-class": iSCSIStorageClass, }, ) return kz.Stack(root.TrueNAS_CSI)