All Projects → fgsch → Varnish3to4

fgsch / Varnish3to4

Licence: bsd-2-clause
Varnish 3 to 4 migration script

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Varnish3to4

Migrations
ProcessWire Migrations module
Stars: ✭ 37 (-70.4%)
Mutual labels:  migration
Dbmigrations
A library for the creation, management, and installation of schema updates for relational databases.
Stars: ✭ 67 (-46.4%)
Mutual labels:  migration
Criu
Checkpoint/Restore tool
Stars: ✭ 1,389 (+1011.2%)
Mutual labels:  migration
Bim Core
Bitrix Migration (BIM)
Stars: ✭ 45 (-64%)
Mutual labels:  migration
Ecomdev varnish
Advanced Varnish implementation for Magento
Stars: ✭ 63 (-49.6%)
Mutual labels:  varnish
Libvmod Querystring
Query-string module for Varnish Cache
Stars: ✭ 85 (-32%)
Mutual labels:  varnish
Csprojtovs2017
Tooling for converting pre 2017 project to the new Visual Studio 2017 format.
Stars: ✭ 876 (+600.8%)
Mutual labels:  migration
Kube Httpcache
Varnish Reverse Proxy on Kubernetes
Stars: ✭ 119 (-4.8%)
Mutual labels:  varnish
Docker Magento Mutagen
Mage2click Docker-based development environment for Magento with mutagen.io sync for files on macOS
Stars: ✭ 64 (-48.8%)
Mutual labels:  varnish
Fireway
A schema migration tool for firestore
Stars: ✭ 100 (-20%)
Mutual labels:  migration
Imapcopy
Recursively copy all e-mail messages and folders from one IMAP account to another.
Stars: ✭ 52 (-58.4%)
Mutual labels:  migration
Laminas Migration
Migrate Zend Framework MVC applications, Expressive applications, Apigility applications, or third-party libraries to target Laminas.
Stars: ✭ 58 (-53.6%)
Mutual labels:  migration
Laravel Sync Migration
Developer tool helps to sync migrations without refreshing the database
Stars: ✭ 89 (-28.8%)
Mutual labels:  migration
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-65.6%)
Mutual labels:  varnish
Darwin
Database schema evolution library for Go
Stars: ✭ 112 (-10.4%)
Mutual labels:  migration
Falcon
Enables Xkey / Hash-Two / Surrogate Key caching with Craft 2.x. Very experimental.
Stars: ✭ 14 (-88.8%)
Mutual labels:  varnish
Dockerfile
📦 Dockerfiles from WebDevOps for PHP, Apache and Nginx (with PHP5 and PHP7)
Stars: ✭ 1,169 (+835.2%)
Mutual labels:  varnish
Jira Azuredevops Migrator
Tool to migrate work items from Atlassian Jira to Microsoft Azure DevOps/VSTS/TFS.
Stars: ✭ 120 (-4%)
Mutual labels:  migration
Prometheus varnish exporter
Varnish exporter for Prometheus
Stars: ✭ 115 (-8%)
Mutual labels:  varnish
Mongo.migration
On-the-fly migrations with MongoDB C# Driver
Stars: ✭ 99 (-20.8%)
Mutual labels:  migration

varnish3to4

Join the chat at https://gitter.im/fgsch/varnish3to4

Script to assist migrating a VCL file from Varnish 3 to 4.x. [1]

Suggested usage

 $ varnish3to4 -o <filename>.v4 <filename>
 $ diff -u <filename> <filename>.v4

To limit changes for Varnish 4.0:

 $ varnish3to4 -v 4.0 -o <filename>.v4 <filename>
 $ diff -u <filename> <filename>.v4

Currently understands

V3 V4
{bereq,req}.backend.healthy std.healthy({bereq.backend,req.backend_hint})
{bereq,req}.request {bereq,req}.method
bereq.* in vcl_pass and vcl_miss req.*
{beresp,obj,resp}.response {beresp,obj,resp}.reason
beresp.storage beresp.storage_hint
{client,server}.port std.port({client,server}.ip)
error code response return (synth(code, response))
obj.hits - writing to -
obj.* in vcl_synth resp.*
obj.lastuse -
remove unset
req.backend req.backend_hint
req.grace -
req.* in vcl_backend_response bereq.*
return (hash) in vcl_hash return (lookup)
return (hit_for_pass) set beresp.uncacheable = true;
return (deliver);
return (lookup) in vcl_recv return (hash)
return (pass) in vcl_pass return (fetch)
return (restart) in vcl_fetch return (retry)
std.real2integer(..) [2] std.real2integer(.., n)
std.time2integer(..) [2] std.time2integer(.., n)
std.time2real(..) [2] std.time2real(.., n.n)
synthetic .. synthetic(..)
vcl_error vcl_backend_error and vcl_synth
vcl_fetch vcl_backend_response

Limited coverage

V3 V4
purge -

Won't be implemented

V3 V4
 - vcl 4.0
 - import directors
new xx = directors.yy();
xx.add_backend(ss);
set req.backend_hint = xx.backend();

Add imports resulting from changes in V4, complete purge handling and any other changes missing from this document.

N/A for 3.0 (for documentation only)

V4.0 V4.1
return (fetch) in vcl_hit [3] return (miss)

Notes

  1. Comments in VCL are treated as code and as such references within will be rewritten.
  2. Required in 4.1 and above.
  3. Optional in 4.1. Required in 5.0 and above.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].