allocatord: use POST instead of GET for mutating requests

Change-Id: I896b7d5f3101a343970bdddcafc7a763cbb0427d
diff --git a/services/allocator/allocatord/assets/assets.go b/services/allocator/allocatord/assets/assets.go
index 0b1fb85..1472d13 100644
--- a/services/allocator/allocatord/assets/assets.go
+++ b/services/allocator/allocatord/assets/assets.go
@@ -204,7 +204,7 @@
 	return a, nil
 }
 
-var _homeTmplHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x57\x61\x6f\xdb\x36\x13\xfe\xee\x5f\x71\xd5\x1b\xc0\xf2\x9b\x48\x4e\x56\xec\x4b\x22\x1b\x68\x96\x02\x2d\xd0\x64\x45\x9b\x0e\x28\x86\x61\xa0\xa5\xb3\xcd\x46\x22\x5d\x92\x8a\x6b\x08\xda\x6f\xdf\x51\x94\x64\xc9\x76\xb2\x1a\x6d\x81\x46\x96\xf8\xf0\xee\x79\xee\x8e\xe4\x31\x7a\x91\xc8\xd8\x6c\x56\x08\x4b\x93\xa5\xd3\x41\xd4\x3c\x90\x25\xd3\x01\x40\x64\xb8\x49\x71\xfa\x07\x13\x2c\xe1\x79\x06\x45\x51\x7d\x80\xf0\x23\xaa\x47\x54\x77\x2c\xc3\xb2\x84\x57\x69\x2a\x63\x66\xa4\x8a\xc6\x0e\x4f\x33\x09\x89\xd9\x2a\x65\x06\xc1\xb3\xd6\x3c\x08\xcb\x72\x10\x8d\x9d\xe5\xe8\x45\x10\xc0\xdd\xef\xf7\xaf\x2f\x61\x8d\x30\x9c\x49\xa5\xe4\x7a\x08\x0c\x52\x69\x40\xce\xc1\x2c\x11\xb4\xd9\xa4\x5c\x2c\xec\x2b\x4f\x50\x90\xe5\x4d\x72\x06\x4b\x14\x31\xda\xf1\x81\xc6\x38\x57\xf4\x31\x50\x68\xdd\x24\x60\x50\x65\x5c\xc8\x54\x2e\x36\xc0\x45\x6b\x03\x01\x53\xcc\xc8\x80\x3e\x83\x94\x3f\x60\x6b\x0d\x98\x48\x06\xb3\x14\xb5\x26\x37\x21\x04\x01\xf1\x9a\xc9\x64\x03\x71\xca\xb4\x9e\x78\x0d\x6e\xa5\xe4\x23\xfd\x56\x41\xca\x36\x32\x37\xc0\x1a\xb9\x89\x77\x48\x29\x2a\xa7\x95\xa2\xa7\x63\xc5\x57\xc6\x82\x00\xe6\xb9\x88\x0d\x97\x02\xe2\x25\x13\x0b\xbc\x36\xc2\xe7\xa4\x47\xe0\xfa\xcd\xfd\xed\xbb\x11\x14\x15\x0a\x80\x12\x92\x5b\xb6\xe1\x02\xcd\x6b\x47\xfc\x7a\xf3\x36\x21\xf0\x28\xe4\x42\xa0\xb2\x70\x98\x80\x17\xcd\xa5\x30\x10\x93\x5e\x35\x19\x2e\x14\xdb\x0c\xa7\xde\x69\x6d\xee\xd4\x8b\xc6\x76\x78\xea\x5d\x55\x66\x2b\x36\xe3\x2d\x9d\x28\xe1\x8f\x8d\xcc\x8c\x71\xe1\x39\x8e\xd1\xf2\xa2\xf9\xba\x62\x0b\x0c\xaa\xc4\x4d\x7f\x53\x68\xc5\x51\xb4\xe0\x96\x0a\x61\x81\xf0\x56\x68\xc3\x28\x0f\xda\x26\xe7\x60\x4d\x50\xa2\x2f\x6a\x9b\x1d\x57\x4d\xb0\x75\x90\x72\x6d\x6a\xa7\x4f\x41\xea\x58\x36\xa0\x8a\xdd\xf4\xb3\xcc\x15\x25\xb7\x76\xbf\xf5\x62\xe5\x91\x15\xf7\x52\x14\xca\x86\x18\x4e\xb8\x48\xf0\xdb\x19\x9c\xd4\x05\x00\x97\x13\x08\x5b\xee\x55\x8a\x9e\x76\xcf\x29\xab\x5d\xe7\x07\x40\x41\x82\x86\xf1\x54\x77\x60\xd6\xf9\x9a\x9b\xe5\xd6\x4f\xeb\xc6\x49\x78\x39\x2d\x8a\xf0\x0d\xc5\x32\xb5\x2b\xa7\x28\xf8\x1c\xf0\x2b\x84\x1f\x70\x95\xf2\x98\x69\x38\x2f\xcb\x3f\x3f\xe6\x7a\x85\x44\x3d\xf9\xab\x28\xe8\x59\x45\xf3\x65\xd7\x47\xb4\xda\xa3\x12\xb3\x47\xca\x52\x9f\x8a\xad\xc0\x15\x13\x2e\x81\xb6\xf4\xee\x79\x86\x54\x06\xf6\x5b\x34\x53\xe3\x03\xd8\xc6\x6e\x2e\xf8\x37\x43\x68\x0f\x12\x66\x58\xd0\xbc\x4e\x88\x7c\x63\xcd\x1a\x0b\x3f\xd1\x40\x59\x4e\x77\x3f\x7f\x34\x8a\x48\x59\xe2\x95\xb3\x2e\xf5\xf1\xea\x07\x94\xbc\x4a\x12\x45\xb0\x27\x35\x10\x8f\x5b\x99\x0b\xe3\x8a\xf0\xa7\xb9\xbd\xae\x41\xf0\x9e\x19\xda\x65\xc4\x73\x04\x5c\xe9\x85\xcd\x14\xcb\x44\xf7\xa8\xd4\x3c\x29\x38\x07\x66\x57\xe9\x7e\x9a\xf7\x2e\xa0\x53\xf4\xd5\x6b\xb7\x48\x8d\xd0\x01\xed\x0e\x3d\x41\x3b\x80\x5d\xb1\x0c\x96\x0a\xe7\x13\x8f\xe8\xdd\x30\xbd\x9c\x49\xa6\x92\x4f\x1f\xde\x95\xa5\xd7\x4e\xca\x8d\x91\x22\x58\xd1\x0b\x7f\xa4\xea\x30\x4c\xd1\x3e\x35\xf1\xfe\x9e\xa5\x4c\x3c\x78\xd3\x76\x5a\x34\x66\xfd\xb4\xf7\x88\x1e\xc5\x04\x67\xf9\xe2\x48\x16\x76\xca\xb1\x0c\xe8\x5c\x98\x78\xda\x2d\xbd\x0f\xa8\x69\x13\xa6\x3d\xba\x28\xdc\x26\x42\xce\x77\x53\x55\xaf\xdc\x66\x9d\x77\x96\x30\xec\xe4\xbb\xab\xc6\x59\x7e\x5e\x8e\x14\x31\x59\x7a\x98\x78\xdb\xa3\x62\xf8\x34\xb1\xe1\x19\x0c\xab\xcf\xb6\x40\x7d\xc3\x1e\x68\x5b\x66\x30\xc7\x35\xd0\x09\x29\x45\xa2\x47\x10\x86\xe1\x70\xe4\x4d\xdd\xe4\x9d\xb8\x54\x45\x95\x6a\x7c\x86\x73\xbd\x1f\xfd\x6c\xd2\xb5\xd9\xff\xa4\x5d\xe3\x0e\xf1\xde\x5b\x2d\xcf\xe7\x18\xe8\x7f\xb0\x66\x4a\x90\x4f\x97\x6f\xda\x4d\xd0\x3c\x97\xe7\x9d\xdc\xa1\x39\x3e\x0a\xfb\x3e\xea\x94\xa1\x31\x1d\xf1\xff\xfc\x72\x7e\x28\x63\x68\x8e\x2c\xe4\x7d\x91\x09\x6a\xa3\xe4\xe6\x7b\x65\xde\x38\xf8\xf1\x42\x0f\xf9\xb1\x52\x6b\x83\x5d\xad\x17\xfb\x5a\x6b\xd4\xf3\x6a\x7b\xaf\xbd\x23\xbf\x57\xc3\x77\x52\x20\xcc\xe9\x24\x48\xc2\xc1\x6e\xa9\x54\xe1\xb2\x61\x89\xab\xbe\xe6\xda\x6e\x3e\x5d\xf9\xae\xdd\x39\x5e\x7d\x6b\xce\x4a\x76\xa7\x61\x37\xb9\xbf\xee\x09\xae\xfb\xaa\x3b\x5c\x5b\xcd\x3d\x31\xae\x85\xb8\xa5\x23\xc4\xb6\x5b\xc1\x2e\xf3\xcc\x0d\xb4\x39\xac\x8e\x93\xc1\x7e\x48\xb6\x9a\x5d\x37\x38\xe8\x00\xea\xe6\x14\xb4\x8a\x2b\xd9\xaf\x34\x95\x9a\x7e\x4f\x51\xb0\x27\xfa\xb8\x69\x7e\xc7\x99\xac\xba\xd1\x2f\x74\x32\xf6\x3a\xc8\xef\x9c\xfe\xe5\x6b\x8e\x6a\xf3\xd4\x74\xfb\xb3\x6d\x8c\xc9\x80\x6d\x1e\xee\xf1\x9b\xf1\x6d\xc7\xd6\xf4\xc4\x8f\x4c\x81\x6d\x3e\x68\x9f\xcd\x56\xd4\xf9\xda\xb1\xd0\xb6\x25\xfe\xb6\x4d\x19\x5d\xb5\xd0\x8c\x20\x8e\xb4\xdf\xce\xfa\xff\xc5\xf9\xf9\x79\x78\xde\x41\xb9\x9b\x41\xcf\x58\xf5\xa9\xb1\x44\xbb\xbb\x5f\x63\x26\xd4\x6c\xb3\x99\x96\x69\x6e\x68\xb8\x6d\xd4\xab\x99\xf6\xbe\xe4\x7b\x4d\xf9\x0c\xff\x37\x6c\x4b\x83\x96\xbd\xc9\x95\x80\x39\xa3\xc2\xbc\xa2\xde\x1c\x4e\x21\x0b\xe7\x52\x65\xcc\xf8\xde\xed\xed\x2d\xdc\xdc\x9c\xc1\x67\xfa\x07\xcb\xcb\x2c\xbb\xd4\xb4\xfd\x91\xf5\x53\x6a\xec\xa9\x1a\x1a\x1a\xb0\x4f\xf0\x0c\xbc\xb9\x92\xd9\x9d\x5c\x37\xa0\x12\x6c\xf1\xff\x20\x31\x67\xd2\xff\x4e\x06\xdb\x78\x6c\x2f\x18\xe5\x80\xfe\x9c\xf8\xcd\x05\x66\x14\x52\x7d\x27\x1b\xbf\xc9\xaf\xdf\x84\xee\xc4\xf7\xc2\x6d\xe2\x42\x64\xf1\x72\x1f\x04\x30\x1e\x43\x45\xd8\xae\x22\x7b\x97\xdb\x96\x80\x5e\xca\x3c\xa5\xfb\x9e\x5c\x2c\xd2\xea\x2e\x08\x09\xd7\x74\x03\xdb\x80\x0b\x6f\x58\x5b\x38\xf1\xcd\x92\xeb\x51\x58\x99\xe9\xb9\xe8\xd5\x5a\x0d\x1b\x5d\x41\xd9\x6a\x3e\x38\xee\x94\x56\x4f\xf7\x77\x5b\xd1\xd1\xd8\xde\x1c\xed\xd3\xdd\xa0\xff\x0d\x00\x00\xff\xff\x3a\x95\x78\x97\x59\x0f\x00\x00")
+var _homeTmplHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x58\x7f\x6f\xdb\x36\x10\xfd\xdf\x9f\xe2\xaa\x06\x90\xbc\x44\x72\xb2\x62\xff\x24\xb6\x81\xa6\xe9\xd0\x02\x75\x1a\x24\xe9\x80\xa2\x28\x06\x5a\x3a\x5b\x6c\x24\xd2\x25\x29\xbb\x86\xa1\x7d\xf6\x1d\xf5\xcb\x96\xe3\xc4\xc9\xba\x16\xa8\x6d\x51\xc7\xbb\x77\x8f\x8f\xe4\x5d\xfa\x2f\x22\x19\x9a\xe5\x0c\x21\x36\x69\x32\xec\xf4\xeb\x2f\x64\xd1\xb0\x03\xd0\x37\xdc\x24\x38\xfc\x8b\x09\x16\xf1\x2c\x85\xd5\xaa\x18\x80\xe0\x06\xd5\x1c\xd5\x25\x4b\x31\xcf\xe1\x75\x92\xc8\x90\x19\xa9\xfa\xbd\xd2\x9e\x66\x92\x25\xa6\xb3\x84\x19\x04\xc7\x7a\x73\x20\xc8\xf3\x4e\xbf\x57\x7a\xee\xbf\xf0\x7d\xb8\xfc\x78\xfb\xf6\x14\x16\x08\xee\x58\x2a\x25\x17\x2e\x30\x48\xa4\x01\x39\x01\x13\x23\x68\xb3\x4c\xb8\x98\xda\x47\x1e\xa1\x20\xcf\xcb\xe8\x08\x62\x14\x21\xda\xf7\x1d\x8d\x61\xa6\x68\xd0\x57\x68\xc3\x44\x60\x50\xa5\x5c\xc8\x44\x4e\x97\xc0\x45\xe3\x03\x01\x13\x4c\xc9\x81\x3e\x82\x84\xdf\x61\xe3\x0d\x98\x88\x3a\xe3\x04\xb5\xa6\x30\x01\xf8\x3e\xe1\x1a\xcb\x68\x09\x61\xc2\xb4\x1e\x38\xb5\xdd\x4c\xc9\x39\xfd\x56\x7e\xc2\x96\x32\x33\xc0\xea\x74\x23\x67\x57\xa6\xa8\xca\x5c\x89\xbd\x89\x54\x29\xa4\x68\x62\x19\x0d\x9c\xab\x8f\x37\xb7\x0e\x05\x1f\x38\x76\xd8\x01\x25\x13\xac\x7e\x5b\x37\x64\xce\xc5\x8c\xdc\xdb\xe5\x18\x38\x06\x7f\x18\xa7\x46\x12\xf3\x88\xb0\x38\x20\x88\xef\x81\xb3\x5a\x05\x6f\x6e\xae\xff\xbc\x62\x8a\xa5\x79\xee\xc0\x9c\x25\xd9\x7a\xf8\x56\xde\xa1\xa0\xe1\x5e\xb1\x7e\x3a\x54\x7c\x66\x4a\xff\x93\x4c\x84\x86\x4b\x01\x61\xcc\xc4\x14\xcf\x8d\xf0\x38\x31\x2a\x70\xf1\xee\x76\xf4\xa1\x0b\xab\xc2\x8a\x04\x91\x59\xb6\x82\x29\x9a\xb7\x25\x71\xe7\xcb\xf7\x11\x99\x76\x03\x2e\x04\x2a\x6b\x0c\x03\x70\x28\x3b\x61\x20\x24\xbe\xd5\xc0\x9d\x2a\xb6\x74\x87\xce\x61\xe5\xec\xd0\xe9\xf7\xec\xeb\xa1\x73\x56\x38\xcd\x8b\xcf\x39\x53\x30\xa1\xa9\x4d\x08\x9b\xbc\xfe\xe2\xda\x2f\xf7\xab\xb5\xec\xf7\xd6\x80\xfb\x11\x9f\xd7\x04\xa4\x8c\x8b\x9a\xa5\xf8\xa4\x1e\x9d\xb1\x29\xfa\x85\xb8\x86\x6f\x14\xda\x05\xa0\x15\x85\x11\x89\x75\x8a\xf0\x5e\x68\xc3\x48\x2b\xda\x0a\x68\xa7\x6e\x49\x8c\x27\x95\xcf\x8d\x50\xb5\x20\xb4\x9f\x70\x6d\xaa\xa0\x0f\x99\x54\xeb\x5d\x1b\x15\xe8\x86\x9f\x65\xa6\x48\x80\x55\xf8\x75\x14\x9b\x1e\x79\xa9\x1f\x56\x2b\x65\x97\x01\x0e\xb8\x88\xf0\xc7\x11\x1c\x54\x32\x85\xd3\x01\x04\x0d\xfa\x3c\x7f\x14\x00\x27\xed\x6d\x86\xdf\x61\xe4\x47\x68\x18\x4f\xf4\x86\x99\x0d\xbe\xe0\x26\x5e\xc7\x69\xc2\x94\x49\xbc\x1a\x92\x9a\xde\x11\x9b\x89\xdd\xdf\xab\x15\x9f\x00\x7e\x87\xe0\x1a\x67\x09\x0f\x99\x86\xe3\x3c\xff\x72\x93\xe9\x19\x12\xf4\xe8\xeb\x6a\x45\xdf\x05\x9f\xaf\x36\x63\xf4\x67\xf7\xa0\x84\x6c\x4e\xeb\xd4\x86\x62\x55\x3a\x63\xa2\x5c\x42\x2b\xcf\x5b\x9e\x22\x09\xc1\x8e\xf5\xc7\xaa\xb7\xc3\xb6\xf6\x9b\x09\xfe\xc3\x90\xb5\x03\x11\x33\xcc\xaf\x1f\x07\x76\x2b\x54\xde\xac\xb3\xe0\x13\xbd\xc8\xf3\xe1\xf6\xf0\x8d\x51\x04\xca\x02\x2f\x82\x6d\x42\xef\xcd\x7e\x22\x93\xd7\x51\xa4\xc8\xec\xc1\x1c\x08\xc7\x48\x66\xc2\x94\x32\xfc\xdf\xc2\x9e\x57\x46\x70\xc5\x0c\x9d\x85\xe2\x31\x00\xa5\xf4\x82\x7a\x8a\x45\xa2\x5b\x50\x2a\x9c\x44\xce\x8e\xd9\xc5\x72\x3f\x8c\x7b\xdb\xa0\x25\xfb\x2d\x91\x1a\xa1\x7d\x3a\x43\x5a\x09\x6d\x19\x6c\x27\xcb\x20\x56\x38\x29\x0e\xbc\x0b\xa6\xe3\xb1\x64\x2a\xfa\x74\xfd\xc1\x1e\x85\xf5\xa4\xcc\x18\x29\xfc\x19\x3d\xf0\x39\xa9\xc3\x30\x45\xa7\xd9\xc0\xf9\x7b\x9c\x30\x71\xe7\x0c\x9b\x69\xfd\x1e\x6b\x2f\x7b\x0b\xe8\xb3\x90\xe0\x38\x9b\x3e\x13\x85\x9d\xb2\x0f\x41\xb3\xf7\xea\x9d\xba\xb1\x09\xa1\xbd\x08\x5b\x58\x8b\xab\x86\x74\x48\x47\x2d\x1d\xf5\xab\x55\x79\xce\x10\xbe\x07\x92\x78\xf9\x20\x70\x29\x42\x8a\x78\x37\x70\xd6\x17\x87\xbb\xc3\xb1\x7b\x04\xee\xb5\x1d\xb6\x1a\xf4\x0c\xbb\xa3\xb3\x97\xc1\x04\x17\x40\x57\xb5\x14\x91\xee\x42\x10\x04\x6e\xf7\x0c\x26\x01\x2b\x6e\xa2\x81\x4b\xcc\x15\x53\xb0\xa0\xce\xb5\xaf\x74\x36\x4e\xb9\xf1\xc8\x4c\xa1\xc9\x94\x80\x09\x4b\x34\x3a\xc3\xd2\x6e\x3f\x5f\x48\xd6\xfb\x89\xd1\xe5\xe9\xf5\x0b\x98\xd9\xe5\xd9\x52\x53\x9d\x97\xcf\x23\xa7\x9a\xb4\x9f\x9d\xca\xf0\x09\xf4\x6c\xef\xdd\x36\x3b\x40\xff\xfd\x05\x53\x82\x70\x36\x12\x42\xf3\x6b\x14\xb4\xe5\xb7\x12\x10\x1a\xb3\x41\xd2\x3f\xbf\x1f\xef\xd5\x0f\x9a\x27\xc9\x07\xcd\x33\xf7\xfb\x7d\x32\x22\xd4\x46\xc9\xe5\x2f\xa0\x63\x97\x67\x4b\xc8\x45\x39\xbe\xc9\xc8\xc9\x1e\x46\xaa\x29\xfb\x39\xa9\x0c\x1f\x67\xa5\xf5\xb8\xf1\xb0\xb5\xd3\x2e\xa5\x40\x98\xd0\xb5\x16\x05\x9d\x6d\xa5\x15\xb4\x5a\xfa\xc2\xa2\x4c\x3b\xb7\x27\xe9\x7f\xa4\xa9\xf1\x60\xb9\x29\x6f\xf3\x4d\xad\xfc\xf1\x38\x33\x65\x99\xb8\x9f\x98\xaa\x9c\xbc\xc4\x85\xe5\xa6\x95\x74\x59\x37\x8d\xe8\xde\xb4\x55\xa6\xbf\x9d\x61\x5a\xbe\x70\xd6\x55\x5e\x50\x9b\xb4\xa8\xab\xb8\x69\x06\x6d\xbd\xac\xd2\x8d\x9a\x1d\xb4\x0a\x8b\x9b\xe5\xb5\x26\xe1\xea\x2b\xe2\xca\x16\x31\xbd\xba\x2b\xe9\xa5\xb2\xa8\xa1\xbf\x51\x31\xd0\x2a\x9b\x9f\x38\xfd\xdb\xf7\x0c\xd5\xf2\xa1\xe9\xf6\x67\xd3\x2f\x90\x03\x5b\x2f\xdd\x52\x4b\xe2\xd9\x22\xb5\x6e\x15\x6c\x3d\x6f\xeb\x2d\xba\x98\xd2\x19\xd5\xf5\xf6\x5d\x60\x2b\x31\x6f\x5d\x99\x75\xcf\x1a\xd3\x94\x4c\x4a\xd0\x5e\x33\xeb\xb7\x93\xe3\xe3\xe3\xe0\x78\xc3\xaa\x6c\xd9\x5a\xce\x8a\xa1\xda\x13\x5d\x87\x5e\x65\x33\xa0\x2e\x84\x8d\xb5\x4c\x32\x43\xaf\x2b\x50\x50\xce\xb4\x8d\xac\xe7\xd4\x22\x73\x5f\xba\x8d\x9a\xdc\xcd\xa5\x3e\xa3\xa6\x05\x0e\x21\x2d\x5a\x11\x66\x3c\x67\x34\x1a\xc1\xc5\xc5\x11\x7c\xa6\x7f\x10\x9f\xa6\xe9\xa9\xa6\x83\x9a\xbc\x1f\x52\xc7\x43\x5a\xa8\x61\xc0\x7d\x80\x47\xe0\x4c\x94\x4c\x2f\xe5\xa2\x36\xca\xc1\x6e\x91\x9f\x04\x56\xba\xf4\x9e\x88\x60\xcd\xc7\xba\xf3\xca\x3b\xf4\x71\xe0\xd5\x6d\x57\x37\x20\x75\x47\x4b\xaf\x5e\x5f\xaf\xa6\xee\xc0\x73\x82\xf5\xc2\x05\xc8\xc2\xf8\xbe\x11\x40\xaf\x07\x05\x60\xbb\xf1\x6c\x93\xbd\x96\x80\x8e\x65\x96\x50\x23\x2e\xa7\xd3\xa4\x68\xd2\x21\xe2\x9a\x5a\xe3\x25\x94\xf4\x06\x95\x87\x03\xcf\xc4\x5c\x77\x83\xc2\x4d\x2b\x44\x4b\x6b\x95\x19\xed\xce\xbc\xc9\x79\xe7\xfb\x32\xd3\xe2\xbb\xfc\x5c\x2b\xba\xdf\xb3\x2d\xbd\xfd\x2e\xff\xb4\xf1\x6f\x00\x00\x00\xff\xff\x9d\x55\x06\x4c\xf2\x10\x00\x00")
 
 func homeTmplHtmlBytes() ([]byte, error) {
 	return bindataRead(
diff --git a/services/allocator/allocatord/assets/home.tmpl.html b/services/allocator/allocatord/assets/home.tmpl.html
index fc8d555..dfc7b39 100644
--- a/services/allocator/allocatord/assets/home.tmpl.html
+++ b/services/allocator/allocatord/assets/home.tmpl.html
@@ -9,10 +9,13 @@
 blessing. -->
 <body class="identityprovider-layout allocatord">
   {{template "header" .}}
+  <form method="POST" id="form" role="form">
+    <input type="text" class="hidden" name="{{.CSRFParam}}" value="{{.CSRFToken}}"/>
   <script>
     function changeBtn(id, newHTML) {
-      document.getElementById(id).innerHTML = "<font color='gray'>"+newHTML+"</font>";
+    document.getElementById(id).innerHTML = "<font color='gray'>"+newHTML+"</font>";
     }
+    var f = document.forms['form'];
   </script>
   <div class="main">
     <h1 class="page-head">Create and Manage Instances of {{title .ServerName}}</h1>
@@ -20,7 +23,7 @@
       <div class="blessings-header">
         <h1>Your instances</h1>
       </div>
-    {{range $index, $element := .Instances}}
+      {{range $index, $element := .Instances}}
       <div class="blessings-item">
         <div class="blessing-details">
           {{with .Instance}}
@@ -48,32 +51,34 @@
           <div class="btn">
             <a href="{{.DebugURL}}" class="button-passive" target="_blank">Debug</a>
           </div>
-          <div class="btn" id="suspendResumeBtn{{$index}}">
-            {{if eq .Instance.Replicas 0 }}
-            <a href="{{.ResumeURL}}" class="button-passive" onclick="changeBtn('suspendResumeBtn{{$index}}', 'Resuming (takes a few seconds) ...')">Resume</a>
-            {{else}}
-            <a href="{{.SuspendURL}}" class="button-passive" onclick="changeBtn('suspendResumeBtn{{$index}}', 'Suspending (takes a few seconds) ...')">Suspend</a>
-            {{end}}
+          {{if eq .Instance.Replicas 0 }}
+          <div class="btn" id="resumeBtn{{$index}}">
+            <a href="#" class="button-passive" onclick="changeBtn('resumeBtn{{$index}}', 'Resuming (takes a few seconds) ...'); f.action='{{.ResumeURL}}'; f.submit(); return false">Resume</a>
           </div>
+          {{else}}
+          <div class="btn" id="suspendBtn{{$index}}">
+            <a href="#" class="button-passive" onclick="changeBtn('suspendBtn{{$index}}', 'Suspending (takes a few seconds) ...'); f.action='{{.SuspendURL}}'; f.submit(); return false">Suspend</a>
+          </div>
+          {{end}}
           <div class="btn btn-warning" id="resetBtn{{$index}}">
-            <a href="{{.ResetURL}}" class="button-passive" onclick="changeBtn('resetBtn{{$index}}', 'Resetting (takes ~20 seconds) ...')">Reset</a>
+            <a href="#" class="button-passive" onclick="changeBtn('resetBtn{{$index}}', 'Resetting (takes ~20 seconds) ...'); f.action='{{.ResetURL}}'; f.submit(); return false">Reset</a>
           </div>
           <div class="btn btn-warning" id="destroyBtn{{$index}}">
-            <a href="{{.DestroyURL}}" class="button-passive" onclick="changeBtn('destroyBtn{{$index}}', 'Destroying (takes ~10 seconds) ...')">Destroy</a>
+            <a href="#" class="button-passive" onclick="changeBtn('destroyBtn{{$index}}', 'Destroying (takes ~10 seconds) ...'); f.action='{{.DestroyURL}}'; f.submit(); return false">Destroy</a>
           </div>
         </div>
       </div>
     {{else}}
       None found.
     {{end}}
-    <div id="createBtn"><a href="{{.CreateURL}}" class="button-passive" onclick="changeBtn('createBtn', 'Creating (takes ~25 seconds) ...')">Create New</a></div>
+    <div id="createBtn"><a href="#" class="button-passive" onclick="changeBtn('createBtn', 'Creating (takes ~25 seconds) ...'); f.action='{{.CreateURL}}'; f.submit(); return false">Create New</a></div>
     {{with .Message -}}
     <div id="message">
       {{.}}
     </div>
     {{end}}
-    </font>
   </div>
+  </form>
   <script src="{{.AssetsPrefix}}/identity/moment.js"></script>
   <script src="{{.AssetsPrefix}}/identity/jquery.js"></script>
   <script>
diff --git a/services/allocator/allocatord/handlers.go b/services/allocator/allocatord/handlers.go
index 31cfc9a..1e84400 100644
--- a/services/allocator/allocatord/handlers.go
+++ b/services/allocator/allocatord/handlers.go
@@ -39,22 +39,26 @@
 		ServerName,
 		Email,
 		CreateURL,
+		CSRFParam,
+		CSRFToken,
 		Message string
 		Instances []instanceArg
 	}{
 		AssetsPrefix: ss.args.staticAssetsPrefix,
 		ServerName:   ss.args.serverName,
 		Email:        rs.email,
-		CreateURL:    makeURL(ctx, routeCreate, params{paramCSRF: rs.csrfToken}),
+		CreateURL:    routeCreate,
+		CSRFParam:    paramCSRF,
+		CSRFToken:    rs.csrfToken,
 		Message:      rs.r.FormValue(paramMessage),
 	}
 	for _, instance := range instances {
 		tmplArgs.Instances = append(tmplArgs.Instances, instanceArg{
 			Instance:     instance,
-			DestroyURL:   makeURL(ctx, routeDestroy, params{paramInstance: instance.Handle, paramCSRF: rs.csrfToken}),
-			ResetURL:     makeURL(ctx, routeReset, params{paramInstance: instance.Handle, paramCSRF: rs.csrfToken}),
-			SuspendURL:   makeURL(ctx, routeSuspend, params{paramInstance: instance.Handle, paramCSRF: rs.csrfToken}),
-			ResumeURL:    makeURL(ctx, routeResume, params{paramInstance: instance.Handle, paramCSRF: rs.csrfToken}),
+			DestroyURL:   makeURL(ctx, routeDestroy, params{paramInstance: instance.Handle}),
+			ResetURL:     makeURL(ctx, routeReset, params{paramInstance: instance.Handle}),
+			SuspendURL:   makeURL(ctx, routeSuspend, params{paramInstance: instance.Handle}),
+			ResumeURL:    makeURL(ctx, routeResume, params{paramInstance: instance.Handle}),
 			DashboardURL: makeURL(ctx, routeDashboard, params{paramInstance: instance.Handle}),
 			DebugURL:     makeURL(ctx, routeDebug+"/", params{paramMountName: instance.MountName}),
 		})