Giter VIP home page Giter VIP logo

infrastructure's People

Contributors

lx4r avatar nataliadm-cp avatar scottmuc avatar willoleary6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

infrastructure's Issues

Rebuild Windows PC - Spring Edition

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's my primary influence.

Repave

  • boot to the USB.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Windows update

  • Install Box Starter

  • Install my Box Starter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Set-ExecutionPolicy Unrestricted
    . { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force
    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/master/boxstarter.txt
    

Rebuild Dell XPS - Testing reproducibility

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest Ubuntu OS

Rebuild steps

Post OS install steps

  • Document what to do next ;-)

Rebuild Macbook Air - Feb 2023 Long Overdue

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer

    Instructions

    Hold down the Option key to trigger the boot selection menu.

  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin)
    # Unlock the repo in order to access values in ./secrets dir
    cd ~/workspace/infrastructure
    ./scripts/locksmith unlock
    # Initialize Terraform and apply
    cd dns
    terraform init
    ./terraform_apply
    
  • Make a signed commit mentioning this issue (exercises gpg_op)

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin)
    gpg_op restore -e "[email protected]"
    
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)
  • Make this template slightly better

Rebuild Raspbery PI - First repave with new ansible automation

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Preferrably with a secondary SD Card to keep the current Pi running.

    installer download

  • Shut down the PI (to prevent DHCP conflicts)

  • Enable DHCP on the router and remove port mapping

Post OS install steps on the PI

  • Enable SSHD via rasp-config

  • Obtain machine IP via ip a

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Copy ssh key using ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ansible-playbook -i 192.168.2.10, --become --ask-become-pass ./bootstrap-playbook.yml

  • Complete full configuration

    Instructions

    ./ansible.sh <pi ip>

  • Disable DHCP on the router

  • Reboot PI

  • Add port mapping on the router

  • Make this template slightly better

Rebuild WSL - with Kool User

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Run repave script from windows host

    Instructions

    As an admin, run:

    Set-ExecutionPolicy -ExectionPolicy RemoteSigned

    Then run:

    ~/workspace/infrastructure/homedirs/windows/Repave-WSLInstance.ps

  • Clone and run coalesce script

    Instructions
    mkdir ~/workspace && cd ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git
    cd infrastructure/homedirs/wsl
    ./coalesce_this_machine
    
  • Reboot WSL Instance

    Instructions

    In order for /etc/wsl.conf to take effect we need to restart the
    WSL instance.

    wsl --shutdown Ubuntu

  • Initalize 1Password

    Instructions

    inialized-1password

  • Load GPG Keys

    Instructions
    opauth
    keys
    gpg-op restore -e scottATscottmuc.com
    

Verification Steps

  • Decrypt Repository

    Instructions
    ./scripts/locksmith unlock
    
  • Attempt DNS Change

    Instructions
    cd dns
    terraform init
    # add TXT record to graffiti.scottmuc.com
    ./terraform_apply
    
  • Configure PI (tests ansible)

  • Make this template slightly better

Rebuild Macbook Air - Potentially the Last Repave

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer

    Instructions

    Hold down the Option key to trigger the boot selection menu.

  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control
  • Launch shiftit and follow all the accessiblity setting instructions (looking at alternatives)

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    # Unlock the repo in order to access values in ./secrets dir
    cd ~/workspace/infrastructure
    ./scripts/locksmith unlock
    # Initialize Terraform and apply
    ./scripts/terraform init dns
    ./scripts/terraform_apply
    
  • Make a signed commit mentioning this issue (exercises gpg_op)

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    gpg_op restore -e "[email protected]"
    
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)
  • Make this template slightly better

Rebuild Windows PC - 20220213win

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

Repave

  • boot to the USB.

    Instructions
    • Hit F12 while machine is rebooting to load boot menu.
    • The drive that is less than 50GB is likely the bootable USB device.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Install BoxStarter

    Instructions
    • choco install Boxstarter
  • Install my Box Starter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/master/homedirs/windows/boxstarter.ps1
    
  • Windows update

  • Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • Run Novabench

    Instructions

    Score should be around:

    • CPU 1600
    • RAM 260
    • GPU 1000
    • Disk 340

