diff --git a/hosts/modules/roles/client/install-nm b/hosts/modules/roles/client/install-nm index 9d47c3867..3c3c41c58 100755 --- a/hosts/modules/roles/client/install-nm +++ b/hosts/modules/roles/client/install-nm @@ -16,6 +16,8 @@ class Connection: uuid: str | None gsm_apn: str | None gsm_number: str | None + gsm_username: str | None + gsm_password: str | None @property def type_(self) -> str: @@ -31,6 +33,8 @@ def parse_manifest(manifest_path: str) -> list[Connection]: uuid = entry.get("uuid") gsm_apn = entry.get("gsm_apn") gsm_number = entry.get("gsm_number") + gsm_username = entry.get("gsm_username") + gsm_password = entry.get("gsm_password") if ssid != "": yield Connection( comment=comment, @@ -39,6 +43,8 @@ def parse_manifest(manifest_path: str) -> list[Connection]: uuid=uuid, gsm_apn=gsm_apn, gsm_number=gsm_number, + gsm_username=gsm_username, + gsm_password=gsm_password, ) def write_iwd(fh: "file", con: Connection) -> None: @@ -72,6 +78,10 @@ def write_nm(fh: "file", con: Connection) -> None: fh.write(f"apn={con.gsm_apn}\n") if con.gsm_number is not None: fh.write(f"number={con.gsm_number}\n") + if con.gsm_username is not None: + fh.write(f"username={con.gsm_username}\n") + if con.gsm_password is not None: + fh.write(f"password={con.gsm_password}\n") fh.write("\n") fh.write("[ppp]\n") diff --git a/secrets/common/net/all.json.bin b/secrets/common/net/all.json.bin index c4f9e4b4b..ea02afce9 100644 --- a/secrets/common/net/all.json.bin +++ b/secrets/common/net/all.json.bin @@ -1,5 +1,5 @@ { - "data": "ENC[AES256_GCM,data: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,iv:ZvzquhdbNFohQHq4NzrdMFBHpjKve37y+fKUBHNBTQI=,tag:DBX38ARJXwrj/+HIjDsDZQ==,type:str]", + "data": "ENC[AES256_GCM,data:9abN9FR3HxRu18PxrL134SAZF/PZ3QN9+2xUpluGdFVNHbD/KAkJlKNYMsignpXGphAMur7F9fXG74jUMv8/fmh/6iqNaRogB2qUaZS9UqTvvKjRRdi37zf9Jl6vfkzTmuF7ECmENndy+srFztrLQzCAuX7z3iipET+wDBGa67rWW9HhAyov1Da0C+eJcksTRhXK4rgYp1HWVXEkFk+5pmKyy11Mt2QwuxiSJTC26pAGfndtRc0U3Bu0VmCP/VwQzAI2g7EYw+RRHRrlvztfG4eQnQwYgSNtoGvl4eMm/8tVy8HIRwnHdp1cpsbiiam/WqQK33lb1UC+hFC2nccjcEwX92BkTFoi8VeDk634Aiz0X4aRa+igpinF5iHifqvg3E0JSY/+izKEdk5OpIjOuLwRaU5eHpnaTSrdkAwR9LPqKy0VkBjxI65CmH6ZDLQSxzatWPhS3lcHpnDZH1yNEaqkGbdcDRuyhlrfj8Qylah2eb3T+nGoJC71U3HaMvySWk4q3sG4PZL6CY4RlsvQ86pAMMme5h4KMg2JfjmEVH+5GXlaIhnZdW69jT4YNmfrsN/jet9jXa1FhuRt72HGU2Zd/rK8DkhMv083kj1uDqd8JbgPGQaUT/3I514ylOybfQ95+PITb95IdqOIiU2Cai+z/+0sBGA9g27NaCGSIeUoTwWqJXqCwjFHtYG+OxaknupWraSoRfBKf6/njjlCY6jOwS0ylC2vTmBx6fmUxxyLM8GcVqwRLCU/k32wA4vl4E4MUXALIA7xN0q09AScfHIyCDvtx2lDDGuwLiEXVhJejJEimMZxrnFpptsR3qjoaiyZKJuT8g3XDq7iuggCcorNIH9qHjt+hV4DlCOal+LxGnBHzr0UdPLCv4396l8nLI3Psj7i8OfwujHM3NT5h50qCdSyHmRLTNBEKUK+lrV5WeACzTwaZIitEhaEBZN96lmA9/3udGF36Pf/plFXs2npiyeUWqt0fRbwbSisFJlDAvVjU/9Vd2p+34T939Y+YEp0NoHUltKZL1/8Y88ES70oJgZIYrRdfr9Ok9AGktx73ZmF1C1TXaKRVvK06OxAGpEyPODg9LRYQMem0FWA/R/HiM4QuIExSPYpwi0D3fK5FHnvgfDnl4cbolVRWBCyURJhtkCnot2oemwn3SgFK+O4BFWj9VprfNuCbmFXWE/9ckFnnp+W9h9E2ISCL939zK/q7sjZ+XhGuRjuFKuhLeS4gqj/efKDd2EjcmkvRyS4SsTX0ImnGCV4oy3QkEkM8Fr7wjEB7QxWaZoCCZHzECyzBYJFAHaN2qEiZAHWSFwhBNkeaWUJfdsyf3Vp6UnvEGmhCQ7P1IfjAggGIp/mupj6onJht/FVEG1fRcHZSO93mm17QHoA5+4HAGPHPD/6SBtzmo3gMktzvc3S2sWLH4X7glUPm4F4WcsVO9kgroHDojLxuRWF++fXAsimQXjNGis80magtDG6FkWtVRhKW7A08pWeb83XrASTR4iZ8JA1a/dXhuye9aK07HeRaQNPxJkbDtB0xGh+Y901ZSxx8BIDtE6I3spdfIjgIcNYsLeiSJuHXS2ZVXHrwUscz+IiK6EZzUzP21wjxJ629nTtGNAfGg/ScsvII++RHWNw9dKlukXhq+77+R6PVL0F1Go2icVdqOh7JLf0ot7KflftBAg8ltlmFI5xaCMihxu7iDnvpdNxUjqTXSbxXCQezwKNs3vH4kPACM8pJNHuRb7Wues1phaeUFS1AHUUvCegVkygkWdZzRjuPB995q/0/Jf+aY2tkcnbz5/v4DpDHvfOeRg3B4OoDN+LJgPp7mI686ItuFn1toyV9XYpVNjQfS0tqtUtCxHwyyKx4vO6dtnkOGuPjMpylp1qnPE4Jc76KU9jfOLj11yBOem6iDhmMjNfOO7ZdJVWi9KlKgINARFf+DMe72R4UhEF5nfCTCRmFVrpXXOZnJigxjrPAswIaEGIHYFn54R2fUbo9Vo7AP7i+l1+iQL+1grdHIGYdJgY/VzvEJDHOCu46/htPRrqvJ1DU3yUM0Yrpd7cAsZFML2VO2WkekwPb2A9Z/xzfRuhAded+5tKX0vfU+VF0nfwpeJ8re4c/kQflVjhNkpFoWCrQU5tqOnfiCnLbGh2flY3yj6gUOrKFjoEFTZgnsk+fbTs7woxyQ1e9x3QWF5DAeyEUZSvZplMaJDDdFLxSxvKuVdxvzgaX24GNQ2peeSrQuAoBVvh9bimuDgNTWw8unnx7gH116WGcJ3N43DQIm+WJnA/ywc8gJzfqq/OnWJ5ePw3VnAp41fEjeGBEvLbnijK5M3YXyE1nP5xqDXSpoa7EHxeezcB1+U4eEapc/QWv4vBdgxfPLsW2s98LUR3HZXMAyUllg0htzuds8iEKVNX+btPWYXgTSYe8I8FcHeyCrw5kIwEa1lWZZ+B5JVafXhLw6MQU4B6ggqmvOQo+l5B+l92wgALR5CvJ/szbcqO6WZ6uU7ShA5yHogBVbkpmTEdpOvecXNCbfJKkKfvdZapQZjTSVXdNnaHYSI02q3CbVKLb3ysErfq+7jYkTgyd8ry/es4QB+pu2jhQdbmrf+5g3PE7RBTMTWLjZ3yseF2H8okIEvpjEYKpX9zq80inraGPmRjcNGl+4WwMYzn6ObSDTKwjgf0D0s/VO6hFWLH4bCw69wgCGYfA1JoR+tpsRs1tgyIQlyCFD7HuF4tXrWGCU6mXkJIrZ5KXS5nzJ7HB72g3QhC7PrI6T7V3GPZTR9kqnk6ib1cQrO/wTgn9URKLly69YUROmEcRtxexdKMN7D4T6A8Cph27w85UI8T2S/5MlvbcgAQppfRxFq0TY76+ax8ucQCnPerHNRI/byQsepxIkfe6KjMvLf6mp7usDip9FMOsh6AHNVjULkRZrKl8meUZhx+GEILqMHUHjzGHO9WoW6y9OAWWVofR5rApej/qcAdcBFPVOl08MThegPZuRpbwniWq4oL0XJBRkSb3NGsl9QeycNgpkDAxv9WDBilU6RjDtghQGXP7Kajkh5JBqiqNJpAQLdiOmX89WvDkwXzbPaMtD0Ivcfq6UYY1oEKb7xLvRaAizOX6Tr7y//bLZz8JUWkFpZWZT7DoTSdK9Bk+5AVhI7Na3NF20hVa048Xo+LBfgf6GR69PdOt+sO1r+YUqfPT/MnwpAGsuK0SXRqlfWPVPAy9Eey8mLBNY3JnluJ8VcHmBtuFEHcw+qwuqniQ8swLY9pK3YNdtBunGWKyUeg5v1TKItKe52YGcncDXxI+dEDrEx2Jt0FwLA4GyxR1PrCF6bsRhobiJTt5ENUCXmlwi48KkFBawzu4uvCwNfbDLy3t9mTGZHinphI5L0Z+O/tDLm4DnhHpve9aH0JI3rU9RUjnpknpttn/3nEB8YtZNxLAqmu5gVzHkw/RVv4KmrYo3aZxEyCTpFr5OoUfS8r8PWNyOjIxm87UUEfkER9oStHSxpy7A5YiIAnFDb/Vij5lebas1immiLhsV+UZsXeT8B7mw2pQBEF6U7/pXIMdx43NsaL2kKYfGs0wBqcxxnnN8pxdKT4TU37Pm+AWUloI3t56O9ueNbBe2kKC9cnzXbg3Y2R2sRF9jp54op01WGvnPDc4b8BY4wd+ybKkW3XVS6CIO8c2MMLwN+1BdEww7J9dhF+USLMLAfgRgzsT15t57R57TbYJgehexFSFQUJ/gS5dQiGKi9JdjfaA9do3aEH3wV2afT9ozP+PuW0r12Nr2o1zegx0jL+1nZ8vciX2m5sNy+wlSnxiTuLmpmHK1mvHRRzHqMeJqUZLKmDDZS7I1Y+qwB+R8/WUAMibhso2mLjnItKmldyqLqQzLd0vQrhN1/D8Ax5LTGnyNjpFz3mEuEodFyGvbc=,iv:TpD6PANwEcjM+m+WCbJZ5blPYo4inrjoskShNud1N4c=,tag:miowqQ4gIBUGRonaEYoPBA==,type:str]", "sops": { "kms": null, "gcp_kms": null, @@ -43,8 +43,8 @@ "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcXlNMlFUaWhXbmlPc0Ir\nT2hRd3BMQUZ1TkVkWGlrdjJ5ZnhPdWhPbTFBCmdzazV5bzV0aTNNaTFpaDlBOWU5\naUdBTFlEeWM5T1Q3UGhrZWdGZkVPUzQKLS0tIEloSFVJd2JCNmY0VkpqTGppRE1p\nQ2Mvekx0RWN5dlhxWmwwaDVnUUVDdFEKJgyAed3yBaIBwfxypG7RKV+u80SiQV89\ntU4YMw0j7GvnkVhPenB8q0w3yrslCh35GDvKkaMpfp8jVFIpcrRXtA==\n-----END AGE ENCRYPTED FILE-----\n" } ], - "lastmodified": "2025-02-04T07:23:32Z", - "mac": "ENC[AES256_GCM,data:CsVQgr27iX+Xxcj6LzmASsjL9gKoAK6HoM6mz7liLkV0NHlX+DDnhB3iiZ4nilHpIlYAWnO0sbRFE8lJeelxIuRmONdBTz3hWsNwZjyPMiFoPTGn9dhdfwVCwIy5Gu+6EDlKNbnSYFa3rqtFaTV7i9ke7joTiaTLFE33Aiiv9UI=,iv:IGQ+niNhyFaRCmFrPIQTvZmyXz8A/71svP6fCXYyY2A=,tag:GeMR6g1lP/rad5fB6zUSHw==,type:str]", + "lastmodified": "2025-02-05T18:27:52Z", + "mac": "ENC[AES256_GCM,data:Z/h4hcOssvAVMLvFKdQzc6KuBk1vDEufMEa/q3mQMNjxOug0Tgwt2piOMMNg4NZjdG2i0aD9NnR/ucvORwzrGBuUPgFvLTgd+E/wmt2w0Xl/m7fwOkJd6MwZLjrPh9FXALeaAq8NnbSQZZRYC8mjAjoz/nGv4CjUy6TteD3c5HI=,iv:zZyRLj2lQkzeg+Vl9p2CqOmnP6fJK/AMABnlyPeFUls=,tag:1ZhYcL1lRrzqmc9OsytgrA==,type:str]", "pgp": null, "unencrypted_suffix": "_unencrypted", "version": "3.9.4"