Create a workspace for multiple tools to easier develop ansible playbooks with roles.
Project description
ansible-workspace
Create a workspace for multiple tools to easier develop ansible playbooks with roles.
Roles with a reference to a git repository will be cloned, checked out and added to the workspace.
The .gitignore
will be configured to ignore the role repositories or symlinks.
Install
pip install -U ansible-workspace
or with pipx
pipx install ansible-workspace
Workspaces
ansible-workspace --help
General
Symlinks
If you want your roles in e.g. ~/ansible-roles
but want to symlink them to ./roles
use the following command:
ansible-workspace <tool> --roles-path ~/ansible-roles --symlink-path roles/
VSCode
The workspace consists of:
- A folder for the playbook directory
- A folder for each role defined in the requirements
ansible-workspace vscode
code ~/workspaces/example-project.code-workspace
tmuxp
The workspace consists of:
- A window for the playbook directory
- A window to exectute ansible commands
- A window for each role defined in the requirements
```bash
ansible-workspace tmuxp
tmuxp load -y ~/workspaces/example-project.tmuxp-workspace.yml
Examples
The following roles are defined under roles/requirements.yml
:
---
roles:
- name: role1
version: v1.0.3
src: git@github.com:rwxd/ansible-role-subuid_subgid.git
scm: git
- name: role2
version: v1.0.2
src: git@github.com:rwxd/ansible-role-subuid_subgid.git
scm: git
- name: role3
version: master
src: git@github.com:rwxd/ansible-role-subuid_subgid.git
scm: git
❯ ansible-workspace vscode
Cloning "git@github.com:rwxd/ansible-role-subuid_subgid.git" to "/tmp/test_repo/roles/role1"
Checking out "v1.0.3" on "git@github.com:rwxd/ansible-role-subuid_subgid.git"
Cloning "git@github.com:rwxd/ansible-role-subuid_subgid.git" to "/tmp/test_repo/roles/role2"
Checking out "v1.0.2" on "git@github.com:rwxd/ansible-role-subuid_subgid.git"
Cloning "git@github.com:rwxd/ansible-role-subuid_subgid.git" to "/tmp/test_repo/roles/role3"
Adding "roles/role1" to .gitignore
Adding "roles/role2" to .gitignore
Adding "roles/role3" to .gitignore
Created workspace config at "/home/<name>/workspaces/test_repo.code-workspace"
The workspace can now be opened with code ~/workspaces/test_repo.code-workspace
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ansible_workspace-1.0.2.tar.gz
.
File metadata
- Download URL: ansible_workspace-1.0.2.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f280ff0e7e8700b181023699a41790f32cb2b19da14d6d7c5b969f4409f28c |
|
MD5 | 50e797552733173b8c8b5e12ec892b63 |
|
BLAKE2b-256 | 03aca658fff6bd38131511da315dca0f038048ad3d523b6c1431bb238b23e83c |
File details
Details for the file ansible_workspace-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: ansible_workspace-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0899fd242e82ab763e1fca2519cab23d31c96c28dc8fd351a3ef7d9c8f8a5e3e |
|
MD5 | a97c7e121ac989306d4fd390f32f21e6 |
|
BLAKE2b-256 | c00a0291289026231324d579444d0fe9f439505da30bf57979ad9fe968510bcb |