Rebuild Macbook Pro - Temporary Work Machine

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer

    Instructions

    Hold down the Option key to trigger the boot selection menu.

  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control
  • Launch shiftit and follow all the accessiblity setting instructions

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    # Unlock the repo in order to access values in ./secrets dir
    cd ~/workspace/infrastructure
    ./scripts/locksmith unlock
    # Initialize Terraform and apply
    ./scripts/terraform init dns
    ./scripts/terraform_apply
    
  • Make a signed commit mentioning this issue (exercises gpg_op)

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    gpg_op restore -e "[email protected]"
    
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)
  • Make this template slightly better

Rebuild Windows PC - 202302win

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

Repave

  • boot to the USB.

    Instructions
    • Hit F12 while machine is rebooting to load boot menu.
    • The drive that is less than 50GB is likely the bootable USB device.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Set machine hostname

    Instructions

    This can come in handy for all services that have recorded the machines
    hostname for security verification. The timestamp in the name and other
    metadata can make future auditing a bit easier.

    The convention is YYYYMMDD-something meta.

    Test if this can be done in powershell.

  • Install BoxStarter

    Instructions
    • choco install Boxstarter
  • Install Boostrap BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/main/homedirs/windows/boxstarter.bootstrap.ps1
    
  • Windows update

  • Install Main BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName $(Join-Path -Path $Env:USERPROFILE -ChildPath "workspace/infrastructure/main/homedirs/windows/boxstarter.ps1")
    
  • Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • Install and configure Samsung Magician

    Instructions

    Download the installer and run it. Enable the performance profile.

  • Run Novabench

    Instructions

    Score should be around:

    • CPU 1600
    • RAM 260
    • GPU 1000
    • Disk 340

Rebuild Macbook Air - 2021.11.08

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control
  • Launch shiftit and follow all the accessiblity setting instructions

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    # Unlock the repo in order to access values in ./secrets dir
    cd ~/workspace/infrastructure
    ./scripts/locksmith unlock
    # Initialize Terraform and apply
    ./scripts/terraform init dns
    ./scripts/terraform_apply
    
  • Make a signed commit mentioning this issue (exercises gpg_op)

    Instructions
    # Initialize and log into the 1 Password CLI
    initialize-1password
    eval $(op signin my)
    gpg_op restore -e "[email protected]"
    
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)
  • Make this template slightly better

Rebuild Raspbery PI - First repave

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Preferrably with a secondary SD Card to keep the current Pi running.

    installer download

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

Post OS install steps

  • Ensure machine IP is 192.168.2.10

  • Copy ssh key using ssh-copy-id

  • Bootstrap with Ansible

    Instructions

    ansible-playbook -i 192.168.2.10, --become --ask-become-pass ./bootstrap-playbook.yml

  • Complete full configuration

    Instructions

    ansible-playbook -i 192.168.2.10, --become ./main-playbook.yml

  • Make this template slightly better

Rebuild WSL - First attempt and repaving WSL

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Delete previous WSL instance if applicable

  • Ensure WSL2 is being used

  • Install latest Ubuntu

  • Clone and run coalesce script

  • Attempt DNS Change

  • Initalize 1Password

  • Configure PI (tests ansible)

  • Make this template slightly better

Rebuild Macbook Air - Fall 2020

Things to do with the existing build

  • Create USB stick with latest macOS
  • Create credentials for the rebuild
  • Backup anything worth keeping

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git and clone this repo
  • Run coalesce_this_machine
  • Launch and configure 1 Password
  • Initialise 1 Password CLI

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)

Rebuild Macbook Air - Summer 2021

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control
  • Launch shiftit and follow all the accessiblity setting instructions

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)

