{"thread":{"id":"22206","subject":"workflow and repository orginization for tracking router configs","startedAt":"2010-01-13T18:26:01Z","lastAt":"2010-01-13T18:26:01Z","messageCount":1,"participants":["david@lang.hm"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"131503","messageId":"alpine.DEB.2.00.1001131013430.4866@asgard.lang.hm","threadId":"22206","inReplyTo":null,"subject":"workflow and repository orginization for tracking router configs","fromName":"","fromEmail":"david@lang.hm","sentAt":"2010-01-13T18:26:01Z","receivedAt":"2010-01-13T18:26:01Z","isPatch":false,"sender":{"key":"david@lang.hm","avatar":null},"body":"I need to track router/firewall configs for several hundred to a few \nthousand devices.\n\nFor each device the config is a single file.\n\nEach device is updated independantly of the others.\n\nThe configs diff well not only against prior versions but against each \nother.\n\nThe different devices are accessable (in many cases via serial ports) from \ndifferent boxes (in different datacenters in many cases)\n\nI need to data to be replicated across many locations\n\nI want to be able to easily/quickly track changes to a particular device, \nand compare different devices against each other.\n\n\nI am thinking that a DVCS like git may be a good fit for this situation. I \ncan do commits on the boxes that can directly access the devices, and then \ndo fetches/pulls between boxes to make sure that every box has the full \nhistory of every device.\n\nThe question is, what is the best way to orginize this data.\n\nOne approach is to have a seperate branch for each device.\n\n   This has the advantage that each branch can have a new config committed \nindependantly of the others, making pulls/fetches trivial\n\nAnother approach is to have one branch with a different file for each \ndevice.\n\n   This is easy for people to understand, but it seems to me that it would \nmake pulling from different boxes that updated different files an issue, \nas well as adding confustion over which commit is related to which device.\n\n\nAny thoughts or suggestions on what people think would work well? (both \nfrom a usability and from an efficiancy point of view)\n\n\nDavid Lang\n"}]}