Ansible debops.slapd и ansible gitlab_user
Это будет долго, так что извините, но никто, похоже, не сможет помочь... Имейте в виду, это не моя домашняя работа!! Это проект, за который мне платят, но я не могу найти никакой информации об этом, и мне страшно, я даже не могу сделать это...
Я являюсь частью проекта, в котором нам нужно настроить виртуальную среду с помощью gitlab, alfresco и т. Д., Создать пользователей, автоматизировать коммиты и тому подобное с помощью Ansible. Нам это нужно для продвинутого тестирования и безопасности, реалистичной игровой площадки.
Я настраиваю Gitlab, который работал нормально, но теперь у меня проблемы с созданием пользователей, я не могу заставить работать модуль ansible gitlab_user, нет ни одного примера того, как его использовать, и в данном примере playbooks нет работать тоже... Может кто-нибудь, пожалуйста, помогите мне разобраться в синтаксисе? Должен ли я запустить playbook с этим в нем?:
- name: Create Gitlab User
gitlab_user:
server_url: https://gitlab.dj-wasabi.local
validate_certs: True
login_user: dj-wasabi
login_password: MySecretPassword
name: My Name
username: myusername
password: mysecretpassword
email: me@example.com
sshkey_name: MySSH
sshkey_file: ssh-rsa AAAAB3NzaC1yc...
state: present
delegate_to: localhost
Или, если мне нужно использовать его в качестве команды от терминала, как мне это сделать? Я присоединился к группе Google, чтобы спросить об этом, и никто не отвечал в течение нескольких дней.
Я думал, что если я не смогу заставить его работать, я буду использовать LDAP для управления пользователями, но могу ли я это сделать? Или LDAP только для аутентификации, и я должен заставить пользователей с помощью gitlab в любом случае? Это то, чего я не очень понимаю в самом GitLab...
Тем не менее я попытался настроить Slapd с заданной ролью debops.slapd. Я нашел этот вопрос здесь, но когда я скопировал код и запустил playbook, он просто дал мне это:
PLAY [Manage OpenLDAP service] *************************************************
TASK [Gathering Facts] *********************************************************
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Make sure that Ansible local facts directory exists] ******
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Save APT local facts] *************************************
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]
TASK [debops.slapd : Install required packages] ********************************
[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via
squash_actions is deprecated. Instead of using a loop to supply multiple items
and specifying `name: {{ item }}`, please use `name: [u'{{ apt__base_packages
}}', u'{{ apt__packages }}']` and remove the loop. This feature will be removed
in version 2.11. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
ok: [ansitest1@192.168.1.71] => (item=[u'apt-transport-https', u'ca-certificates'])
TASK [debops.slapd : Ensure that APT default configuration is absent] **********
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Generate APT configuration files] *************************
ok: [ansitest1@192.168.1.71] => (item=etc/apt/apt.conf.d/25no-recommends.conf)
TASK [debops.slapd : Check current APT diversions] *****************************
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Divert original /etc/apt/sources.list] ********************
skipping: [ansitest1@192.168.1.71]
TASK [debops.slapd : Configure APT distribution sources] ***********************
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Remove diversion of original /etc/apt/sources.list] *******
skipping: [ansitest1@192.168.1.71]
TASK [debops.slapd : Configure custom APT keys] ********************************
TASK [debops.slapd : Configure custom APT repositories] ************************
TASK [debops.slapd : Generate additionnal APT configuration files] *************
TASK [debops.slapd : Delete APT configuration files on remote hosts] ***********
TASK [debops.slapd : Remove old unattended-upgrades configuration] *************
ok: [ansitest1@192.168.1.71] => (item=25auto-upgrades.conf)
ok: [ansitest1@192.168.1.71] => (item=55unattended-upgrades.conf)
TASK [debops.slapd : Update APT cache] *****************************************
ok: [ansitest1@192.168.1.71]
TASK [debops.slapd : Update the role status in local facts] ********************
skipping: [ansitest1@192.168.1.71]
TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]
PLAY RECAP *********************************************************************
ansitest1@192.168.1.71 : ok=10 changed=0 unreachable=0 failed=0
Как вы можете видеть, он, черт возьми, ничего не настроил, я даже скопировал примерную книгу с одним из предложенных ответов, и он тоже не сработал.
Виртуальная машина, на которой я пытаюсь установить slapd, является простой установкой Xubuntu, я использую Mint, я не совсем уверен, важно ли это...
Теперь вот вопрос, я знаю, что ни роль debos, ни модуль gitlab_user не были затронуты в течение многих лет на данный момент, вы думаете, что есть изменение, которое я могу заставить его работать, или мне нужно написать сборник пьес, чтобы настроить slapd и добавить пользователей в gitlab?
И если это так, могу ли я это сделать? Я посмотрел цифровой океан, и похоже, что я могу настроить Slapd и даже добавить пользователей и тому подобное с помощью файлов Ldif, основанных на этой странице. В чем я не уверен, так это в добавлении пользователей в Gitlab ...
Опять же, мне очень жаль, что вопрос такой длинный и сложный, но я ничего не нашел по этому поводу, и группа Google молчит. Должен ли я сделать это в несколько коротких вопросов?
Спасибо за ваше время и помощь в любом случае! (мой родной язык не английский, извините за ошибки)
1 ответ
Пример, который вы показали с модулем gitlab_user, является задачей. Это должно быть задачей в игре. Ниже приведен пример пьесы с одной пьесой. Вы бы назвали это обычным способом, используя ansible-playbook
,
Пробел важен, если отступ не верен, он также может вызвать "ошибку: "gitlab_user не является допустимым атрибутом для Play", потому что Ansible считывает его как часть уровня воспроизведения, а не уровня задачи
---
- hosts: <hosts_to_run_play_on>
vars:
var1: <foo>
var2: <bar>
remote_user: <user>
become: yes
tasks:
- name: Create Gitlab User
gitlab_user:
server_url: https://gitlab.dj-wasabi.local
validate_certs: True
login_user: dj-wasabi
login_password: MySecretPassword
name: My Name
username: myusername
password: mysecretpassword
email: me@example.com
sshkey_name: MySSH
sshkey_file: ssh-rsa AAAAB3NzaC1yc...
state: present
Также убедитесь, что требования выполнены, как указано в документации модуля.
- модуль Pyapi-Gitlab Python
- права администратора на сервере Gitlab