Rebuild Raspbery PI - Feb 2023 Edition

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Disable DHCP on the PI

    Instructions

    Ensure that when we renew our DCHP lease, it comes from our router.

    sudo systemctl stop dnsmasq

  • Enable DHCP on the router and remove port mapping and release/renew IP address

    Instructions

    Windows: ipconfig /release and then ipconfig /renew

  • Shutdown PI

    Instructions

    Make sure the USB drive has spun down before doing any work.

    sudo shutdown -h now

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Using the SD card in the now powered down PI.

    The new installer has options to enable SSH and create a user.

    installer download

    note check if the underlying Debian distribution is changing as this might result
    in some issues in the playbook execution.

    The Bullseye 64-bit lite image seems to work for now.

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Turn on the PI and note the IP obtained from the Router

  • Transfer local public ssh key to PI

    Instructions

    In order to avoid the use of sshpass, copy the current sessions public ssh key to
    to ./ssh/authorized_keys of the pi user on the PI. This user is only necessary to
    run the bootstrap playbook (which creates an admin ansible user) and will be subsequently
    cleaned up.

    ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Add the PI port forwarding

    Instructions

    Needed for the certbot ACME challenge in the next step.

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Re-add port mapping to the static IP

  • Disable DHCP on the router

  • Deploy goodenoughmoney.com

  • Create pi Samba user

    Instructions

    Run the following on the PI
    sudo smbpasswd -a smbrw

  • Make this template slightly better

How Do I Know I Am Done?

Disable IPv6 on Windows

Objective

My local DNS server is only listening on IPv4. At the moment, my Windows PC prefers IPv6 so it ends up using my routers DNS server instead.

Notes

This looks straightforward enough with powershell: https://giritharan.com/disable-ipv6/

A comment in that article links to Microsoft's recommendation to not disable IPv6 but to lower its priority: https://support.microsoft.com/en-us/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users

I really don't know too much about IPv6 except that one of the things it is trying to solve the scarcity of IPv4 addresses. It appears that it's bringing a lot more features and changes that I believe one needs to understand before implementing it in their home: https://www.youtube.com/watch?v=z7Al3P8ShM8. Some admin perspectives are discussed here: https://2.5admins.com/2-5-admins-05/

Rebuild WSL - post Windows repave initialisation

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Delete previous WSL instance if applicable

  • Ensure WSL2 is being used

  • Install latest Ubuntu

  • Clone and run coalesce script

  • Initalize 1Password

  • Attempt DNS Change

  • Configure PI (tests ansible)

  • Make this template slightly better

Rebuild Windows PC - 202301win

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

Repave

  • boot to the USB.

    Instructions
    • Hit F12 while machine is rebooting to load boot menu.
    • The drive that is less than 50GB is likely the bootable USB device.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Set machine hostname

    Instructions

    This can come in handy for all services that have recorded the machines
    hostname for security verification. The timestamp in the name and other
    metadata can make future auditing a bit easier.

    The convention is YYYYMMDD-something meta.

    Test if this can be done in powershell.

  • Install BoxStarter

    Instructions
    • choco install Boxstarter
  • Install my Box Starter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/master/homedirs/windows/boxstarter.ps1
    
  • Windows update

  • Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • Install and configure Samsung Magician

    Instructions

    Download the installer and run it. Enable the performance profile.

  • Run Novabench

    Instructions

    Score should be around:

    • CPU 1600
    • RAM 260
    • GPU 1000
    • Disk 340

Rebuild WSL - Recovering from broken state

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Delete previous WSL instance if applicable

  • Ensure WSL2 is being used

  • Install latest Ubuntu

  • Clone and run coalesce script

  • Initalize 1Password

  • Attempt DNS Change

  • Configure PI (tests ansible)

  • Make this template slightly better

X-platform consistent and pleasant DevX

A chat with some friends started with a post about monospace font selection: https://www.tbray.org/ongoing/When/202x/2023/02/09/Monospace

Given all the workstation automation I have, I can't say I'm satisfied with my devx (development experience). It's ok, but it's got some issues that I'd like to improve.

