diff --git a/README.md b/README.md index 89e0ca6c6..d639c3cb4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [go script](https://www.thoughtworks.com/insights/blog/praise-go-script-part-i) based on Docker * Manage dependencies for integration and end-to-end testing (like databases) with ease * Onboard new team members in minutes: no installation required -* Supports Linux, OS X and Windows +* Supports Linux, macOS and Windows * Works with any language or framework, your existing CI system, and your chosen language's existing tooling * Take advantage of existing Docker images to get started quickly @@ -23,7 +23,7 @@ 1. Drop the latest `batect` and `batect.cmd` scripts from the [releases page](https://github.com/batect/batect/releases) into the root folder of your project. -2. If you're on Linux or OS X, make sure the script is executable: run `chmod +x batect`. +2. If you're on Linux or macOS, make sure the script is executable: run `chmod +x batect`. 3. Create your `batect.yml` to define your environment: * Take a look at the [sample projects](https://batect.dev/SampleProjects.html) for inspiration * Dive straight into [the configuration file reference](https://batect.dev/config/Overview.html) @@ -35,7 +35,7 @@ batect requires Docker 18.03.1 or newer, Java 8 or newer (although this requirement will be removed before v1.0), and: -* On Linux and OS X: Bash and `curl` +* On Linux and macOS: Bash and `curl` * On Windows: Windows 10 batect supports both Linux and Windows containers. diff --git a/ROADMAP.md b/ROADMAP.md index 23ce720b6..9511cbbcd 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -70,7 +70,7 @@ If there's something you're really keen to see, pull requests are always welcome * how to run something when the container starts, regardless of the task's command line (eg. `ENTRYPOINT` with shell script and `exec`, similar to the example in [the docs](https://docs.docker.com/engine/reference/builder/#entrypoint)) * importance of idempotency * improve the getting started guide (it's way too wordy) - * add note about increasing default CPU and memory limits when using Docker on OS X + * add note about increasing default CPU and memory limits when using Docker on macOS * how to introduce batect to an existing project * how to use batect as the basis for a pipeline made up of reusable building blocks * expand comparison with other tools to cover Dogo, Cage and Toast @@ -153,4 +153,4 @@ If there's something you're really keen to see, pull requests are always welcome * make the last mile easier: pushing images and deploying applications * init containers: containers that must start, run and complete before a container can start (eg. populating a database with data) * some way to handle secrets easily -* add support for `docker-sync` to improve I/O performance on OS X +* add support for `docker-sync` to improve I/O performance on macOS diff --git a/app/gradle/profiling.gradle b/app/gradle/profiling.gradle index ce55efbb1..d837d7c57 100644 --- a/app/gradle/profiling.gradle +++ b/app/gradle/profiling.gradle @@ -15,7 +15,7 @@ */ // Use this like this: ./gradlew profileApp --args='-f ./src/journeyTest/resources/simple-task-using-image/batect.yml --list-tasks' -// Note that this is configured for OS X, for Linux change the agentpath argument below. +// Note that this is configured for macOS, for Linux change the agentpath argument below. task profileApp(type: JavaExec) { dependsOn jar diff --git a/app/src/main/kotlin/batect/Application.kt b/app/src/main/kotlin/batect/Application.kt index dd89397a4..3c56d5a49 100644 --- a/app/src/main/kotlin/batect/Application.kt +++ b/app/src/main/kotlin/batect/Application.kt @@ -57,7 +57,7 @@ class Application(override val dkodein: DKodein) : DKodeinAware { fun run(args: Iterable): Int { if (!systemInfo.isSupportedOperatingSystem) { - errorStream.println("batect only supports Linux, OS X and Windows.") + errorStream.println("batect only supports Linux, macOS and Windows.") return -1 } diff --git a/app/src/main/kotlin/batect/docker/api/ContainersAPI.kt b/app/src/main/kotlin/batect/docker/api/ContainersAPI.kt index d4aff3d65..12b0fa14b 100644 --- a/app/src/main/kotlin/batect/docker/api/ContainersAPI.kt +++ b/app/src/main/kotlin/batect/docker/api/ContainersAPI.kt @@ -320,7 +320,7 @@ class ContainersAPI( // Note that these two methods assume that the container was created with the TTY option enabled, even if the local terminal is not a TTY. // The caller must call close() on the response to clean up all connections once it is finished with the streams. // - // This entire thing is a bit of a gross hack. The WebSocket version of this API doesn't work properly on OS X (see https://github.com/docker/for-mac/issues/1662), + // This entire thing is a bit of a gross hack. The WebSocket version of this API doesn't work properly on macOS (see https://github.com/docker/for-mac/issues/1662), // and OkHttp doesn't cleanly support Docker's non-standard connection hijacking mechanism. // And, to make things more complicated, we can't use the same socket for both container input and container output, as we need to be able to close // the input stream when there's no more input without closing the output stream - Java sockets don't seem to support closing one side of the diff --git a/app/src/main/kotlin/batect/os/unix/UnixConsoleManager.kt b/app/src/main/kotlin/batect/os/unix/UnixConsoleManager.kt index c0408aac1..4016605a7 100644 --- a/app/src/main/kotlin/batect/os/unix/UnixConsoleManager.kt +++ b/app/src/main/kotlin/batect/os/unix/UnixConsoleManager.kt @@ -27,7 +27,7 @@ class UnixConsoleManager( private val logger: Logger ) : ConsoleManager { override fun enableConsoleEscapeSequences() { - // Nothing to do on Linux or OS X. + // Nothing to do on Linux or macOS. } override fun enterRawMode(): AutoCloseable { diff --git a/app/src/unitTest/kotlin/batect/ApplicationSpec.kt b/app/src/unitTest/kotlin/batect/ApplicationSpec.kt index c65bb34c0..3c928c11f 100644 --- a/app/src/unitTest/kotlin/batect/ApplicationSpec.kt +++ b/app/src/unitTest/kotlin/batect/ApplicationSpec.kt @@ -194,7 +194,7 @@ object ApplicationSpec : Spek({ val exitCode by runForEachTest { application.run(args) } it("prints an error message to the error stream") { - assertThat(errorStream.toString(), equalTo("batect only supports Linux, OS X and Windows.\n".withPlatformSpecificLineSeparator())) + assertThat(errorStream.toString(), equalTo("batect only supports Linux, macOS and Windows.\n".withPlatformSpecificLineSeparator())) } it("returns a non-zero exit code") { diff --git a/app/src/unitTest/kotlin/batect/docker/DockerHostNameResolverSpec.kt b/app/src/unitTest/kotlin/batect/docker/DockerHostNameResolverSpec.kt index 07d7f9e28..502b71336 100644 --- a/app/src/unitTest/kotlin/batect/docker/DockerHostNameResolverSpec.kt +++ b/app/src/unitTest/kotlin/batect/docker/DockerHostNameResolverSpec.kt @@ -39,7 +39,7 @@ object DockerHostNameResolverSpec : Spek({ val dockerSystemInfoClient by createForEachTest { mock() } val resolver by createForEachTest { DockerHostNameResolver(systemInfo, dockerSystemInfoClient) } - given("the local system is running OS X") { + given("the local system is running macOS") { beforeEachTest { whenever(systemInfo.operatingSystem).doReturn(OperatingSystem.Mac) } on("the Docker version being less than 17.06") { diff --git a/app/src/unitTest/kotlin/batect/os/SystemInfoSpec.kt b/app/src/unitTest/kotlin/batect/os/SystemInfoSpec.kt index 3fd79322a..c6614a0d2 100644 --- a/app/src/unitTest/kotlin/batect/os/SystemInfoSpec.kt +++ b/app/src/unitTest/kotlin/batect/os/SystemInfoSpec.kt @@ -72,7 +72,7 @@ object SystemInfoSpec : Spek({ } describe("getting the operating system and whether that OS is supported") { - on("when running on OS X") { + on("when running on macOS") { beforeEachTest { systemProperties.setProperty("os.name", "Mac OS X") systemProperties.setProperty("java.io.tmpdir", "/var/folders/tf/abc123/T/") @@ -80,7 +80,7 @@ object SystemInfoSpec : Spek({ val systemInfo by runForEachTest { SystemInfo(nativeMethods, fileSystem, systemProperties) } - it("returns that the operating system is Mac OS X") { + it("returns that the operating system is Mac") { assertThat(systemInfo.operatingSystem, equalTo(OperatingSystem.Mac)) } diff --git a/app/src/unitTest/kotlin/batect/os/unix/UnixNativeMethodsSpec.kt b/app/src/unitTest/kotlin/batect/os/unix/UnixNativeMethodsSpec.kt index 925a47cab..9c00e9787 100644 --- a/app/src/unitTest/kotlin/batect/os/unix/UnixNativeMethodsSpec.kt +++ b/app/src/unitTest/kotlin/batect/os/unix/UnixNativeMethodsSpec.kt @@ -116,13 +116,13 @@ object UnixNativeMethodsSpec : Spek({ } } - describe("when running on OS X") { + describe("when running on macOS") { beforeEachTest { whenever(platform.os).thenReturn(Platform.OS.DARWIN) } on("calling ioctl()") { beforeEachTest { nativeMethods.getConsoleDimensions() } - it("invokes ioctl() with the OS X-specific value for TIOCGWINSZ") { + it("invokes ioctl() with the macOS-specific value for TIOCGWINSZ") { verify(libc).ioctl(any(), eq(0x40087468), any()) } } diff --git a/docs/content/GettingStarted.md b/docs/content/GettingStarted.md index 4d984be9a..e5923cd1c 100644 --- a/docs/content/GettingStarted.md +++ b/docs/content/GettingStarted.md @@ -55,7 +55,7 @@ tests. This example is for a Java project that uses Gradle, and assumes that you * We also mount `.gradle-cache` into the container as `/root/.gradle` - this allows Gradle to cache dependencies between builds, rather than downloading them on every single run. (You probably want to add this directory to your `.gitignore`.) - * We use `:cached` mode for the mounts to improve performance on OS X (see + * We use `:cached` mode for the mounts to improve performance on macOS (see [this page](tips/Performance.md#io-performance) for more information). This has no effect on other operating systems. * We disable the [Gradle daemon](https://docs.gradle.org/current/userguide/gradle_daemon.html), as running it is pointless given that we create a new container for every run. diff --git a/docs/content/QuickStart.md b/docs/content/QuickStart.md index 4b8520b94..2863c6def 100644 --- a/docs/content/QuickStart.md +++ b/docs/content/QuickStart.md @@ -8,7 +8,7 @@ automatically pull down the correct version of batect for your operating system. Note that you only need the scripts - you don't need to download `batect.jar`. -2. If you're on Linux or OS X, make sure the script is executable: run `chmod +x batect`. +2. If you're on Linux or macOS, make sure the script is executable: run `chmod +x batect`. 3. Run `./batect --version` and if you see some version information, you're good to go! Note that a JVM (version 8 or above) must be installed to use batect. (This requirement will be removed in a future release.) diff --git a/docs/content/config/Containers.md b/docs/content/config/Containers.md index 7ec9e6431..b5f9f91a4 100644 --- a/docs/content/config/Containers.md +++ b/docs/content/config/Containers.md @@ -249,8 +249,8 @@ Overrides [health check](https://docs.docker.com/engine/reference/builder/#healt Run the container with the same UID and GID as the user running batect (rather than the user the Docker daemon runs as, which is root on Linux). This means that any files created by the container will be owned by the user running batect, rather than root. -This is really only useful on Linux. On OS X, the Docker daemon runs as the currently logged-in user and so any files created in the container are owned -by that user, so this is less of an issue. However, for consistency, the same configuration changes are made on both Linux and OS X. +This is really only useful on Linux. On macOS, the Docker daemon runs as the currently logged-in user and so any files created in the container are owned +by that user, so this is less of an issue. However, for consistency, the same configuration changes are made on both Linux and macOS. `run_as_current_user` has the following options: diff --git a/docs/content/index.md b/docs/content/index.md index 84fb3faea..4dc89c07a 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -11,7 +11,7 @@ The main benefits of batect are: [go script](https://www.thoughtworks.com/insights/blog/praise-go-script-part-i) based on Docker * Manage dependencies for integration and end-to-end testing (like databases) with ease * Onboard new team members in minutes: no installation required -* Supports Linux, OS X and Windows +* Supports Linux, macOS and Windows * Works with any language or framework, your existing CI system, and your chosen language's existing tooling * Take advantage of existing Docker images to get started quickly @@ -25,7 +25,7 @@ The main benefits of batect are: batect requires Docker 18.03.1 or newer, Java 8 or newer (although this requirement will be removed before v1.0), and: -* On Linux and OS X: Bash and `curl` +* On Linux and macOS: Bash and `curl` * On Windows: Windows 10 batect supports both Linux and Windows containers. diff --git a/docs/content/tips/BuildArtifactsOwnedByRoot.md b/docs/content/tips/BuildArtifactsOwnedByRoot.md index 4f3e91780..e8c9ee10c 100644 --- a/docs/content/tips/BuildArtifactsOwnedByRoot.md +++ b/docs/content/tips/BuildArtifactsOwnedByRoot.md @@ -8,7 +8,7 @@ On Linux, by default, the Docker daemon runs as root, and so all containers run it is owned by the `root` Unix user, making it difficult for other users to modify or delete the files. This most often comes up when a build task produces an artifact and writes that artifact to a mounted volume. -(On OS X and Windows, the Docker daemon runs as the currently logged-in user and so any files created in mounted volumes are owned by that user, so this is not an issue.) +(On macOS and Windows, the Docker daemon runs as the currently logged-in user and so any files created in mounted volumes are owned by that user, so this is not an issue.) To fix this issue, batect can run containers in 'run as current user' mode, ensuring that all files written to a mounted volume are created by the current user, not root. This mode can be enabled on a per-container basis with the [`run_as_current_user` option](../config/Containers.md#run_as_current_user). @@ -28,12 +28,12 @@ When enabled, the following configuration changes are made: This means that any other users defined in the container's image are effectively lost. Under most circumstances, this is not an issue. * Similarly, a new `/etc/group` file is mounted into the container with two groups: root and the current user's primary group (usually `staff` on - OS X, and the user's name on Linux). If batect is running as root, then just root is listed. + macOS, and the user's name on Linux). If batect is running as root, then just root is listed. Again, this means that any other groups defined in the container's image are effectively lost. Under most circumstances, this is not an issue. While this is really only useful on Linux, for consistency, batect makes the same configuration changes regardless of the host operating system. -These configuration changes are harmless on OS X and Windows. +These configuration changes are harmless on macOS and Windows. ## Special notes for Windows diff --git a/docs/content/tips/Performance.md b/docs/content/tips/Performance.md index fee5ab193..4d3a82092 100644 --- a/docs/content/tips/Performance.md +++ b/docs/content/tips/Performance.md @@ -88,7 +88,7 @@ containers: ``` Setting this option will not affect Linux or Windows hosts, so it's safe to commit and share this in a project where some developers use -OS X and others use Linux or Windows. +macOS and others use Linux or Windows. ## Database schema and test data diff --git a/docs/content/tips/Proxies.md b/docs/content/tips/Proxies.md index d31dfa28e..6a510e8d6 100644 --- a/docs/content/tips/Proxies.md +++ b/docs/content/tips/Proxies.md @@ -25,7 +25,7 @@ When pulling an image, the Docker daemon uses any proxy-related environment vari environment to determine whether or not to use a proxy. These settings cannot be set at image pull time, so batect can't configure these settings for you - you must configure them yourself. -On OS X, Docker defaults to using your system's proxy settings, and you can change these by going to the Docker icon > +On macOS, Docker defaults to using your system's proxy settings, and you can change these by going to the Docker icon > Preferences > Proxies. On Linux, you may need to configure the Docker daemon's proxy settings yourself. @@ -95,7 +95,7 @@ defined, but `HTTP_PROXY` isn't, then both `http_proxy` and `HTTP_PROXY` are pro If you run a local proxy on your host machine such as [Cntlm](http://cntlm.sourceforge.net/), referring to this proxy with `localhost` will not work from inside a Docker container, as `localhost` refers to the container, not the host machine. -If you are running batect on OS X or Windows with Docker 17.06 or later, batect will automatically rewrite proxy-related environment +If you are running batect on macOS or Windows with Docker 17.06 or later, batect will automatically rewrite proxy-related environment variables that refer to `localhost`, `127.0.0.1` or `::1` so that they refer to the host machine. If you are running batect on Linux, or using an older version of Docker, batect will not rewrite proxy-related environment variables.