Skip to content

Commit

Permalink
replaced sabeechen with juskalalie
Browse files Browse the repository at this point in the history
  • Loading branch information
juskalalie committed Feb 25, 2025
1 parent e2e1c8b commit 244710f
Show file tree
Hide file tree
Showing 30 changed files with 85 additions and 85 deletions.
6 changes: 3 additions & 3 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
github: sabeechen
github: juskalalie
patreon: stephenbeechen
custom:
- https://www.buymeacoffee.com/sabeechen
- https://www.buymeacoffee.com/juskalalie
- https://www.paypal.com/paypalme/stephenbeechen
- https://github.com/sabeechen/hassio-filenio-backup/blob/master/donate-crypto.md
- https://github.com/juskalalie/hassio-filenio-backup/blob/master/donate-crypto.md
2 changes: 1 addition & 1 deletion .github/workflows/close_stale_issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ jobs:
days-before-issue-stale: 90
days-before-issue-close: 95
exempt-issue-labels: Do this next
exempt-assignees: sabeechen
exempt-assignees: juskalalie
operations-per-run: 200
2 changes: 1 addition & 1 deletion .github/workflows/prod_push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ jobs:
args: |
--all \
--target dev/hassio-filenio-backup \
--docker-hub "ghcr.io/sabeechen"
--docker-hub "ghcr.io/juskalalie"
2 changes: 1 addition & 1 deletion .github/workflows/staging_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ jobs:
- uses: actions/checkout@v4
with:
path: staging
repository: sabeechen/hgdb-dev-staging
repository: juskalalie/hgdb-dev-staging
- run: |
python3 staging/update.py dev staging
4 changes: 2 additions & 2 deletions .github/workflows/test_staging_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v4
with:
path: staging
repository: sabeechen/hgdb-dev-staging
repository: juskalalie/hgdb-dev-staging
persist-credentials: true
token: ${{ secrets.STAGING_REPO_TOKEN }}

Expand All @@ -45,7 +45,7 @@ jobs:
args: |
--all \
--target dev/hassio-filenio-backup \
--docker-hub "ghcr.io/sabeechen"
--docker-hub "ghcr.io/juskalalie"
- name: Publish Staging Addon Version
run: |
Expand Down
22 changes: 11 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## About the project

