Files
container-openldap/build/main.go
T
Bertrand GounyandClaude Opus 5.5 52230d6cd7 feat: update to osixia/baseimage 2.0.0 and add integration tests
- Update the base image to osixia/baseimage:alpine-2.0.0 and build the
  CI/CD tool with osixia/dagger-build (Go 1.26.9).
- Add Dagger integration tests: default bootstrap, alternative schemas,
  all compatible modules and schemas with every bootstrap feature on a
  3-node replicated cluster with TLS required, backup/restore, simulated
  upgrade and upgrade from previous releases.
- Fix bootstrap failing with "Argument list too long" with large schemas:
  load them with LDIF include: lines, fail on missing schemas.
- Default OPENLDAP_BOOTSTRAP_PPOLICY_DEFAULT_CHECK_QUALITY to 1 so
  pwdMinLength is enforced.
- Align the CI workflow with osixia/container-baseimage and add Dependabot.
- Document available schemas and modules and their incompatibilities.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 20:37:20 +02:00

70 lines
1.4 KiB
Go

package main
import (
"context"
"os"
"dagger.io/dagger"
"github.com/osixia/container-openldap/build/tests"
"github.com/osixia/dagger-build/cmd"
"github.com/osixia/dagger-build/config"
"github.com/osixia/dagger-build/job"
)
func main() {
// image
var OpenLDAPImage = &config.Image{
BaseImage: "osixia/baseimage:alpine-2.0.0",
Distribution: config.Alpine,
Name: "osixia/openldap",
Description: "OpenLDAP container image 🐳🪪🌴",
Url: "https://opensource.osixia.net/projects/container-images/openldap/",
Documentation: "https://opensource.osixia.net/projects/container-images/openldap/",
Source: "https://github.com/osixia/container-openldap",
Authors: "The osixia/container-openldap maintainers",
Vendor: "Osixia",
Licences: "MIT",
}
config.Images = []*config.Image{
OpenLDAPImage,
}
config.DefaultImage = OpenLDAPImage
// github
config.ProjectGithubRepo = &config.GithubRepo{
Organization: "osixia",
Project: "container-openldap",
}
// tests
job.Test = func(ctx context.Context, client *dagger.Client, options any) ([]*job.BuildResult, error) {
builds, err := job.DefaultTest(ctx, client, options)
if err != nil {
return nil, err
}
if err := tests.Run(ctx, client, builds); err != nil {
return nil, err
}
return builds, nil
}
// execute cmd
mainCtx := context.Background()
if err := cmd.Run(mainCtx); err != nil {
os.Exit(1)
}
}