Skip to content

Releases: thomas-vilte/ButakeroMusicBotGo

🎵 v1.2.0 - Mejoras en Estabilidad, Comandos y Arquitectura

Choose a tag to compare

@thomas-vilte thomas-vilte released this 21 May 17:29

🚀 Novedades Principales

✨ Nuevas Funcionalidades

  • Comandos de control de reproducción:
    • Implementación de pause y resume con manejo atómico.
    • Mejor feedback de errores en skip (mensajes claros para usuarios).
  • Sistema de salud:
    • Nuevo endpoint /health para integración con Kubernetes/ECS.
  • Descargas asíncronas:
    • Soporte para colas SQS/Kafka en procesamiento de media.

🏗️ Refactorizaciones Clave

  • Arquitectura:
    • ✅ Eliminación de DynamoDB/MongoDB (ahora usa Media API externa).
    • GuildPlayer rediseñado con concurrencia segura (thread-safe).
  • Manejo de errores:
    • Trazas detalladas con traceID en logs.
    • Recuperación automática en fallos de conexión de voz.
  • Despliegue:
    • Manifiestos Kubernetes incluidos (/k8s/).

🐛 Correcciones Importantes

  • Voice Connection:
    • Fix: Bot ahora se desconecta correctamente al quedarse solo en el canal.
    • Fix: Estado de reproducción se actualiza a idle al terminar canciones.
  • Audio Processing:
    • Mejoras en límites de tamaño de archivos.

v1.0.6 🌈

Choose a tag to compare

@github-actions github-actions released this 18 Mar 19:17
dfad1f9

