mirror of
				https://github.com/Telecominfraproject/wlan-cloud-owprov.git
				synced 2025-10-30 18:18:03 +00:00 
			
		
		
		
	Compare commits
	
		
			27 Commits
		
	
	
		
			v2.7.0-RC3
			...
			v2.7.0-RC6
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | af7cbf0ce1 | ||
|   | d50e8c0c44 | ||
|   | c5e44f2a98 | ||
|   | 5c2937c7ec | ||
|   | 698b467d3f | ||
|   | a8f1483362 | ||
|   | 693814de1c | ||
|   | 0394369410 | ||
|   | 5abe7a9909 | ||
|   | 0a3a9a4b20 | ||
|   | 9d4eb1e502 | ||
|   | 0b6d68def5 | ||
|   | 51ba962338 | ||
|   | fef07e3150 | ||
|   | 03a6675359 | ||
|   | 19686da4d8 | ||
|   | c5997a3511 | ||
|   | 3feb5fd666 | ||
|   | d3cd3a1a21 | ||
|   | 5e6228b9d6 | ||
|   | ad526ebf1d | ||
|   | 8de53277e6 | ||
|   | 93fbb3017a | ||
|   | 2e4d1ad3e8 | ||
|   | 6cacebad28 | ||
|   | e487b68945 | ||
|   | ffddfa87d2 | 
| @@ -80,6 +80,7 @@ add_executable(owprov | |||||||
|         src/framework/ow_constants.h |         src/framework/ow_constants.h | ||||||
|         src/framework/MicroServiceErrorHandler.h |         src/framework/MicroServiceErrorHandler.h | ||||||
|         src/framework/WebSocketClientNotifications.h |         src/framework/WebSocketClientNotifications.h | ||||||
|  |         src/framework/MicroServiceErrorHandler.h | ||||||
|         src/RESTObjects/RESTAPI_SecurityObjects.h src/RESTObjects/RESTAPI_SecurityObjects.cpp |         src/RESTObjects/RESTAPI_SecurityObjects.h src/RESTObjects/RESTAPI_SecurityObjects.cpp | ||||||
|         src/RESTObjects/RESTAPI_ProvObjects.cpp src/RESTObjects/RESTAPI_ProvObjects.h |         src/RESTObjects/RESTAPI_ProvObjects.cpp src/RESTObjects/RESTAPI_ProvObjects.h | ||||||
|         src/RESTObjects/RESTAPI_GWobjects.h src/RESTObjects/RESTAPI_GWobjects.cpp |         src/RESTObjects/RESTAPI_GWobjects.h src/RESTObjects/RESTAPI_GWobjects.cpp | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,17 +1,16 @@ | |||||||
| ARG ALPINE_VERSION=3.16.2 | ARG DEBIAN_VERSION=11.4-slim | ||||||
| ARG POCO_VERSION=poco-tip-v1 | ARG POCO_VERSION=poco-tip-v1 | ||||||
| ARG FMTLIB_VERSION=9.0.0 | ARG FMTLIB_VERSION=9.0.0 | ||||||
| ARG CPPKAFKA_VERSION=tip-v1 | ARG CPPKAFKA_VERSION=tip-v1 | ||||||
| ARG JSON_VALIDATOR_VERSION=2.1.0 | ARG JSON_VALIDATOR_VERSION=2.1.0 | ||||||
|  |  | ||||||
| FROM alpine:$ALPINE_VERSION AS build-base | FROM debian:$DEBIAN_VERSION AS build-base | ||||||
|  |  | ||||||
| RUN apk add --update --no-cache \ | RUN apt-get update && apt-get install --no-install-recommends -y \ | ||||||
|     make cmake g++ git \ |     make cmake g++ git \ | ||||||
|     unixodbc-dev postgresql-dev mariadb-dev \ |     libpq-dev libmariadb-dev libmariadbclient-dev-compat \ | ||||||
|     librdkafka-dev boost-dev openssl-dev \ |     librdkafka-dev libboost-all-dev libssl-dev \ | ||||||
|     zlib-dev nlohmann-json \ |     zlib1g-dev nlohmann-json3-dev ca-certificates libcurl4-openssl-dev | ||||||
|     curl-dev |  | ||||||
|  |  | ||||||
| FROM build-base AS poco-build | FROM build-base AS poco-build | ||||||
|  |  | ||||||
| @@ -91,21 +90,21 @@ WORKDIR /owprov/cmake-build | |||||||
| RUN cmake .. | RUN cmake .. | ||||||
| RUN cmake --build . --config Release -j8 | RUN cmake --build . --config Release -j8 | ||||||
|  |  | ||||||
| FROM alpine:$ALPINE_VERSION | FROM debian:$DEBIAN_VERSION | ||||||
|  |  | ||||||
| ENV OWPROV_USER=owprov \ | ENV OWPROV_USER=owprov \ | ||||||
|     OWPROV_ROOT=/owprov-data \ |     OWPROV_ROOT=/owprov-data \ | ||||||
|     OWPROV_CONFIG=/owprov-data |     OWPROV_CONFIG=/owprov-data | ||||||
|  |  | ||||||
| RUN addgroup -S "$OWPROV_USER" && \ | RUN useradd "$OWPROV_USER" | ||||||
|     adduser -S -G "$OWPROV_USER" "$OWPROV_USER" |  | ||||||
|  |  | ||||||
| RUN mkdir /openwifi | RUN mkdir /openwifi | ||||||
| RUN mkdir -p "$OWPROV_ROOT" "$OWPROV_CONFIG" && \ | RUN mkdir -p "$OWPROV_ROOT" "$OWPROV_CONFIG" && \ | ||||||
|     chown "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" |     chown "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" | ||||||
|  |  | ||||||
| RUN apk add --update --no-cache librdkafka su-exec gettext ca-certificates bash jq curl \ | RUN apt-get update && apt-get install --no-install-recommends -y \ | ||||||
|     mariadb-connector-c libpq unixodbc postgresql-client |     librdkafka++1 gosu gettext ca-certificates bash jq curl wget \ | ||||||
|  |     libmariadb-dev-compat libpq5 unixodbc postgresql-client | ||||||
|  |  | ||||||
| COPY readiness_check /readiness_check | COPY readiness_check /readiness_check | ||||||
| COPY test_scripts/curl/cli /cli | COPY test_scripts/curl/cli /cli | ||||||
| @@ -114,12 +113,14 @@ COPY owprov.properties.tmpl / | |||||||
| COPY docker-entrypoint.sh / | COPY docker-entrypoint.sh / | ||||||
| COPY wait-for-postgres.sh / | COPY wait-for-postgres.sh / | ||||||
| RUN wget https://raw.githubusercontent.com/Telecominfraproject/wlan-cloud-ucentral-deploy/main/docker-compose/certs/restapi-ca.pem \ | RUN wget https://raw.githubusercontent.com/Telecominfraproject/wlan-cloud-ucentral-deploy/main/docker-compose/certs/restapi-ca.pem \ | ||||||
|     -O /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem |     -O /usr/local/share/ca-certificates/restapi-ca-selfsigned.crt | ||||||
|  |  | ||||||
| COPY --from=owprov-build /owprov/cmake-build/owprov /openwifi/owprov | COPY --from=owprov-build /owprov/cmake-build/owprov /openwifi/owprov | ||||||
| COPY --from=cppkafka-build /cppkafka/cmake-build/src/lib/* /usr/local/lib | COPY --from=cppkafka-build /cppkafka/cmake-build/src/lib/* /usr/local/lib | ||||||
| COPY --from=poco-build /poco/cmake-build/lib/* /usr/local/lib | COPY --from=poco-build /poco/cmake-build/lib/* /usr/local/lib | ||||||
|  |  | ||||||
|  | RUN ldconfig | ||||||
|  |  | ||||||
| EXPOSE 16005 17005 16105 | EXPOSE 16005 17005 16105 | ||||||
|  |  | ||||||
| ENTRYPOINT ["/docker-entrypoint.sh"] | ENTRYPOINT ["/docker-entrypoint.sh"] | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/bin/sh | #!/bin/bash | ||||||
| set -e | set -e | ||||||
|  |  | ||||||
| if [ "$SELFSIGNED_CERTS" = 'true' ]; then | if [ "$SELFSIGNED_CERTS" = 'true' ]; then | ||||||
| @@ -49,7 +49,7 @@ if [ "$1" = '/openwifi/owprov' -a "$(id -u)" = '0' ]; then | |||||||
|     if [ "$RUN_CHOWN" = 'true' ]; then |     if [ "$RUN_CHOWN" = 'true' ]; then | ||||||
|       chown -R "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" |       chown -R "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" | ||||||
|     fi |     fi | ||||||
|     exec su-exec "$OWPROV_USER" "$@" |     exec gosu "$OWPROV_USER" "$@" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| exec "$@" | exec "$@" | ||||||
|   | |||||||
| @@ -131,8 +131,10 @@ spec: | |||||||
|             {{- toYaml . | nindent 12 }} |             {{- toYaml . | nindent 12 }} | ||||||
|           {{- end }} |           {{- end }} | ||||||
|  |  | ||||||
|  |       {{- with .Values.securityContext }} | ||||||
|       securityContext: |       securityContext: | ||||||
|         fsGroup: 101 |         {{- toYaml . | nindent 8 }} | ||||||
|  |       {{- end }} | ||||||
|  |  | ||||||
|       imagePullSecrets: |       imagePullSecrets: | ||||||
|       {{- range $image, $imageValue := .Values.images }} |       {{- range $image, $imageValue := .Values.images }} | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ fullnameOverride: "" | |||||||
| images: | images: | ||||||
|   owprov: |   owprov: | ||||||
|     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owprov |     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owprov | ||||||
|     tag: v2.7.0-RC3 |     tag: v2.7.0-RC6 | ||||||
|     pullPolicy: Always |     pullPolicy: Always | ||||||
| #    regcred: | #    regcred: | ||||||
| #      registry: tip-tip-wlan-cloud-ucentral.jfrog.io | #      registry: tip-tip-wlan-cloud-ucentral.jfrog.io | ||||||
| @@ -91,6 +91,9 @@ resources: {} | |||||||
|   #  cpu: 100m |   #  cpu: 100m | ||||||
|   #  memory: 128Mi |   #  memory: 128Mi | ||||||
|  |  | ||||||
|  | securityContext: | ||||||
|  |   fsGroup: 1000 | ||||||
|  |  | ||||||
| nodeSelector: {} | nodeSelector: {} | ||||||
|  |  | ||||||
| tolerations: [] | tolerations: [] | ||||||
|   | |||||||
| @@ -73,17 +73,25 @@ namespace OpenWifi { | |||||||
| } | } | ||||||
|  |  | ||||||
| int main(int argc, char **argv) { | int main(int argc, char **argv) { | ||||||
|  |     int ExitCode; | ||||||
|     try { |     try { | ||||||
|  |         Poco::Net::SSLManager::instance().initializeServer(nullptr, nullptr, nullptr); | ||||||
|         auto App = OpenWifi::Daemon::instance(); |         auto App = OpenWifi::Daemon::instance(); | ||||||
| 		auto ExitCode =  App->run(argc, argv); |         ExitCode =  App->run(argc, argv); | ||||||
| 		delete App; |         Poco::Net::SSLManager::instance().shutdown(); | ||||||
|  |  | ||||||
| 		return ExitCode; |  | ||||||
|  |  | ||||||
|     } catch (Poco::Exception &exc) { |     } catch (Poco::Exception &exc) { | ||||||
| 		std::cerr << exc.displayText() << std::endl; |         ExitCode = Poco::Util::Application::EXIT_SOFTWARE; | ||||||
| 		return Poco::Util::Application::EXIT_SOFTWARE; |         std::cout << exc.displayText() << std::endl; | ||||||
|  |     } catch (std::exception &exc) { | ||||||
|  |         ExitCode = Poco::Util::Application::EXIT_TEMPFAIL; | ||||||
|  |         std::cout << exc.what() << std::endl; | ||||||
|  |     } catch (...) { | ||||||
|  |         ExitCode = Poco::Util::Application::EXIT_TEMPFAIL; | ||||||
|  |         std::cout << "Exception on closure" << std::endl; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     std::cout << "Exitcode: " << ExitCode << std::endl; | ||||||
|  |     return ExitCode; | ||||||
| } | } | ||||||
|  |  | ||||||
| // end of namespace | // end of namespace | ||||||
| @@ -3075,7 +3075,7 @@ namespace OpenWifi { | |||||||
|  |  | ||||||
| 	private: | 	private: | ||||||
| 	    std::vector<std::unique_ptr<Poco::Net::HTTPServer>>   RESTServers_; | 	    std::vector<std::unique_ptr<Poco::Net::HTTPServer>>   RESTServers_; | ||||||
| 	    Poco::ThreadPool	    Pool_{"x-rest",32,128}; | 	    Poco::ThreadPool	    Pool_{"x-rest",8,128}; | ||||||
| 	    RESTAPI_GenericServer   Server_; | 	    RESTAPI_GenericServer   Server_; | ||||||
|  |  | ||||||
|         RESTAPI_ExtServer() noexcept: |         RESTAPI_ExtServer() noexcept: | ||||||
| @@ -3209,7 +3209,7 @@ namespace OpenWifi { | |||||||
|         const Poco::ThreadPool & Pool() { return Pool_; } |         const Poco::ThreadPool & Pool() { return Pool_; } | ||||||
| 	private: | 	private: | ||||||
| 	    std::vector<std::unique_ptr<Poco::Net::HTTPServer>>   RESTServers_; | 	    std::vector<std::unique_ptr<Poco::Net::HTTPServer>>   RESTServers_; | ||||||
| 	    Poco::ThreadPool	    Pool_{"i-rest",32,96}; | 	    Poco::ThreadPool	    Pool_{"i-rest",4,64}; | ||||||
| 	    RESTAPI_GenericServer   Server_; | 	    RESTAPI_GenericServer   Server_; | ||||||
|  |  | ||||||
|         RESTAPI_IntServer() noexcept: |         RESTAPI_IntServer() noexcept: | ||||||
| @@ -3406,7 +3406,7 @@ namespace OpenWifi { | |||||||
|         bool                        NoBuiltInCrypto_=false; |         bool                        NoBuiltInCrypto_=false; | ||||||
|         Poco::JWT::Signer	        Signer_; |         Poco::JWT::Signer	        Signer_; | ||||||
| 		Poco::Logger				&Logger_; | 		Poco::Logger				&Logger_; | ||||||
| 		Poco::ThreadPool				TimerPool_{"timer:pool",2,16}; | 		Poco::ThreadPool				TimerPool_{"timer:pool",2,32}; | ||||||
| 		std::unique_ptr<BusEventManager>	BusEventManager_; | 		std::unique_ptr<BusEventManager>	BusEventManager_; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
| @@ -3571,7 +3571,7 @@ namespace OpenWifi { | |||||||
|  |  | ||||||
|             auto LoggingDestination = MicroService::instance().ConfigGetString("logging.type", "file"); |             auto LoggingDestination = MicroService::instance().ConfigGetString("logging.type", "file"); | ||||||
|             auto LoggingFormat = MicroService::instance().ConfigGetString("logging.format", |             auto LoggingFormat = MicroService::instance().ConfigGetString("logging.format", | ||||||
|                                                                           "%Y-%m-%d %H:%M:%S %s: [%p] %t"); |                                                                           "%Y-%m-%d %H:%M:%S.%i %s: [%p][thr:%I] %t"); | ||||||
|             if (LoggingDestination == "console") { |             if (LoggingDestination == "console") { | ||||||
|                 Poco::AutoPtr<Poco::ConsoleChannel> Console(new Poco::ConsoleChannel); |                 Poco::AutoPtr<Poco::ConsoleChannel> Console(new Poco::ConsoleChannel); | ||||||
|                 Poco::AutoPtr<Poco::AsyncChannel> Async(new Poco::AsyncChannel(Console)); |                 Poco::AutoPtr<Poco::AsyncChannel> Async(new Poco::AsyncChannel(Console)); | ||||||
| @@ -3602,14 +3602,14 @@ namespace OpenWifi { | |||||||
|                 FileChannel->setProperty("archive", "timestamp"); |                 FileChannel->setProperty("archive", "timestamp"); | ||||||
|                 FileChannel->setProperty("path", LoggingLocation); |                 FileChannel->setProperty("path", LoggingLocation); | ||||||
|                 Poco::AutoPtr<Poco::AsyncChannel> Async_File(new Poco::AsyncChannel(FileChannel)); |                 Poco::AutoPtr<Poco::AsyncChannel> Async_File(new Poco::AsyncChannel(FileChannel)); | ||||||
| 				Poco::AutoPtr<Poco::AsyncChannel> Async_Muxer(new Poco::AsyncChannel(LogMuxer())); | 				// Poco::AutoPtr<Poco::AsyncChannel> Async_Muxer(new Poco::AsyncChannel(LogMuxer())); | ||||||
|                 Poco::AutoPtr<Poco::SplitterChannel> Splitter(new Poco::SplitterChannel); |                 // Poco::AutoPtr<Poco::SplitterChannel> Splitter(new Poco::SplitterChannel); | ||||||
| 				Splitter->addChannel(Async_File); | 				// Splitter->addChannel(Async_File); | ||||||
| 				Splitter->addChannel(Async_Muxer); | 				// Splitter->addChannel(Async_Muxer); | ||||||
| 				Poco::AutoPtr<Poco::PatternFormatter> Formatter(new Poco::PatternFormatter); | 				Poco::AutoPtr<Poco::PatternFormatter> Formatter(new Poco::PatternFormatter); | ||||||
|                 Formatter->setProperty("pattern", LoggingFormat); |                 Formatter->setProperty("pattern", LoggingFormat); | ||||||
|                 Poco::AutoPtr<Poco::FormattingChannel> FormattingChannel( |                 Poco::AutoPtr<Poco::FormattingChannel> FormattingChannel( | ||||||
|                         new Poco::FormattingChannel(Formatter, Splitter)); |                         new Poco::FormattingChannel(Formatter, Async_File)); | ||||||
|                 Poco::Logger::root().setChannel(FormattingChannel); |                 Poco::Logger::root().setChannel(FormattingChannel); | ||||||
|             } |             } | ||||||
|             auto Level = Poco::Logger::parseLevel(MicroService::instance().ConfigGetString("logging.level", "debug")); |             auto Level = Poco::Logger::parseLevel(MicroService::instance().ConfigGetString("logging.level", "debug")); | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/bin/sh | #!/bin/bash | ||||||
| # wait-for-postgres.sh | # wait-for-postgres.sh | ||||||
|  |  | ||||||
| set -e | set -e | ||||||
| @@ -20,7 +20,7 @@ if [ "$1" = '/openwifi/owprov' -a "$(id -u)" = '0' ]; then | |||||||
|     if [ "$RUN_CHOWN" = 'true' ]; then |     if [ "$RUN_CHOWN" = 'true' ]; then | ||||||
|       chown -R "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" |       chown -R "$OWPROV_USER": "$OWPROV_ROOT" "$OWPROV_CONFIG" | ||||||
|     fi |     fi | ||||||
|     exec su-exec "$OWPROV_USER" "$@" |     exec gosu "$OWPROV_USER" "$@" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| exec "$@" | exec "$@" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user