├── .gitignore ├── .scalafmt.conf ├── .travis.yml ├── LICENCE.md ├── README.md ├── ci ├── private.asc.enc ├── public.asc └── publish.sh ├── core └── src │ ├── main │ └── scala │ │ ├── com.itv │ │ └── servicebox │ │ │ └── algebra │ │ │ ├── ContainerController.scala │ │ │ ├── Dag.scala │ │ │ ├── ImageRegistry.scala │ │ │ ├── InMemoryServiceRegistry.scala │ │ │ ├── Lenses.scala │ │ │ ├── Logger.scala │ │ │ ├── NetworkController.scala │ │ │ ├── Runner.scala │ │ │ ├── Scheduler.scala │ │ │ ├── ServiceController.scala │ │ │ ├── ServiceRegistry.scala │ │ │ └── package.scala │ │ └── com │ │ └── itv │ │ └── servicebox │ │ └── interpreter │ │ ├── IOLogger.scala │ │ └── package.scala │ └── test │ ├── resources │ ├── com │ │ └── itv │ │ │ └── servicebox │ │ │ └── test │ │ │ └── resource.txt │ └── logback.xml │ └── scala │ └── com │ └── itv │ └── servicebox │ ├── algebra │ ├── DagTest.scala │ └── packageTest.scala │ ├── fake │ ├── ContainerController.scala │ ├── InMemoryImageRegistry.scala │ ├── TestContainerController.scala │ ├── TestNetworkController.scala │ └── package.scala │ ├── interpreter │ └── RunnerWithFakeContainersIOTest.scala │ └── test │ ├── Lenses.scala │ ├── RunnerTest.scala │ └── package.scala ├── docker └── src │ ├── main │ └── scala │ │ └── com │ │ └── itv │ │ └── servicebox │ │ └── docker │ │ ├── ContainerMatcher.scala │ │ ├── DockerContainerController.scala │ │ ├── DockerImageRegistry.scala │ │ ├── DockerNetworkController.scala │ │ └── package.scala │ └── test │ └── scala │ └── com │ └── itv │ └── servicebox │ └── docker │ ├── DockerTestNetworkController.scala │ └── RunnerWithDockerContainersIOTest.scala ├── docs ├── modules.dot └── modules.png ├── example ├── README.md └── src │ ├── main │ ├── mdoc │ │ └── README.md │ ├── resources │ │ └── db │ │ │ └── migration │ │ │ └── V1__CreateKVStoreTable.sql │ └── scala │ │ └── example │ │ ├── KVStore.scala │ │ └── package.scala │ └── test │ └── scala │ └── example │ └── KVStoreTest.scala ├── project ├── build.properties └── plugins.sbt └── version.sbt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENCE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/LICENCE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/README.md -------------------------------------------------------------------------------- /ci/private.asc.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/ci/private.asc.enc -------------------------------------------------------------------------------- /ci/public.asc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/ci/public.asc -------------------------------------------------------------------------------- /ci/publish.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/ci/publish.sh -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/ContainerController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/ContainerController.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/Dag.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/Dag.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/ImageRegistry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/ImageRegistry.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/InMemoryServiceRegistry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/InMemoryServiceRegistry.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/Lenses.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/Lenses.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/Logger.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/Logger.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/NetworkController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/NetworkController.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/Runner.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/Runner.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/Scheduler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/Scheduler.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/ServiceController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/ServiceController.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/ServiceRegistry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/ServiceRegistry.scala -------------------------------------------------------------------------------- /core/src/main/scala/com.itv/servicebox/algebra/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com.itv/servicebox/algebra/package.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/itv/servicebox/interpreter/IOLogger.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com/itv/servicebox/interpreter/IOLogger.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/itv/servicebox/interpreter/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/main/scala/com/itv/servicebox/interpreter/package.scala -------------------------------------------------------------------------------- /core/src/test/resources/com/itv/servicebox/test/resource.txt: -------------------------------------------------------------------------------- 1 | resource.txt 2 | -------------------------------------------------------------------------------- /core/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/resources/logback.xml -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/algebra/DagTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/algebra/DagTest.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/algebra/packageTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/algebra/packageTest.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/fake/ContainerController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/fake/ContainerController.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/fake/InMemoryImageRegistry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/fake/InMemoryImageRegistry.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/fake/TestContainerController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/fake/TestContainerController.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/fake/TestNetworkController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/fake/TestNetworkController.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/fake/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/fake/package.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/interpreter/RunnerWithFakeContainersIOTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/interpreter/RunnerWithFakeContainersIOTest.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/test/Lenses.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/test/Lenses.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/test/RunnerTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/test/RunnerTest.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/itv/servicebox/test/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/core/src/test/scala/com/itv/servicebox/test/package.scala -------------------------------------------------------------------------------- /docker/src/main/scala/com/itv/servicebox/docker/ContainerMatcher.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/main/scala/com/itv/servicebox/docker/ContainerMatcher.scala -------------------------------------------------------------------------------- /docker/src/main/scala/com/itv/servicebox/docker/DockerContainerController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/main/scala/com/itv/servicebox/docker/DockerContainerController.scala -------------------------------------------------------------------------------- /docker/src/main/scala/com/itv/servicebox/docker/DockerImageRegistry.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/main/scala/com/itv/servicebox/docker/DockerImageRegistry.scala -------------------------------------------------------------------------------- /docker/src/main/scala/com/itv/servicebox/docker/DockerNetworkController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/main/scala/com/itv/servicebox/docker/DockerNetworkController.scala -------------------------------------------------------------------------------- /docker/src/main/scala/com/itv/servicebox/docker/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/main/scala/com/itv/servicebox/docker/package.scala -------------------------------------------------------------------------------- /docker/src/test/scala/com/itv/servicebox/docker/DockerTestNetworkController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/test/scala/com/itv/servicebox/docker/DockerTestNetworkController.scala -------------------------------------------------------------------------------- /docker/src/test/scala/com/itv/servicebox/docker/RunnerWithDockerContainersIOTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docker/src/test/scala/com/itv/servicebox/docker/RunnerWithDockerContainersIOTest.scala -------------------------------------------------------------------------------- /docs/modules.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docs/modules.dot -------------------------------------------------------------------------------- /docs/modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/docs/modules.png -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/README.md -------------------------------------------------------------------------------- /example/src/main/mdoc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/src/main/mdoc/README.md -------------------------------------------------------------------------------- /example/src/main/resources/db/migration/V1__CreateKVStoreTable.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/src/main/resources/db/migration/V1__CreateKVStoreTable.sql -------------------------------------------------------------------------------- /example/src/main/scala/example/KVStore.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/src/main/scala/example/KVStore.scala -------------------------------------------------------------------------------- /example/src/main/scala/example/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/src/main/scala/example/package.scala -------------------------------------------------------------------------------- /example/src/test/scala/example/KVStoreTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/example/src/test/scala/example/KVStoreTest.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 1.3.0 -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITV/servicebox/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /version.sbt: -------------------------------------------------------------------------------- 1 | version in ThisBuild := "0.4.1-SNAPSHOT" 2 | --------------------------------------------------------------------------------