Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)N
Posts
1
Comments
481
Joined
3 yr. ago

  • You'll have permission if you go $HOME.

    I'm assuming you have a lovely, caring partner there otherwise that sounds wrong.

  • Cat: Wow this snow is cold! Ahhhh, this is SO COLD!!!

    It does have that slightly preoccupied look that suggests it wishes it had more insulation in certain areas, but it's determined to pose for the photo anyway.

  • DUCK FOR COVER DUCK FOR COVER

    Quack! BOOM

    You can securely run IIS on Vista, you just have to unplug the network and power cables.

  • You... you don't? Surely there's some mistake, have you checked down the back of your cupboard? Sometimes they fall down there. Where else do you keep your internet?

    Appologies, I'm tired and that made more sense in my head.

  • On the other hand, the enemy of my enemy is my friend

    Maxim 29: The enemy of my enemy is my enemy's enemy. No more. No less.

    That doesn't mean you can't work with them on a common cause, and maybe even show them the benefits of your way if thinking, but don't get caught out when they turn on you.

  • That, or ICE kidnap him when he tries to return because he's 'obviously' in league with the gang.

  • Before you can decide on how to do this, you're going to have to make a few choices:

    Authentication and Access

    Theres two main ways to expose a git repo, HTTPS or SSH, and they both have pros and cons here:

    • HTTPS A standard sort of protocol to proxy, but you'll need to make sure you set up authentication on the proxy properly so that only only thise who should have access can get it. The git client will need to store a username and password to talk to the server or you'll have to enter them on every request. gitweb is a CGI that provides a basic, but useful, web interface.
    • SSH Simpler to set up, and authentication is a solved problem. Proxying it isn't hard, just forward the port to any of the backend servers, which avoids decrypting on the proxy. You will want to use the same hostkey on all the servers though, or SSH will refuse to connect. Doesn't require any special setup.

    Replication

    Git is a distributed version control system, so you could replicate it at that level, alternatively you could use a replicated file system, or a simple file based replication. Each has it's own trade-offs.

    • Git replication Using git pull to replicate between repositories is probably going to be your most reliable option, as it's the job git was built for, and doesn't rely on messing with it's underlying files directly. The one caveat is that, if you push to different servers in quick suscession you may cause a merge confict, which would break your replication. The cleanest way to deal with that is to have the load balancer send all requests to server1 if it's up, and only switch to the next server if all the prior ones are down. That way writes will alk be going to the same place. Then set up replication in loop, with server2 pulling from server1, server3 pulling from server2, and so on up to server1 pulling from server5. With frequent pulls changes that are commited to server1 will quickly replicate to all the other servers. This would effectively be a shared nothing solution as none of the servers are sharing resources, which would make it easier to geigraphically separate them. The load balancer could be replaced by a CNAME record in DNS, with a daemon that updates it to point to the correct server.
    • Replicated filesystem Git stores its data in a fairly simple file structure, so placing that on a replicated filesystem such as GlusterFS or Ceph would mean multiple servers could use the same data. From experience, this sort of thing is great when it's working, but can be fragile and break in unexpected ways. You don't want to be up at 2am trying to fix a file replication issue if you can avoid it.
    • File replication. This is similar to the git replication option, in that you have to be very aware of the risk of conflicts. A similar strategy would probably work, but I'm not sure it brings you any advantages.

    I think my prefered solution would be to have SSH access to the git servers and to set up pull based replication on a fairly fast schedule (where fast is relative to how frequently you push changes). You mention having a VPS as obe of the servers, so you might want to push changes to that rather than have be able to connect to your internal network.

    A useful property of git is that, if the server is missing changesets you can just push them again. So if a server goes down before your last push gets replicated, you can just push again once the system has switched to the new server. Once the first server comes back online it'll naturally get any changesets it's missing and effectively 'heal'.

  • You get a full eye roll and groan for that.

  • Wh.. what are you doing step-car?

  • Cute cat, but I think I can see the mental screen saver running in there. It's the one where an image just gently bounces around the screen.

  • Teratoma has entered the chat.

    I'd advise only reading up on them if you don't mind a bit of body horror, and only doing an image search if you really mean it.

  • Pier reviewed sauce: Someone on the promenade thought the cafe's ketchup was ok.

  • Oh, well done.

  • trackballs, the arguably superior input method.

    It's not arguable, because it's true! The mouse mafia are just trying to give everyone Carpal Tunnel Syndrone. We must overthrown the waggly input hegemony and bring peace to desktops everywhere!

    Ok, I'll settle down now.

  • I think the pupil size calculation is based on defraction, so it doesn't matter how dense your retina is, if your pupils are smaller than that you still wont see enough detail. This is one of the reasons why we keep building bigger telescopes and especially telescope arrays. The bigger the effective apeture, the finer the detail it can resolve.

  • hol' up

    Jump
  • So close to salvation salivation

  • So 5 meter long sharks with 24 feet? That sounds terrifying. How far up the beach can they run?

  • Whilst I appreciate the source material, in this case it's not even danger he's running away from, it's being rubbish at a game he claimed to be good at.

  • I manage all my homelab infra stuff via ansible and run services via kubenetes. All the ansible playbooks are in git, so I can roll back if I screw something up, and I test it on a sacrificial VM first when I can. Running services in kubenetes means I can spin up new instances and test them before putting them live.

    Working like that makes it all a lot more relaxing as I can be confident in my changes, and back them out if I still get it wrong.