Objectives:

  • Setup system that allows for easy swapping of fonts and themes (to better evaluate)
  • Choose and configure a consistent font to be used
  • Swap between dark and light consistently and without too much duct-tape
  • Ensure readable font size for my aging eyes

Rebuild Dell XPS - First Build

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest Ubuntu OS

Rebuild steps

Post OS install steps

  • Document what to do next ;-)

Rebuild Raspbery PI - September 2022

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Disable DHCP on the PI

    Instructions

    Ensure that when we renew our DCHP lease, it comes from our router.

    sudo systemctl stop kea-dhcp4-server

  • Enable DHCP on the router and remove port mapping and release/renew IP address

    Instructions

    Windows: ipconfig /release and then ipconfig /renew

  • Shutdown PI

    Instructions

    Make sure the USB drive has spun down before doing any work.

    sudo shutdown -h now

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Using the SD card in the now powered down PI.

    The new installer has [options][installer-options] to enable SSH and create a user.

    installer download

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Turn on the PI and note the IP obtained from the Router

  • Transfer local public ssh key to PI

    Instructions

    In order to avoid the use of sshpass, copy the current sessions public ssh key to
    to ./ssh/authorized_keys of the pi user on the PI. This user is only necessary to
    run the bootstrap playbook (which creates an admin ansible user) and will be subsequently
    cleaned up.

    ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Add the PI port forwardi

    Instructions

    Needed for the certbot ACME challenge in the next step.

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Re-add port mapping to the static IP

  • Disable DHCP on the router

  • Deploy goodenoughmoney.com

  • Create pi Samba user

    Instructions

    Run the following on the PI
    sudo smbpasswd -a smbrw

  • Deploy navidrome

    Instructions

    run navidrome.sh as root on the PI

  • Make this template slightly better

How Do I Know I Am Done?

Rebuild WSL - with WILL!

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Run repave script from windows host

    Instructions

    As an admin, run:

    Set-ExecutionPolicy -ExectionPolicy RemoteSigned

    Then run:

~/workspace/infrastructure/homedirs/windows/Repave-WSLInstance.ps

  • Clone and run coalesce script

    Instructions
    mkdir ~/workspace && cd ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git
    cd infrastructure/homedirs/wsl
    ./coalesce_this_machine
    
  • Initalize 1Password

    Instructions

    As an admin, run:

    Set-ExecutionPolicy -ExectionPolicy RemoteSigned

    Then run:

~/workspace/infrastructure/homedirs/windows/Repave-WSLInstance.ps

Verification Steps

  • Attempt DNS Change

  • Configure PI (tests ansible)

  • Make this template slightly better

Rebuild Raspbery PI - June 2022

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Disable DHCP on the PI

    Instructions

    Ensure that when we renew our DCHP lease, it comes from our router.

    sudo systemctl stop kea-dhcp4-server

  • Enable DHCP on the router and remove port mapping and release/renew IP address

    Instructions

    Windows: ipconfig /release and then ipconfig /renew

  • Shutdown PI

    Instructions

    Make sure the USB drive has spun down before doing any work.

    sudo shutdown -h now

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Using the SD card in the now powered down PI.

    installer download

  • Touch ssh on the boot volume of the SD Card

    Instructions

    See this handy post for details. This requires disconnecting the SD card and
    plugging it back in so it gets mounted in Windows.

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Turn on the IP and note the IP obtained from the Router

  • Transfer local public ssh key to PI

    Instructions

    In order to avoid the use of sshpass, copy the current sessions public ssh key to
    to ./ssh/authorized_keys of the pi user on the PI. This user is only necessary to
    run the bootstrap playbook (which creates an admin ansible user) and will be subsequently
    cleaned up.

    ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Add the PI port forwardi

    Instructions

    Needed for the certbot ACME challenge in the next step.

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Re-add port mapping to the static IP

  • Disable DHCP on the router

  • Deploy goodenoughmoney.com

  • Create pi Samba user

    Instructions

    Run the following on the PI
    sudo smbpasswd -a pi

  • Deploy navidrome

    Instructions

    run navidrome.sh as root on the PI

  • Make this template slightly better

