Giter Club home page Giter Club logo

Comments (6)

geerlingguy avatar geerlingguy commented on May 27, 2024

Currently, the role is intended for use in playbooks that are specific to one type of server configuration/setup. The role works cross-platform, but I think the use case of having the same playbook deploying to different OSes is a little more edge-case, but I'll leave this ticket open for anyone else to chime in for now.

I like making the role as flexible as possible, but generally roles are made cross platform, but the playbooks that use the roles are more platform and architecture-specific.

from ansible-role-mysql.

sagikazarmark avatar sagikazarmark commented on May 27, 2024

Hm, makes sense. Actually, I never thought about creating multiple playbooks for separate environments. One possible downside of that is probably common things cannot be shared between the two playbooks. At least I didn't find any reference for inclusion in playbooks.

from ansible-role-mysql.

geerlingguy avatar geerlingguy commented on May 27, 2024

@sagikazarmark - Typically if there's more than one or two tasks that need to be the same in more than one playbook, it's best to create your own role that can have it's own overridden variables, and then include that role in both playbooks.

Most of my playbooks go something like this:

---
- hosts: example

  vars_files:
    - vars/main.yml

  roles:
    - geerlingguy.firewall
    - geerlingguy.security
    - geerlingguy.mysql
    - accounts
    - companyxyz

And the accounts role has account setup info (for CI users, any admin groups, that kind of thing), and the companyxyz role would have specific server tweaks for that set of servers for that particular client/app (which could be platform-specific as well).

Then each server type gets its own playbook (like the above) with it's own vars file.

from ansible-role-mysql.

sagikazarmark avatar sagikazarmark commented on May 27, 2024

Is it possible to store role variables in that var file? Because I tried to store some variables in a var file, and they were not set in the role.

from ansible-role-mysql.

AleksNovak avatar AleksNovak commented on May 27, 2024

Yes that’s what I usually do.
I extract all vars file that I can find into vars/ to override with my own config:

---
- name: Deploy GitLab
  hosts: gitlab
  vars_files:
  - vars/gitlab.yml
  pre_tasks:
  - include: tasks/gitlab_pre.yml
  post_tasks:
  - include: tasks/gitlab_post.yml
  roles:
  - ansible-role-repo-epel
  - ansible-role-ansible
  - ansible-role-gitlab
  tags:
  - gitlab
- name: Deploy HAProxy
  hosts: haproxy
  vars_files:
  - vars/haproxy.yml
  roles:
  - ansible-role-haproxy

from ansible-role-mysql.

stale avatar stale commented on May 27, 2024

This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution!

Please read this blog post to see the reasons why I mark issues as stale.

from ansible-role-mysql.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.