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

интро-playbook введение

Также убедитесь, что требования выполнены, как указано в документации модуля.

  • модуль Pyapi-Gitlab Python
  • права администратора на сервере Gitlab

gitlab_document

Другие вопросы по тегам