System


Update

- name: Update packages (Fedora)
  dnf:
    name: “*”
    state: lastest
- name: Update packages (Debian)
  apt:
    update_cache: yes
    upgrade: yes

Install Packages

-name: Install packages
  package:
    name:
      - neofetch
      - htop
    state: latest

Restart Service

-name: Restart SSH daemon
  service:
    name: sshd
    state: restarted

Files


Replace Line in a File

-name: Disable SSH password auth
  lineinfile:
    dest: /etc/ssh/sshd_config
    regexp: "^#PasswordAuthentication yes"
    line: "PasswordAuthentication no"

Copy File

  - name: Install Vault service file
	ansible.builtin.copy:
	  src: ../config_files/vault/vault.service
	  dest: /etc/systemd/system/vault.service
	  owner: vault
	  group: vault
	  mode: '0660'
	- name: Install GitLab config file
	  ansible.builtin.copy:
	    dest: /etc/gitlab/gitlab.rb
	    owner: root
	    group: root
	    mode: '0600'
	    content : |
		external_url 'https://{{ inventory_hostname }}'
		letsencrypt['enable'] = true

Services


Disable SSH

-name: Diable SSH password auth
  lineinfile:
    dest: /etc/ssh/sshd_config
    regexp: "^#PasswordAuthentication yes"
    line: "PasswordAuthentication no"
  notify: Restart SSH daemon


handlers:
  - name: Restart SSH daemon
    service:
      name: sshd
      state: restarted

Docker

- name: Pull Docker Image
  docker_image:
    name: ubuntu
- name: Build Docker Image (Deprecated?)
  docker_image:
    path: /path/to/Dockerfile
    name: myImageName
- name: Create/Start Docker Container
  docker_container:
    name: myContainerName
    image: myImage
    container_default_behavior: no_defaults
    state: started
    ports:
      - “80:80”
    tty: true
    detach: true