Skip to content

Provisioning for my working station: vagrat (vm provider) + ansible (provision) + ara (see ansible results in web)

Notifications You must be signed in to change notification settings

nvtkaszpir/workstation

Repository files navigation

About

Provisioning for my working station using Ansible.

Know limitations

  • kernel 5.8 + systemd 245 causes issues with checking services states, so ensure not to use kernel hwe-edge on focal.fossa - see this
  • some stuff works better as sudo, such as sudo ansible-playbook -v -i inventory.yml desktop.yml
  • to see htlm reports without errors in jenkins then see this

Requirements

To run locally:

  • vagrant
  • linux host with qemu-kvm to spawn virtual machine (virtualbox/windows not tested)
  • working vagrant-libvirt

Above can be invoked under Ubuntu 20.04 via:

sudo apt install -y qemu-kvm libvirt vagrant vagrant-libvirt
  • access to internet to download dependencies
  • run vagrant up
  • full run should take about 20 minutes (installing desktop on server)
  • run from host scripts/test_in_vagrant.sh to fetch also ara reports
  • after run you can exec scripts/ara.sh to see ansible runs results via web if you have ara installed on host
  • re-run scripts/test_in_vagrant.sh and hit refresh in ara web

Demo

asciicast

asciicast

After starting ara script you are presented with url to localhost:8000 which shows ara web server, example image below.

ara web preview

TODO

  • drop Centos

  • set timezone to Etc/UTC

  • rename roles so that they conform with ansible-linter etc

  • ci: linters output to html

  • guest: in-shell apt settings (retries)

  • guest: ansible task retries for package installs

  • guest: dnsmasq

  • guest: smartgit

  • guest: system reboot if required?

  • sudo apt install awscli

curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/aws-iam-authenticator
  • containers/snaps/tools:

    • authy
    • backintime + config
    • dive
    • gimp
    • kaniko
    • kind
    • p7zip-desktop
    • skopeo
    • xnview

Do not do

Notes to self:

  • vagrant storage pools with primary disk are pain, this is vagrant-libvirt limitation
  • jenkinsfile dynamic detection of nproc on jenkins worker, you will meet CPS/NonCPS chicken-egg errors

Tips

  • get local facts ansible -m setup -i inventory.yml localhost

About

Provisioning for my working station: vagrat (vm provider) + ansible (provision) + ara (see ansible results in web)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages