[info=698dcfe25b899557964d446124d5122b2f6fe4e6]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/389-ds-image?expand=0&rev=1
This commit is contained in:
2025-09-16 09:40:33 +00:00
committed by Git OBS Bridge
commit 5d6c959569
7 changed files with 226 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
-------------------------------------------------------------------
Tue Sep 9 11:43:02 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
- rename from 389-ds-container
-------------------------------------------------------------------
Tue Sep 09 11:41:19 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
- First version of the 389 Directory Server BCI
+63
View File
@@ -0,0 +1,63 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2025 SUSE LLC
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon.
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
# It is maintained by the BCI team and generated by
# https://github.com/SUSE/BCI-dockerfile-generator
# Please submit bugfixes or comments via https://bugs.opensuse.org/
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
#!UseOBSRepositories
#!ExclusiveArch: aarch64 ppc64le s390x x86_64
#!BuildTag: opensuse/389-ds:%%389ds_version%%-%RELEASE%
#!BuildTag: opensuse/389-ds:%%389ds_version%%
#!BuildTag: opensuse/389-ds:3.1
#!BuildTag: opensuse/389-ds:latest
FROM opensuse/tumbleweed:latest
RUN set -euo pipefail; \
zypper -n install --no-recommends 389-ds timezone openssl nss_synth
RUN set -euo pipefail; zypper -n clean -a; \
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}; rm -f {/target,}/etc/shadow-
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=org.opensuse.application.389-ds
LABEL org.opencontainers.image.authors="william.brown@suse.com"
LABEL org.opencontainers.image.title="openSUSE Tumbleweed 389 Directory Server"
LABEL org.opencontainers.image.description="389 Directory Server container based on the openSUSE Tumbleweed Base Container Image."
LABEL org.opencontainers.image.version="%%389ds_version%%"
LABEL org.opencontainers.image.url="https://www.opensuse.org"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="openSUSE Project"
LABEL org.opencontainers.image.source="%SOURCEURL%"
LABEL org.opencontainers.image.ref.name="%%389ds_version%%-%RELEASE%"
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/389-ds:%%389ds_version%%-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
LABEL org.opensuse.release-stage="released"
# endlabelprefix
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
CMD ["/usr/lib/dirsrv/dscontainer", "-r"]
EXPOSE 3389/tcp 3636/tcp
COPY nsswitch.conf /etc/nsswitch.conf
RUN set -euo pipefail; mkdir -p /data/config; \
mkdir -p /data/ssca; \
mkdir -p /data/run; \
mkdir -p /var/run/dirsrv; \
ln -s /data/config /etc/dirsrv/slapd-localhost; \
ln -s /data/ssca /etc/dirsrv/ssca; \
ln -s /data/run /var/run/dirsrv
HEALTHCHECK --start-period=5m --timeout=5s --interval=5s --retries=2 \
CMD /usr/lib/dirsrv/dscontainer -H
VOLUME /data
+10
View File
@@ -0,0 +1,10 @@
<services>
<service mode="buildtime" name="docker_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service mode="buildtime" name="replace_using_package_version">
<param name="file">Dockerfile</param>
<param name="regex">%%389ds_version%%</param>
<param name="package">389-ds</param>
<param name="parse-version">patch</param>
</service>
</services>
+24
View File
@@ -0,0 +1,24 @@
*.changes merge=merge-changes
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
+4
View File
@@ -0,0 +1,4 @@
*.obscpio
*.osc
_build.*
.pbuild
+94
View File
@@ -0,0 +1,94 @@
# 389 Directory Server container image
## Description
[389 Directory Server](https://www.port389.org/) is a highly usable, fully
featured, reliable and secure LDAP server implementation.
## Usage
By default, the image launches 389 Directory Server with the same
configuration that comes with the SUSE Linux Enterprise Server. However there
is also included a pre-configured Name Service Switch (NSS) configuration
file (`/etc/nsswitch.conf`).
```ShellSession
$ podman run -it --rm -p 3389:3389 -p 3636:3636 registry.opensuse.org/opensuse/389-ds:3.1
```
## Volumes
The database is stored in the volume mounted as directory `/data`. A new
empty database is created during container startup, unless an existing
database is already present in `/data`.
To mount a host directory as a volume for your database, run the following
command:
```ShellSession
$ podman run -it --rm -v /my/own/datadir:/data:Z -p 3389:3389 -p 3636:3636 registry.opensuse.org/opensuse/389-ds:3.1
```
## Certificates
By default, the container uses a self-signed CA certificate and a server
certificate signed by that CA.
Place a custom TLS certificate in PEM format in `/data/tls/server.crt` and
the key in and `/data/tls/server.key`. Place the CA certificates (each as a
separate file) to `/data/tls/ca/`, for example, `/data/tls/ca/ca1.crt` and
`/data/tls/ca/ca2.crt`.
## Environment variables
### DS_ERRORLOG_LEVEL
Use this optional environment variable to set the log level for
`ns-slapd` (default is `266354688`).
### DS_DM_PASSWORD
Use this optional environment variable to set the `cn=Directory Manager`
password (a default password is generated randomly). The default randomly
generated password can be viewed in the setup log.
### DS_MEMORY_PERCENTAGE
Use this optional environment variable to set the LDBM autotune
percentage (`nsslapd-cache-autosize`) (default is unset).
### DS_REINDEX
Use this optional environment variable to run a database re-index task. Set
the value to `1` to enable the task (default is disabled).
### DS_SUFFIX_NAME
Use this optional environment variable to set the default database
suffix name for `basedn` (default one is derived from the hostname).
### DS_STARTUP_TIMEOUT
Use this optional environment variable to change the time to wait for the
instance to start (default is `60` seconds).
### DS_STOP_TIMEOUT
Use this optional environment variable to change the time to wait for the
instance to stop (default is `60` seconds).
## Health, liveness, and readiness
The container image includes one explicit health check. This check will
verify if the service is misconfigured, `ns-slapd` is running, and if the
LDAPI is functional.
## Licensing
`SPDX-License-Identifier: MIT`
This documentation and the build recipe are licensed as MIT.
The container itself contains various software components under various open source licenses listed in the associated
Software Bill of Materials (SBOM).
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).
+22
View File
@@ -0,0 +1,22 @@
passwd: compat synth
group: compat synth
shadow: compat
# Allow initgroups to default to the setting for group.
# initgroups: compat
hosts: files dns
networks: files dns
aliases: files usrfiles
ethers: files usrfiles
gshadow: files usrfiles
netgroup: files nis
protocols: files usrfiles
publickey: files
rpc: files usrfiles
services: files usrfiles
automount: files nis
bootparams: files
netmasks: files