1
0
mirror of https://github.com/mainflux/mainflux.git synced 2025-04-26 13:48:53 +08:00
Arvindh fde435060c
NOISSUE - Implementation of gRPC mTLS (#1848)
Rebase with master and squash commits
add: rootCA and clientCA in grpc server
add: rootCA and client certificate in grpc client
add: docker-compose for grpc-mtls and make target for mtls cert generation
fix: typo in makefile
fix: loadCertFile function in internal/clients/grpc/connect.go
fix: env.parser test
remove: commented lines
add: make commands
update: make commands and grpc clients
fix: typo in makefile
fix: loadCertFile function in internal/clients/grpc/connect.go
remove: commented lines
update: make commands and grpc clients
update: make commands and docker-compose
add: end of line
fix: typos in makefile
add: end of line
fix: typos in makefile
revert: grafana port in .env
change: loadCertFile function
change: certficate logic
change: env name and update in compose file
fix: makefile
remove: tls env var
change: ioutil to os for ReadFile
change loadfile
remove: test which is no needed
fix: docker project name
single docker-compose file
single docker-compose file
single docker-compose file
fix space and new lines
fix makefile
add: GRPC_TLS varaible and imporved logging in gRPC Client
fix mtls and tls env vars
fix mtls and tls env vars
grpc_mtls
fix docker-compose
fix makefile
fix const name to go idomatic

---------

Signed-off-by: Arvindh <arvindh91@gmail.com>
2023-08-16 19:11:33 +02:00

49 lines
2.1 KiB
YAML

# Copyright (c) Mainflux
# SPDX-License-Identifier: Apache-2.0
# This docker-compose file contains optional provision services. Since it's optional, this file is
# dependent of docker-compose file from <project_root>/docker. In order to run this services, execute command:
# docker-compose -f docker/docker-compose.yml -f docker/addons/provision/docker-compose.yml up
# from project root.
version: "3.7"
networks:
mainflux-base-net:
services:
provision:
image: mainflux/provision:${MF_RELEASE_TAG}
container_name: mainflux-provision
restart: on-failure
networks:
- mainflux-base-net
ports:
- ${MF_PROVISION_HTTP_PORT}:${MF_PROVISION_HTTP_PORT}
environment:
MF_PROVISION_LOG_LEVEL: ${MF_PROVISION_LOG_LEVEL}
MF_PROVISION_HTTP_PORT: ${MF_PROVISION_HTTP_PORT}
MF_PROVISION_CONFIG_FILE: ${MF_PROVISION_CONFIG_FILE}
MF_PROVISION_ENV_CLIENTS_TLS: ${MF_PROVISION_ENV_CLIENTS_TLS}
MF_PROVISION_SERVER_CERT: ${MF_PROVISION_SERVER_CERT}
MF_PROVISION_SERVER_KEY: ${MF_PROVISION_SERVER_KEY}
MF_PROVISION_USERS_LOCATION: ${MF_PROVISION_USERS_LOCATION}
MF_PROVISION_THINGS_LOCATION: ${MF_PROVISION_THINGS_LOCATION}
MF_PROVISION_USER: ${MF_PROVISION_USER}
MF_PROVISION_PASS: ${MF_PROVISION_PASS}
MF_PROVISION_API_KEY: ${MF_PROVISION_API_KEY}
MF_PROVISION_CERTS_SVC_URL: ${MF_PROVISION_CERTS_SVC_URL}
MF_PROVISION_X509_PROVISIONING: ${MF_PROVISION_X509_PROVISIONING}
MF_PROVISION_BS_SVC_URL: ${MF_PROVISION_BS_SVC_URL}
MF_PROVISION_BS_SVC_WHITELIST_URL: ${MF_PROVISION_BS_SVC_WHITELIST_URL}
MF_PROVISION_BS_CONFIG_PROVISIONING: ${MF_PROVISION_BS_CONFIG_PROVISIONING}
MF_PROVISION_BS_AUTO_WHITELIST: ${MF_PROVISION_BS_AUTO_WHITELIST}
MF_PROVISION_BS_CONTENT: ${MF_PROVISION_BS_CONTENT}
MF_PROVISION_CERTS_HOURS_VALID: ${MF_PROVISION_CERTS_HOURS_VALID}
MF_SEND_TELEMETRY: ${MF_SEND_TELEMETRY}
MF_PROVISION_INSTANCE_ID: ${MF_PROVISION_INSTANCE_ID}
volumes:
- ./configs:/configs
- ../../ssl/certs/ca.key:/etc/ssl/certs/ca.key
- ../../ssl/certs/ca.crt:/etc/ssl/certs/ca.crt