Giter VIP home page Giter VIP logo

ansible-glauth's Introduction

Ansible Role: glauth

Ansible role to install and configure glauth.

GitHub Workflow Status GitHub issues GitHub release (latest by date) Ansible Quality Score

If latest is set for glauth_version, the role tries to install the latest release version.
Please use this with caution, as incompatibilities between releases may occur!

The binaries are installed below /usr/local/bin/glauth/${glauth_version} and later linked to /usr/bin. This should make it possible to downgrade relatively safely.

The downloaded archive is stored on the Ansible controller, unpacked and then the binaries are copied to the target system. The cache directory can be defined via the environment variable CUSTOM_LOCAL_TMP_DIRECTORY. By default it is ${HOME}/.cache/ansible/glauth. If this type of installation is not desired, the download can take place directly on the target system. However, this must be explicitly activated by setting glauth_direct_download to true.

Requirements & Dependencies

Ansible Collections

ansible-galaxy collection install bodsch.core
ansible-galaxy collection install bodsch.scm

or

ansible-galaxy collection install --requirements-file collections.yml

Operating systems

Tested on

  • Arch Linux
  • Debian based
    • Debian 10 / 11
    • Ubuntu 20.10

Contribution

Please read Contribution

Development, Branches (Git Tags)

The master Branch is my Working Horse includes the "latest, hot shit" and can be complete broken!

If you want to use something stable, please use a Tagged Version!

Configuration

glauth_version: 2.1.0

glauth_release_download_url: https://github.com/glauth/glauth/releases
glauth_release_api_url: https://api.github.com/repos/glauth/glauth/releases

glauth_system_user: glauth
glauth_system_group: glauth
glauth_config_dir: /etc/glauth
glauth_data_dir: /var/lib/glauth

glauth_direct_download: false

glauth_service: {}

glauth_config: {}

glauth_backends: {}

glauth_users: {}

glauth_groups: {}

glauth_behaviors: {}

glauth_api: {}

Config for this role

parameter type default description
glauth_version string 2.1.0 The version of glauth to install. Use latest to install the latest release version, but use with caution.
glauth_system_user string glauth User as which glauth shall run
glauth_system_group string glauth Group as which glauth shall run
glauth_config_dir string /etc/glauth Directory with configuration for glauth
glauth_data_dir string /var/lib/glauth Plugins will be installed into a subdirectory plugins/ of this directory
glauth_install_path string /usr/local/bin/glauth/{{ glauth_version }} Location to install glauth to, it will be linked to /usr/bin/glauth, though
glauth_direct_download bool false Either download and unpack glauth on the local machine (false, or download it directly on the target host (true)
glauth_local_tmp_directory string environment variable CUSTOM_LOCAL_TMP_DIRECTORY
or ~/.cache/ansible/glauth/{{ glauth_version }}
Path where to locally download glauth to

Author and License

  • Bodo Schulz

License

Apache

FREE SOFTWARE, HELL YEAH!

ansible-glauth's People

Contributors

bodsch avatar jonny007-mkd avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jonny007-mkd

ansible-glauth's Issues

Permission denied in role

Hi bodsch,

when using your role I got several Permission denieds, so I had to add become: true at several places.
I'm installing it on a Debian system and not connecting as root.

I noticed you have several become: false; should true somehow be the default for the whole role?

glauth_frontends is unused

I found an inconsistency between the documentation in README.md and the template definitions for glauth.conf:

The templates contain references to glauth_config.ldap and .ldaps, whereas the docs mention glauth_frontends with some rather weird nested parameters. glauth_frontend isn't used anywhere, though.

glauth_defaults_frontends:
allowed_base_dn: ""
listen:
address: "0.0.0.0"
port: 0
tls:
enabled: false
cert_file: "certs/server.crt"
key_file: "certs/server.key"

{% if glauth_config.ldap is defined %}
[ldap]
{% if glauth_config.ldap.enabled is defined %}
enabled = {{ glauth_config.ldap.enabled | bool | ternary('true', 'false') }}
listen = "{{ glauth_config.ldap.listen.address | default('0.0.0.0') }}:{{ glauth_config.ldap.listen.port | default('389') }}"
{% endif %}
{% endif %}

I could write a PR to fix it, but I don't know your intention: Did you want to move the stuff from glauth_config to glauth_frontends or should glauth_frontends be removed?

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.