The project is mostly maintained by [email protected], and is a fork from [the original Google Drive backup add-on](https://github.com/sabeechen/hassio-filenio-backup) from Stephen Beechen ([email protected]). Before digging in to this, you might be helpful to familiarize yourself with some of the technologies used in the project.
The project is mostly maintained by [email protected], and is a fork from [the original Google Drive backup add-on](https://github.com/juskalalie/hassio-filenio-backup) from Stephen Beechen ([email protected]). Before digging in to this, you might be helpful to familiarize yourself with some of the technologies used in the project.

- [Developing Addons for Home Assistant](https://developers.home-assistant.io/docs/add-ons) - Useful to understand how addons work.
- [Python](https://www.python.org/) - The addon is written in Python 3.11 and makes heavy use of the asyncio framework.
Expand All @@ -12,14 +12,14 @@ The project is mostly maintained by [email protected], and is a fork from [th
- [Docker](https://www.docker.com/) - All Home Assistant addons run in their own Docker container, and while you could certainly contribute without knowing much about it, knowledge of the basic commands will help.

## Approval Process
- Please only make PR's against the [dev branch](https://github.com/sabeechen/hassio-filenio-backup/tree/dev). Making a PR against master/main will result in an embarrassing song-and-dance where I ignore your PR for a little while, then ask you to remake it against dev, then ignore it again for a little while out of spite. Neither of us wants this, and you can avoid it by making it against dev in the first place.
- Please only make PR's against the [dev branch](https://github.com/juskalalie/hassio-filenio-backup/tree/dev). Making a PR against master/main will result in an embarrassing song-and-dance where I ignore your PR for a little while, then ask you to remake it against dev, then ignore it again for a little while out of spite. Neither of us wants this, and you can avoid it by making it against dev in the first place.
- If you're making a small change that fixes a bug I'm going to approve your PR quickly and heap you with praise. If you make a huge change without talking to me first I'm going to review your PR slowly and move through it with suspicion. A spectrum exists between those two extremes. Please try to understand that I'm the one ultimately on the line for the addon's reputation.
- Breaking up a large change into smaller manageable pieces make things easier.
- You can reach out to me in any of these ways to talk about a change you're considering:
- Preferred: [File an issue on github](https://github.com/sabeechen/hassio-filenio-backup/issues) proposing your changes.
- Preferred: [File an issue on github](https://github.com/juskalalie/hassio-filenio-backup/issues) proposing your changes.
- Next best: Email: [email protected]
- Acceptable but worst: Home Assistant Forums: [@sabeechen](https://community.home-assistant.io/u/sabeechen/summary)
- Any submissions to the dev branch get automatically built and pushed to a staging version of the addon that you can install using [this repository](https://github.com/sabeechen/hgdb-dev-staging). Its identical to the "Production" addon but talks to [https://dev.habackup.io](https://dev.habackup.io) instead of [https://habackup.io](https://habackup.io).
- Acceptable but worst: Home Assistant Forums: [@juskalalie](https://community.home-assistant.io/u/juskalalie/summary)
- Any submissions to the dev branch get automatically built and pushed to a staging version of the addon that you can install using [this repository](https://github.com/juskalalie/hgdb-dev-staging). Its identical to the "Production" addon but talks to [https://dev.habackup.io](https://dev.habackup.io) instead of [https://habackup.io](https://habackup.io).
- Releases of the addon are made as-needed for bug fixes and new features. If you've made a signifigant change to the addon, you can expect me to communicate to you when you can expect to see it released. Important fixes will often demand an out-of-schedule rushed release.
## Setting up a Development Environment

Expand All @@ -32,7 +32,7 @@ If the you open the repository folder in Visual Studio code with docker installe
3. Install a git client. I like [GitHub Desktop](https://desktop.github.com/)
4. Clone the project repository
```
https://github.com/sabeechen/hassio-filenio-backup.git
https://github.com/juskalalie/hassio-filenio-backup.git
```
5. Open Visual studio Code, go to the extension menu, and install the Desktop] (Python extension from Microsoft. It may prompt you to choose a Python interpreter (you want Python 3.11) and select a test framework (you want pytest).
6. <kbd>File</kbd> > <kbd>Open Folder</kbd> to open the cloned repository folder.
Expand All @@ -53,16 +53,16 @@ Here are some pointers about how things work that might get you to where you wan

## Trying Out Changes

To try out changes locally during development, I've written a server that simulates Home Assistant, Supervisor, habackup.io, and Google Drive HTTP endpoints that the addon expects in [simulationserver.py](https://github.com/sabeechen/hassio-filenio-backup/blob/master/hassio-filenio-backup/dev/simulationserver.py). It’s a beast of a class and does a lot. It simulates the services for development and is also used to make unit tests work.
To try out changes locally during development, I've written a server that simulates Home Assistant, Supervisor, habackup.io, and Google Drive HTTP endpoints that the addon expects in [simulationserver.py](https://github.com/juskalalie/hassio-filenio-backup/blob/master/hassio-filenio-backup/dev/simulationserver.py). It’s a beast of a class and does a lot. It simulates the services for development and is also used to make unit tests work.

To give it a shot, open up Visual Studio's "Run" Dialog and start up `Run Mock Backend Server`. Then also run one of these options:

- `Run Addons (Dev Backends)` - This starts up the addon web server and connects it to the simulated Home Assistant, Supervisor, and Google Drive. All of the functionality of the addon is supported (creating/deleting backups, authenticating with Google drive, etc.).
- `Run Addons (Dev Drive)` - This should be unused by contributors, as its only used for testing prior to a release by @sabeechen.
- `Run Addons (Dev Drive)` - This should be unused by contributors, as its only used for testing prior to a release by @juskalalie.
- `Run Addons (Real Drive)` - This uses a simulated Home Assistant and Supervisor, but connects to the real Google Drive. You'll have to use a real Google account to work with this configuration.

## The Staging Addon
Any submissions made to the dev branch (including PR's) get automatically built and deployed to a staging version of the addon. You can install this by adding the repository [https://github.com/sabeechen/hgdb-dev-staging](https://github.com/sabeechen/hgdb-dev-staging) to your home assistant machine. This addon is identical to what will be released with the next version of the addon but:
Any submissions made to the dev branch (including PR's) get automatically built and deployed to a staging version of the addon. You can install this by adding the repository [https://github.com/juskalalie/hgdb-dev-staging](https://github.com/juskalalie/hgdb-dev-staging) to your home assistant machine. This addon is identical to what will be released with the next version of the addon but:
- It is a separate "App" in Google's perspective, so it can't see any backups created by the "Production" addon.
- Its not reocmmended to run it along side the "Production" addon on the same machine (it see's the same backups).
- It talks to [https://dev.habackup.io](https://dev.habackup.io) instead of [https://habackup.io](https://habackup.io) to authenticate with Google Drive.
Expand Down Expand Up @@ -103,5 +103,5 @@ You should be able to run tests from within the Visual Studio tests tab. Make su

## Writing Tests

Test dependencies get injected by `pytest`, which are defined in the [conftest.py](https://github.com/sabeechen/hassio-filenio-backup/blob/master/hassio-filenio-backup/tests/conftest.py) file. This is responsible for starting the simulation server, mocking necessary classes, etc.
Most classes have their own test file in the [tests](https://github.com/sabeechen/hassio-filenio-backup/tree/master/hassio-filenio-backup/tests) directory. If you change anything in the code, you must also submit tests with your PR that verify that change. The only exception is that all the addon's JavaScript, I've never found a good way to do JavaScript tests.
Test dependencies get injected by `pytest`, which are defined in the [conftest.py](https://github.com/juskalalie/hassio-filenio-backup/blob/master/hassio-filenio-backup/tests/conftest.py) file. This is responsible for starting the simulation server, mocking necessary classes, etc.
Most classes have their own test file in the [tests](https://github.com/juskalalie/hassio-filenio-backup/tree/master/hassio-filenio-backup/tests) directory. If you change anything in the code, you must also submit tests with your PR that verify that change. The only exception is that all the addon's JavaScript, I've never found a good way to do JavaScript tests.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## About

A complete and easy way to back up Home Assistant to filen.io.
Based on [the original Google Drive backup add-on](https://github.com/sabeechen/hassio-filenio-backup) from Stephen Beechen.
Based on [the original Google Drive backup add-on](https://github.com/juskalalie/hassio-filenio-backup) from Stephen Beechen.

This is for you if you want to quickly set up a backup strategy without much fuss. It doesn't require much familiarity with Home Assistant, its architecture, or filen.io. Detailed install instructions are provided below but you can just add this repo, click install and open the Web UI. It will tell you what to do and only takes a few simple clicks. [Detailed install instructions are below](#detailed-install-instructions) if that doesn't seem clear.

Expand All @@ -31,10 +31,10 @@ This addon has been featured by %YOUR_FAVORITE_HA_YOUTUBER% and is often listed

>This project requires financial support to make the Google Drive integration work, but it is free for you to use. You can join those helping to keep the lights on at:
>
>[<img src="images/bmc-button.svg" width=150 height=40 style="margin: 5px"/>](https://www.buymeacoffee.com/sabeechen)
>[<img src="images/bmc-button.svg" width=150 height=40 style="margin: 5px"/>](https://www.buymeacoffee.com/juskalalie)
>[<img src="images/paypal-button.svg" width=150 height=40 style="margin: 5px"/>](https://www.paypal.com/paypalme/stephenbeechen)
>[<img src="images/patreon-button.svg" width=150 height=40 style="margin: 5px"/>](https://www.patreon.com/bePatron?u=4064183)
>[<img src="images/github-sponsors-button.svg" width=150 height=40 style="margin: 5px"/>](https://github.com/sponsors/sabeechen)
>[<img src="images/github-sponsors-button.svg" width=150 height=40 style="margin: 5px"/>](https://github.com/sponsors/juskalalie)
>[<img src="images/monero-button.svg" width=150 height=40 style="margin: 5px"/>](donate-crypto.md)
>[<img src="images/bitcoin-button.svg" width=150 height=40 style="margin: 5px"/>](donate-crypto.md)
>[<img src="images/ethereum-button.svg" width=150 height=40 style="margin: 5px"/>](donate-crypto.md)
Expand All @@ -44,7 +44,7 @@ This addon has been featured by %YOUR_FAVORITE_HA_YOUTUBER% and is often listed
### Detailed Install Instructions
1. Navigate in your Home Assistant frontend to <kbd>Settings</kbd> -> <kbd>Add-ons</kbd> -> <kbd>Add-on Store (Bottom Right)</kbd>.

2. Click the 3-dots menu at upper right <kbd>...</kbd> > <kbd>Repositories</kbd> and add this repository's URL: [https://github.com/sabeechen/hassio-filenio-backup](https://github.com/sabeechen/hassio-filenio-backup)
2. Click the 3-dots menu at upper right <kbd>...</kbd> > <kbd>Repositories</kbd> and add this repository's URL: [https://github.com/juskalalie/hassio-filenio-backup](https://github.com/juskalalie/hassio-filenio-backup)

<img src="images/add_ss.png" width="300"/>

Expand Down Expand Up @@ -151,7 +151,7 @@ You can add `"backup_time_of_day": "13:00"` to your add-on configuration to make
### Can I keep older backups for longer?
> This is just an overview of how to keep older backups longer. [See here](https://github.com/sabeechen/hassio-filenio-backup/blob/master/hassio-filenio-backup/GENERATIONAL_BACKUP.md) for a more in-depth explanation.
> This is just an overview of how to keep older backups longer. [See here](https://github.com/juskalalie/hassio-filenio-backup/blob/master/hassio-filenio-backup/GENERATIONAL_BACKUP.md) for a more in-depth explanation.
The add-on can be configured to keep [generational backups](https://en.wikipedia.org/wiki/Backup_rotation_scheme) on daily, weekly, monthly, and yearly intervals instead of just deleting the oldest backup. This can be useful if, for example, you've made an erroneous change but haven't noticed for several days and all the backups before the change are gone. With a configuration setting like this...
Expand Down Expand Up @@ -227,7 +227,7 @@ Maybe. You can encrypt your backups by giving a password in the add-on's options
On a matter of principle, I only keep track of and store information necessary for the add-on to function. To the best of my knowledge the scope of this is:

- You can opt-in to sending error reports from the add-on sent to a database maintained by me. This includes the full text of the error's stack trace, the error message, and the version of the add-on you're running. This helps notice problems with new releases but leaving it off (the default unless you turn it on) doesn't affect the functionality of the add-on in any way.
- Once authenticated with Google, your Google credentials are only stored locally on your Home Assistant instance. This isn't your actual username and password, only an opaque token returned from Google used to verify that you previously gave the Add-on permission to access your Google Drive. Your password is never seen by me or the add-on. You can read more about how authentication with Google is accomplished [here](https://github.com/sabeechen/hassio-filenio-backup/blob/master/hassio-filenio-backup/AUTHENTICATION.md).
- Once authenticated with Google, your Google credentials are only stored locally on your Home Assistant instance. This isn't your actual username and password, only an opaque token returned from Google used to verify that you previously gave the Add-on permission to access your Google Drive. Your password is never seen by me or the add-on. You can read more about how authentication with Google is accomplished [here](https://github.com/juskalalie/hassio-filenio-backup/blob/master/hassio-filenio-backup/AUTHENTICATION.md).
- The add-on has access to the files in Google Drive it created, which is the 'Home Assistant Backups' folder and any backups it uploads. See the https://www.googleapis.com/auth/drive.file scope in the [Drive REST API v3 Documentation](https://developers.google.com/drive/api/v3/about-auth) for details, this is the only scope the add-on requests for your account.
- Google stores a history of information about the number of requests, number of errors, and latency of requests made by this Add-on and makes a graph of that visible to me. This is needed because Google only gives me a certain quota for requests shared between all users of the add-on, so I need to be aware if someone is abusing it.
- The Add-on is distributed as a Docker container hosted on Docker Hub, which is how almost all add-ons work. Docker keeps track of how many people have requested an image and makes that information publicly visible.
Expand Down
2 changes: 1 addition & 1 deletion donate-crypto.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Contributing with Cryptocurrency
Below are the addresses and relevant QR Codes for contributiong to the project with Monreo, Ethereum and Bitcoin. Thank you for considering! If you'd like to donate using a currency not listed, make an [issue](https://github.com/sabeechen/hassio-filenio-backup/issues) so I can consider it. Cryptocurrency might be the purest way to contribute, because I have no way of knowing who you are. Your anonymous support is appreciated <3
Below are the addresses and relevant QR Codes for contributiong to the project with Monreo, Ethereum and Bitcoin. Thank you for considering! If you'd like to donate using a currency not listed, make an [issue](https://github.com/juskalalie/hassio-filenio-backup/issues) so I can consider it. Cryptocurrency might be the purest way to contribute, because I have no way of knowing who you are. Your anonymous support is appreciated <3
<br><br>
### <img src="images/monero-button.svg" width="200" /><br>
<img src="images/monero-qr.svg" width="200" />
Expand Down
Loading

0 comments on commit 244710f

Please sign in to comment.