Hello from MCP server
---
- name: Setup Development Environment
hosts: all
become: yes
vars:
dev_user: dev
github_repo_ssh: ""
tasks:
- name: Install git
apt:
name: git
state: present
update_cache: yes
- name: Check if Go is installed
stat:
path: /usr/local/go/bin/go
register: go_installed
- name: Download Go
get_url:
url: "https://go.dev/dl/go1.22.3.linux-amd64.tar.gz"
dest: /tmp/go.tar.gz
when: not go_installed.stat.exists
- name: Extract Go
unarchive:
src: /tmp/go.tar.gz
dest: /usr/local
remote_src: yes
when: not go_installed.stat.exists
- name: Add Go to PATH for dev user
lineinfile:
path: "/home/{{ dev_user }}/.bashrc"
line: 'export PATH=$PATH:/usr/local/go/bin'
state: present
- name: Generate SSH keypair for dev user
user:
name: "{{ dev_user }}"
generate_ssh_key: yes
ssh_key_bits: 4096
ssh_key_type: ed25519
ssh_key_comment: "{{ dev_user }}@{{ inventory_hostname }}"
- name: Get public key
slurp:
src: "/home/{{ dev_user }}/.ssh/id_ed25519.pub"
register: ssh_public_key
- name: Display public key
debug:
msg: "{{ ssh_public_key.content | b64decode }}"
- name: Add GitHub to known_hosts
known_hosts:
name: github.com
key: "{{ lookup('pipe', 'ssh-keyscan github.com 2>/dev/null') }}"
path: "/home/{{ dev_user }}/.ssh/known_hosts"
state: present
become_user: "{{ dev_user }}"
when: github_repo_ssh != ""
- name: Clone repository
git:
repo: "{{ github_repo_ssh }}"
dest: "/home/{{ dev_user }}/pricebook-platform"
accept_hostkey: yes
become_user: "{{ dev_user }}"
when: github_repo_ssh != ""