Open sylviohmartins opened 1 year ago
A refatoração realizada foi a migração do arquivo de configuração do Docker Compose para o formato de configuração equivalente no Podman Compose. O Podman é uma ferramenta de gerenciamento de contêineres similar ao Docker, porém com algumas diferenças na sintaxe utilizada.
Aqui estão as principais alterações realizadas na refatoração:
As imagens Docker continuam as mesmas, mas prefixamos os nomes das imagens com docker.io/, pois o Podman utiliza o Docker Hub por padrão. Adicionamos a seção podman em cada serviço para especificar as configurações específicas do Podman, como o modo de rede. Utilizamos network_mode: host para manter a mesma funcionalidade de exposição de portas. Os números de porta nos mapeamentos de portas foram atualizados para usar strings entre aspas duplas (por exemplo, "8080:8080" em vez de 8080:8080). Além disso, foi realizado o ajuste do texto em português para a descrição do que foi feito em cada alteração. No geral, a lógica e os serviços do Docker Compose permanecem os mesmos no Podman Compose, mas algumas pequenas adaptações foram necessárias para atender às particularidades do Podman.
version: '2' services: kafka-ui: image: provectuslabs/kafka-ui:latest container_name: kafka-ui ports:
kafka-connect environment: KAFKA_CLUSTERS_0_NAME: local KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka-broker:29092 KAFKA_CLUSTERS_0_METRICS_PORT: 9997 KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schema-registry:8085 KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect:8083 DYNAMIC_CONFIG_ENABLED: 'true' KAFKA_CLUSTERS_0_AUDIT_TOPICAUDITENABLED: 'true' KAFKA_CLUSTERS_0_AUDIT_CONSOLEAUDITENABLED: 'true'
Configuração específica do Podman
podman: network_mode: host
zookeeper: image: docker.io/confluentinc/cp-zookeeper:7.3.0 hostname: zookeeper container_name: zookeeper ports:
"2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000
Configuração específica do Podman
podman: network_mode: host
kafka-broker: image: docker.io/confluentinc/cp-kafka:7.3.0 hostname: kafka-broker container_name: kafka-broker ports:
./data:/data command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
Configuração específica do Podman
podman: network_mode: host
schema-registry: image: docker.io/confluentinc/cp-schema-registry:7.3.0 container_name: schema-registry ports:
kafka-broker environment: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka-broker:29092 SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT SCHEMA_REGISTRY_HOST_NAME: schema-registry SCHEMA_REGISTRY_LISTENERS: http://schema-registry:8085 SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http" SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
Configuração específica do Podman
podman: network_mode: host
kafka-connect: image: docker.io/confluentinc/cp-kafka-connect:7.3.0 container_name: kafka-connect ports:
schema-registry environment: CONNECT_BOOTSTRAP_SERVERS: kafka-broker:29092 CONNECT_GROUP_ID: compose-connect-group CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1 CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1 CONNECT_STATUS_STORAGE_TOPIC: _connect_status CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1 CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085 CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085 CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
Configuração específica do Podman
podman: network_mode: host
kafka-init-topics: image: docker.io/confluentinc/cp-kafka:7.3.0 container_name: kafka-init-topics volumes: