|
| 1 | +FROM openjdk:24-bullseye |
| 2 | + |
| 3 | +ENV opt_dir=/opt/puppetlabs/server/apps/puppetserver |
| 4 | +ENV etc_dir=/etc/puppetlabs/puppetserver |
| 5 | + |
| 6 | +WORKDIR $opt_dir |
| 7 | + |
| 8 | +COPY puppet-server-release.jar $opt_dir/puppet-server-release.jar |
| 9 | + |
| 10 | +COPY ext/cli $opt_dir/cli/apps |
| 11 | +COPY ext/cli_defaults/cli-defaults.sh $opt_dir/cli/cli-defaults.sh |
| 12 | +COPY ext/bin $opt_dir/bin |
| 13 | +COPY ext/bin/puppetserver /opt/puppetlabs/bin/puppetserver |
| 14 | +COPY ext/ezbake-functions.sh $opt_dir/ezbake-functions.sh |
| 15 | +COPY install.sh $opt_dir/scripts/install.sh |
| 16 | + |
| 17 | +COPY ext/ezbake.manifest $opt_dir/ezbake.manifest |
| 18 | +COPY ext/system-config/services.d/bootstrap.cfg $opt_dir/config/services.d/bootstrap.cfg |
| 19 | +COPY ext/config/conf.d $etc_dir/conf.d |
| 20 | +COPY ext/config/services.d $etc_dir/services.d |
| 21 | +COPY ext/default /etc/default/puppetserver |
| 22 | + |
| 23 | +COPY ext/config/logback.xml \ |
| 24 | + ext/config/request-logging.xml \ |
| 25 | + ${etc_dir} |
| 26 | + |
| 27 | +RUN useradd --uid 1001 --home-dir ${opt_dir} --shell /usr/sbin/nologin --user-group puppet \ |
| 28 | +&& chown -R puppet:puppet /opt/puppetlabs \ |
| 29 | +&& chown -R puppet:puppet /etc/puppetlabs \ |
| 30 | +&& chmod +x /opt/puppetlabs/bin/* \ |
| 31 | +&& chmod +x ${opt_dir}/bin/* \ |
| 32 | +&& chmod +x ${opt_dir}/cli/**/* \ |
| 33 | +&& chmod +x ${opt_dir}/scripts/* \ |
| 34 | +&& chmod +x ${opt_dir}/ezbake-functions.sh \ |
| 35 | +&& ln -s /usr/local/openjdk-24/bin/java /usr/bin/java |
| 36 | + |
| 37 | +EXPOSE 8140 |
| 38 | + |
| 39 | +ENTRYPOINT ["/opt/puppetlabs/bin/puppetserver"] |
| 40 | +CMD ["start"] |
0 commit comments