-
Notifications
You must be signed in to change notification settings - Fork 1
Add support for ansible roles #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
0xinterface
wants to merge
16
commits into
main
Choose a base branch
from
feature/ansible-roles
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fb571d4 to
66cdc87
Compare
- Docker role: Added service management, user group handling, Docker Compose installation, daemon configuration, and systemd overrides - Incus role: Added service management, user group handling, auto-initialization, storage pool and network configuration - Tailscale role: Added authentication setup, service management, hostname configuration, exit node and subnet route advertising - Truststore role: Added meta/main.yml, handlers, molecule test structure, support for multiple certificates and removal All roles now include: - Proper service enablement and startup - Handler definitions for service restarts - Complete variable definitions with defaults - Documentation and usage examples - Molecule test configurations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…ness Major improvements to all Ansible roles for better testing and reliability: Consul Role: - Fixed filename issue (removed leading space from tasks/main.yml) - Added missing variables: consul_retry_join, consul_gossip_key - Created consul.sh environment script for profile.d - Fixed molecule configuration with proper ANSIBLE_ROLES_PATH - Enhanced prepare playbook with python3-debian for deb822_repository module Nomad Role: - Created missing nomad.sh.j2 template for environment configuration - Added missing variables: nomad_gossip_key, nomad_host_volumes - Fixed plugins.hcl to use template instead of static file - Corrected meta description from "Tailscale" to "Nomad" - Updated molecule configuration for proper role discovery Consul-Template Role: - Added complete service configuration with systemd service file - Created consul-template.hcl.j2 configuration template - Added handlers for service restart - Enhanced with vault and consul connection configurations - Fixed molecule testing setup Docker Role: - Enhanced from previous work with service management - Added Docker Compose installation support - User group management for docker access - Daemon configuration via templates Incus Role: - Enhanced from previous work with service management - Added incus-admin group configuration - Auto-initialization support for Incus setup Tailscale Role: - Enhanced from previous work with authentication setup - Added service management and configuration options - Fixed molecule converge.yml role reference Truststore Role: - Created missing meta/main.yml for Galaxy compatibility - Added complete molecule test structure - Support for multiple CA certificates - Proper handlers for CA trust updates Testing Infrastructure: - All prepare.yml files now install required packages: * python3-debian (for deb822_repository module) * gnupg (for GPG key handling) * systemd (for service management) - Fixed molecule.yml provisioner configuration in all roles - Standardized converge.yml with consistent include_role syntax - Set ANSIBLE_ROLES_PATH correctly for role discovery All roles are now production-ready with: - Proper service lifecycle management - Configuration templating - Handler definitions for restarts - Complete variable defaults - Molecule test structures - Ansible 2.15+ compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
66cdc87 to
d23bb67
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces two new Ansible roles for managing Consul and Consul-Template, including their installation, configuration, and testing. It also adds supporting files for CI and integration testing, and enhances the Nomad job specification for improved update handling. The most important changes are grouped as follows:
Ansible Role: Consul
consulrole with tasks for installing Consul, configuring with templates (consul.hcl.j2,server.hcl.j2,tls.hcl.j2), handling TLS, managing dev/production modes, and setting up a shell environment script (consul.sh). [1] [2] [3] [4] [5]meta/main.yml), default variables, and Molecule scenarios for testing the role. [1] [2] [3] [4]Ansible Role: Consul-Template
consul-templaterole to install and configure Consul-Template, including repository setup, service management, configuration templating, and integration with systemd. [1] [2] [3]Continuous Integration
.github/workflows/roles.yml) to automatically lint and test all Ansible roles using Molecule on code changes.Nomad Job Specification
matchbox.nomad.hcljob file to move theupdatestanza from the group level to the job level for improved update behavior. [1] [2]