Skip to content

Releases: kurmann/s3-restore-utilities

v0.9.0

22 May 15:18
bba2967
Compare
Choose a tag to compare

Features

Einführung des Supervisor-Skripts und Modularisierung der S3 Restore Utilities (@kurmann) [#95]

Die S3 Restore Utilities wurden durch die Einführung eines Supervisor-Skripts und die Modularisierung der einzelnen Funktionen erheblich verbessert. Diese Änderungen zielen darauf ab, den Workflow zu vereinfachen und die Nutzung der verschiedenen Funktionen konsistenter und benutzerfreundlicher zu gestalten.

Änderungen:

  1. Einführung des Supervisor-Skripts:

    • Ein zentrales Skript (supervisor.py) wurde eingeführt, um die verschiedenen Funktionen der S3 Restore Utilities zu verwalten und auszuführen.
    • Das Supervisor-Skript verwendet argparse, um Befehle und Argumente zu verarbeiten und die entsprechenden Funktionen aufzurufen.
  2. Modularisierung der Funktionen:

    • Die einzelnen Skripte (list_buckets.py, check_restore_status.py, restore_deep_glacier.py, download_s3_directory.py) wurden so angepasst, dass sie als Module importiert und innerhalb des Supervisor-Skripts aufgerufen werden können.
    • configure_aws.py wurde aktualisiert, um die AWS CLI Konfiguration über Umgebungsvariablen zu laden und in allen Modulen verwendet zu werden.
  3. Ersetzung des bisherigen Start-Skripts (start.py):

    • Das bisherige Start-Skript (start.py), das benutzereingabegesteuert war, wurde durch das neue Supervisor-Skript ersetzt.
    • Anstatt benutzereingabegesteuert zu arbeiten, bietet das Supervisor-Skript eine klare und einheitliche CLI für alle Funktionen der S3 Restore Utilities.

Vorteile für den Anwender:

  • Zentralisierte Steuerung: Alle Funktionen der S3 Restore Utilities können jetzt zentral über das supervisor.py-Skript aufgerufen und verwaltet werden. Dadurch wird die Nutzung der verschiedenen Tools vereinfacht und vereinheitlicht.
  • Klare CLI: Der Anwender muss keine Skripte mehr direkt mit python3 aufrufen. Stattdessen können alle Befehle über eine einheitliche und klare CLI aufgerufen werden, was die Bedienung erheblich vereinfacht.
  • Konsistenter Workflow: Der Aufruf der verschiedenen Funktionen erfolgt nun konsistent über das Supervisor-Skript, was Fehler reduziert und die Handhabung verbessert.
  • Entfall von Benutzereingaben: Die vorherige, benutzereingabegesteuerte Methode wurde durch eine automatische, CLI-basierte Methode ersetzt, wodurch die Nutzung schneller und weniger fehleranfällig wird.

Neue CLI

Hier sind einige Beispiele, wie die verschiedenen Skripte jetzt über Docker Compose aufgerufen werden können:

  • List Buckets Skript ausführen:

    docker-compose run s3-restore-utilities list_buckets
  • Check Restore Status Skript ausführen:

    docker-compose run s3-restore-utilities check_restore_status dein-bucket-name pfad/zum/verzeichnis
  • Restore Deep Glacier Skript ausführen:

    docker-compose run s3-restore-utilities restore_deep_glacier dein-bucket-name pfad/zum/verzeichnis [--glacier_tier Standard]
  • Download S3 Directory Skript ausführen:

    docker-compose run s3-restore-utilities download_s3_directory dein-bucket-name pfad/zum/verzeichnis lokaler-pfad

Mit diesen Änderungen wird die Nutzung der S3 Restore Utilities durch eine zentralisierte und konsistente CLI erheblich vereinfacht und verbessert.

Automatische AWS CLI Konfiguration und Verbesserungen im Hauptskript (@kurmann) [#86]

Automatische Konfiguration der AWS CLI mittels Umgebungsvariablen implementiert und im Zuge dessen die manuelle Konfigurationsoption aus dem Hauptmenü entfernt. Dies verbessert den Workflow und vereinfacht die Nutzung der S3 Restore Utilities.

Änderungen:

  1. Automatische AWS CLI Konfiguration:

    • configure_aws.py liest jetzt die AWS-Zugangsdaten aus Umgebungsvariablen (.env Datei).
    • configure_aws.py wird automatisch beim Start des Hauptskripts start.py ausgeführt.
  2. Entfernung der manuellen Konfigurationsoption:

    • Die Option zur manuellen AWS CLI Konfiguration wurde aus dem Hauptmenü entfernt.

Details der Änderungen:

  • configure_aws.py:

    • Konfiguration der AWS CLI erfolgt jetzt über Umgebungsvariablen (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION).
    • Überprüfung, ob die Umgebungsvariablen gesetzt sind, und entsprechende Konfiguration der AWS CLI.
  • start.py:

    • Automatischer Aufruf von configure_aws.py zu Beginn des Skripts.
    • Aktualisierung des Menüs, um die manuelle Konfigurationsoption zu entfernen.

Vorteile für den Anwender:

  • Vereinfachte Nutzung: Anwender müssen die AWS-Zugangsdaten nur einmal in der .env Datei hinterlegen, anstatt diese jedes Mal manuell einzugeben.
  • Automatisierte Konfiguration: Die AWS CLI wird automatisch konfiguriert, bevor das Hauptmenü angezeigt wird, was den Startvorgang beschleunigt und vereinfacht.
  • Klareres Menü: Das Hauptmenü ist jetzt klarer und fokussierter, ohne die zusätzliche Option zur manuellen Konfiguration.

Bug Fixes

Fix für Argumentparser-Aufruf (@kurmann) [#102]

Beschreibung: Ein Problem wurde behoben, bei dem das list_buckets-Skript Argumente erwartete, obwohl es keine benötigte. Dies führte zu einer Fehlermeldung beim Aufruf des Skripts.

Lösung: Die supervisor.py wurde angepasst, sodass list_buckets ohne zusätzliche Argumente aufgerufen wird. Dies wurde durch die Verwendung einer Lambda-Funktion erreicht, die list_buckets() ohne Argumente aufruft.

Änderungen:

Nachher:

parser_list_buckets.set_defaults(func=lambda args: list_buckets())

Vorher:

parser_list_buckets.set_defaults(func=list_buckets)

Dokumentation

Verbesserte Dokumentation für die Nutzung des Docker-Images und Docker Compose (@kurmann) [#97]

Die Dokumentation der S3 Restore Utilities wurde aktualisiert, um die Nutzung des Docker-Images und Docker Compose zu vereinfachen und zu klarifizieren.

Änderungen:

  1. Entfernung der Python-Abhängigkeiten und Entwicklungsumgebungs-Anweisungen:: Fokus auf die Nutzung des Docker-Images als primäre Methode zur Ausführung der Skripte.

  2. Einführung von Docker Compose:: Bereitstellung einer docker-compose.yml, die direkt das Docker-Image aus Docker Hub verwendet, anstatt es lokal zu bauen. Beschreibung, wie Docker Compose zur Verwaltung der Skripte verwendet wird, einschließlich der Einrichtung und Verwendung auf einer Synology NAS.

  3. Erläuterung der CLI-Parameter:: Hinweis darauf, dass der --help-Parameter Informationen zu den erforderlichen Parametern für jedes Skript liefert.

  4. Volumen-Verwendung:: Erklärung der Verwendung und Vorteile von Docker-Volumes zur Datenpersistenz und -isolierung.

  5. Skript-Aufruf über den Supervisor:: Beschreibung, wie die Skripte über das supervisor.py-Skript aufgerufen werden, das sich im Root des Docker-Arbeitsverzeichnisses befindet.

v0.9.0-preview-3

22 May 13:51
2bc77c3
Compare
Choose a tag to compare
v0.9.0-preview-3 Pre-release
Pre-release

Features

Einführung des Supervisor-Skripts und Modularisierung der S3 Restore Utilities (@kurmann) [#95]

Die S3 Restore Utilities wurden durch die Einführung eines Supervisor-Skripts und die Modularisierung der einzelnen Funktionen erheblich verbessert. Diese Änderungen zielen darauf ab, den Workflow zu vereinfachen und die Nutzung der verschiedenen Funktionen konsistenter und benutzerfreundlicher zu gestalten.

Änderungen:

  1. Einführung des Supervisor-Skripts:

    • Ein zentrales Skript (supervisor.py) wurde eingeführt, um die verschiedenen Funktionen der S3 Restore Utilities zu verwalten und auszuführen.
    • Das Supervisor-Skript verwendet argparse, um Befehle und Argumente zu verarbeiten und die entsprechenden Funktionen aufzurufen.
  2. Modularisierung der Funktionen:

    • Die einzelnen Skripte (list_buckets.py, check_restore_status.py, restore_deep_glacier.py, download_s3_directory.py) wurden so angepasst, dass sie als Module importiert und innerhalb des Supervisor-Skripts aufgerufen werden können.
    • configure_aws.py wurde aktualisiert, um die AWS CLI Konfiguration über Umgebungsvariablen zu laden und in allen Modulen verwendet zu werden.
  3. Ersetzung des bisherigen Start-Skripts (start.py):

    • Das bisherige Start-Skript (start.py), das benutzereingabegesteuert war, wurde durch das neue Supervisor-Skript ersetzt.
    • Anstatt benutzereingabegesteuert zu arbeiten, bietet das Supervisor-Skript eine klare und einheitliche CLI für alle Funktionen der S3 Restore Utilities.

Vorteile für den Anwender:

  • Zentralisierte Steuerung: Alle Funktionen der S3 Restore Utilities können jetzt zentral über das supervisor.py-Skript aufgerufen und verwaltet werden. Dadurch wird die Nutzung der verschiedenen Tools vereinfacht und vereinheitlicht.
  • Klare CLI: Der Anwender muss keine Skripte mehr direkt mit python3 aufrufen. Stattdessen können alle Befehle über eine einheitliche und klare CLI aufgerufen werden, was die Bedienung erheblich vereinfacht.
  • Konsistenter Workflow: Der Aufruf der verschiedenen Funktionen erfolgt nun konsistent über das Supervisor-Skript, was Fehler reduziert und die Handhabung verbessert.
  • Entfall von Benutzereingaben: Die vorherige, benutzereingabegesteuerte Methode wurde durch eine automatische, CLI-basierte Methode ersetzt, wodurch die Nutzung schneller und weniger fehleranfällig wird.

Neue CLI

Hier sind einige Beispiele, wie die verschiedenen Skripte jetzt über Docker Compose aufgerufen werden können:

  • List Buckets Skript ausführen:

    docker-compose run s3-restore-utilities list_buckets
  • Check Restore Status Skript ausführen:

    docker-compose run s3-restore-utilities check_restore_status dein-bucket-name pfad/zum/verzeichnis
  • Restore Deep Glacier Skript ausführen:

    docker-compose run s3-restore-utilities restore_deep_glacier dein-bucket-name pfad/zum/verzeichnis [--glacier_tier Standard]
  • Download S3 Directory Skript ausführen:

    docker-compose run s3-restore-utilities download_s3_directory dein-bucket-name pfad/zum/verzeichnis lokaler-pfad

Mit diesen Änderungen wird die Nutzung der S3 Restore Utilities durch eine zentralisierte und konsistente CLI erheblich vereinfacht und verbessert.

Automatische AWS CLI Konfiguration und Verbesserungen im Hauptskript (@kurmann) [#86]

Automatische Konfiguration der AWS CLI mittels Umgebungsvariablen implementiert und im Zuge dessen die manuelle Konfigurationsoption aus dem Hauptmenü entfernt. Dies verbessert den Workflow und vereinfacht die Nutzung der S3 Restore Utilities.

Änderungen:

  1. Automatische AWS CLI Konfiguration:

    • configure_aws.py liest jetzt die AWS-Zugangsdaten aus Umgebungsvariablen (.env Datei).
    • configure_aws.py wird automatisch beim Start des Hauptskripts start.py ausgeführt.
  2. Entfernung der manuellen Konfigurationsoption:

    • Die Option zur manuellen AWS CLI Konfiguration wurde aus dem Hauptmenü entfernt.

Details der Änderungen:

  • configure_aws.py:

    • Konfiguration der AWS CLI erfolgt jetzt über Umgebungsvariablen (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION).
    • Überprüfung, ob die Umgebungsvariablen gesetzt sind, und entsprechende Konfiguration der AWS CLI.
  • start.py:

    • Automatischer Aufruf von configure_aws.py zu Beginn des Skripts.
    • Aktualisierung des Menüs, um die manuelle Konfigurationsoption zu entfernen.

Vorteile für den Anwender:

  • Vereinfachte Nutzung: Anwender müssen die AWS-Zugangsdaten nur einmal in der .env Datei hinterlegen, anstatt diese jedes Mal manuell einzugeben.
  • Automatisierte Konfiguration: Die AWS CLI wird automatisch konfiguriert, bevor das Hauptmenü angezeigt wird, was den Startvorgang beschleunigt und vereinfacht.
  • Klareres Menü: Das Hauptmenü ist jetzt klarer und fokussierter, ohne die zusätzliche Option zur manuellen Konfiguration.

Bug Fixes

Fix für Argumentparser-Aufruf (@kurmann) [#102]

Beschreibung: Ein Problem wurde behoben, bei dem das list_buckets-Skript Argumente erwartete, obwohl es keine benötigte. Dies führte zu einer Fehlermeldung beim Aufruf des Skripts.

Lösung: Die supervisor.py wurde angepasst, sodass list_buckets ohne zusätzliche Argumente aufgerufen wird. Dies wurde durch die Verwendung einer Lambda-Funktion erreicht, die list_buckets() ohne Argumente aufruft.

Änderungen:

Nachher:

parser_list_buckets.set_defaults(func=lambda args: list_buckets())

Vorher:

parser_list_buckets.set_defaults(func=list_buckets)

v0.9.0-preview-2

22 May 09:42
1f16420
Compare
Choose a tag to compare
v0.9.0-preview-2 Pre-release
Pre-release

Features

Einführung des Supervisor-Skripts und Modularisierung der S3 Restore Utilities (@kurmann) [#95]

Die S3 Restore Utilities wurden durch die Einführung eines Supervisor-Skripts und die Modularisierung der einzelnen Funktionen erheblich verbessert. Diese Änderungen zielen darauf ab, den Workflow zu vereinfachen und die Nutzung der verschiedenen Funktionen konsistenter und benutzerfreundlicher zu gestalten.

Änderungen:

  1. Einführung des Supervisor-Skripts:

    • Ein zentrales Skript (supervisor.py) wurde eingeführt, um die verschiedenen Funktionen der S3 Restore Utilities zu verwalten und auszuführen.
    • Das Supervisor-Skript verwendet argparse, um Befehle und Argumente zu verarbeiten und die entsprechenden Funktionen aufzurufen.
  2. Modularisierung der Funktionen:

    • Die einzelnen Skripte (list_buckets.py, check_restore_status.py, restore_deep_glacier.py, download_s3_directory.py) wurden so angepasst, dass sie als Module importiert und innerhalb des Supervisor-Skripts aufgerufen werden können.
    • configure_aws.py wurde aktualisiert, um die AWS CLI Konfiguration über Umgebungsvariablen zu laden und in allen Modulen verwendet zu werden.
  3. Ersetzung des bisherigen Start-Skripts (start.py):

    • Das bisherige Start-Skript (start.py), das benutzereingabegesteuert war, wurde durch das neue Supervisor-Skript ersetzt.
    • Anstatt benutzereingabegesteuert zu arbeiten, bietet das Supervisor-Skript eine klare und einheitliche CLI für alle Funktionen der S3 Restore Utilities.

Vorteile für den Anwender:

  • Zentralisierte Steuerung: Alle Funktionen der S3 Restore Utilities können jetzt zentral über das supervisor.py-Skript aufgerufen und verwaltet werden. Dadurch wird die Nutzung der verschiedenen Tools vereinfacht und vereinheitlicht.
  • Klare CLI: Der Anwender muss keine Skripte mehr direkt mit python3 aufrufen. Stattdessen können alle Befehle über eine einheitliche und klare CLI aufgerufen werden, was die Bedienung erheblich vereinfacht.
  • Konsistenter Workflow: Der Aufruf der verschiedenen Funktionen erfolgt nun konsistent über das Supervisor-Skript, was Fehler reduziert und die Handhabung verbessert.
  • Entfall von Benutzereingaben: Die vorherige, benutzereingabegesteuerte Methode wurde durch eine automatische, CLI-basierte Methode ersetzt, wodurch die Nutzung schneller und weniger fehleranfällig wird.

Neue CLI

Hier sind einige Beispiele, wie die verschiedenen Skripte jetzt über Docker Compose aufgerufen werden können:

  • List Buckets Skript ausführen:

    docker-compose run s3-restore-utilities list_buckets
  • Check Restore Status Skript ausführen:

    docker-compose run s3-restore-utilities check_restore_status dein-bucket-name pfad/zum/verzeichnis
  • Restore Deep Glacier Skript ausführen:

    docker-compose run s3-restore-utilities restore_deep_glacier dein-bucket-name pfad/zum/verzeichnis [--glacier_tier Standard]
  • Download S3 Directory Skript ausführen:

    docker-compose run s3-restore-utilities download_s3_directory dein-bucket-name pfad/zum/verzeichnis lokaler-pfad

Mit diesen Änderungen wird die Nutzung der S3 Restore Utilities durch eine zentralisierte und konsistente CLI erheblich vereinfacht und verbessert.

Automatische AWS CLI Konfiguration und Verbesserungen im Hauptskript (@kurmann) [#86]

Automatische Konfiguration der AWS CLI mittels Umgebungsvariablen implementiert und im Zuge dessen die manuelle Konfigurationsoption aus dem Hauptmenü entfernt. Dies verbessert den Workflow und vereinfacht die Nutzung der S3 Restore Utilities.

Änderungen:

  1. Automatische AWS CLI Konfiguration:

    • configure_aws.py liest jetzt die AWS-Zugangsdaten aus Umgebungsvariablen (.env Datei).
    • configure_aws.py wird automatisch beim Start des Hauptskripts start.py ausgeführt.
  2. Entfernung der manuellen Konfigurationsoption:

    • Die Option zur manuellen AWS CLI Konfiguration wurde aus dem Hauptmenü entfernt.

Details der Änderungen:

  • configure_aws.py:

    • Konfiguration der AWS CLI erfolgt jetzt über Umgebungsvariablen (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION).
    • Überprüfung, ob die Umgebungsvariablen gesetzt sind, und entsprechende Konfiguration der AWS CLI.
  • start.py:

    • Automatischer Aufruf von configure_aws.py zu Beginn des Skripts.
    • Aktualisierung des Menüs, um die manuelle Konfigurationsoption zu entfernen.

Vorteile für den Anwender:

  • Vereinfachte Nutzung: Anwender müssen die AWS-Zugangsdaten nur einmal in der .env Datei hinterlegen, anstatt diese jedes Mal manuell einzugeben.
  • Automatisierte Konfiguration: Die AWS CLI wird automatisch konfiguriert, bevor das Hauptmenü angezeigt wird, was den Startvorgang beschleunigt und vereinfacht.
  • Klareres Menü: Das Hauptmenü ist jetzt klarer und fokussierter, ohne die zusätzliche Option zur manuellen Konfiguration.

v0.9.0-preview

20 May 14:53
b6b652f
Compare
Choose a tag to compare
v0.9.0-preview Pre-release
Pre-release

Änderungen

Features

Automatische AWS CLI Konfiguration und Verbesserungen im Hauptskript (@kurmann) [#86]

Automatische Konfiguration der AWS CLI mittels Umgebungsvariablen implementiert und im Zuge dessen die manuelle Konfigurationsoption aus dem Hauptmenü entfernt. Dies verbessert den Workflow und vereinfacht die Nutzung der S3 Restore Utilities.

Änderungen:

  1. Automatische AWS CLI Konfiguration:

    • configure_aws.py liest jetzt die AWS-Zugangsdaten aus Umgebungsvariablen (.env Datei).
    • configure_aws.py wird automatisch beim Start des Hauptskripts start.py ausgeführt.
  2. Entfernung der manuellen Konfigurationsoption:

    • Die Option zur manuellen AWS CLI Konfiguration wurde aus dem Hauptmenü entfernt.

Details der Änderungen:

  • configure_aws.py:

    • Konfiguration der AWS CLI erfolgt jetzt über Umgebungsvariablen (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION).
    • Überprüfung, ob die Umgebungsvariablen gesetzt sind, und entsprechende Konfiguration der AWS CLI.
  • start.py:

    • Automatischer Aufruf von configure_aws.py zu Beginn des Skripts.
    • Aktualisierung des Menüs, um die manuelle Konfigurationsoption zu entfernen.

Vorteile für den Anwender:

  • Vereinfachte Nutzung: Anwender müssen die AWS-Zugangsdaten nur einmal in der .env Datei hinterlegen, anstatt diese jedes Mal manuell einzugeben.
  • Automatisierte Konfiguration: Die AWS CLI wird automatisch konfiguriert, bevor das Hauptmenü angezeigt wird, was den Startvorgang beschleunigt und vereinfacht.
  • Klareres Menü: Das Hauptmenü ist jetzt klarer und fokussierter, ohne die zusätzliche Option zur manuellen Konfiguration.

v0.8.0

20 May 14:50
7c583a9
Compare
Choose a tag to compare

Änderungen

Vereinfachung des Dockerfiles für effizientere Nutzung (@kurmann) [#83]

Dieses Update vereinfacht das Dockerfile für das s3-restore-utilities-Projekt, indem unnötige Profildateien und Willkommens-Nachrichten entfernt werden. Da dieses Projekt die Nutzung von Docker Logs empfiehlt, sind diese Profildateien nicht mehr erforderlich.

Docker Compose ist Synology-ready (@kurmann) [#82]

Die docker-compose.yml hat zwei vorgeschlagene Volume-Pfade, die der empfohlenen Verzeichnisstruktur von Synology NAS entspricht. Mit dieser Datei kann also sofort ohne Änderung auf Docker Compose umgestiegen werden.

Docker Compose Datei:

version: '3.8'

services:
  s3-restore-utilities:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: s3-restore-utilities
    volumes:
      - /volume1/docker/s3-restore-utilities/downloads:/usr/src/app/downloads
      - /volume1/docker/s3-restore-utilities/logs:/usr/src/app/logs
    env_file:
      - .env
    tty: true
    stdin_open: true

volumes:
  downloads:
  logs:

Features

Docker Compose Integration (@kurmann) [#77]

Änderungen:

  1. Docker Compose-Datei (docker-compose.yml) hinzugefügt:

    • Definiert den s3-restore-utilities-Dienst.
    • Verknüpft lokale Verzeichnisse für Downloads und Logs als Volumes.
    • Setzt Umgebungsvariablen über eine .env-Datei.
    • Aktiviert ein pseudo-TTY für interaktive Anwendungen.
  2. Beispiel-ENV-Datei (.env) hinzugefügt:

    • Stellt ein Beispiel zur Verfügung, wie Umgebungsvariablen definiert werden können.

Dokumentation

Anwendung von Docker Composer (@kurmann) [#79]

README.md-Datei aktualisiert mit detaillierten Schritten um Docker Compose zusammen mit der .env-Datei einzusetzen um den Docker Container zu starten.

v0.8.0-preview

20 May 13:42
7c583a9
Compare
Choose a tag to compare
v0.8.0-preview Pre-release
Pre-release

Änderungen

Vereinfachung des Dockerfiles für effizientere Nutzung (@kurmann) [#83]

Dieses Update vereinfacht das Dockerfile für das s3-restore-utilities-Projekt, indem unnötige Profildateien und Willkommens-Nachrichten entfernt werden. Da dieses Projekt die Nutzung von Docker Logs empfiehlt, sind diese Profildateien nicht mehr erforderlich.

Docker Compose ist Synology-ready (@kurmann) [#82]

Die docker-compose.yml hat zwei vorgeschlagene Volume-Pfade, die der empfohlenen Verzeichnisstruktur von Synology NAS entspricht. Mit dieser Datei kann also sofort ohne Änderung auf Docker Compose umgestiegen werden.

Docker Compose Datei:

version: '3.8'

services:
  s3-restore-utilities:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: s3-restore-utilities
    volumes:
      - /volume1/docker/s3-restore-utilities/downloads:/usr/src/app/downloads
      - /volume1/docker/s3-restore-utilities/logs:/usr/src/app/logs
    env_file:
      - .env
    tty: true
    stdin_open: true

volumes:
  downloads:
  logs:

Features

Docker Compose Integration (@kurmann) [#77]

Änderungen:

  1. Docker Compose-Datei (docker-compose.yml) hinzugefügt:

    • Definiert den s3-restore-utilities-Dienst.
    • Verknüpft lokale Verzeichnisse für Downloads und Logs als Volumes.
    • Setzt Umgebungsvariablen über eine .env-Datei.
    • Aktiviert ein pseudo-TTY für interaktive Anwendungen.
  2. Beispiel-ENV-Datei (.env) hinzugefügt:

    • Stellt ein Beispiel zur Verfügung, wie Umgebungsvariablen definiert werden können.

Dokumentation

Anwendung von Docker Composer (@kurmann) [#79]

README.md-Datei aktualisiert mit detaillierten Schritten um Docker Compose zusammen mit der .env-Datei einzusetzen um den Docker Container zu starten.

v0.7.1

20 May 07:50
b63f4a7
Compare
Choose a tag to compare

Änderungen

Sichere Eingabe des AWS Secret Access Key durch getpass (@kurmann) [#71]

Änderungen:

  • Verwendung von getpass für die Eingabe des aws_secret_access_key.

Auswirkungen für Anwender:

  • Der aws_secret_access_key wird bei der Eingabe maskiert und erscheint nicht mehr im Klartext.
  • Der Key wird niemals in den Logs angezeigt, was die Sicherheit erhöht.

Details:

  • Bisher wurde der aws_secret_access_key im Klartext über input() eingegeben, was ein Sicherheitsrisiko darstellte.
  • Durch getpass.getpass() wird die Eingabe des Secrets maskiert, sodass dieser nicht im Klartext angezeigt wird.

Diese Änderung verbessert die Sicherheit bei der Eingabe und Verarbeitung von AWS-Zugangsdaten.

Bug Fixes

Release Drafter Workflow wurde nicht automatisch ausgeführt (@kurmann) [#75]

Die Triggers für den Workflow wurden vereinfacht damit der Release Drafter-Workflow bei beim geschlossenen Pull Request zuverlässig geschlossen wird.

Dokumentation

README.md aktualisiert (@kurmann) [#73]

Die Weiterentwicklungen seit Version 0.5.0 sind nun im README.md enthalten. Sie umfassen auch neu den Hinweis zum Einsatz von Docker Logs.

v0.7.0

20 May 06:25
54055a6
Compare
Choose a tag to compare

Features

Verbesserte Pfadhandhabung und S3-Verzeichnis-Download ins Hauptmenü aufgenommen (@kurmann) [#67]

Diese Version bringt wichtige Verbesserungen und Bugfixes für die S3 Restore Utilities. Die Skripte wurden angepasst, um die korrekte Ausführung und Pfadauflösung innerhalb des Docker-Containers zu gewährleisten.

Änderungen:

  1. Hauptmenüerweiterung:

    • Hinzufügen einer neuen Option zur Hauptmenüauswahl: "Download S3 Directory".
    • Verbesserte Benutzerführung mit klaren Anweisungen zur Auswahl und Eingabe.
  2. Pfadkorrekturen:

    • Anpassung aller Skriptaufrufe im start.py, um sicherzustellen, dass die relativen Pfade korrekt aufgelöst werden.
    • Vermeidung von doppelten Pfaden und Sicherstellung, dass alle Skripte im richtigen Verzeichnis ausgeführt werden.
  3. Neue Funktionalität:

    • Hinzufügen des Skripts download_s3_directory.py zum Hauptmenü, welches die Möglichkeit bietet, ein S3-Verzeichnis herunterzuladen.
    • Integration von Fortschrittsanzeigen für das Herunterladen von Dateien mit tqdm.
  4. Verbesserte AWS CLI Konfiguration:

    • Anpassung des configure_aws.py-Skripts, um nach der Konfiguration zur Hauptmenüauswahl zurückzukehren.
    • Verwendung von subprocess zur korrekten Ausführung des Hauptskripts nach der Konfiguration.
  5. Bugfixes:

    • Behebung von Fehlern, bei denen Skripte nicht gefunden wurden, wenn sie aus start.py aufgerufen wurden.
    • Verbesserung der Fehlerbehandlung und Ausgabe hilfreicher Fehlermeldungen bei missglückten Downloads.

Anweisungen zur Nutzung:

  1. Docker-Image erstellen:

    docker build -t s3-restore-utilities .
  2. Docker-Container starten:

    docker run -it --name s3-restore-utilities-container s3-restore-utilities /bin/sh
  3. Skripte ausführen:

    cd /usr/src/app/scripts
    python3 start.py

v0.6.0

20 May 04:31
b62bdb2
Compare
Choose a tag to compare

Änderungen

Workflow-Update für PR-Änderungen (@kurmann) [#59]

Release Drafter wird jetzt bei Änderungen an PRs ausgelöst, um sicherzustellen, dass die Release Notes immer aktuell sind. Relevante Ereignisse wie opened, reopened, synchronize, und edited wurden hinzugefügt.

Konfigurations-Update für spezifische PRs (@kurmann) [#57]

Pull Requests mit dem Label ignore-in-release-notes werden aus den Release Notes ausgeschlossen, um die Übersichtlichkeit zu verbessern.

Konfigurations-Update für bessere Hierarchie (@kurmann) [#55]

Die Titel der PRs werden auf Hierarchieebene 3 gesetzt, während die Details der PRs direkt eingefügt werden, maximal auf Hierarchieebene 4, um eine klare Struktur zu gewährleisten.

Verwendung von sh statt bash in Docker (@kurmann) [#53]

Der Eingabepunkt des Docker-Containers wurde von bash zu sh geändert. Dies ist notwendig, da Alpine Linux standardmäßig keine bash-Shell enthält und stattdessen die minimalistische sh-Shell verwendet. Zusätzliche Entwicklungswerkzeuge wurden entfernt, um die Größe des Docker-Images zu reduzieren und die Effizienz zu verbessern. Eine .profile Datei wurde erstellt, um die Begrüßungsnachricht und das start.py Skript beim Start der Shell auszuführen.

Update des Dockerfile Basis-Images (@kurmann) [#52]

Änderungen

  • Update der Release Drafter Konfiguration
    • Dieser PR fügt ein change-template zur Release Drafter Konfigurationsdatei hinzu, um sicherzustellen, dass die Beschreibungen der Pull Requests in die Release Notes aufgenommen werden.
    • Änderungen:
      • Hinzufügen des change-template Eintrags:
        change-template: |
          - $TITLE (@$AUTHOR) [#$NUMBER]
            $BODY
      • Dies ermöglicht es, die detaillierten Beschreibungen der Pull Requests in den Release Notes zu erfassen und anzuzeigen.

Vorteile

  • Erhöhte Transparenz und Detailgenauigkeit in den Release Notes, indem PR-Beschreibungen integriert werden.

Dockerfile Basis-Image auf python:3.13-rc-alpine3.19 aktualisiert (@kurmann) [#49]

Das Dockerfile wurde aktualisiert, um das Basis-Image auf python:3.13-rc-alpine3.19 zu ändern, um die Stabilität und Kompatibilität zu verbessern.

Features

Begrüßungsnachrichten für weitere Shells hinzugefügt (@kurmann) [#64]

  • Begrüßungsnachrichten und der Startbefehl für das start.py-Skript wurden den Profildateien .bashrc, .zshrc und .shrc hinzugefügt.
  • Die bisher vorhandene .profile-Datei wurde beibehalten und entsprechend angepasst.

Vorteile:

  • Einheitliche Benutzererfahrung durch Begrüßungsnachrichten in verschiedenen Shells.
  • Das Startmenü wird nun in allen gängigen Shells angezeigt.

Automatische Ausführung von start.py und interaktiver Zugang (@kurmann) [#61]

Dieses Update ermöglicht die automatische Ausführung des start.py-Skripts beim Start des Docker-Containers, gefolgt von einem interaktiven Shell-Zugang. Dies verbessert die Benutzerfreundlichkeit und vereinfacht den Workflow.

Vorteile:

  • Automatische Begrüßungsnachricht und Menüanzeige bei Containerstart.
  • Interaktiver Shell-Zugang bleibt erhalten.
  • Erhöhte Effizienz und Benutzerfreundlichkeit für Entwickler und Anwender.

Änderungen:

  • Dockerfile so angepasst, dass start.py automatisch ausgeführt wird und anschließend eine interaktive Shell öffnet.

.bashrc für automatische Skriptausführung hinzugefügt (@kurmann) [#48]

Bourne Again Shell Run Command (bashrc) hinzugefügt
Eine .bashrc Datei wurde hinzugefügt, die eine Willkommensnachricht und das Starten des start.py Skripts beim Öffnen einer neuen Shell im Container sicherstellt. Diese Änderung verbessert die Benutzererfahrung, indem sie die Skriptausführung automatisch beim Öffnen einer Shell initialisiert.

+ # Erstelle eine .bashrc Datei mit dem Startbefehl
+ RUN echo 'echo "Willkommen zu den S3 Restore Utilities!"' >> ~/.bashrc && \
+     echo 'python3 /usr/src/app/scripts/start.py' >> ~/.bashrc

v0.6.0-preview-3

19 May 15:20
7a87efc
Compare
Choose a tag to compare
v0.6.0-preview-3 Pre-release
Pre-release

Änderungen

Workflow-Update für PR-Änderungen (@kurmann) [#59]

Release Drafter wird jetzt bei Änderungen an PRs ausgelöst, um sicherzustellen, dass die Release Notes immer aktuell sind. Relevante Ereignisse wie opened, reopened, synchronize, und edited wurden hinzugefügt.

Konfigurations-Update für spezifische PRs (@kurmann) [#57]

Pull Requests mit dem Label ignore-in-release-notes werden aus den Release Notes ausgeschlossen, um die Übersichtlichkeit zu verbessern.

Konfigurations-Update für bessere Hierarchie (@kurmann) [#55]

Die Titel der PRs werden auf Hierarchieebene 3 gesetzt, während die Details der PRs direkt eingefügt werden, maximal auf Hierarchieebene 4, um eine klare Struktur zu gewährleisten.

Verwendung von sh statt bash in Docker (@kurmann) [#53]

Der Eingabepunkt des Docker-Containers wurde von bash zu sh geändert. Dies ist notwendig, da Alpine Linux standardmäßig keine bash-Shell enthält und stattdessen die minimalistische sh-Shell verwendet. Zusätzliche Entwicklungswerkzeuge wurden entfernt, um die Größe des Docker-Images zu reduzieren und die Effizienz zu verbessern. Eine .profile Datei wurde erstellt, um die Begrüßungsnachricht und das start.py Skript beim Start der Shell auszuführen.

Update des Dockerfile Basis-Images (@kurmann) [#52]

Änderungen

  • Update der Release Drafter Konfiguration
    • Dieser PR fügt ein change-template zur Release Drafter Konfigurationsdatei hinzu, um sicherzustellen, dass die Beschreibungen der Pull Requests in die Release Notes aufgenommen werden.
    • Änderungen:
      • Hinzufügen des change-template Eintrags:
        change-template: |
          - $TITLE (@$AUTHOR) [#$NUMBER]
            $BODY
      • Dies ermöglicht es, die detaillierten Beschreibungen der Pull Requests in den Release Notes zu erfassen und anzuzeigen.

Vorteile

  • Erhöhte Transparenz und Detailgenauigkeit in den Release Notes, indem PR-Beschreibungen integriert werden.

Dockerfile Basis-Image auf python:3.13-rc-alpine3.19 aktualisiert (@kurmann) [#49]

Das Dockerfile wurde aktualisiert, um das Basis-Image auf python:3.13-rc-alpine3.19 zu ändern, um die Stabilität und Kompatibilität zu verbessern.

Features

Automatische Ausführung von start.py und interaktiver Zugang (@kurmann) [#61]

Dieses Update ermöglicht die automatische Ausführung des start.py-Skripts beim Start des Docker-Containers, gefolgt von einem interaktiven Shell-Zugang. Dies verbessert die Benutzerfreundlichkeit und vereinfacht den Workflow.

Vorteile:

  • Automatische Begrüßungsnachricht und Menüanzeige bei Containerstart.
  • Interaktiver Shell-Zugang bleibt erhalten.
  • Erhöhte Effizienz und Benutzerfreundlichkeit für Entwickler und Anwender.

Änderungen:

  • Dockerfile so angepasst, dass start.py automatisch ausgeführt wird und anschließend eine interaktive Shell öffnet.

.bashrc für automatische Skriptausführung hinzugefügt (@kurmann) [#48]

Bourne Again Shell Run Command (bashrc) hinzugefügt
Eine .bashrc Datei wurde hinzugefügt, die eine Willkommensnachricht und das Starten des start.py Skripts beim Öffnen einer neuen Shell im Container sicherstellt. Diese Änderung verbessert die Benutzererfahrung, indem sie die Skriptausführung automatisch beim Öffnen einer Shell initialisiert.

+ # Erstelle eine .bashrc Datei mit dem Startbefehl
+ RUN echo 'echo "Willkommen zu den S3 Restore Utilities!"' >> ~/.bashrc && \
+     echo 'python3 /usr/src/app/scripts/start.py' >> ~/.bashrc