@@ -8,10 +8,14 @@ const ServiceBuilder = ({
88 const serviceName = 'mosquitto' ;
99
1010 const {
11+ setImageTag,
1112 setModifiedPorts,
1213 setLoggingState,
1314 setNetworkMode,
14- setNetworks
15+ setNetworks,
16+ setVolumes,
17+ setEnvironmentVariables,
18+ setDevices
1519 } = require ( '../../../src/utils/commonCompileLogic' ) ;
1620
1721 const {
@@ -34,7 +38,7 @@ const ServiceBuilder = ({
3438
3539 const checkServiceFilesCopied = ( ) => {
3640 return `
37- if [[ ! -f ./services/mosquitto/mosquitto.conf ]]; then
41+ if [[ ! -f ./services/mosquitto/config/ mosquitto.conf ]]; then
3842 echo "Mosquitto config file is missing!"
3943 sleep 2
4044fi
4448 const createVolumesDirectory = ( ) => {
4549 return `
4650mkdir -p ./volumes/mosquitto/data
51+ mkdir -p ./volumes/mosquitto/config
4752mkdir -p ./volumes/mosquitto/pwfile
4853mkdir -p ./volumes/mosquitto/log
4954` ;
@@ -57,8 +62,8 @@ if [[ ! -d ./volumes/mosquitto/data ]]; then
5762 HAS_ERROR="true"
5863fi
5964
60- if [[ ! -d ./volumes/mosquitto/pwfile ]]; then
61- echo "Mosquitto pwfile directory is missing!"
65+ if [[ ! -d ./volumes/mosquitto/config ]]; then
66+ echo "Mosquitto config directory is missing!"
6267 HAS_ERROR="true"
6368fi
6469
@@ -67,26 +72,18 @@ if [[ ! -d ./volumes/mosquitto/log ]]; then
6772 HAS_ERROR="true"
6873fi
6974
70- if [[ "$HAS_ERROR" == "true ]]; then
75+ if [[ ! -d ./volumes/mosquitto/pwfile ]]; then
76+ echo "Mosquitto pwfile directory is missing!"
77+ HAS_ERROR="true"
78+ fi
79+
80+ if [[ "$HAS_ERROR" == "true" ]]; then
7181 echo "Errors were detected when setting up Mosquitto"
7282 sleep 1
7383fi
7484` ;
7585 } ;
7686
77- const setupVolumePermissions = ( setUser1883 ) => {
78- if ( setUser1883 ) {
79- return `
80- echo "Updating mosquitto permissions:"
81- echo " chown -R 1883:1883 ./volumes/mosquitto/"
82- sudo chown -R 1883:1883 ./volumes/mosquitto/
83- ` ;
84- }
85- return `
86- echo "Mosquitto volume permissions not changed."
87- ` ;
88- }
89-
9087 retr . compile = ( {
9188 outputTemplateJson,
9289 buildOptions,
@@ -96,10 +93,14 @@ echo "Mosquitto volume permissions not changed."
9693 console . info ( `ServiceBuilder:compile() - '${ serviceName } ' started` ) ;
9794
9895 const compileResults = {
96+ modifiedImage : setImageTag ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
9997 modifiedPorts : setModifiedPorts ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
10098 modifiedLogging : setLoggingState ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
10199 modifiedNetworkMode : setNetworkMode ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
102- modifiedNetworks : setNetworks ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } )
100+ modifiedNetworks : setNetworks ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
101+ modifiedVolumes : setVolumes ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
102+ modifiedEnvironment : setEnvironmentVariables ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } ) ,
103+ modifiedDevices : setDevices ( { buildTemplate : outputTemplateJson , buildOptions, serviceName } )
103104 } ;
104105 console . info ( `ServiceBuilder:compile() - '${ serviceName } ' Results:` , compileResults ) ;
105106
@@ -171,13 +172,41 @@ echo "Mosquitto volume permissions not changed."
171172 return new Promise ( ( resolve , reject ) => {
172173 try {
173174 console . info ( `ServiceBuilder:build() - '${ serviceName } ' started` ) ;
174- const mosquittoConfFilePath = path . join ( __dirname , settings . paths . serviceFiles , 'mosquitto.conf' ) ;
175+ const mosquittoConfFilePath = path . join ( __dirname , settings . paths . serviceFiles , 'config' , ' mosquitto.conf') ;
175176 zipList . push ( {
176177 fullPath : mosquittoConfFilePath ,
177- zipName : '/services/mosquitto/mosquitto.conf'
178+ zipName : '/services/mosquitto/config/ mosquitto.conf'
178179 } ) ;
179180 console . debug ( `ServiceBuilder:build() - '${ serviceName } ' Added '${ mosquittoConfFilePath } ' to zip` ) ;
180181
182+ const mosquittoAclFilePath = path . join ( __dirname , settings . paths . serviceFiles , 'config' , 'filter.acl' ) ;
183+ zipList . push ( {
184+ fullPath : mosquittoAclFilePath ,
185+ zipName : '/services/mosquitto/config/filter.acl'
186+ } ) ;
187+ console . debug ( `ServiceBuilder:build() - '${ serviceName } ' Added '${ mosquittoAclFilePath } ' to zip` ) ;
188+
189+ const mosquittoPwFilePath = path . join ( __dirname , settings . paths . serviceFiles , 'pwfile' , 'pwfile' ) ;
190+ zipList . push ( {
191+ fullPath : mosquittoPwFilePath ,
192+ zipName : '/services/mosquitto/pwfile/pwfile'
193+ } ) ;
194+ console . debug ( `ServiceBuilder:build() - '${ serviceName } ' Added '${ mosquittoPwFilePath } ' to zip` ) ;
195+
196+ const mosquittoDockerFilePath = path . join ( __dirname , settings . paths . buildFiles , 'Dockerfile' ) ;
197+ zipList . push ( {
198+ fullPath : mosquittoDockerFilePath ,
199+ zipName : '/services/mosquitto/Dockerfile'
200+ } ) ;
201+ console . debug ( `ServiceBuilder:build() - '${ serviceName } ' Added '${ mosquittoDockerFilePath } ' to zip` ) ;
202+
203+ const mosquittoDockerEntryPointFilePath = path . join ( __dirname , settings . paths . buildFiles , 'docker-entrypoint.sh' ) ;
204+ zipList . push ( {
205+ fullPath : mosquittoDockerEntryPointFilePath ,
206+ zipName : '/services/mosquitto/docker-entrypoint.sh'
207+ } ) ;
208+ console . debug ( `ServiceBuilder:build() - '${ serviceName } ' Added '${ mosquittoDockerEntryPointFilePath } ' to zip` ) ;
209+
181210 postbuildScripts . push ( {
182211 serviceName,
183212 comment : 'Ensure required service files exist for launch' ,
@@ -199,13 +228,6 @@ echo "Mosquitto volume permissions not changed."
199228 code : checkVolumesDirectory ( )
200229 } ) ;
201230
202- postbuildScripts . push ( {
203- serviceName,
204- comment : 'Setup correct permissions for volume' ,
205- multilineComment : null ,
206- code : setupVolumePermissions ( true )
207- } ) ;
208-
209231 console . info ( `ServiceBuilder:build() - '${ serviceName } ' completed` ) ;
210232 return resolve ( { type : 'service' } ) ;
211233 } catch ( err ) {
0 commit comments