How Do I Know I Am Done?

Deploy a Concourse Worker on the XPS

Definition of Done

This pipeline should run and work:

jobs:
  - name: job-hello-world
    public: true
    plan:
      - task: hello-world
        config:
          platform: linux
          image_resource:
            type: docker-image
            source: {repository: busybox}
          run:
            path: echo
            args: [hello world]

Fix `certbox renew`

Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for home.scottmuc.com
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (home.scottmuc.com) from /etc/letsencrypt/renewal/home.scottmuc.com.conf produced an unexpected error: Failed authorization procedure. home.scottmuc.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from https://home.scottmuc.com/.well-known/acme-challenge/33uZzzmjw2SNBd19IpQ2bK_UgSoIl9jF1iL644fpBsg [79.244.147.235]: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>". Skipping.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/www.goodenoughmoney.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.goodenoughmoney.com
Cleaning up challenges
Attempting to renew cert (www.goodenoughmoney.com) from /etc/letsencrypt/renewal/www.goodenoughmoney.com.conf produced an unexpected error: Missing command line flag or config entry for this setting:
Input the webroot for www.goodenoughmoney.com:. Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/home.scottmuc.com/fullchain.pem (failure)
  /etc/letsencrypt/live/www.goodenoughmoney.com/fullchain.pem (failure)

Rebuild Raspbery PI - Repaving with Konrad!

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Enable DHCP on the router and remove port mapping and release/renew IP address

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Preferrably with a secondary SD Card to keep the current Pi running.

    installer download

  • Touch ssh on the boot volume of the SD Card

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Note the IP the PI obtained from the Router

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Add the PI port forwarding

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Re-add port mapping to the static IP

  • Disable DHCP on the router

  • Deploy goodenoughmoney.com

  • Create pi Samba user

    Instructions

    Run the following on the PI
    sudo smbpasswd -a pi

  • Deploy navidrome

    Instructions

    run navidrome.sh as root on the PI

  • Make this template slightly better

How Do I Know I Am Done?

Rebuild Raspbery PI - Rebuilding with David

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Preferrably with a secondary SD Card to keep the current Pi running.

    installer download

  • Enable DHCP on the router and remove port mapping

Post OS install steps on the PI

  • Note the IP assigned to the PI during the OS install

  • Enable SSHD via rasp-config

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Copy ssh key using ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Add port mapping on the router

  • Disable DHCP on the router

  • Make this template slightly better

Rebuild Windows PC - Feb 2022

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's my primary influence.

Repave

  • boot to the USB.

    Instructions
    • Hit F12 while machine is rebooting to load boot menu.
    • The drive that is less than 50GB is likely the bootable USB device.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Install BoxStarter

    Instructions
    • choco install Boxstarter
  • Install my Box Starter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://github.com/scottmuc/infrastructure/blob/master/homedirs/windows/boxstarter.ps1
    
  • Windows update

deep-pockets.sh sync no longer working

The data stored after the attempted sync looks like the following:

~/workspace/infrastructure/homedirs/osx/bin ? cat ~/.config/deep-pockets/data.json
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
<BR clear="all">
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: SII91F3ePlSLaTlOoaEuER7cr3hpJpbQx-AHsXuNING_YAROCzUepw==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>%  

