v0.27.0
What's Changed
⚠️ Breaking Changes
Building images with FromDockerfile
The ImageBuildInfo
interface now includes a new method: BuildOptions
, which is used to configure the build process.
This method returns the image build options when building a Docker image from a Dockerfile,
and it will apply some defaults and finally call the new BuildOptionsModifier
method from the FromDockerfile struct, if set.
This way it's possible to access Docker's types.ImageBuildOptions
type and modify it before the build process starts.
- feat: support customizing the Docker build command (#1931) @mdelapenya
Executing commands using the Executable interface
It now includes an Options
method that needs to be implemented. This method will allow configuring the exec options added in this PR for the WithStartupCommand
functional option.
If your code is implementing Executable
, you can embed the ExecOptions
struct in your own struct in order to satisfy the interface.
Please take a look at the RabbitMQ
test types to see examples on how to do it.
- feat: support for executing commands in a container with user, workDir and env (#1914) @mdelapenya
🔒 Security
- chore(deps): bump golang.org/x/crypto to 0.17.0 in /modules (#2006) @mdelapenya
🚀 Features
- Add neo4j license agreement customization options (#2036) @danielorbach
- feat: support configuring Ryuk verbose mode at config level (#2038) @mdelapenya
- feat: create networks with random names (#1993) @mdelapenya
- feat: add module to support Microsoft SQL Server (#1969) @agosmou
- feat: exec multiplexed to return stderr (#1933) @gutocondela
- feat: support for custom registry prefixes at the configuration level (#1928) @mdelapenya
- Add username and password functions to mongodb (#1910) @ugrkm
- feat: Allow the container working directory to be specified (#1899) @fhke
- feat: expose a WithNetwork functional option (#1887) @mdelapenya
🐛 Bug Fixes
- fix: remove docker.io from Ryuk image name (#2046) @mdelapenya
- fix: fallback matching of registry authentication config (#1927) @sermio-te
- fix(modules.kafka): Switch to MaxInt for 32-bit support (#1923) @powersj
- fix(reaper): fix race condition when reusing reapers (#1904) @lefinal
- Fix - respect ContainerCustomizer in neo4j module (#1903) @fhke
📖 Documentation
- Add more content on how to use Exec function (#1970) @danvergara
- docs: include MongoDB's username and password options into the docs (#1930) @mdelapenya
- docs: add some Vault module examples (#1825) @kuisathaverat
- docs: fix code snippet for image substitution (#1918) @mdelapenya
- Add database driver note to SQL Wait strategy docs (#1916) @mihaitodor
🧹 Housekeeping
- chore: do not read config but instead pass the hub prefix to the prependHub modifier (#2047) @mdelapenya
- adds gotestsum to install tools (#2043) @hughesjj
- chore: lookup exposed ports in the image from Config, not from ContainerConfig (#2039) @mdelapenya
- chore: skip TestContainerLogWithErrClosed as flaky on rootless docker (#1925) @mdelapenya
- Reduce flakiness in ClickHouse tests (#1902) @rafiramadhana
- lint: enable nonamedreturns (#1909) @mmorel-35
- chore: deprecate BindMount APIs (#1907) @mdelapenya
- chore: make rabbitmq examples more readable (#1905) @mdelapenya
- chore: add tests for withNetwork option (#1894) @mdelapenya
- fix(redpanda): add wait for listening port condition on startup (#1828) @sbuliarca
📦 Dependency updates
- chore: bump Ryuk to 0.6.0 (#2040) @mdelapenya
- chore(deps): bump github.com/containerd/containerd from 1.7.7 to 1.7.11 (#2011) @dependabot
- chore(deps): bump golang.org/x/crypto to 0.17.0 in /modules (#2006) @mdelapenya
- chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.15.0 to 2.16.0 in /modules/clickhouse (#1982) @dependabot
- chore(deps): bump github.com/twmb/franz-go from 1.15.2 to 1.15.3 in /modules/redpanda (#1973) @dependabot
- chore(deps): bump google.golang.org/api from 0.152.0 to 0.153.0, cloud.google.com/go/bigtable from 1.20.0 to 1.21.0 and cloud.google.com/go/spanner from 1.53.0 to 1.53.1 in /modules/gcloud (#1983) @mdelapenya
- chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2 in /modules/localstack (#1981) @mdelapenya
- chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.4 (#1974) @dependabot
- chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.10 to 3.23.11 (#1943) @dependabot
- chore(deps): bump golang.org/x/mod from 0.13.0 to 0.14.0 in /modules/kafka (#1956) @dependabot
- chore(deps): bump golang.org/x/sys from 0.13.0 to 0.15.0 (#1944) @dependabot
- chore(deps): bump golang.org/x/text and golang.org/x/mod from 0.13.0 to 0.14.0 in /modulegen (#1968) @mdelapenya
- chore(deps): bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0 in /modules/mongodb (#1960) @dependabot
- chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.5 to 2.7.0 in /modules/couchbase (#1952) @dependabot
- chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.10.1 to 8.11.1 and golang.org/x/mod from 0.13.0 to 0.14.0 in /modules/elasticsearch (#1967) @mdelapenya
- chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2 in /modules/localstack (#1953) @mdelapenya
- chore(deps): bump actions/github-script from 6.4.1 to 7.0.1 (#1949) @dependabot
- chore(deps): bump github.com/IBM/sarama from 1.41.3 to 1.42.1 in /modules/kafka (#1955) @dependabot
- chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.14.0 to 5.15.0 in /modules/neo4j (#1961) @dependabot
- chore(deps): bump github.com/compose-spec/compose-go from 1.20.0 to 1.20.2 and github.com/docker/compose/v2 from 2.23.0 to 2.23.3 in /modules/compose (#1966) @mdelapenya
- chore(deps): bump google.golang.org/api from 0.143.0 to 0.152.0 and cloud.google.com/go/spanner from 1.50.0 to 1.53.0 in /modules/gcloud (#1965) @mdelapenya
- chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.4 (#1934) @dependabot
- chore(deps): bump github.com/twmb/franz-go from 1.15.1 to 1.15.2 in /modules/redpanda (#1935) @dependabot
- chore(deps): bump k8s.io from 0.28.3 to 0.28.4 in /modules/k3s (#1954) @mdelapenya
- chore(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 in /modulegen (#1958) @dependabot
- chore(deps): bump github.com/twmb/franz-go and github.com/twmb/franz-go/pkg/kadm in /modules/redpanda (#1896) @mdelapenya
- chore(deps): bump github.com/nats-io/nkeys and github.com/nats-io/nats.go in /modules/nats (#1897) @mdelapenya
- chore(deps): bump google.golang.org/grpc and cloud.google.com/go/firestore in /modules/gcloud (#1891) @mdelapenya
- chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2/config in /modules/localstack (#1892) @mdelapenya
- chore(deps): bump Github actions (#1890) @mdelapenya
- chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.9 to 3.23.10 (#1858) @dependabot
- chore(deps): bump github.com/hashicorp/consul/api from 1.24.0 to 1.26.1 in /examples/consul (#1863) @dependabot
- chore(deps): bump github.com/IBM/sarama from 1.41.2 to 1.41.3 in /modules/kafka (#1874) @dependabot
- chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.4 to 2.6.5 in /modules/couchbase (#1861) @dependabot
- chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.14.2 to 2.15.0 in /modules/clickhouse (#1867) @dependabot
- chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.13.0 to 5.14.0 in /modules/neo4j (#1869) @dependabot
- chore(deps): bump github.com/Shopify/toxiproxy/v2 from 2.6.0 to 2.7.0 in /examples/toxiproxy (#1882) @dependabot
- chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.10.0 to 8.10.1 in /modules/elasticsearch (#1864) @dependabot
- chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.3 (#1860) @dependabot
- chore(deps): bump k8s.io/client-go from 0.28.2 to 0.28.3 in /modules/k3s (#1889) @mdelapenya
- chore(deps): bump github.com/google/uuid from 1.3.1 to 1.4.0 (#1888) @mdelapenya
- chore(deps): bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible (#1886) @mdelapenya