master
Kaitlyn Parkhurst 3 years ago
parent 5edbca396c
commit 9dff905fd5
  1. 11
      README.md
  2. 23
      devops/ansible/roles/mjb-overlay-devel/files/mjb.dev-panel.service
  3. 68
      devops/ansible/roles/mjb-overlay-devel/tasks/docker.yml
  4. 5
      devops/ansible/roles/mjb-overlay-devel/tasks/main.yml
  5. 20
      devops/ansible/roles/mjb-overlay-devel/tasks/myjekyllblog_service.yml

@ -339,6 +339,17 @@ TODO
### Enable development mode
To make development easier, you can enable development tools on any given environment with ansible. If I wanted to enable them on the stage environment, I would run the following command.
```bash
ansible-playbook -i env/stage/inventory.yml --vault-password-file .vault_password -e @env/stage/vault.yml tools-development.yml
```
Some changes to the environment after running the tools-development playbook include the following:
* This will switch the `mjb.panel` service out with an `mjb.dev-panel` service that automatically reloads Mojolicious when files in the `mjb/Web/lib/` and `mjb/Web/templates/` change.
* Docker is installed to use `create-classes` in `DB/`
### Working on the web panel
### Working on the database models

@ -0,0 +1,23 @@
[Unit]
Description=MyJekyllBlog Web Service
After=postgresql.target
[Service]
User=manager
Group=manager
Environment="PERL5LIB=/home/manager/perl5/lib/perl5"
Environment="PERL_MB_OPT=--install_base \"/home/manager/perl5\""
Environment="PERL_MM_OPT=INSTALL_BASE=/home/manager/perl5"
Environment="PERL_LOCAL_LIB_ROOT=/home/manager/perl5"
Environment="PATH=/home/manager/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
ExecStart=/home/manager/perl5/bin/morbo -l http://127.0.0.1:8080 ./script/mjb
WorkingDirectory=/home/manager/mjb/Web
SyslogIdentifier=mjb-web
Restart=on-failure
Type=simple
KillMode=process
[Install]
WantedBy=multi-user.target

@ -0,0 +1,68 @@
- name: Install packages
apt:
name: [
'apt-transport-https',
'ca-certificates',
'curl',
'gnupg',
'lsb-release',
]
state: present
- name: Install Docker Keyring
shell: curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
args:
creates: /usr/share/keyrings/docker-archive-keyring.gpg
- name: Install Docker Repo File
shell: echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" >
/etc/apt/sources.list.d/docker.list
args:
creates: /etc/apt/sources.list.d/docker.list
- name: Update apt cache
apt:
name: "curl"
state: latest
update_cache: yes
- name: Install Docker Packages
apt:
name: [
'docker-ce',
'docker-ce-cli',
'containerd.io',
]
state: present
- name: Make sure we have a wheel group
group:
name: wheel
state: present
- name: Allow wheel group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
validate: 'visudo -cf %s'
- name: Add manager to docker and wheel group
user:
name: manager
groups: docker,wheel
append: yes
- name: Start & enable docker
service:
name: docker
state: started
enabled: true
- name: Start & enable containerd
service:
name: containerd
state: started
enabled: true

@ -0,0 +1,5 @@
- name: Add docker support for DBIC regeneration
include_tasks: docker.yml
- name: Update systemd files for MyJekyllBlog
include_tasks: myjekyllblog_service.yml

@ -0,0 +1,20 @@
- name: Install service file for mjb.dev-panel
copy:
dest: /etc/systemd/system/mjb.dev-panel.service
src: "{{ role_path }}/files/mjb.dev-panel.service"
owner: root
group: root
mode: 0644
- name: Stop and disable mjb.panel service
service:
name: mjb.panel
state: stopped
enabled: no
- name: Start and enable the mjb.dev-panel service
service:
name: mjb.dev-panel
state: started
enabled: yes
Loading…
Cancel
Save