Rebuild Macbook Air - Spring 2021

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Create USB stick with latest macOS

    Instructions
    • Format a USB (> 16GB) stick and name it UNTITLED

    • Fetch the latest version of macos from the App Store

    • Run the following

      $ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED --nointeraction
      Password:
      Erasing disk: 0%... 10%... 20%... 30%... 100%
      Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
      Making disk bootable...
      Install media now available at "/Volumes/Install macOS Big Sur"
      
  • Create credentials for the rebuild

    Instructions

    Run create-repave-secrets with an argument that follows the naming convention of:

    machine.<month name>.air

  • Backup anything worth keeping

    Instructions

    Generally, this means look at the following directories for things that I might want to carry over to the fresh
    install or possibly consider saving to a cloud service:

    • Desktop
    • Documents
    • Downloads

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git, clone this repo, and run coalese_this_machine

    Instructions
    git # this will trigger the XCode installer which brings git along with it
    mkdir ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git ~/workspace/infrastructure
    ~/workspace/infrastructure/homedirs/osx/coalesce_this_machine
    
  • Launch and configure 1 Password
  • Initialise 1 Password CLI
  • Map capslock to control
  • Launch shiftit and follow all the accessiblity setting instructions

note to speed things up, some of the steps above can be done while coalese_this_machine is running.

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)
  • Old keys and credentials are deleted (GitHub and 1Password)

Rebuild Macbook Air - January 2021

Things to do with the existing build

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git and clone this repo
  • Run coalesce_this_machine
  • Launch and configure 1 Password
  • Initialise 1 Password CLI

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)

Rebuild Macbook Air - Summer 2020

Things to do with the existing build

  • Create USB stick with latest macOS
  • Create credentials for the rebuild
  • Backup anything worth keeping

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git and clone this repo
  • Run coalesce_this_machine
  • Launch and configure 1 Password
  • Initialise 1 Password CLI

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)

Rebuild Windows PC - First attempt at fleshing out this template

Prep

  • backup stuff if you think you need it.

    Instructions

    Instructions go here

    1. A numbered
    2. list
      • With some
      • Sub bullets
  • prepare USB device with a Windows installer.

Repave

  • boot to the USB.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Windows update
  • Install Box Starter
  • Install my Box Starter Package

Trialing asdf for repo specific tool management

I'm starting to grow some machine specific configuration management setup that is creating a spread of Not Invented Here (NIH) installers. Rather than having a language version manager for every language, asdf can be the one to rule them all. My bias is usually for language specific things, but I feel this might be a good level of abstraction.

Things I want to see if asdf can manage for me are:

  • nodejs
  • golang
  • terraform
  • python
  • ruby

I much prefer project level scope tool declaration over machine level.

asdf project page: https://asdf-vm.com/

Rebuild Macbook Air - Upgrade to Big Sur

Things to do with the existing build

  • Create USB stick with latest macOS
  • Create credentials for the rebuild
  • Backup anything worth keeping

Rebuild steps

  • Reboot to load installer
  • Use Disk Utility to wipe existing partition and make a new one (new name, new encryption key)
  • Install the OS

Post OS install steps

  • Install git and clone this repo
  • Run coalesce_this_machine
  • Launch and configure 1 Password
  • Initialise 1 Password CLI

Done When

  • Make a tiny DNS change and run terraform
  • Make a signed commit mentioning this issue (exercises gpg_op)
  • Be able to push the commit (exercises ssh_op_agent)
  • Log into GitHub in Brave (exercises 1 Password browser extension)

Enable WSL on Windows

Objective

I want to repurpose my macbook Airr which means I won't have a stable unix-terminal to perform my routine administration of my home network.

This must be easily replicated upon re-pave.

Done When

I can update my DNS records via my existing unix tool-chain.

Rebuild Raspbery PI - With Natalia and Jason!

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Things to do with the existing build

  • Disable DHCP on the PI

    Instructions

    Ensure that when we renew our DCHP lease, it comes from our router.

    sudo systemctl stop kea-dhcp4-server

  • Enable DHCP on the router and remove port mapping and release/renew IP address

    Instructions

    Windows: ipconfig /release and then ipconfig /renew

  • Shutdown PI

    Instructions

    Make sure the USB drive has spun down before doing any work.

    sudo shutdown -h now

  • Create SD card with the latest Raspberry Pi OS

    Instructions

    Using the SD card in the now powered down PI.

    The new installer has options to enable SSH and create a user.

    installer download

    note check if the underlying Debian distribution is changing as this might result
    in some issues in the playbook execution.

