Skip to content

kafka connect

kafka connect #8

name: Ansible Kafka API
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
"