Nav apraksta

Frederic G. MARAND 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
.idea 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
cmd 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
doc bf466912c5 export config command. README made useful. More admin use cases. 6 gadi atpakaļ
domain 58e5ea1e60 New asset function for templates. Test coverage for URLForAsset(). 6 gadi atpakaļ
infrastructure 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
licenses 0e03bc45f0 Proprietary licensing. 6 gadi atpakaļ
migrations 2495579d44 Infrastructure tests now use config correctly to set up test DB. 6 gadi atpakaļ
web 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
.gitignore 7e62df9e50 WIP generation URLs 6 gadi atpakaļ
LICENSE.txt 0e03bc45f0 Proprietary licensing. 6 gadi atpakaļ
Makefile 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
README.md 0e03bc45f0 Proprietary licensing. 6 gadi atpakaļ
go.mod 1cf887ba2c Refactored api/ and web/ to web/api and web/ui. Added web/i18n. 5 gadi atpakaļ
go.sum d628cd1fc8 New path() template function, used in footer. 6 gadi atpakaļ

README.md

Kurz is yet another URL shortener.

  • built as a Go API
  • web front end provided
  • multiple shortening strategies. provided:
    • 32-bits hexa string, leading 0s omitted
    • base36
    • manual selection
  • vanity domain support
  • usage statistics

Installing

  1. Download the Kurz server to $GOPATH/bin

    go get code.osinet.fr/fgm/kurz/cmd/kurzd
    
  2. Download the Kurz client to $GOPATH/bin

    go get code.osinet.fr/fgm/kurz/cmd/kurz
    
  3. Configure a MySQL database for Kurz, say osinet_kurz

  4. Create the Kurz configuration

    mkdir ~/.kurz
    cp <kurz dir>/cmd/kurzd/dist.config.yml ~/.kurz/config.yml
    vi ~/.kurz/config.yml
    1. Edit the configuration and save it. 
    1. Discover the server syntax:
    

    bash kurzd help

    1. Load the Kurz schema to the database:
    

    bash kurzd migrate up

    
    
    # Runnning the Kurz server
    
    

    bash

kurzd



# Operating the Kurz server
## Backing up

bash kurzd export config > some_config_backup_file.yml kurzd export content > some_content_backup_file.yml ```

This will need some automation, like cron, to trigger backups and ensure backups rotation, as well as removal on uninstall.

Logging

Kurzd logs to stdout, so any production deployment will need to set up logs acquisition and storage, with rotation, and remove them on uninstall. This is normally part of a SystemD - or equivalent - service configuration.

Uninstalling

  1. Drop the Kurz database

    mysql -u<user> -p<password> -e "drop database osinet_kurz;"
    
  2. If the database used a specific user/password, remove them from the database server

  3. Remove the Kurz configuration

    rm ~/.kurz/config.yml
    
  4. Remove Kurz binaries (assuming an single-component $GOPATH)

    rm $GOPATH/bin/kurz*
    

License