Post OS install steps on desktop

  • Ensure a working ansible enviroment

    Instructions

    Not much to say except use virtualenv. I don't have a consistent way to set this up because
    my macbook might be my controller, or my windows WSL host will be.

  • Turn on the PI and note the IP obtained from the Router

  • Transfer local public ssh key to PI

    Instructions

    In order to avoid the use of sshpass, copy the current sessions public ssh key to
    to ./ssh/authorized_keys of the pi user on the PI. This user is only necessary to
    run the bootstrap playbook (which creates an admin ansible user) and will be subsequently
    cleaned up.

    ssh-copy-id pi@<pi ip>

  • Bootstrap with Ansible

    Instructions

    ./ansible.sh bootstrap -i <pi ip>

  • Add the PI port forwarding

    Instructions

    Needed for the certbot ACME challenge in the next step.

  • Complete full configuration

    Instructions

    ./ansible.sh apply -i <pi ip>

  • Reboot PI

  • Re-add port mapping to the static IP

  • Disable DHCP on the router

  • Deploy goodenoughmoney.com

  • Create pi Samba user

    Instructions

    Run the following on the PI
    sudo smbpasswd -a smbrw

  • Make this template slightly better

How Do I Know I Am Done?

Rebuild Windows PC - 20220526win

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Prep

  • backup stuff if you think you need it.

    Instructions
    • Desktop
    • Downloads
    • Documents
  • prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

Repave

  • boot to the USB.

    Instructions
    • Hit F12 while machine is rebooting to load boot menu.
    • The drive that is less than 50GB is likely the bootable USB device.
  • wipe old partitions.
  • run Windows installer.

Post Paving

  • Set machine hostname

    Instructions

    This can come in handy for all services that have recorded the machines
    hostname for security verification. The timestamp in the name and other
    metadata can make future auditing a bit easier.

    The convention is YYYYMMDD-something meta.

    Test if this can be done in powershell.

  • Install BoxStarter

    Instructions
    • choco install Boxstarter
  • Install my Box Starter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/master/homedirs/windows/boxstarter.ps1
    
  • Windows update

  • Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • Install and configure Samsung Magician

    Instructions

    Download the installer and run it. Enable the performance profile.

  • Run Novabench

    Instructions

    Score should be around:

    • CPU 1600
    • RAM 260
    • GPU 1000
    • Disk 340
  • Run WSL

    Instructions
    • Install Ubuntu
    • Clone this repository
    • Run coalesce this machine script

Rebuild WSL - Hoping to fix docker issues

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing
all the previous repave issues. Have fun!

Steps

  • Run repave script from windows host

    Instructions

    As an admin, run:

    Set-ExecutionPolicy -ExectionPolicy RemoteSigned

    Then run:

    ~/workspace/infrastructure/homedirs/windows/Repave-WSLInstance.ps

  • Clone and run coalesce script

    Instructions
    mkdir ~/workspace && cd ~/workspace
    git clone https://github.com/scottmuc/infrastructure.git
    cd infrastructure/homedirs/wsl
    ./coalesce_this_machine
    
  • Reboot WSL Instance

    Instructions

    In order for /etc/wsl.conf to take effect we need to restart the
    WSL instance.

    wsl --shutdown Ubuntu

  • Initalize 1Password

    Instructions

    inialized-1password

  • Load GPG Keys

    Instructions
    opauth
    keys
    gpg-op restore -e scottATscottmuc.com
    

Verification Steps

  • Decrypt Repository

    Instructions
    ./scripts/locksmith unlock
    
  • Attempt DNS Change

    Instructions
    cd dns
    terraform init
    # add TXT record to graffiti.scottmuc.com
    ./terraform_apply
    
  • Configure PI (tests ansible)

  • Clone all the repos (mr checkout)

  • Ensure tldr works

  • Ensure deploy.sh of goodenoughmoney.com works

  • Make this template slightly better

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.