-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (45 loc) · 1.93 KB
/
ansible_kafka_connect.yaml
File metadata and controls
56 lines (45 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: Ansible Kafka Connect
on:
push:
branches:
- main
paths:
- 'kafka_connect/**'
jobs:
ansible:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Run Ansible in Docker
run: |
docker run --rm \
-v ${{ github.workspace }}:/workspace \
-w /workspace \
-e AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} \
-e AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \
-e SSH_PRIVATE_KEY="${{ secrets.EC2 }}" \
-e KAFKA_SECURITY_PROTOCOL="${{ secrets.KAFKA_SECURITY_PROTOCOL }}" \
-e KAFKA_SASL_MECHANISM="${{ secrets.KAFKA_SASL_MECHANISM }}" \
-e KAFKA_SASL_USERNAME="${{ secrets.KAFKA_SASL_USERNAME }}" \
-e ADMIN_PASSWORD="${{ secrets.ADMIN_PASSWORD }}" \
-e SSL_KEYSTORE_PASSWORD="${{ secrets.SSL_KEYSTORE_PASSWORD }}" \
-e SSL_TRUSTSTORE_PASSWORD="${{ secrets.SSL_TRUSTSTORE_PASSWORD }}" \
-e JWT_TOKEN="${{ secrets.JWT_TOKEN }}" \
python:3.11-slim bash -c "
set -e
# Sistem paketlerini kur
apt-get update && apt-get install -y awscli jq ssh git python3-pip rsync
pip3 install ansible==9.2.0
# SSH key oluştur ve izinleri ayarla
mkdir -p ~/.ssh
echo \"\$SSH_PRIVATE_KEY\" > ~/.ssh/trendyol-kafka-key.pem
chmod 600 ~/.ssh/trendyol-kafka-key.pem
# Inventory ve .env oluştur (S3'ten çeker, env var'larla merge eder)
bash kafka_connect/generate-inventory.sh
# Test ping
ansible all -i kafka_connect/inventory.yml -m ping
cat kafka_connect/inventory.yml
# Playbook çalıştır
ansible-playbook -i kafka_connect/inventory.yml kafka_connect/ansible_kafka_connect.yml
"