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.10.tar.gz (12.7 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.10-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bunny2fmc-1.0.10.tar.gz
  • Upload date:
  • Size: 12.7 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.10.tar.gz
Algorithm Hash digest
SHA256 f9684705da3c50ae223bbbb30905cf699185923f29839395d4b55988dceefca4
MD5 68022e90d079501cf533ca68f0656512
BLAKE2b-256 0865418c7b2f450ea51a824d472e1546fcf66445208cf69c762ff80b5ddb0134

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bunny2fmc-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 12.0 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2509a3b2caafd7c373093aab45d7832c7b7ec64825cbae58b4a706c968979245
MD5 bd9bd2124c3af6c35798766011472fe6
BLAKE2b-256 f0a9b129cb995ece5f108f36d65253d181d8e82cd829557d01d567c8fb6f4775

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