Sync BunnyCDN edge IPs to Cisco FMC Dynamic Objects with secure credential management and scheduling
Project description
🐰 bunny2fmc
Synkroniserer BunnyCDN edge server IP-adresser til en Cisco FMC Dynamic Object med sikker credential-gempling og automatisk scheduling.
Hvad gør scriptet?
- Henter aktuelle IPv4 (og evt. IPv6) adresser fra BunnyCDN's API
- Opretter/finder Dynamic Object på FMC
- Sammenligner nuværende mappings med Bunny's liste
- Tilføjer nye og fjerner forældede IP'er
- Ingen deploy nødvendig - Dynamic Objects opdateres on-the-fly
- Sikker gempling: Credentials gemmesto i OS Keyring (Windows Credential Manager / Linux Secret Service)
- Automatisk scheduling: Konfigurer interval ved første setup, køres via cron
Installation
Option 1: Fra PyPI (Anbefalet)
# Opret virtual environment
python3 -m venv venv
# Aktivér venv (VIGTIG - skal gøres før hver brug!)
source venv/bin/activate # Linux/macOS
# eller
venv\Scripts\activate # Windows
# Installer bunny2fmc
pip install bunny2fmc
# Verificer installation
bunny2fmc --version
bunny2fmc --help
Option 2: Fra source (Local development)
# Clone repository
cd /path/to/Bunny_Sync_FMC
# Opret virtual environment
python3 -m venv venv
# Aktivér venv (VIGTIG!)
source venv/bin/activate # Linux/macOS
# eller
venv\Scripts\activate # Windows
# Installer som development package
pip install -e .
# Verificer installation
bunny2fmc --version
⚠️ VIGTIG: Aktivér venv før brug
Du SKAL aktivere venv før du kan bruge bunny2fmc!
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activate
# Nu kan du bruge kommandoen:
bunny2fmc --help
Når venv er aktiveret, vises (venv) i din prompt
Distribution Strategy
Repository Struktur
-
Privat GitHub (
https://github.com/IronKeyVault/Bunny_Sync_FMC):- Source of truth for alt udvikling
- Indeholder hele kodebase (gamle scripts, notes, configs)
- Kun for interne team medlemmer
-
PyPI (
https://pypi.org/project/bunny2fmc):- Public distribution punkt
- Alle brugere kan installere med:
pip install bunny2fmc - Synkroniseret fra privat repo
Release Workflow
Når du er klar til at udgive en ny version:
./release.sh
Scriptet vil:
- Spørge for nyt versionsnummer (f.eks. 1.0.2)
- Opdatere
pyproject.tomlogbunny2fmc/__init__.py - Committe og pushe til GitHub
- Bygge pakken
- Uploade til PyPI
Eksempel:
./release.sh
Enter new version (e.g., 1.0.2): 1.0.2
✓ Release v1.0.2 complete
Hvornår kan jeg slette den gamle public repo?
Du kan slette https://github.com/IronKeyVault/bunny2fmc når:
-
✅ PyPI har den seneste version
- Verificer på https://pypi.org/project/bunny2fmc/
- Alle nye releases går direkte til PyPI via
release.sh
-
✅ Ingen users refererer til det
- Hvis andre har installeringer fra Git URL, skal de updateres til:
pip install bunny2fmc(fra PyPI i stedet)
-
✅ Du er sikker på at PyPI er det eneste public distribution point
- Alt udvikling fortsætter i privat repo
- Releases håndteres via
./release.sh
Sletning
Når du er 100% sikker, kan du slette repoet:
- Gå til https://github.com/IronKeyVault/bunny2fmc
- Settings → Danger Zone → Delete Repository
- Bekræft ved at skrive repo-navnet
Efter sletning:
- Alt udvikling/history ligger stadig på privat repo
- Alle brugere bruger PyPI (bedst praksis)
- Enklere repository-management
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bunny2fmc-1.0.8.tar.gz.
File metadata
- Download URL: bunny2fmc-1.0.8.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de9f629663e84870e8aef438d95fe152705b999712317a33a4c4c5eb52f43ef2
|
|
| MD5 |
a78de646476923cd8b9273150961384d
|
|
| BLAKE2b-256 |
920cdd91a96a4ce8f4995e481ab129b042b70becd50f3d2ef9e31afb8e7cf996
|
File details
Details for the file bunny2fmc-1.0.8-py3-none-any.whl.
File metadata
- Download URL: bunny2fmc-1.0.8-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed27f85a3ea5640770af8db22ed55db132058d1ffc8d93e4e305b2215a3a98ba
|
|
| MD5 |
c728e7112e3d8c2e4bcf28f93af8fa25
|
|
| BLAKE2b-256 |
905530641f7246ee51a20de72e5203f3560da5ab14dcbe71fc3d79e56fcf07a0
|