Cambios

  • Remove GoMusicBot project @Tomas-vilte (#300)
  • Simplify CI workflow and Makefile @Tomas-vilte (#299)
  • Refactor: Audio download and add S3 integration tests @Tomas-vilte (#298)
  • Refactor: Migrate to message queue and add GSI to DynamoDB @Tomas-vilte (#297)
  • handler dates @Tomas-vilte (#292)
  • Refactor: Improve folder structure and imports @Tomas-vilte (#291)
  • Refactor: Remove factory pattern and improve testing @Tomas-vilte (#289)
  • feat: Update audio processing to use buffered audio decoder; change H… @Tomas-vilte (#288)
  • dev @Tomas-vilte (#287)
  • Dev @Tomas-vilte (#286)
  • Add voice functionality and refactor MessengerService @Tomas-vilte (#281)
  • Add Discord Integration @Tomas-vilte (#279)
  • feat: Add SQS message handling @Tomas-vilte (#274)
  • feat: Implement DynamoDB persistence for song data and Kafka messaging @Tomas-vilte (#272)
  • Dev @Tomas-vilte (#271)
  • Dev @Tomas-vilte (#270)
  • Enhance Audio Processing, Encoder Design, and Error Handling @Tomas-vilte (#269)
  • Enhance audio processor reliability, MongoDB connection handling, and local development setup @Tomas-vilte (#268)
  • Refactor file retrieval methods and improve code clarity in downloader @Tomas-vilte (#267)
  • Enhance S3 policy, add S3 object resource, and update yt-dlp to use browser cookies @Tomas-vilte (#266)
  • add documentation readme @Tomas-vilte (#265)
  • Backend configuration settings and permissions for MongoDB @Tomas-vilte (#264)
  • Add TLS Configuration and MongoDB ReplicaSet to Kafka and MongoDB Integration @Tomas-vilte (#263)
  • Automating initial deployment and tweaking Kafka verification @Tomas-vilte (#262)
  • Bump golang.org/x/crypto from 0.0.0-20210421170649-83a5a9bb288b to 0.31.0 in /lambdas/discord_notifications @dependabot (#261)
  • refactor structure folders @Tomas-vilte (#260)
  • Bump golang.org/x/crypto from 0.24.0 to 0.31.0 @dependabot (#259)
  • Add reflection annotations, configure certificates, and set ACLs for Kafka and MongoDB integration @Tomas-vilte (#258)
  • Bump golang.org/x/crypto from 0.26.0 to 0.31.0 in /microservices/audio_processor @dependabot (#257)
  • Migrate to Operators for Kafka, MongoDB, and Zookeeper; Update TLS Configuration and Add Prometheus Monitoring @Tomas-vilte (#256)
  • Change label, for each service monitor, and modifiy kafka client @Tomas-vilte (#255)
  • Setup Kafka with Strimzi, SSL/TLS encryption, Prometheus monitoring, and Kafka client pod for testing @Tomas-vilte (#254)
  • Dev @Tomas-vilte (#253)
  • Configure Grafana Monitoring Stack in Kubernetes Cluster @Tomas-vilte (#252)
  • Add Prometheus Operator Configuration for Kubernetes Monitoring @Tomas-vilte (#251)
  • Deploy MongoDB Cluster with TLS, Authentication, and Monitoring Integration @Tomas-vilte (#250)
  • Add cert-manager namespace with monitoring label @Tomas-vilte (#249)
  • Add cAdvisor deployment with RBAC, Service, and monitoring configuration @Tomas-vilte (#248)
  • Dev @Tomas-vilte (#247)
  • Extract and filter YouTube cookies for yt-dlp usage @Tomas-vilte (#246)
  • modify script, and add health check @Tomas-vilte (#245)
  • add cookies yt-dlp @Tomas-vilte (#244)
  • test oidc @Tomas-vilte (#243)
  • Terraform Configuration for AWS Resources: Networking, IAM, S3, ECS, ALB, and more for Production Environment @Tomas-vilte (#242)
  • Modify config @Tomas-vilte (#241)
  • Update ci/cd yaml file @Tomas-vilte (#240)
  • change http-chunk-size to 10M @Tomas-vilte (#239)
  • Delete envs @Tomas-vilte (#238)
  • feat: switch to OIDC for AWS authentication in GitHub Actions @Tomas-vilte (#237)
  • add service secret manager @Tomas-vilte (#236)
  • Add variables for project name, environment, tags, and VPC ID @Tomas-vilte (#235)
  • Add DynamoDB tables with outputs, variables, and global secondary indexes @Tomas-vilte (#234)
  • modify test for delete messages @Tomas-vilte (#233)
  • modify message @Tomas-vilte (#232)
  • modify docker compose and delete file @Tomas-vilte (#231)
  • Change service and others @Tomas-vilte (#230)
  • fix: Implement proper MongoDB replica set initialization and authentication sequence @Tomas-vilte (#229)
  • Refactor Health Checks and Update Docker Compose for MongoDB Replica Set @Tomas-vilte (#228)
  • Add Kubernetes resources for backend service @Tomas-vilte (#227)
  • modify manifests @Tomas-vilte (#226)
  • Add MongoDB StatefulSet with health checks and initialization @Tomas-vilte (#225)
  • Update Kafka StatefulSet with new environment variables and broker ID extraction logic @Tomas-vilte (#224)
  • Add Zookeeper StatefulSet and headless service configuration @Tomas-vilte (#223)
  • Add Kafka StatefulSet configuration for cluster setup @Tomas-vilte (#222)
  • modify function signatures and assign a pointer to config @Tomas-vilte (#221)
  • Add configuration module with YAML loading, validation, and default settings @Tomas-vilte (#220)
  • Add MongoDB package with connection setup and collection retrieval methods @Tomas-vilte (#219)
  • add dockerfile, and docker compose @Tomas-vilte (#218)
  • Add MongoDB support for OperationRepository with integration tests @Tomas-vilte (#217)
  • Implement Local Storage for Audio Files @Tomas-vilte (#216)
  • moved folders @Tomas-vilte (#215)
  • Implement MetadataRepository interface and integration tests @Tomas-vilte (#214)
  • update makefile and ci.yml @Tomas-vilte (#213)
  • Refactor MetadataRepository interface and implementations to use pointers @Tomas-vilte (#212)
  • Implement Kafka Messaging Service and Add Tests @Tomas-vilte (#211)
  • Fix reappearance of deleted messages in SQS integration test @Tomas-vilte (#210)
  • Add unit and integration tests for SQS implementation @Tomas-vilte (#209)
  • Add MessageQueue interface and SQS implementation @Tomas-vilte (#208)
  • Add new method storage @Tomas-vilte (#207)
  • Dev @Tomas-vilte (#206)
  • update readme @Tomas-vilte (#205)
  • Add Logging Middleware, Update Config Struct, and Modify Dockerfile for Health Check @Tomas-vilte (#204)
  • Add Dockerfile, build/push script, .env.example and remove YouTube API from health check @Tomas-vilte (#203)
  • add struct cfg @Tomas-vilte (#202)
  • change env name @Tomas-vilte (#201)
  • Refactor health checks to use context and async execution @Tomas-vilte (#200)
  • Add health check endpoint for external services @Tomas-vilte (#199)
  • Add readme @Tomas-vilte (#198)
  • Return OperationID and songID when starting audio processing @Tomas-vilte (#197)
  • Fix: Buffer Overflow in yt-dlp Downloader and Improve Asynchronous Handling in Audio Processing @Tomas-vilte (#196)
  • Implement AudioHandler for managing audio download initiation and status retrieval with tests @Tomas-vilte (#195)
  • Implement the GetOperationStatus use case @Tomas-vilte (#194)
  • Implement audio download use case with tests @Tomas-vilte (#192)
  • Fix code scanning alert no. 1: Missing regular expression anchor @Tomas-vilte (#193)
  • Add audio processing service with retries and S3 upload integration, and unit tests @Tomas-vilte (#191)
  • change data type @Tomas-vilte (#190)
  • Add repository interfaces for Metadata and Operation @Tomas-vilte (#189)
  • Add YTDLPDownloader for audio extraction from online platforms @Tomas-vilte (#188)
  • Implement OperationStore with CRUD Operations and Add Unit/Integration Tests @Tomas-vilte (#187)
  • Implement MetadataStore with CRUD Operations and Add Unit/Integration Tests @Tomas-vilte (#186)
  • Implement audio encoding functionality with session management, error handling @Tomas-vilte (#185)
  • Add ZapLogger and PacketDecoder implementations @Tomas-vilte (#184)
  • Implement S3 storage service with unit and integration tests @Tomas-vilte (#183)
  • Add notify job to CI pipeline for success/failure messages @Tomas-vilte (#182)
  • Refactor CI Pipeline: Separate Linting, Unit Tests, Integration Tests, and Build Jobs @Tomas-vilte (#181)
  • Enhance YouTubeAPI Integration with New Methods and Comprehensive Tests @Tomas-vilte (#180)
  • Test for encoder and decoder @Tomas-vilte (#179)
  • Ver info del comando yt-dlp @Tomas-vilte (#177)
  • Ver info del comando yt-dlp @Tomas-vilte (#176)
  • Agregar oauth con youtube @Tomas-vilte (#175)
  • ver progreso del comando yt-dlp @Tomas-vilte (#174)
  • Modificar dockerfile para usar el archivo .txt @Tomas-vilte (#173)
  • Integrar uso de archivo de cookies con yt-dlp para descarga de audio @Tomas-vilte (#172)
  • Add HTML files for Terms of Service, Privacy Policy, and main page for GitHub Pages @Tomas-vilte (#168)
  • Refactor guild player for improved concurrency management and code structure @Tomas-vilte (#167)
  • Test cd pipeline 3 @Tomas-vilte (#166)
  • test pipeline 2 @Tomas-vilte (#165)
  • test pipeline @Tomas-vilte (#164)
  • Enable logs @Tomas-vilte (#163)
  • update cd.yml @Tomas-vilte (#162)
  • Dev @Tomas-vilte (#161)
  • Update CD Pipeline to Use Amazon ECR and Deploy Only Discord Bot Service @Tomas-vilte (#160)
  • eliminar atributo que no se usa @Tomas-vilte (#159)
  • quitamos sudo @Tomas-vilte (#157)
  • ajustar comandos de docker en el cd.yml @Tomas-vilte (#156)
  • modificamos dockerfiles para correr en arch amd64 @Tomas-vilte (#155)
  • Eliminar implementación de almacenamiento en disco para canciones @Tomas-vilte (#154)
  • Eliminación de context.Context de la estructura InteractionHandler @Tomas-vilte (#153)
  • Añadir formato personalizado de fecha y hora en ZapLogger @Tomas-vilte (#152)
  • build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 @dependabot (#151)
  • tests: modify tests @Tomas-vilte (#150)
  • actualizar dockerfiles y compose @Tomas-vilte (#149)
  • Dev @Tomas-vilte (#148)
  • actualizar .zip @Tomas-vilte (#147)
  • Actualizar YouTubeFetcher y añadir tests unitarios @Tomas-vilte (#146)
  • Dev @Tomas-vilte (#145)
  • Implementación y pruebas de ClientAPI para procesamiento de metadatos de canciones a través de API Gateway @Tomas-vilte (#144)
  • eliminar cache @Tomas-vilte (#143)
  • actualizamos lambda @Tomas-vilte (#142)
  • build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 @dependabot (#140)
  • mo...
Read more

v1.0.5 🌈

Choose a tag to compare

@github-actions github-actions released this 06 Aug 04:57
d6b9f68

Cambios

  • build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 @dependabot (#151)
  • tests: modify tests @Tomas-vilte (#150)
  • actualizar dockerfiles y compose @Tomas-vilte (#149)
  • Dev @Tomas-vilte (#148)
  • actualizar .zip @Tomas-vilte (#147)
  • Actualizar YouTubeFetcher y añadir tests unitarios @Tomas-vilte (#146)
  • Dev @Tomas-vilte (#145)
  • eliminar cache @Tomas-vilte (#143)
  • actualizamos lambda @Tomas-vilte (#142)
  • build(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 @dependabot (#140)
  • movemos los archivos al directorio internal @Tomas-vilte (#139)
  • agregar envs para las subnets @Tomas-vilte (#137)
  • nuevos cambio readme @Tomas-vilte (#136)
  • docu: agregar documentacion @Tomas-vilte (#135)
  • add dockerfile @Tomas-vilte (#132)
  • Dev @Tomas-vilte (#131)
  • Refactor: Implementación de interfaces para S3Uploader y tests unitarios @Tomas-vilte (#129)
  • Dev @Tomas-vilte (#128)
  • Optimizar transmisión de audio y agregar pruebas unitarias @Tomas-vilte (#126)
  • Dev @Tomas-vilte (#125)
  • save logs in file @Tomas-vilte (#124)
  • Eliminar metodos que no usamos, y agregamos nueva config @Tomas-vilte (#120)
  • cambiamos config de grafana, y opcion para guardar los logs en un archivo @Tomas-vilte (#118)
  • modificando docker compose @Tomas-vilte (#117)
  • agregamos volumen al servicio @Tomas-vilte (#116)
  • modificamos el docker compose @Tomas-vilte (#115)
  • anadimos dashboard y datasource a grafana @Tomas-vilte (#114)
  • update docu @Tomas-vilte (#112)
  • Actualizar Docker Compose y agregar paquete de profiler @Tomas-vilte (#110)
  • trigger workflow @Tomas-vilte (#109)
  • add .env of example and modify configs @Tomas-vilte (#108)
  • change yml @Tomas-vilte (#107)
  • change docker compose @Tomas-vilte (#106)
  • change cd.yml @Tomas-vilte (#105)
  • Simplificación de la configuración de Grafana con Docker Compose @Tomas-vilte (#104)
  • Agregada funcionalidad de métricas Prometheus y servidor HTTP @Tomas-vilte (#103)
  • Dev @Tomas-vilte (#102)
  • change function @Tomas-vilte (#101)
  • agregando loggers y cambios en los tests @Tomas-vilte (#100)
  • Actualizar flujos de trabajo y Dockerfiles para implementación de Butakero Bot en arquitectura ARM64 @Tomas-vilte (#97)
  • modify cd 2 @Tomas-vilte (#96)
  • change cd @Tomas-vilte (#95)
  • modify yml @Tomas-vilte (#94)
  • Agregados Dockerfile.local y Dockerfile.aws @Tomas-vilte (#93)
  • modify dockerfile @Tomas-vilte (#92)
  • Crear estructura inicial para las funciones de consumo de mensajes SQS @Tomas-vilte (#90)
  • modify policy, add permission lambda @Tomas-vilte (#88)

🚀 Nuevas Características

  • Implementación y pruebas de ClientAPI para procesamiento de metadatos de canciones a través de API Gateway @Tomas-vilte (#144)
  • Implementación y refactorización de la integración con YouTube y Redis @Tomas-vilte (#141)
  • Implementar notificaciones JSON SQS para procesamiento de audio @Tomas-vilte (#138)
  • Implementación de Lambda para procesar eventos de S3 y enviar jobs a ECS @Tomas-vilte (#134)
  • Implementación para Procesar y Subir Archivos .m4a como .dca a S3 utilizando AWS ECS Fargate @Tomas-vilte (#133)
  • Agregar Lambda de descarga de música con mocks y tests unitarios @Tomas-vilte (#130)
  • Agregar funcionalidad de carga a S3 y pruebas unitarias @Tomas-vilte (#127)
  • Agregar CommandExecutor, crear mocks y pruebas para YoutubeFetcher @Tomas-vilte (#123)
  • Implementar proveedor de YouTube y pruebas unitarias @Tomas-vilte (#122)
  • Implementación de caché de audio y optimizaciones en caché de búsqueda @Tomas-vilte (#121)
  • Agregar métricas de caché y mejorar el rendimiento del caché @Tomas-vilte (#119)
  • Agregar Loki y Promtail para Registro Centralizado y Actualizar Configuración de Logging @Tomas-vilte (#113)
  • Implementar funcionalidades de manejo de eventos y comunicación con Discord @Tomas-vilte (#99)
  • Mejora del enrutamiento de eventos y refactorización del manejo de colas de mensajes @Tomas-vilte (#98)
  • Refactorización y Expansión del Manejo de Eventos de GitHub @Tomas-vilte (#91)
  • Implementación de procesamiento de eventos de GitHub con publicación en cola SQS @Tomas-vilte (#89)

📚 Documentación

  • Implementación y refactorización de la integración con YouTube y Redis @Tomas-vilte (#141)
  • Implementación de caché de audio y optimizaciones en caché de búsqueda @Tomas-vilte (#121)
  • Nueva documentacion al repositorio @Tomas-vilte (#111)
  • Implementar funcionalidades de manejo de eventos y comunicación con Discord @Tomas-vilte (#99)
  • Implementación de procesamiento de eventos de GitHub con publicación en cola SQS @Tomas-vilte (#89)

v1.0.4 🌈

Choose a tag to compare

@github-actions github-actions released this 22 May 18:13
6fe5569

🚀 Esta nueva release incluye varias mejoras y adiciones significativas para el proyecto. A continuación se detallan los cambios principales:

  • Implementación del procesamiento de eventos de GitHub con publicación en una cola SQS.
  • Añadido manejo de eventos mediante el paquete github_event.
  • Incorporación de un logger utilizando la librería Zap en el paquete logging.
  • Adición de un paquete message_queue para la publicación de eventos en una cola de mensajes.
  • Creación de un servicio EventProcessor para procesar y publicar eventos.
  • Implementación del punto de entrada principal en el paquete main para la ejecución de la lambda.

Detalles de los Cambios

  • github_event: Se añadió un nuevo paquete para manejar eventos de GitHub.
  • logging: Se creó un paquete para el registro de información y errores.
  • message_queue: Se agregó un paquete para la publicación de eventos en una cola de mensajes.
  • service: Se implementó el servicio EventProcessor para procesar y publicar eventos.
  • main: Se implementó el punto de entrada principal para la lambda.

v1.0.3 🌈

Choose a tag to compare

@github-actions github-actions released this 21 May 23:29
956ea34

Resumen de Cambios

🚀 Esta nueva release incluye varias mejoras y adiciones significativas para el proyecto. A continuación se detallan los cambios principales:

  • Implementación del procesamiento de eventos de GitHub con publicación en una cola SQS.
  • Añadido manejo de eventos mediante el paquete github_event.
  • Incorporación de un logger utilizando la librería Zap en el paquete logging.
  • Adición de un paquete message_queue para la publicación de eventos en una cola de mensajes.
  • Creación de un servicio EventProcessor para procesar y publicar eventos.
  • Implementación del punto de entrada principal en el paquete main para la ejecución de la lambda.

Detalles de los Cambios

  • github_event: Se añadió un nuevo paquete para manejar eventos de GitHub.
  • logging: Se creó un paquete para el registro de información y errores.
  • message_queue: Se agregó un paquete para la publicación de eventos en una cola de mensajes.
  • service: Se implementó el servicio EventProcessor para procesar y publicar eventos.
  • main: Se implementó el punto de entrada principal para la lambda.

v1.0.2 🌈

Choose a tag to compare

@github-actions github-actions released this 17 May 05:20
98f0865

Cambios

📚 Actualizaciones de documentación

  • Se actualizó la documentación del código para reflejar los cambios en la estructura del GuildPlayer. @Tomas-vilte (#84)
  • Agregamos instrucciones bien detalladas para configurar el almacenamiento en archivos en la documentación del proyecto.
  • Documentamos los cambios en las interfaces SongStorage y StateStorage.

🛠️ Mejoras en la funcionalidad existente

  • Mejoramos la eficiencia del almacenamiento en memoria para acceder más rápido a las canciones. @Tomas-vilte (#84)
  • Optimizamos el proceso de inicialización del reproductor para reducir el tiempo de carga.
  • Sumamos una función de limpieza automática para sacar canciones viejas de la lista de reproducción.

🧹 Refactorizaciones y optimizaciones

  • Refactorizamos la lógica de inicialización del almacenamiento de archivos para que el código sea más fácil de leer. @Tomas-vilte (#84)
  • Optimizamos cómo manejamos los errores en GetPlaylistStore para dar mensajes de error más claros.
  • Simplificamos la estructura del GuildPlayer sacando campos que eran medio al pedo y mejorando la coherencia.

🧪 Pruebas adicionales

  • Sumamos más pruebas unitarias para cubrir mejor el código de las nuevas implementaciones de almacenamiento. @Tomas-vilte (#84)
  • Hicimos más pruebas de integración para chequear que las interfaces y las implementaciones se lleven bien entre sí.

v1.0.1 🌈

Choose a tag to compare

@github-actions github-actions released this 15 May 06:42
0a0daa9

Cambios

  • feat: add print 1 @Tomas-vilte (#83)
  • chore: add print @Tomas-vilte (#80)
  • feat: change file @Tomas-vilte (#79)
  • fix: change file @Tomas-vilte (#78)
  • feat: add print @Tomas-vilte (#77)

🚀 Nuevas Características

  • remove print @Tomas-vilte (#82)
  • change print @Tomas-vilte (#81)