├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── cmd └── main.go ├── config ├── config.go ├── config.yaml ├── mappings.json ├── search_query.json └── translate.json ├── docker-compose.local.yaml ├── docker-compose.yaml ├── go.mod ├── go.sum ├── internal ├── app │ ├── app.go │ ├── elastic.go │ ├── healthcheck.go │ ├── http_server.go │ ├── keymappings.go │ ├── metrics.go │ ├── rabbitmq.go │ └── utils.go ├── dto │ └── search_producrs_response.go ├── metrics │ └── metrics.go └── product │ ├── delivery │ ├── http │ │ └── v1 │ │ │ ├── controller.go │ │ │ ├── controller_test.go │ │ │ └── routes.go │ └── rabbitmq │ │ ├── consumer.go │ │ └── consumer_test.go │ ├── domain │ ├── model.go │ ├── repository.go │ ├── search.go │ └── usecase.go │ ├── repository │ └── elastic_repository.go │ └── usecase │ └── usecase.go ├── k8s └── microservice │ ├── .helmignore │ ├── Chart.yaml │ ├── templates │ ├── elastic.yaml │ ├── jaeger.yaml │ ├── kibana.yaml │ ├── rabbit.yaml │ └── search-microservice.yaml │ └── values.yaml ├── monitoring └── prometheus.yml └── pkg ├── constants └── constants.go ├── elastic └── elastic.go ├── esclient ├── esclient.go └── search_query.go ├── http_client └── http_client.go ├── http_errors └── http_errors.go ├── keyboard_manager └── keyboard_manager.go ├── logger └── logger.go ├── middlewares └── manager.go ├── probes └── probes.go ├── rabbitmq ├── publisher.go └── rabbitmq.go ├── serializer └── serializer.go ├── tracing ├── jaeger.go └── utils.go └── utils └── pagination.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/Dockerfile -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/README.md -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/cmd/main.go -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/config/config.go -------------------------------------------------------------------------------- /config/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/config/config.yaml -------------------------------------------------------------------------------- /config/mappings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/config/mappings.json -------------------------------------------------------------------------------- /config/search_query.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/config/search_query.json -------------------------------------------------------------------------------- /config/translate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/config/translate.json -------------------------------------------------------------------------------- /docker-compose.local.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/docker-compose.local.yaml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/go.sum -------------------------------------------------------------------------------- /internal/app/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/app.go -------------------------------------------------------------------------------- /internal/app/elastic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/elastic.go -------------------------------------------------------------------------------- /internal/app/healthcheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/healthcheck.go -------------------------------------------------------------------------------- /internal/app/http_server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/http_server.go -------------------------------------------------------------------------------- /internal/app/keymappings.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/keymappings.go -------------------------------------------------------------------------------- /internal/app/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/metrics.go -------------------------------------------------------------------------------- /internal/app/rabbitmq.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/rabbitmq.go -------------------------------------------------------------------------------- /internal/app/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/app/utils.go -------------------------------------------------------------------------------- /internal/dto/search_producrs_response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/dto/search_producrs_response.go -------------------------------------------------------------------------------- /internal/metrics/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/metrics/metrics.go -------------------------------------------------------------------------------- /internal/product/delivery/http/v1/controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/delivery/http/v1/controller.go -------------------------------------------------------------------------------- /internal/product/delivery/http/v1/controller_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/delivery/http/v1/controller_test.go -------------------------------------------------------------------------------- /internal/product/delivery/http/v1/routes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/delivery/http/v1/routes.go -------------------------------------------------------------------------------- /internal/product/delivery/rabbitmq/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/delivery/rabbitmq/consumer.go -------------------------------------------------------------------------------- /internal/product/delivery/rabbitmq/consumer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/delivery/rabbitmq/consumer_test.go -------------------------------------------------------------------------------- /internal/product/domain/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/domain/model.go -------------------------------------------------------------------------------- /internal/product/domain/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/domain/repository.go -------------------------------------------------------------------------------- /internal/product/domain/search.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/domain/search.go -------------------------------------------------------------------------------- /internal/product/domain/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/domain/usecase.go -------------------------------------------------------------------------------- /internal/product/repository/elastic_repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/repository/elastic_repository.go -------------------------------------------------------------------------------- /internal/product/usecase/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/internal/product/usecase/usecase.go -------------------------------------------------------------------------------- /k8s/microservice/.helmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/.helmignore -------------------------------------------------------------------------------- /k8s/microservice/Chart.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/Chart.yaml -------------------------------------------------------------------------------- /k8s/microservice/templates/elastic.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/templates/elastic.yaml -------------------------------------------------------------------------------- /k8s/microservice/templates/jaeger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/templates/jaeger.yaml -------------------------------------------------------------------------------- /k8s/microservice/templates/kibana.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/templates/kibana.yaml -------------------------------------------------------------------------------- /k8s/microservice/templates/rabbit.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/templates/rabbit.yaml -------------------------------------------------------------------------------- /k8s/microservice/templates/search-microservice.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/templates/search-microservice.yaml -------------------------------------------------------------------------------- /k8s/microservice/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/k8s/microservice/values.yaml -------------------------------------------------------------------------------- /monitoring/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/monitoring/prometheus.yml -------------------------------------------------------------------------------- /pkg/constants/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/constants/constants.go -------------------------------------------------------------------------------- /pkg/elastic/elastic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/elastic/elastic.go -------------------------------------------------------------------------------- /pkg/esclient/esclient.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/esclient/esclient.go -------------------------------------------------------------------------------- /pkg/esclient/search_query.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/esclient/search_query.go -------------------------------------------------------------------------------- /pkg/http_client/http_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/http_client/http_client.go -------------------------------------------------------------------------------- /pkg/http_errors/http_errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/http_errors/http_errors.go -------------------------------------------------------------------------------- /pkg/keyboard_manager/keyboard_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/keyboard_manager/keyboard_manager.go -------------------------------------------------------------------------------- /pkg/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/logger/logger.go -------------------------------------------------------------------------------- /pkg/middlewares/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/middlewares/manager.go -------------------------------------------------------------------------------- /pkg/probes/probes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/probes/probes.go -------------------------------------------------------------------------------- /pkg/rabbitmq/publisher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/rabbitmq/publisher.go -------------------------------------------------------------------------------- /pkg/rabbitmq/rabbitmq.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/rabbitmq/rabbitmq.go -------------------------------------------------------------------------------- /pkg/serializer/serializer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/serializer/serializer.go -------------------------------------------------------------------------------- /pkg/tracing/jaeger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/tracing/jaeger.go -------------------------------------------------------------------------------- /pkg/tracing/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/tracing/utils.go -------------------------------------------------------------------------------- /pkg/utils/pagination.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Go-Elasticsearch-RabbitMQ/HEAD/pkg/utils/pagination.go --------------------------------------------------------------------------------