diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a09c56df5c7fd744f3166e151ae91dd41e57fec9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..876a61351680dd38061c84479cd227d5ae2c6c30 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,36 @@ +# VARIABLES +variables: + DOCKER_BUILDKIT: 1 + DOCKER_DRIVER: overlay2 + DOCKER_HOST: tcp://localhost:2375 + DOCKER_TLS_CERTDIR: "" + +########################################################################################################## + +## PIPELINE DEFINITION +stages: + - check + +########################################################################################################## + +### COMMON SECTION +.common: &common + services: + - registry.cyberbrain.pw/docker/dind + variables: + GIT_DEPTH: 1 + ANSIBLE_FORCE_COLOR: "True" + before_script: + - chmod -R o-w ../ + +########################################################################################################## + +### TEST SECTION +test: + <<: *common + stage: check + image: registry.cyberbrain.pw/ansible/ansible + except: + - /^master$/ + script: + - find . -type d -exec ansible-lint --force-color -v -x '204' {} \; diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..87ed0f68881baebb7958b91a5d989ead84ca0435 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1 @@ +locale: "C.UTF-8" diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..a3c375f114d72d60c73fe598da578368511909a7 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,65 @@ +galaxy_info: + author: Dmitriy Safronov + description: Localepurge configuration +# company: your company (optional) + + # 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 + issue_tracker_url: https://gitlab.cyberbrain.pw/ansible/roles/localepurge/-/issues + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: LGPL-2.0-or-later + + min_ansible_version: 2.9 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + platforms: + - name: Ubuntu + versions: + - focal + - bionic + - name: Linux Mint + versions: + - ulyana + - tricia + - name: Debian + versions: + - buster + + 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 0000000000000000000000000000000000000000..91e083e057ede8fdd0ee8b2166e10461dcea0541 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,7 @@ +--- + +# Ubuntu +- name: Perform specific setup for Ubuntu, Debian & Linux Mint + include_tasks: ubuntu/main.yml + when: ansible_distribution == 'Ubuntu' or ansible_distribution == 'Debian' or ansible_distribution == 'Linux Mint' + tags: ubuntu diff --git a/tasks/ubuntu/localepurge.yml b/tasks/ubuntu/localepurge.yml new file mode 100644 index 0000000000000000000000000000000000000000..7cd77e48e3b44c1c35825fc4c7898734c090e103 --- /dev/null +++ b/tasks/ubuntu/localepurge.yml @@ -0,0 +1,57 @@ +--- + +- name: Set default locale to {{ locale }} + debconf: + name: locales + question: locales/default_environment_locale + value: "{{ locale }}" + vtype: select + +# + +- name: Set exception for localepurge to {{ locale }} + debconf: + name: localepurge + question: localepurge/nopurge + value: "{{ locale }}" + vtype: multiselect + +- name: Generate locales + debconf: + name: locales + question: locales/locales_to_be_generated + value: "{{ locale }}" + vtype: multiselect + +# + +- name: Localepurge use dpkg feature + debconf: + name: localepurge + question: localepurge/use-dpkg-feature + value: 'True' + vtype: boolean + +- name: Localepurge don't bother new locales + debconf: + name: localepurge + question: localepurge/dontbothernew + value: 'True' + vtype: boolean + +- name: Localepurge show freed space + debconf: + name: localepurge + question: localepurge/showfreedspace + value: 'False' + vtype: boolean + +# + +- name: Install packages + apt: + dpkg_options: 'force-confnew' + state: present + update_cache: yes + pkg: + - localepurge diff --git a/tasks/ubuntu/main.yml b/tasks/ubuntu/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..717d3529ccf2e935b0878f72fcfadacc96c95bf7 --- /dev/null +++ b/tasks/ubuntu/main.yml @@ -0,0 +1,6 @@ +--- + +# localepurge +- name: Install & configure localepurge + include_tasks: localepurge.yml + tags: localepurge