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.2.0.tar.gz (15.0 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.2.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bunny2fmc-1.2.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for bunny2fmc-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8b6f350b0b0229db87ce3404a50af19c176ec341ce3e67891c403366deb77ac1
MD5 30e3a4b36ffcde65e007b0c25a9564eb
BLAKE2b-256 5987480d5830d2d0822518ffb3af03235f69219277f371fae286330108c31ff8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bunny2fmc-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 449a378f28d14977047764b880d396fa43d0266219deaca9a0510343490315b5
MD5 dcde75228e107e2c8c455607e2c7ce06
BLAKE2b-256 f23958b09edb7831eb5f5ba13044d0bdd00bad3d789d26c277e627d94344fd25

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