Skip to main content

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?

  1. Henter aktuelle IPv4 (og evt. IPv6) adresser fra BunnyCDN's API
  2. Opretter/finder Dynamic Object på FMC
  3. Sammenligner nuværende mappings med Bunny's liste
  4. Tilføjer nye og fjerner forældede IP'er
  5. Ingen deploy nødvendig - Dynamic Objects opdateres on-the-fly
  6. Sikker gempling: Credentials gemmesto i OS Keyring (Windows Credential Manager / Linux Secret Service)
  7. 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:

  1. Spørge for nyt versionsnummer (f.eks. 1.0.2)
  2. Opdatere pyproject.toml og bunny2fmc/__init__.py
  3. Committe og pushe til GitHub
  4. Bygge pakken
  5. 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:

  1. PyPI har den seneste version

  2. Ingen users refererer til det

    • Hvis andre har installeringer fra Git URL, skal de updateres til:
    • pip install bunny2fmc (fra PyPI i stedet)
  3. 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:

  1. Gå til https://github.com/IronKeyVault/bunny2fmc
  2. Settings → Danger Zone → Delete Repository
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bunny2fmc-1.0.7.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bunny2fmc-1.0.7-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file bunny2fmc-1.0.7.tar.gz.

File metadata

  • Download URL: bunny2fmc-1.0.7.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

Hashes for bunny2fmc-1.0.7.tar.gz
Algorithm Hash digest
SHA256 60776a0e53d4b832d72658cc337f9def5a8965e4e86d61e5a08cbd3ec91ea653
MD5 3179965a7c3a0222430676a6f157bf4c
BLAKE2b-256 5c3032e38ef226ee9df2c7b5e91487640bf0044f1761a9f6782e6804dc3cdc52

See more details on using hashes here.

File details

Details for the file bunny2fmc-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: bunny2fmc-1.0.7-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

Hashes for bunny2fmc-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fcdb496d1fa33dbe57631f5eaf91fb91c650e615d49033839b0b10347f4771b7
MD5 4536186cbdcd8b295f189dcab244d273
BLAKE2b-256 524b4af157c5aae0a634ffe9bbfbd3ef9cf90be1520a244ae7552ee54b73931d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page