#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
#  specific language governing permissions and limitations
#  under the License.
#
server.port=8080
grpc.port=7000
spring.application.name=scimService
spring.zipkin.baseUrl=http://149.165.169.49:9411/
spring.sleuth.sampler.probability=1
management.security.enabled=false
management.endpoints.web.exposure.include=*
management.endpoint.metrics.enabled=true
spring.main.allow-bean-definition-overriding=true
logging.level.root=INFO
#logging.level.org.springframework.web=INFO