You've already forked ansible-role-git
Compare commits
40 Commits
2185788577
...
0.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
30ee7b42f7
|
|||
|
b02d978e50
|
|||
|
0c95d352c9
|
|||
|
b8a3a3c992
|
|||
| f458d64a0a | |||
|
8af5817235
|
|||
|
a428234c96
|
|||
|
bab2f1367b
|
|||
|
99866d63ea
|
|||
|
f456dc8b6a
|
|||
|
b9abe39f4c
|
|||
|
cf7ab455ce
|
|||
|
41bfb9609c
|
|||
|
bbaf70a07d
|
|||
|
338d43d289
|
|||
|
62bd524d0e
|
|||
|
d8fb64f9c7
|
|||
|
5c6667da06
|
|||
| 07965ef90b | |||
|
ff87335912
|
|||
|
ab3618b924
|
|||
| 1765f54bfe | |||
|
3c5959e12c
|
|||
| 144d26e607 | |||
|
4564e748cb
|
|||
| 4be6883a4d | |||
|
138f250a0f
|
|||
| 06b3b57c22 | |||
|
16dbb4dd28
|
|||
| e01caa3d52 | |||
|
0fe23fb388
|
|||
|
a96a2ff09a
|
|||
|
bb4d6a1c82
|
|||
|
a9a707c0fb
|
|||
|
b48e2a37c6
|
|||
|
add9a91d00
|
|||
|
898d396d3e
|
|||
|
3282d019c7
|
|||
|
f380eb3547
|
|||
|
25bb6398e8
|
@@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
skip_list: []
|
exclude_paths:
|
||||||
|
- .gitea/
|
||||||
|
|||||||
94
.drone.yml
94
.drone.yml
@@ -1,94 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: markdown lint
|
|
||||||
commands:
|
|
||||||
- markdownlint *.md
|
|
||||||
image: docker.io/volkerraschek/markdownlint:0.31.1
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 50M
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 25M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: sync
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: github
|
|
||||||
image: docker.io/appleboy/drone-git-push:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 25M
|
|
||||||
settings:
|
|
||||||
branch: master
|
|
||||||
remote: ssh://git@github.com/volker-raschek/git-role.git
|
|
||||||
force: true
|
|
||||||
ssh_key:
|
|
||||||
from_secret: ssh_key
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 25M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/git-role
|
|
||||||
20
.gitea/workflows/ansible-linters.yaml
Normal file
20
.gitea/workflows/ansible-linters.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
name: Ansible Linter
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [ "opened", "reopened", "synchronize" ]
|
||||||
|
push:
|
||||||
|
branches: [ '**' ]
|
||||||
|
tags-ignore: [ '**' ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ansible-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Run ansible-lint
|
||||||
|
uses: ansible/ansible-lint@v25.7.0
|
||||||
|
with:
|
||||||
|
args: "--config-file .ansible-lint"
|
||||||
|
setup_python: "true"
|
||||||
18
.gitea/workflows/markdown-linters.yaml
Normal file
18
.gitea/workflows/markdown-linters.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Lint Markdown files
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [ "opened", "reopened", "synchronize" ]
|
||||||
|
push:
|
||||||
|
branches: [ '**' ]
|
||||||
|
tags-ignore: [ '**' ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
||||||
|
with:
|
||||||
|
globs: '**/*.md'
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.ansible
|
||||||
@@ -45,19 +45,17 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 80
|
line_length: 120
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 80
|
heading_line_length: 120
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
code_block_line_length: 80
|
code_block_line_length: 120
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
# Include tables
|
# Include tables
|
||||||
tables: false
|
tables: false
|
||||||
# Include headings
|
# Include headings
|
||||||
headings: true
|
headings: true
|
||||||
# Include headings
|
|
||||||
headers: true
|
|
||||||
# Strict length checking
|
# Strict length checking
|
||||||
strict: false
|
strict: false
|
||||||
# Stern length checking
|
# Stern length checking
|
||||||
@@ -70,11 +68,6 @@ MD022:
|
|||||||
# Blank lines below heading
|
# Blank lines below heading
|
||||||
lines_below: 1
|
lines_below: 1
|
||||||
|
|
||||||
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
|
||||||
MD024:
|
|
||||||
# Only check sibling headings
|
|
||||||
allow_different_nesting: true
|
|
||||||
|
|
||||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
MD025:
|
MD025:
|
||||||
# Heading level
|
# Heading level
|
||||||
@@ -128,7 +121,8 @@ MD041:
|
|||||||
# MD044/proper-names - Proper names should have the correct capitalization
|
# MD044/proper-names - Proper names should have the correct capitalization
|
||||||
MD044:
|
MD044:
|
||||||
# List of proper names
|
# List of proper names
|
||||||
names: []
|
names:
|
||||||
|
- gitea
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
|
|
||||||
@@ -140,4 +134,4 @@ MD046:
|
|||||||
# MD048/code-fence-style - Code fence style
|
# MD048/code-fence-style - Code fence style
|
||||||
MD048:
|
MD048:
|
||||||
# Code fence syle
|
# Code fence syle
|
||||||
style: "backtick"
|
style: "backtick"
|
||||||
|
|||||||
17
.yamllint.yaml
Normal file
17
.yamllint.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#
|
||||||
|
# Documentation:
|
||||||
|
# https://yamllint.readthedocs.io/en/stable/
|
||||||
|
#
|
||||||
|
|
||||||
|
rules:
|
||||||
|
brackets:
|
||||||
|
forbid: false
|
||||||
|
min-spaces-inside: 0
|
||||||
|
max-spaces-inside: 2
|
||||||
|
min-spaces-inside-empty: 0
|
||||||
|
max-spaces-inside-empty: 0
|
||||||
|
indentation:
|
||||||
|
spaces: 2
|
||||||
|
indent-sequences: false
|
||||||
|
line-length:
|
||||||
|
max: 360
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
# git-role
|
# git-role
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/git-role)
|
[](https://galaxy.ansible.com/volker_raschek/git)
|
||||||
[](https://galaxy.ansible.com/volker_raschek/git_role)
|
|
||||||
|
|
||||||
With following role can be git for users configured.
|
With following role can be git for users configured.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ansible-galaxy install volker_raschek.git_role
|
ansible-galaxy install volker_raschek.git
|
||||||
```
|
```
|
||||||
|
|
||||||
## Supported distributions
|
## Supported distributions
|
||||||
|
|||||||
@@ -1,8 +1,20 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
git_install_merge_tool: false
|
||||||
|
git_package_name_merge_tool: meld
|
||||||
|
|
||||||
git_users: []
|
git_users: []
|
||||||
# github:
|
# github:
|
||||||
|
# allowedSignersFile:
|
||||||
|
# - principals:
|
||||||
|
# - max.mustermann@example.com
|
||||||
|
# publicSSHKey: ssh-rsa AAAAX1...
|
||||||
# config:
|
# config:
|
||||||
|
# commit:
|
||||||
|
# gpgSign: "true"
|
||||||
# user:
|
# user:
|
||||||
# name: "root"
|
# name: "root"
|
||||||
# email: root@localhost
|
# email: root@localhost
|
||||||
|
# signingKey: gpg-fingerprint
|
||||||
|
# revocationFile:
|
||||||
|
# - ssh-rsa AAAAX1...
|
||||||
|
|||||||
24
meta/main.yml
Normal file
24
meta/main.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
dependencies: []
|
||||||
|
galaxy_info:
|
||||||
|
author: Markus Pesch
|
||||||
|
company: Cryptic Systems
|
||||||
|
description: Role to install and configure git for local users
|
||||||
|
galaxy_tags:
|
||||||
|
- git
|
||||||
|
license: MIT
|
||||||
|
min_ansible_version: "2.5"
|
||||||
|
namespace: volker-raschek
|
||||||
|
platforms:
|
||||||
|
- name: ArchLinux
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
- name: EL
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
- name: Fedora
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
- name: Ubuntu
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
role_name: git
|
||||||
@@ -1,17 +1,9 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"assignees": [ "volker.raschek" ],
|
"extends": [
|
||||||
"automergeStrategy": "merge-commit",
|
"local>volker.raschek/renovate-config:default#master",
|
||||||
"automergeType": "pr",
|
"local>volker.raschek/renovate-config:container#master",
|
||||||
"labels": [ "renovate" ],
|
"local>volker.raschek/renovate-config:actions#master",
|
||||||
"packageRules": [
|
"local>volker.raschek/renovate-config:regexp#master"
|
||||||
{
|
]
|
||||||
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
|
}
|
||||||
"automerge": true,
|
|
||||||
"matchManagers": "droneci",
|
|
||||||
"matchUpdateTypes": [ "minor", "patch"]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"rebaseLabel": "renovate/rebase",
|
|
||||||
"rebaseWhen": "behind-base-branch"
|
|
||||||
}
|
|
||||||
@@ -1,28 +1,30 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Get entity for user {{ item.key }}
|
- name: "Determine entries via NSS for unix user: {{ item.key }}"
|
||||||
getent:
|
ansible.builtin.getent:
|
||||||
database: passwd
|
database: passwd
|
||||||
key: "{{ item.key }}"
|
key: "{{ item.key }}"
|
||||||
|
|
||||||
- name: Create git config directory for {{ item.key }}
|
- name: "Create git config directory for unix user: {{ item.key }}"
|
||||||
file:
|
ansible.builtin.file:
|
||||||
dest: "{{ getent_passwd[item.key][4] }}/.config/git"
|
dest: "{{ getent_passwd[item.key][4] }}/.config/git"
|
||||||
owner: "{{ item.key }}"
|
owner: "{{ item.key }}"
|
||||||
group: "{{ getent_passwd[item.key][2] }}"
|
group: "{{ getent_passwd[item.key][2] }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0755
|
mode: "0755"
|
||||||
|
|
||||||
- name: Create global git config files
|
- name: Create global git config files
|
||||||
template:
|
ansible.builtin.template:
|
||||||
src: "{{ filename }}.j2"
|
src: "{{ filename }}.j2"
|
||||||
dest: "{{ getent_passwd[item.key][4] }}/{{ filename }}"
|
dest: "{{ getent_passwd[item.key][4] }}/{{ filename }}"
|
||||||
owner: "{{ item.key }}"
|
owner: "{{ item.key }}"
|
||||||
group: "{{ getent_passwd[item.key][2] }}"
|
group: "{{ getent_passwd[item.key][2] }}"
|
||||||
mode: 0644
|
mode: "0644"
|
||||||
with_items:
|
with_items:
|
||||||
|
- .config/git/allowedSignersFile
|
||||||
- .config/git/config
|
- .config/git/config
|
||||||
- .config/git/message
|
- .config/git/message
|
||||||
- .config/git/ignore
|
- .config/git/ignore
|
||||||
|
- .config/git/revocationFile
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: filename
|
loop_var: filename
|
||||||
|
|||||||
@@ -1,15 +1,24 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Include special distribution-dependent variables
|
- name: Include OS-specific variables
|
||||||
include_vars: "{{ ansible_os_family }}.yml"
|
ansible.builtin.include_vars: "{{ ansible_os_family }}.yml"
|
||||||
|
|
||||||
- name: Install git and dependencies
|
- name: Install git and dependencies
|
||||||
package:
|
vars:
|
||||||
name: "{{ item }}"
|
_git_package_names: "{{ git_package_names }}"
|
||||||
state: present
|
block:
|
||||||
with_items: "{{ git_package_names }}"
|
- name: Add merge tool
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
_git_package_names: "{{ _git_package_names + [git_package_name_merge_tool] }}"
|
||||||
|
when: git_install_merge_tool is defined and
|
||||||
|
git_install_merge_tool
|
||||||
|
- name: Install git and dependencies
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items: "{{ _git_package_names }}"
|
||||||
|
|
||||||
- name: Configure git
|
- name: Configure git
|
||||||
include_tasks: git_user.yml
|
ansible.builtin.include_tasks: git_user.yml
|
||||||
with_dict:
|
with_dict:
|
||||||
- "{{ git_users }}"
|
- "{{ git_users }}"
|
||||||
|
|||||||
9
templates/.config/git/allowedSignersFile.j2
Normal file
9
templates/.config/git/allowedSignersFile.j2
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
#
|
||||||
|
|
||||||
|
{% if item.value.allowedSignersFile is defined and item.value.allowedSignersFile | length > 0%}
|
||||||
|
{% for entry in item.value.allowedSignersFile %}
|
||||||
|
{{ entry.principals | join(',') }} {{ entry.publicSSHKey }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
9
templates/.config/git/revocationFile.j2
Normal file
9
templates/.config/git/revocationFile.j2
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
#
|
||||||
|
|
||||||
|
{% if item.value.revocationFile is defined and item.value.revocationFile | length > 0%}
|
||||||
|
{% for entry in item.value.revocationFile %}
|
||||||
|
{{ entry }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
Reference in New Issue
Block a user