From 613ce9fe8e216e7b017c92dea8ccb709873a65bc Mon Sep 17 00:00:00 2001 From: Barry van Someren Date: Tue, 26 Apr 2016 21:12:24 +0200 Subject: [PATCH] initial commit --- .travis.yml | 29 ++++++++ README.md | 41 +++++++++++ defaults/main.yml | 3 + handlers/main.yml | 2 + meta/main.yml | 173 ++++++++++++++++++++++++++++++++++++++++++++++ tasks/main.yml | 17 +++++ tests/inventory | 1 + tests/test.yml | 5 ++ 8 files changed, 271 insertions(+) create mode 100644 .travis.yml create mode 100644 README.md create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 meta/main.yml create mode 100644 tasks/main.yml create mode 100644 tests/inventory create mode 100644 tests/test.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,29 @@ +--- +language: python +python: "2.7" + +# Use the new container infrastructure +sudo: false + +# Install ansible +addons: + apt: + packages: + - python-pip + +install: + # Install ansible + - pip install ansible + + # Check ansible version + - ansible --version + + # Create ansible.cfg with correct roles_path + - printf '[defaults]\nroles_path=../' >ansible.cfg + +script: + # Basic role syntax check + - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + +notifications: + webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3ff425f --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +bvansomeren.cockpit +========= + +Installs `cockpit` a system made to easily control Linux systems: http://cockpit-project.org + +Requirements +------------ + +No hard requirements, but you might want to put a reverse proxy in front of this, especially if you disable TLS + +Role Variables +-------------- + +These are the limited variables and their default values as found in defaults/main.yml + + cockpit_disable_tls: no + +Disables TLS. At the time of Role creation the GNUTLS version had issues with Safari and Chrome. Please think carefully about sending your root passwords in plain text! + +Dependencies +------------ + +None + +Example Playbook +---------------- + +Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: + + - hosts: servers + roles: + - { role: bvansomeren.cockpit } + +License +------- + +BSD + +Author Information +------------------ + diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..f980aa6 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,3 @@ +--- +# defaults file for bvansomeren.cockpit +cockpit_disable_tls: no diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..9654462 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,2 @@ +--- +# handlers file for bvansomeren.cockpit diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..4b526bf --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,173 @@ +galaxy_info: + author: Barry van Someren + description: + company: CoffeeSprout ICT Services + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Some suggested licenses: + # - BSD (default) + # - MIT + # - GPLv2 + # - GPLv3 + # - Apache + # - CC-BY + license: BSD + + min_ansible_version: 2.0 + + # Optionally specify the branch Galaxy will use when accessing the GitHub + # repo for this role. During role install, if no tags are available, + # Galaxy will use this branch. During import Galaxy will access files on + # this branch. If travis integration is cofigured, only notification for this + # branch will be accepted. Otherwise, in all cases, the repo's default branch + # (usually master) will be used. + #github_branch: + + # + # Below are all platforms currently available. Just uncomment + # the ones that apply to your role. If you don't see your + # platform on this list, let us know and we'll get it added! + # + platforms: + - name: EL + versions: + # - all + # - 5 + # - 6 + - 7 + #- name: GenericUNIX + # versions: + # - all + # - any + #- name: Solaris + # versions: + # - all + # - 10 + # - 11.0 + # - 11.1 + # - 11.2 + # - 11.3 + #- name: Fedora + # versions: + # - all + # - 16 + # - 17 + # - 18 + # - 19 + # - 20 + # - 21 + # - 22 + # - 23 + #- name: opensuse + # versions: + # - all + # - 12.1 + # - 12.2 + # - 12.3 + # - 13.1 + # - 13.2 + #- name: IOS + # versions: + # - all + # - any + #- name: SmartOS + # versions: + # - all + # - any + #- name: eos + # versions: + # - all + # - Any + #- name: Windows + # versions: + # - all + # - 2012R2 + #- name: Amazon + # versions: + # - all + # - 2013.03 + # - 2013.09 + #- name: GenericBSD + # versions: + # - all + # - any + #- name: Junos + # versions: + # - all + # - any + #- name: FreeBSD + # versions: + # - all + # - 10.0 + # - 10.1 + # - 10.2 + # - 8.0 + # - 8.1 + # - 8.2 + # - 8.3 + # - 8.4 + # - 9.0 + # - 9.1 + # - 9.1 + # - 9.2 + # - 9.3 + #- name: Ubuntu + # versions: + # - all + # - lucid + # - maverick + # - natty + # - oneiric + # - precise + # - quantal + # - raring + # - saucy + # - trusty + # - utopic + # - vivid + # - wily + # - xenial + #- name: SLES + # versions: + # - all + # - 10SP3 + # - 10SP4 + # - 11 + # - 11SP1 + # - 11SP2 + # - 11SP3 + #- name: GenericLinux + # versions: + # - all + # - any + #- name: NXOS + # versions: + # - all + # - any + #- name: Debian + # versions: + # - all + # - etch + # - jessie + # - lenny + # - sid + # - squeeze + # - stretch + # - wheezy + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is + # a keyword that describes and categorizes the role. + # Users find roles by searching for tags. Be sure to + # remove the '[]' above if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of + # alphanumeric characters. Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. + # Be sure to remove the '[]' above if you add dependencies + # to this list. diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..71be447 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,17 @@ +--- +# tasks file for bvansomeren.cockpit + +- name: ensure cockpit is installed + package: name=cockpit state=present + +- name: disable cockpit internal TLS + ini_file: dest=/usr/lib/systemd/system/cockpit.service section=Service option=ExecStart value="/usr/libexec/cockpit-ws --no-tls" + register: systemd + when: cockpit_disable_tls + +- name: reload systemd if unit file changed + command: systemctl daemon-reload + when: systemd.changed + +- name: ensure Cockpit is started + service: name=cockpit state=started enabled=yes diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..d18580b --- /dev/null +++ b/tests/inventory @@ -0,0 +1 @@ +localhost \ No newline at end of file diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..4e3f7ec --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - bvansomeren.cockpit \ No newline at end of file