Обновление проекта
This commit is contained in:
57
Makefile
57
Makefile
@@ -601,6 +601,23 @@ docker:
|
|||||||
--push \
|
--push \
|
||||||
.; \
|
.; \
|
||||||
echo "✅ Astra Linux для ARM64 собран и отправлен";; \
|
echo "✅ Astra Linux для ARM64 собран и отправлен";; \
|
||||||
|
build-redos-arm64) \
|
||||||
|
echo "🔨 Сборка RedOS для ARM64 (совместимый образ)..."; \
|
||||||
|
echo "📋 Платформы: linux/amd64,linux/arm64"; \
|
||||||
|
echo "📋 Builder: $(DOCKER_BUILDX_BUILDER)"; \
|
||||||
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
|
echo "⚠️ ВНИМАНИЕ: Используется совместимый образ на базе CentOS Stream 9"; \
|
||||||
|
echo ""; \
|
||||||
|
$(MAKE) docker setup-builder; \
|
||||||
|
cd dockerfiles/redos && \
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/amd64,linux/arm64 \
|
||||||
|
--tag $(DOCKER_REGISTRY):redos-arm64-latest \
|
||||||
|
--tag $(DOCKER_REGISTRY):redos-latest \
|
||||||
|
--file Dockerfile.arm64 \
|
||||||
|
--push \
|
||||||
|
.; \
|
||||||
|
echo "✅ RedOS для ARM64 собран и отправлен";; \
|
||||||
setup-builder) \
|
setup-builder) \
|
||||||
echo "🔧 Настройка multi-arch builder в контейнере..."; \
|
echo "🔧 Настройка multi-arch builder в контейнере..."; \
|
||||||
if $(MAKE) docker-check-builder >/dev/null 2>&1; then \
|
if $(MAKE) docker-check-builder >/dev/null 2>&1; then \
|
||||||
@@ -870,6 +887,16 @@ docker-get-base-tag:
|
|||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
TAG="latest";; \
|
TAG="latest";; \
|
||||||
|
astra-linux-arm64) \
|
||||||
|
BASE_IMAGE="debian:bookworm-slim"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG="latest";; \
|
||||||
|
redos-arm64) \
|
||||||
|
BASE_IMAGE="quay.io/centos/centos:stream9"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG="latest";; \
|
||||||
rhel) \
|
rhel) \
|
||||||
BASE_IMAGE="registry.access.redhat.com/ubi8/ubi"; \
|
BASE_IMAGE="registry.access.redhat.com/ubi8/ubi"; \
|
||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
@@ -964,6 +991,16 @@ docker-build-image:
|
|||||||
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
echo "⚠️ ВНИМАНИЕ: Базовый образ поддерживает только AMD64"; \
|
echo "⚠️ ВНИМАНИЕ: Базовый образ поддерживает только AMD64"; \
|
||||||
echo "=========================================="; \
|
echo "=========================================="; \
|
||||||
|
elif [ "$(IMAGE)" = "astra-linux-arm64" ] || [ "$(IMAGE)" = "redos-arm64" ]; then \
|
||||||
|
PLATFORMS="linux/amd64,linux/arm64"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "=========================================="; \
|
||||||
|
echo "🔨 СБОРКА ОБРАЗА: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG"; \
|
||||||
|
echo "📋 Платформы: $$PLATFORMS (AMD64 + ARM64)"; \
|
||||||
|
echo "📋 Тег: $$TAG"; \
|
||||||
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
|
echo "⚠️ ВНИМАНИЕ: Совместимый образ с поддержкой ARM64"; \
|
||||||
|
echo "=========================================="; \
|
||||||
else \
|
else \
|
||||||
PLATFORMS="$(DOCKER_PLATFORMS)"; \
|
PLATFORMS="$(DOCKER_PLATFORMS)"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
@@ -975,6 +1012,25 @@ docker-build-image:
|
|||||||
echo "=========================================="; \
|
echo "=========================================="; \
|
||||||
fi; \
|
fi; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
|
if [ "$(IMAGE)" = "astra-linux-arm64" ]; then \
|
||||||
|
cd dockerfiles/astra-linux && \
|
||||||
|
docker buildx build \
|
||||||
|
--platform $$PLATFORMS \
|
||||||
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-$$TAG \
|
||||||
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
||||||
|
--file Dockerfile.arm64 \
|
||||||
|
--push \
|
||||||
|
.; \
|
||||||
|
elif [ "$(IMAGE)" = "redos-arm64" ]; then \
|
||||||
|
cd dockerfiles/redos && \
|
||||||
|
docker buildx build \
|
||||||
|
--platform $$PLATFORMS \
|
||||||
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-$$TAG \
|
||||||
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
||||||
|
--file Dockerfile.arm64 \
|
||||||
|
--push \
|
||||||
|
.; \
|
||||||
|
else \
|
||||||
cd dockerfiles/$(IMAGE) && \
|
cd dockerfiles/$(IMAGE) && \
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform $$PLATFORMS \
|
--platform $$PLATFORMS \
|
||||||
@@ -982,6 +1038,7 @@ docker-build-image:
|
|||||||
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
||||||
--push \
|
--push \
|
||||||
.; \
|
.; \
|
||||||
|
fi; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
echo "✅ УСПЕШНО: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG собран и отправлен"; \
|
echo "✅ УСПЕШНО: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG собран и отправлен"; \
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
|
|||||||
@@ -161,9 +161,9 @@
|
|||||||
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
||||||
published_ports: "{{ item.publish | default([]) }}"
|
published_ports: "{{ item.publish | default([]) }}"
|
||||||
env: "{{ item.env | default({}) }}"
|
env: "{{ item.env | default({}) }}"
|
||||||
# Специальные настройки для Astra Linux и RedOS (для совместимости с amd64 базовыми образами)
|
# Специальные настройки для Astra Linux и RedOS
|
||||||
security_opts: "{{ ['seccomp=unconfined', 'apparmor=unconfined'] if item.family in ['astra', 'redos'] else [] }}"
|
security_opts: "{{ ['seccomp=unconfined', 'apparmor=unconfined'] if item.family in ['astra', 'redos'] else [] }}"
|
||||||
platform: "{{ 'linux/amd64' if item.family in ['astra', 'redos', 'alt10', 'alt9'] else omit }}"
|
platform: "{{ item.docker_platform | default(item.platform) | default(omit) }}"
|
||||||
state: started
|
state: started
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||||
@@ -313,6 +313,7 @@
|
|||||||
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
||||||
published_ports: "{{ item.publish | default([]) }}"
|
published_ports: "{{ item.publish | default([]) }}"
|
||||||
env: "{{ item.env | default({}) }}"
|
env: "{{ item.env | default({}) }}"
|
||||||
|
platform: "{{ item.docker_platform | default(item.platform) | default(omit) }}"
|
||||||
state: started
|
state: started
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
loop: "{{ hosts | selectattr('type','defined') | selectattr('type','equalto','dood') | list }}"
|
loop: "{{ hosts | selectattr('type','defined') | selectattr('type','equalto','dood') | list }}"
|
||||||
|
|||||||
@@ -3,18 +3,18 @@
|
|||||||
# Автор: Сергей Антропов
|
# Автор: Сергей Антропов
|
||||||
# Сайт: https://devops.org.ru
|
# Сайт: https://devops.org.ru
|
||||||
# Описание: Пресет для тестирования ролей на различных ОС
|
# Описание: Пресет для тестирования ролей на различных ОС
|
||||||
# Использует образы Ubuntu, Debian, Alt, Astra и RedOS
|
# Использует образы Ubuntu, Debian, Alt, Astra, RedOS (все ARM64)
|
||||||
|
|
||||||
docker_network: labnet
|
docker_network: labnet
|
||||||
generated_inventory: "{{ molecule_ephemeral_directory }}/inventory/hosts.ini"
|
generated_inventory: "{{ molecule_ephemeral_directory }}/inventory/hosts.ini"
|
||||||
|
|
||||||
# Используем стабильные образы Ubuntu, Debian, Alt, Astra и RedOS (ARM64)
|
# Используем стабильные образы Ubuntu, Debian, Alt, Astra, RedOS (все ARM64)
|
||||||
images:
|
images:
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu22-latest"
|
ubuntu: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
debian: "inecs/ansible-lab:debian12-latest"
|
debian: "inecs/ansible-lab:debian12-latest"
|
||||||
alt: "inecs/ansible-lab:alt10-latest"
|
alt: "inecs/ansible-lab:alt10-latest"
|
||||||
astra: "inecs/ansible-lab:astra-latest-arm64" # ARM64 образ
|
astra: "inecs/ansible-lab:astra-linux-arm64-latest" # ARM64 образ
|
||||||
redos: "inecs/ansible-lab:redos-latest-arm64" # ARM64 образ
|
redos: "inecs/ansible-lab:redos-arm64-latest" # ARM64 образ
|
||||||
|
|
||||||
# Настройки для ARM64
|
# Настройки для ARM64
|
||||||
# Используем нативные ARM64 образы
|
# Используем нативные ARM64 образы
|
||||||
|
|||||||
@@ -97,6 +97,27 @@ devops_os_config:
|
|||||||
|
|
||||||
# Специфичные настройки для российских ОС
|
# Специфичные настройки для российских ОС
|
||||||
devops_russian_os_config:
|
devops_russian_os_config:
|
||||||
|
clearlinux: # Astra Linux определяется как clearlinux
|
||||||
|
package_manager: "apt"
|
||||||
|
user_management: "useradd"
|
||||||
|
group_management: "groupadd"
|
||||||
|
sudo_group: "sudo"
|
||||||
|
additional_groups:
|
||||||
|
- "sudo"
|
||||||
|
- "docker"
|
||||||
|
- "systemd-journal"
|
||||||
|
packages:
|
||||||
|
- "sudo"
|
||||||
|
- "curl"
|
||||||
|
- "wget"
|
||||||
|
- "mc"
|
||||||
|
- "nano"
|
||||||
|
- "tar"
|
||||||
|
- "gzip"
|
||||||
|
services:
|
||||||
|
- "ssh"
|
||||||
|
sudoers_path: "/etc/sudoers.d"
|
||||||
|
ssh_config_path: "/etc/ssh/sshd_config"
|
||||||
astra:
|
astra:
|
||||||
package_manager: "apt"
|
package_manager: "apt"
|
||||||
user_management: "useradd"
|
user_management: "useradd"
|
||||||
@@ -139,6 +160,27 @@ devops_russian_os_config:
|
|||||||
- "sshd"
|
- "sshd"
|
||||||
sudoers_path: "/etc/sudoers.d"
|
sudoers_path: "/etc/sudoers.d"
|
||||||
ssh_config_path: "/etc/ssh/sshd_config"
|
ssh_config_path: "/etc/ssh/sshd_config"
|
||||||
|
altlinux: # Alt Linux определяется как altlinux
|
||||||
|
package_manager: "apt"
|
||||||
|
user_management: "useradd"
|
||||||
|
group_management: "groupadd"
|
||||||
|
sudo_group: "sudo"
|
||||||
|
additional_groups:
|
||||||
|
- "sudo"
|
||||||
|
- "docker"
|
||||||
|
- "systemd-journal"
|
||||||
|
packages:
|
||||||
|
- "sudo"
|
||||||
|
- "curl"
|
||||||
|
- "wget"
|
||||||
|
- "mc"
|
||||||
|
- "nano"
|
||||||
|
- "tar"
|
||||||
|
- "gzip"
|
||||||
|
services:
|
||||||
|
- "ssh"
|
||||||
|
sudoers_path: "/etc/sudoers.d"
|
||||||
|
ssh_config_path: "/etc/ssh/sshd_config"
|
||||||
alt:
|
alt:
|
||||||
package_manager: "apt"
|
package_manager: "apt"
|
||||||
user_management: "useradd"
|
user_management: "useradd"
|
||||||
|
|||||||
@@ -1,27 +1,11 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
---
|
||||||
65336338343362663234333233316130353361323735626262643363303837616230393738643434
|
# Vault файл с секретными переменными для роли devops
|
||||||
6565613531303166306365366239626439666530326135330a663565366663363938373765376633
|
# Автор: Сергей Антропов
|
||||||
64633734363436613039323235386364373961643164346530663835313333376132313036303430
|
# Сайт: https://devops.org.ru
|
||||||
6631353831646664320a333936353334313364623039313939663131636466363263303330643630
|
|
||||||
35666561316266313135346534393863616433636363663564303830636438306238633738386665
|
# Пароль для пользователя devops
|
||||||
66383939653238646337653966326364663863353739313936663363353961663163613239346534
|
vault_devops_password: "123123"
|
||||||
64383063323839646434333461616336653635336438666132353363333538663933623039323463
|
|
||||||
62663933663038623536376137666639666639353961333666303233336137343831666338323162
|
# SSH публичный ключ для пользователя devops
|
||||||
36626665363333623238333138356538326334646532313639383535313863353230623262666337
|
vault_devops_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7vbqajDhA... devops@devops.org.ru"
|
||||||
66393762363931376638666633303134383838346132626337313436313334363030663436616438
|
|
||||||
63643438636535396432633432613238623731613931356137623161643564376330313861653161
|
|
||||||
35353530313833656130396362613036313163623731303830663537363830636631366332616163
|
|
||||||
36663533643463353861333461363538663830343338646237646633383064626539396264626230
|
|
||||||
65376238353833313065336632393662316137393065383261383663373261363137376234386264
|
|
||||||
35393265303633306262376534656665376330633535613964666662346462663834316435633664
|
|
||||||
35396339386466346634323666653732653232306364616165653633336364363336666433353861
|
|
||||||
62653831316638376261313739343266333039326666386461323035343761303032323666643831
|
|
||||||
34326661366362353561323237353637336430636664653730626431613535313865643530666239
|
|
||||||
30373362623965613765343965626663643936656134363761386232623935313065393235313735
|
|
||||||
62643061303534323637616230646330313962306664396139316437626436343938373435623939
|
|
||||||
61663434373739323662386534353662653933326464396461623564333965376331373736383064
|
|
||||||
38356465623464383437363735313662353565313131393036326535326231306465613562663363
|
|
||||||
61393833346138646238646132653962613033396561343237636636663633396165643266366665
|
|
||||||
39373565646264326166653936623766326436616362653130323835303633383334393561343565
|
|
||||||
34613932363539656537346537653836393537376463363830396534366238376436393537363736
|
|
||||||
6230383066326331643162356139643663373535633230636539
|
|
||||||
|
|||||||
Reference in New Issue
Block a user