diff --git a/README.md b/README.md
index e89024bae..e8163fb96 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,102 @@
-# simple-python-pyinstaller-app
+# Guía de Despliegue: Aplicación Python con Jenkins y Terraform
-This repository is for the
-[Build a Python app with PyInstaller](https://jenkins.io/doc/tutorials/build-a-python-app-with-pyinstaller/)
-tutorial in the [Jenkins User Documentation](https://jenkins.io/doc/).
+Este documento guía paso a paso el despliegue de una aplicación Python utilizando Jenkins como servidor de integración continua y Terraform para la infraestructura.
-The repository contains a simple Python application which is a command line tool "add2vals" that outputs the addition of two values. If at least one of the
-values is a string, "add2vals" treats both values as a string and instead
-concatenates the values. The "add2" function in the "calc" library (which
-"add2vals" imports) is accompanied by a set of unit tests. These are tested with pytest to check that this function works as expected and the results are saved
-to a JUnit XML report.
+---
-The delivery of the "add2vals" tool through PyInstaller converts this tool into
-a standalone executable file for Linux, which you can download through Jenkins
-and execute at the command line on Linux machines without Python.
+## Requisitos Previos
+
+- Docker y Docker Compose instalados.
+- Terraform instalado.
+- Cuenta de GitHub con el repositorio forkeado.
+- Acceso a puerto `8080` en tu máquina local
+
+---
+
+## 1. Preparación del Repositorio
+
+### Fork y Configuración Inicial
+
+1. Realiza un *fork* del repositorio `simple-python-pyinstaller-app` en tu cuenta de GitHub.
+2. Renombra la rama principal a `main` si es necesario.
+
+---
+
+## 2. Construcción de Imagen Jenkins Personalizada
+
+### Crear Dockerfile
+
+En el directorio `/docs`, crea un archivo `Dockerfile` con las dependencias necesarias para Jenkins y Blue Ocean.
+
+### Construir la Imagen
+
+Desde la misma carpeta `/docs`, ejecuta:
+
+```bash
+docker build -t myjenkins-blueocean .
+```
+## 3. Despliegue de Infraestructura con Terraform
+
+### Archivo de Configuración
+
+Crea un archivo llamado `main.tf` en la carpeta `/docs` con tu configuración deseada.
+
+### Comandos para Inicializar y Aplicar
+```bash
+terraform init
+terraform plan
+terraform apply
+```
+Esto levantará la infraestructura necesaria para Jenkins.
+## 4. Configuración de Jenkins
+
+### Acceder al Panel Web
+
+Abre el navegador y entra a:
+
+`http://localhost:8080`
+
+### Obtener la Contraseña de Desbloqueo
+
+Ejecuta:
+
+
+`docker logs jenkins-blueocean`
+
+Copia la contraseña que aparece en consola e introdúcela en la interfaz web para completar la configuración inicial.
+## 5. Crear el Pipeline
+
+### Nuevo Proyecto
+
+1. Haz clic en `New item` desde el panel de Jenkins.
+
+2. Asigna un nombre y selecciona `Pipeline`.
+
+3. Activa la opción `SCM Polling` para habilitar la ejecución automática.
+
+4. Configura el origen del script:
+
+ - SCM: `GIT`
+
+ - URL del repositorio:
+
+ - Rama: `*/main`
+
+ - Ruta al Jenkinsfile: `docs/jenkinsfile`
+
+## 6. Ejecutar el Pipeline
+
+1. Desde Jenkins, inicia el pipeline manualmente o espera a que detecte cambios.
+
+2. El pipeline ejecutará automáticamente las siguientes etapas:
+
+ - **Build**
+
+ - **Test**
+
+ - **Deliver**
+
+## 7. Verificar el Artefacto Generado
+
+Si la ejecución es exitosa, el artefacto `add2vals` será generado y almacenado.
-The `jenkins` directory contains an example of the `Jenkinsfile` (i.e. Pipeline)
-you'll be creating yourself during the tutorial.
diff --git a/Rama_y_nombre.txt b/Rama_y_nombre.txt
new file mode 100644
index 000000000..54ffa163d
--- /dev/null
+++ b/Rama_y_nombre.txt
@@ -0,0 +1,3 @@
+Repositorio: https://github.com/Alvarogm15/simple-python-pyinstaller-app/tree/main
+
+Álvaro Griñon Martínez
\ No newline at end of file
diff --git a/docs/.terraform.lock.hcl b/docs/.terraform.lock.hcl
new file mode 100644
index 000000000..43ef38278
--- /dev/null
+++ b/docs/.terraform.lock.hcl
@@ -0,0 +1,23 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/kreuzwerker/docker" {
+ version = "3.6.0"
+ constraints = "~> 3.0"
+ hashes = [
+ "h1:WDcnXbeQu6aRAILPnqSM5OnFGcDPiSa5zJ/8YRdyxGA=",
+ "zh:1b930ce8aeeb562529383079a146ef6d8aa293a871490cabaf62cd07351f594a",
+ "zh:2b6285f977c5c2f43bd4640e634d3b74d32d7adf377824773e1ebf27b18d43c2",
+ "zh:31601af6e77cddc6c9dc9cdbcb53a18e38f35bcf4108ad4c88eb4b446b1a8100",
+ "zh:58b10d6923e89ac8bd7067760d5d115570ed29bd3b81c931f5ae09e2c5228d10",
+ "zh:62b76085922cb78370777c10286021104dde7ac7550f97bcbd5611cd7675db74",
+ "zh:76cacedffea6e07c35d649b79ad2a72dfe8f0c9d02c765a24162f3ebfef1f54d",
+ "zh:794d753e99319b42b746ba9405297049bb81b6e2d7c12496457bdf73e7d7cebe",
+ "zh:a8140eed5f3cf57aae4586471cf79a19babda57db9e4a29bd783e8b1fc12a2c0",
+ "zh:c62928bcdbf2965fd37d7b8fcb58b1e2bbecd9a393e579ac009439dbac3861cd",
+ "zh:c9b061d4b779cd9f833648a5220f35f027152e4ec499b7808c0e9b613dd70a87",
+ "zh:ce6418f00a732c9b1e2a1d250675820f7e2112923eea14e08b9dc82d187f8ea2",
+ "zh:df7f80e4f07d627ca2bb5586c62986e543ee89fab4c83105a8d485c3ec97007d",
+ "zh:e48a2416a48e22f5db90500791bc8deb72e110e141df685fe0e15266695629a9",
+ ]
+}
diff --git a/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/CHANGELOG.md b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/CHANGELOG.md
new file mode 100644
index 000000000..c8b4e895d
--- /dev/null
+++ b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/CHANGELOG.md
@@ -0,0 +1,790 @@
+
+
+## [v3.6.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.5.0...v3.6.0) (2025-05-24)
+
+### Feat
+
+* Implement correct cpu scheduler settings ([#732](https://github.com/kreuzwerker/terraform-provider-docker/issues/732))
+* Add implementaion of capabilities in docker servic ([#727](https://github.com/kreuzwerker/terraform-provider-docker/issues/727))
+* implement Buildx builder resource ([#724](https://github.com/kreuzwerker/terraform-provider-docker/issues/724))
+
+### Fix
+
+* Implement buildx fixes for general buildkit support and platform handling ([#734](https://github.com/kreuzwerker/terraform-provider-docker/issues/734))
+* Make endpoint validation less strict ([#733](https://github.com/kreuzwerker/terraform-provider-docker/issues/733))
+
+
+
+## [v3.5.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.4.0...v3.5.0) (2025-05-06)
+
+### Chore
+
+* Prepare release v3.5.0 ([#721](https://github.com/kreuzwerker/terraform-provider-docker/issues/721))
+
+### Feat
+
+* Implement using of buildx for docker_image ([#717](https://github.com/kreuzwerker/terraform-provider-docker/issues/717))
+* Support registries that return empty auth scope [#646](https://github.com/kreuzwerker/terraform-provider-docker/issues/646)
+* Implement registry_image_manifests data source ([#714](https://github.com/kreuzwerker/terraform-provider-docker/issues/714))
+* Implement healthcheck start interval ([#713](https://github.com/kreuzwerker/terraform-provider-docker/issues/713))
+
+
+
+## [v3.4.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.3.0...v3.4.0) (2025-04-25)
+
+### Chore
+
+* Prepare release v3.4.0 ([#712](https://github.com/kreuzwerker/terraform-provider-docker/issues/712))
+
+### Feat
+
+* Implement volume_options subpath ([#710](https://github.com/kreuzwerker/terraform-provider-docker/issues/710))
+
+### Fix
+
+* Prevent recreation of image name is intentionally set to a fixed value ([#711](https://github.com/kreuzwerker/terraform-provider-docker/issues/711))
+* Improve container wait handling ([#709](https://github.com/kreuzwerker/terraform-provider-docker/issues/709))
+* Use auth_config block also for registry_image delete functionality ([#708](https://github.com/kreuzwerker/terraform-provider-docker/issues/708))
+
+
+
+## [v3.3.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.2.0...v3.3.0) (2025-04-19)
+
+### Chore
+
+* Prepare release v3.3.0 ([#705](https://github.com/kreuzwerker/terraform-provider-docker/issues/705))
+* Update terraform-plugin-sdk/v2 dependency ([#699](https://github.com/kreuzwerker/terraform-provider-docker/issues/699))
+* Update docker/docker and docker/cli to newest stable ([#695](https://github.com/kreuzwerker/terraform-provider-docker/issues/695))
+
+### Feat
+
+* Implement support for docker context ([#704](https://github.com/kreuzwerker/terraform-provider-docker/issues/704))
+* disable_docker_daemon_check for provider ([#703](https://github.com/kreuzwerker/terraform-provider-docker/issues/703))
+* Implement tag triggers for docker_tag resource ([#702](https://github.com/kreuzwerker/terraform-provider-docker/issues/702))
+* Implement auth_config for docker_registry_image ([#701](https://github.com/kreuzwerker/terraform-provider-docker/issues/701))
+
+### Fix
+
+* Store correctly ports from server ([#698](https://github.com/kreuzwerker/terraform-provider-docker/issues/698))
+
+
+
+## [v3.2.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.1.2...v3.2.0) (2025-04-16)
+
+### Chore
+
+* Prepare release v3.2.0 ([#694](https://github.com/kreuzwerker/terraform-provider-docker/issues/694))
+* Upgrade golangci-lint to next major version ([#686](https://github.com/kreuzwerker/terraform-provider-docker/issues/686))
+
+### Docs
+
+* Consolidated update of docs from several PRs ([#691](https://github.com/kreuzwerker/terraform-provider-docker/issues/691))
+
+### Feat
+
+* Implement upload permissions in docker_container resource ([#693](https://github.com/kreuzwerker/terraform-provider-docker/issues/693))
+* Implement docker_image timeouts ([#692](https://github.com/kreuzwerker/terraform-provider-docker/issues/692))
+* Add support for build-secrets ([#604](https://github.com/kreuzwerker/terraform-provider-docker/issues/604))
+
+### Fix
+
+* Authentication to ECR public ([#690](https://github.com/kreuzwerker/terraform-provider-docker/issues/690))
+
+
+
+## [v3.1.2](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.1.1...v3.1.2) (2025-04-15)
+
+### Chore
+
+* prepare release 3.1.2 ([#688](https://github.com/kreuzwerker/terraform-provider-docker/issues/688))
+
+
+
+## [v3.1.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.1.0...v3.1.1) (2025-04-14)
+
+### Chore
+
+* Prepare release 3.1.1 ([#687](https://github.com/kreuzwerker/terraform-provider-docker/issues/687))
+
+
+
+## [v3.1.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.0.2...v3.1.0) (2025-04-14)
+
+### Chore
+
+* Prepare release 3.1.0 ([#685](https://github.com/kreuzwerker/terraform-provider-docker/issues/685))
+* update Go version to 1.22 for consistency across workflows, jo… ([#613](https://github.com/kreuzwerker/terraform-provider-docker/issues/613))
+
+### Feat
+
+* support setting cpu shares ([#575](https://github.com/kreuzwerker/terraform-provider-docker/issues/575))
+
+### Fix
+
+* Use build_args everywhere and update documentation ([#681](https://github.com/kreuzwerker/terraform-provider-docker/issues/681))
+* Compress build context before sending it to Docker ([#461](https://github.com/kreuzwerker/terraform-provider-docker/issues/461))
+* Set correct default network driver and fix a test ([#677](https://github.com/kreuzwerker/terraform-provider-docker/issues/677))
+
+### Typo
+
+* s/presend/present/ ([#606](https://github.com/kreuzwerker/terraform-provider-docker/issues/606))
+
+
+
+## [v3.0.2](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.0.1...v3.0.2) (2023-03-17)
+
+### Chore
+
+* Prepare release v3.0.2
+
+### Docs
+
+* correct spelling of "networks_advanced" ([#517](https://github.com/kreuzwerker/terraform-provider-docker/issues/517))
+
+### Fix
+
+* Implement proxy support. ([#529](https://github.com/kreuzwerker/terraform-provider-docker/issues/529))
+
+
+
+## [v3.0.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v3.0.0...v3.0.1) (2023-01-13)
+
+### Chore
+
+* Prepare release v3.0.1
+
+### Fix
+
+* Access health of container correctly. ([#506](https://github.com/kreuzwerker/terraform-provider-docker/issues/506))
+
+
+
+## [v3.0.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.25.0...v3.0.0) (2023-01-13)
+
+### Chore
+
+* Prepare release v3.0.0
+
+### Docs
+
+* Update documentation.
+* Add migration guide and update README ([#502](https://github.com/kreuzwerker/terraform-provider-docker/issues/502))
+
+### Feat
+
+* Prepare v3 release ([#503](https://github.com/kreuzwerker/terraform-provider-docker/issues/503))
+
+
+
+## [v2.25.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.24.0...v2.25.0) (2023-01-05)
+
+### Chore
+
+* Prepare release v2.25.0
+
+### Docs
+
+* Add documentation of remote hosts. ([#498](https://github.com/kreuzwerker/terraform-provider-docker/issues/498))
+
+### Feat
+
+* Migrate build block to `docker_image` ([#501](https://github.com/kreuzwerker/terraform-provider-docker/issues/501))
+* Add platform attribute to docker_image resource ([#500](https://github.com/kreuzwerker/terraform-provider-docker/issues/500))
+* Add sysctl implementation to container of docker_service. ([#499](https://github.com/kreuzwerker/terraform-provider-docker/issues/499))
+
+
+
+## [v2.24.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.23.1...v2.24.0) (2022-12-23)
+
+### Chore
+
+* Prepare release v2.24.0
+
+### Docs
+
+* Fix generated website.
+* Update command typo ([#487](https://github.com/kreuzwerker/terraform-provider-docker/issues/487))
+
+### Feat
+
+* cgroupns support ([#497](https://github.com/kreuzwerker/terraform-provider-docker/issues/497))
+* Add triggers attribute to docker_registry_image ([#496](https://github.com/kreuzwerker/terraform-provider-docker/issues/496))
+* Support registries with disabled auth ([#494](https://github.com/kreuzwerker/terraform-provider-docker/issues/494))
+* add IPAM options block for docker networks ([#491](https://github.com/kreuzwerker/terraform-provider-docker/issues/491))
+
+### Fix
+
+* Pin data source specific tag test to older tag.
+
+### Tests
+
+* Add test for parsing auth headers.
+
+
+
+## [v2.23.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.23.0...v2.23.1) (2022-11-23)
+
+### Chore
+
+* Prepare release v2.23.1
+
+### Fix
+
+* Update shasum of busybox:1.35.0 tag in test.
+* Handle Auth Header Scopes ([#482](https://github.com/kreuzwerker/terraform-provider-docker/issues/482))
+* Set OS_ARCH from GOHOSTOS and GOHOSTARCH ([#477](https://github.com/kreuzwerker/terraform-provider-docker/issues/477))
+
+
+
+## [v2.23.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.22.0...v2.23.0) (2022-11-02)
+
+### Chore
+
+* Prepare release v2.23.0
+
+### Feat
+
+* wait container healthy state ([#467](https://github.com/kreuzwerker/terraform-provider-docker/issues/467))
+* add docker logs data source ([#471](https://github.com/kreuzwerker/terraform-provider-docker/issues/471))
+
+### Fix
+
+* Update shasum of busybox:1.35.0 tag in test.
+* Update shasum of busybox:1.35.0 tag
+* Correct provider name to match the public registry ([#462](https://github.com/kreuzwerker/terraform-provider-docker/issues/462))
+
+
+
+## [v2.22.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.21.0...v2.22.0) (2022-09-20)
+
+### Chore
+
+* Prepare release v2.22.0
+
+### Feat
+
+* Configurable timeout for docker_container resource stateChangeConf ([#454](https://github.com/kreuzwerker/terraform-provider-docker/issues/454))
+
+### Fix
+
+* oauth authorization support for azurecr ([#451](https://github.com/kreuzwerker/terraform-provider-docker/issues/451))
+
+
+
+## [v2.21.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.20.3...v2.21.0) (2022-09-05)
+
+### Chore
+
+* Prepare release v2.21.0
+
+### Docs
+
+* Fix docker config example.
+
+### Feat
+
+* Add image_id attribute to docker_image resource. ([#450](https://github.com/kreuzwerker/terraform-provider-docker/issues/450))
+* Update used goversion to 1.18. ([#449](https://github.com/kreuzwerker/terraform-provider-docker/issues/449))
+
+### Fix
+
+* Replace deprecated .latest attribute with new image_id. ([#453](https://github.com/kreuzwerker/terraform-provider-docker/issues/453))
+* Remove reading part of docker_tag resource. ([#448](https://github.com/kreuzwerker/terraform-provider-docker/issues/448))
+* Fix repo_digest value for DockerImageDatasource test.
+
+
+
+## [v2.20.3](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.20.2...v2.20.3) (2022-08-31)
+
+### Chore
+
+* Prepare release v2.20.3
+
+### Fix
+
+* Docker Registry Image data source use HEAD request to query image digest ([#433](https://github.com/kreuzwerker/terraform-provider-docker/issues/433))
+* Adding Support for Windows Paths in Bash ([#438](https://github.com/kreuzwerker/terraform-provider-docker/issues/438))
+
+
+
+## [v2.20.2](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.20.1...v2.20.2) (2022-08-10)
+
+### Chore
+
+* Prepare release v2.20.2
+
+### Fix
+
+* Check the operating system for determining the default Docker socket ([#427](https://github.com/kreuzwerker/terraform-provider-docker/issues/427))
+
+### Reverts
+
+* fix(deps): update module github.com/golangci/golangci-lint to v1.48.0 ([#423](https://github.com/kreuzwerker/terraform-provider-docker/issues/423))
+
+
+
+## [v2.20.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.20.0...v2.20.1) (2022-08-10)
+
+### Chore
+
+* Prepare release v2.20.1
+* Reduce time to setup AccTests ([#430](https://github.com/kreuzwerker/terraform-provider-docker/issues/430))
+
+### Docs
+
+* Improve docker network usage documentation [skip-ci]
+
+### Feat
+
+* Implement triggers attribute for docker_image. ([#425](https://github.com/kreuzwerker/terraform-provider-docker/issues/425))
+
+### Fix
+
+* Add ForceTrue to docker_image name attribute. ([#421](https://github.com/kreuzwerker/terraform-provider-docker/issues/421))
+
+
+
+## [v2.20.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.19.0...v2.20.0) (2022-07-28)
+
+### Chore
+
+* Prepare release v2.20.0
+* Fix release targets in Makefile.
+
+### Feat
+
+* Implementation of `docker_tag` resource. ([#418](https://github.com/kreuzwerker/terraform-provider-docker/issues/418))
+* Implement support for insecure registries ([#414](https://github.com/kreuzwerker/terraform-provider-docker/issues/414))
+
+
+
+## [v2.19.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.18.1...v2.19.0) (2022-07-15)
+
+### Chore
+
+* Prepare release v2.19.0
+
+### Feat
+
+* Add gpu flag to docker_container resource ([#405](https://github.com/kreuzwerker/terraform-provider-docker/issues/405))
+
+### Fix
+
+* Enable authentication to multiple registries again. ([#400](https://github.com/kreuzwerker/terraform-provider-docker/issues/400))
+* ECR authentication ([#409](https://github.com/kreuzwerker/terraform-provider-docker/issues/409))
+
+
+
+## [v2.18.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.18.0...v2.18.1) (2022-07-14)
+
+### Chore
+
+* Prepare release v2.18.1
+* Automate changelog generation [skip ci]
+
+### Fix
+
+* Improve searchLocalImages error handling. ([#407](https://github.com/kreuzwerker/terraform-provider-docker/issues/407))
+* Throw errors when any part of docker config file handling goes wrong. ([#406](https://github.com/kreuzwerker/terraform-provider-docker/issues/406))
+* Enables having a Dockerfile outside the context ([#402](https://github.com/kreuzwerker/terraform-provider-docker/issues/402))
+
+
+
+## [v2.18.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.17.0...v2.18.0) (2022-07-11)
+
+### Chore
+
+* prepare release v2.18.0
+
+### Feat
+
+* add runtime, stop_signal and stop_timeout properties to the docker_container resource ([#364](https://github.com/kreuzwerker/terraform-provider-docker/issues/364))
+
+### Fix
+
+* Correctly handle build files and context for docker_registry_image ([#398](https://github.com/kreuzwerker/terraform-provider-docker/issues/398))
+* Switch to proper go tools mechanism to fix website-* workflows. ([#399](https://github.com/kreuzwerker/terraform-provider-docker/issues/399))
+* compare relative paths when excluding, fixes kreuzwerker[#280](https://github.com/kreuzwerker/terraform-provider-docker/issues/280) ([#397](https://github.com/kreuzwerker/terraform-provider-docker/issues/397))
+
+
+
+## [v2.17.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.16.0...v2.17.0) (2022-06-23)
+
+### Chore
+
+* prepare release v2.17.0
+* Exclude examples directory from renovate.
+* remove the workflow to close stale issues and pull requests ([#371](https://github.com/kreuzwerker/terraform-provider-docker/issues/371))
+
+### Fix
+
+* update go package files directly on master to fix build.
+* correct authentication for ghcr.io registry([#349](https://github.com/kreuzwerker/terraform-provider-docker/issues/349))
+
+
+
+## [v2.16.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.15.0...v2.16.0) (2022-01-24)
+
+### Chore
+
+* prepare release v2.16.0
+
+### Docs
+
+* fix service options ([#337](https://github.com/kreuzwerker/terraform-provider-docker/issues/337))
+* update registry_image.md ([#321](https://github.com/kreuzwerker/terraform-provider-docker/issues/321))
+* fix r/registry_image truncated docs ([#304](https://github.com/kreuzwerker/terraform-provider-docker/issues/304))
+
+### Feat
+
+* add parameter for SSH options ([#335](https://github.com/kreuzwerker/terraform-provider-docker/issues/335))
+
+### Fix
+
+* pass container rm flag ([#322](https://github.com/kreuzwerker/terraform-provider-docker/issues/322))
+* add nil check of DriverConfig ([#315](https://github.com/kreuzwerker/terraform-provider-docker/issues/315))
+* fmt of go files for go 1.17
+
+
+
+## [v2.15.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.14.0...v2.15.0) (2021-08-11)
+
+### Chore
+
+* prepare release v2.15.0
+* re go gets terraform-plugin-docs
+
+### Docs
+
+* corrects authentication misspell. Closes [#264](https://github.com/kreuzwerker/terraform-provider-docker/issues/264)
+
+### Feat
+
+* add container storage opts ([#258](https://github.com/kreuzwerker/terraform-provider-docker/issues/258))
+
+### Fix
+
+* add current timestamp for file upload to container ([#259](https://github.com/kreuzwerker/terraform-provider-docker/issues/259))
+
+
+
+## [v2.14.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.13.0...v2.14.0) (2021-07-09)
+
+### Chore
+
+* prepare release v2.14.0
+
+### Docs
+
+* update to absolute path for registry image context ([#246](https://github.com/kreuzwerker/terraform-provider-docker/issues/246))
+* update readme with logos and subsections ([#235](https://github.com/kreuzwerker/terraform-provider-docker/issues/235))
+
+### Feat
+
+* support terraform v1 ([#242](https://github.com/kreuzwerker/terraform-provider-docker/issues/242))
+
+### Fix
+
+* Update the URL of the docker hub registry ([#230](https://github.com/kreuzwerker/terraform-provider-docker/issues/230))
+
+
+
+## [v2.13.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.12.2...v2.13.0) (2021-06-22)
+
+### Chore
+
+* prepare release v2.13.0
+
+### Docs
+
+* fix a few typos ([#216](https://github.com/kreuzwerker/terraform-provider-docker/issues/216))
+* fix typos in docker_image example usage ([#213](https://github.com/kreuzwerker/terraform-provider-docker/issues/213))
+
+
+
+## [v2.12.2](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.12.1...v2.12.2) (2021-05-26)
+
+### Chore
+
+* prepare release v2.12.2
+
+
+
+## [v2.12.1](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.12.0...v2.12.1) (2021-05-26)
+
+### Chore
+
+* update changelog for v2.12.1
+
+### Fix
+
+* add service host flattener with space split ([#205](https://github.com/kreuzwerker/terraform-provider-docker/issues/205))
+* service state upgradeV2 for empty auth
+
+
+
+## [v2.12.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.11.0...v2.12.0) (2021-05-23)
+
+### Chore
+
+* update changelog for v2.12.0
+* ignore dist folder
+* configure actions/stale ([#157](https://github.com/kreuzwerker/terraform-provider-docker/issues/157))
+* add the guide about Terraform Configuration in Bug Report ([#139](https://github.com/kreuzwerker/terraform-provider-docker/issues/139))
+* bump docker dependency to v20.10.5 ([#119](https://github.com/kreuzwerker/terraform-provider-docker/issues/119))
+
+### Ci
+
+* run acceptance tests with multiple Terraform versions ([#129](https://github.com/kreuzwerker/terraform-provider-docker/issues/129))
+
+### Docs
+
+* update for v2.12.0
+* add releasing steps
+* format `Guide of Bug report` ([#159](https://github.com/kreuzwerker/terraform-provider-docker/issues/159))
+* add an example to build an image with docker_image ([#158](https://github.com/kreuzwerker/terraform-provider-docker/issues/158))
+* add a guide about writing issues to CONTRIBUTING.md ([#149](https://github.com/kreuzwerker/terraform-provider-docker/issues/149))
+* fix Github repository URL in README ([#136](https://github.com/kreuzwerker/terraform-provider-docker/issues/136))
+
+### Feat
+
+* support darwin arm builds and golang 1.16 ([#140](https://github.com/kreuzwerker/terraform-provider-docker/issues/140))
+* migrate to terraform-sdk v2 ([#102](https://github.com/kreuzwerker/terraform-provider-docker/issues/102))
+
+### Fix
+
+* rewriting tar header fields ([#198](https://github.com/kreuzwerker/terraform-provider-docker/issues/198))
+* test spaces for windows ([#190](https://github.com/kreuzwerker/terraform-provider-docker/issues/190))
+* replace for loops with StateChangeConf ([#182](https://github.com/kreuzwerker/terraform-provider-docker/issues/182))
+* skip sign on compile action
+* assign map to rawState when it is nil to prevent panic ([#180](https://github.com/kreuzwerker/terraform-provider-docker/issues/180))
+* search local images with Docker image ID ([#151](https://github.com/kreuzwerker/terraform-provider-docker/issues/151))
+* set "ForceNew: true" to labelSchema ([#152](https://github.com/kreuzwerker/terraform-provider-docker/issues/152))
+
+
+
+## [v2.11.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.10.0...v2.11.0) (2021-01-22)
+
+### Chore
+
+* update changelog for v2.11.0
+* updates changelog for v2.10.0
+
+### Docs
+
+* fix legacy configuration style ([#126](https://github.com/kreuzwerker/terraform-provider-docker/issues/126))
+
+### Feat
+
+* add properties -it (tty and stdin_opn) to docker container
+
+
+
+## [v2.10.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.9.0...v2.10.0) (2021-01-08)
+
+### Chore
+
+* updates changelog for 2.10.0
+* ignores testing folders
+* adds separate bug and ft req templates
+
+### Ci
+
+* bumps to docker version 20.10.1
+* pins workflows to ubuntu:20.04 image
+
+### Docs
+
+* add labels to arguments of docker_service ([#105](https://github.com/kreuzwerker/terraform-provider-docker/issues/105))
+* cleans readme
+* adds coc and contributing
+
+### Feat
+
+* supports Docker plugin ([#35](https://github.com/kreuzwerker/terraform-provider-docker/issues/35))
+* support max replicas of Docker Service Task Spec ([#112](https://github.com/kreuzwerker/terraform-provider-docker/issues/112))
+* add force_remove option to r/image ([#104](https://github.com/kreuzwerker/terraform-provider-docker/issues/104))
+* add local semantic commit validation ([#99](https://github.com/kreuzwerker/terraform-provider-docker/issues/99))
+* add ability to lint/check of links in documentation locally ([#98](https://github.com/kreuzwerker/terraform-provider-docker/issues/98))
+
+### Fix
+
+* set "latest" to tag when tag isn't specified ([#117](https://github.com/kreuzwerker/terraform-provider-docker/issues/117))
+* image label for workflows
+* remove all azure cps
+
+### Pull Requests
+
+* Merge pull request [#38](https://github.com/kreuzwerker/terraform-provider-docker/issues/38) from kreuzwerker/ci-ubuntu2004-workflow
+* Merge pull request [#36](https://github.com/kreuzwerker/terraform-provider-docker/issues/36) from kreuzwerker/chore-gh-issue-tpl
+
+
+
+## [v2.9.0](https://github.com/kreuzwerker/terraform-provider-docker/compare/v2.8.0...v2.9.0) (2020-12-25)
+
+### Chore
+
+* updates changelog for 2.9.0
+* update changelog 2.8.0 release date
+* introduces golangci-lint ([#32](https://github.com/kreuzwerker/terraform-provider-docker/issues/32))
+* fix changelog links
+
+### Ci
+
+* add gofmt's '-s' option
+* remove unneeded make tasks
+* fix test of website
+
+### Doc
+
+* devices is a block, not a boolean
+
+### Feat
+
+* adds support for OCI manifests ([#316](https://github.com/kreuzwerker/terraform-provider-docker/issues/316))
+* adds security_opts to container config. ([#308](https://github.com/kreuzwerker/terraform-provider-docker/issues/308))
+* adds support for init process injection for containers. ([#300](https://github.com/kreuzwerker/terraform-provider-docker/issues/300))
+
+### Fix
+
+* changing mounts requires ForceNew ([#314](https://github.com/kreuzwerker/terraform-provider-docker/issues/314))
+* allow healthcheck to be computed as container can specify ([#312](https://github.com/kreuzwerker/terraform-provider-docker/issues/312))
+* treat null user as a no-op ([#318](https://github.com/kreuzwerker/terraform-provider-docker/issues/318))
+* workdir null behavior ([#320](https://github.com/kreuzwerker/terraform-provider-docker/issues/320))
+
+### Style
+
+* format with gofumpt
+
+### Pull Requests
+
+* Merge pull request [#33](https://github.com/kreuzwerker/terraform-provider-docker/issues/33) from brandonros/patch-1
+* Merge pull request [#11](https://github.com/kreuzwerker/terraform-provider-docker/issues/11) from suzuki-shunsuke/format-with-gofumpt
+* Merge pull request [#26](https://github.com/kreuzwerker/terraform-provider-docker/issues/26) from kreuzwerker/ci/fix-website-ci
+* Merge pull request [#8](https://github.com/kreuzwerker/terraform-provider-docker/issues/8) from dubo-dubon-duponey/patch1
+
+
+
+## v2.8.0 (2020-11-11)
+
+### Chore
+
+* updates changelog for 2.8.0
+* removes travis.yml
+* deactivates travis
+* removes vendor dir ([#298](https://github.com/kreuzwerker/terraform-provider-docker/issues/298))
+* bump go 115 ([#297](https://github.com/kreuzwerker/terraform-provider-docker/issues/297))
+* documentation updates ([#286](https://github.com/kreuzwerker/terraform-provider-docker/issues/286))
+* updates link syntax ([#287](https://github.com/kreuzwerker/terraform-provider-docker/issues/287))
+* fix typo ([#292](https://github.com/kreuzwerker/terraform-provider-docker/issues/292))
+
+### Ci
+
+* reactivats all workflows
+* fix website
+* only run website workflow
+* exports gopath manually
+* fix absolute gopath for website
+* make website check separate workflow
+* fix workflow names
+* adds website test to unit test
+* adds acc test
+* adds compile
+* adds go version and goproxy env
+* enables unit tests for master branch
+* adds unit test workflow
+* adds goreleaser and gh action
+* bumps docker and ubuntu versions ([#241](https://github.com/kreuzwerker/terraform-provider-docker/issues/241))
+* removes debug option from acc tests
+* skips test which is flaky only on travis
+
+### Deps
+
+* github.com/hashicorp/terraform[@sdk](https://github.com/sdk)-v0.11-with-go-modules Updated via: go get github.com/hashicorp/terraform[@sdk](https://github.com/sdk)-v0.11-with-go-modules and go mod tidy
+* use go modules for dep mgmt run go mod tidy remove govendor from makefile and travis config set appropriate env vars for go modules
+
+### Docker
+
+* improve validation of runtime constraints
+
+### Docs
+
+* update container.html.markdown ([#278](https://github.com/kreuzwerker/terraform-provider-docker/issues/278))
+* update service.html.markdown ([#281](https://github.com/kreuzwerker/terraform-provider-docker/issues/281))
+* update restart_policy for service. Closes [#228](https://github.com/kreuzwerker/terraform-provider-docker/issues/228)
+* adds new label structure. Closes [#214](https://github.com/kreuzwerker/terraform-provider-docker/issues/214)
+* update anchors with -1 suffix ([#178](https://github.com/kreuzwerker/terraform-provider-docker/issues/178))
+* Fix misspelled words
+* Fix exported attribute name in docker_registry_image
+* Fix example for docker_registry_image ([#8308](https://github.com/kreuzwerker/terraform-provider-docker/issues/8308))
+* provider/docker - network settings attrs
+
+### Feat
+
+* conditionally adding port binding ([#293](https://github.com/kreuzwerker/terraform-provider-docker/issues/293)).
+* adds docker Image build feature ([#283](https://github.com/kreuzwerker/terraform-provider-docker/issues/283))
+* adds complete support for Docker credential helpers ([#253](https://github.com/kreuzwerker/terraform-provider-docker/issues/253))
+* Expose IPv6 properties as attributes
+* allow use of source file instead of content / content_base64 ([#240](https://github.com/kreuzwerker/terraform-provider-docker/issues/240))
+* supports to update docker_container ([#236](https://github.com/kreuzwerker/terraform-provider-docker/issues/236))
+* support to import some docker_container's attributes ([#234](https://github.com/kreuzwerker/terraform-provider-docker/issues/234))
+* adds config file content as plain string ([#232](https://github.com/kreuzwerker/terraform-provider-docker/issues/232))
+* make UID, GID, & mode for secrets and configs configurable ([#231](https://github.com/kreuzwerker/terraform-provider-docker/issues/231))
+* adds import for resources ([#196](https://github.com/kreuzwerker/terraform-provider-docker/issues/196))
+* add container ipc mode. ([#182](https://github.com/kreuzwerker/terraform-provider-docker/issues/182))
+* adds container working dir ([#181](https://github.com/kreuzwerker/terraform-provider-docker/issues/181))
+
+### Fix
+
+* ignores 'remove_volumes' on container import
+* duplicated buildImage function
+* port objects with the same internal port but different protocol trigger recreation of container ([#274](https://github.com/kreuzwerker/terraform-provider-docker/issues/274))
+* panic to migrate schema of docker_container from v1 to v2 ([#271](https://github.com/kreuzwerker/terraform-provider-docker/issues/271)). Closes [#264](https://github.com/kreuzwerker/terraform-provider-docker/issues/264)
+* pins docker registry for tests to v2.7.0
+* prevent force recreate of container about some attributes ([#269](https://github.com/kreuzwerker/terraform-provider-docker/issues/269))
+* service endpoint spec flattening
+* corrects IPAM config read on the data provider ([#229](https://github.com/kreuzwerker/terraform-provider-docker/issues/229))
+* replica to 0 in current schema. Closes [#221](https://github.com/kreuzwerker/terraform-provider-docker/issues/221)
+* label for network and volume after improt
+* binary upload as base 64 content ([#194](https://github.com/kreuzwerker/terraform-provider-docker/issues/194))
+* service env truncation for multiple delimiters ([#193](https://github.com/kreuzwerker/terraform-provider-docker/issues/193))
+* destroy_grace_seconds are considered ([#179](https://github.com/kreuzwerker/terraform-provider-docker/issues/179))
+
+### Make
+
+* Add website + website-test targets
+
+### Provider
+
+* Ensured Go 1.11 in TravisCI and README provider: Run go fix provider: Run go fmt provider: Encode go version 1.11.5 to .go-version file
+* Require Go 1.11 in TravisCI and README provider: Run go fix provider: Run go fmt
+
+### Tests
+
+* Skip test if swap limit isn't available ([#136](https://github.com/kreuzwerker/terraform-provider-docker/issues/136))
+* Simplify Dockerfile(s)
+
+### Vendor
+
+* github.com/hashicorp/terraform/...[@v0](https://github.com/v0).10.0
+* Ignore github.com/hashicorp/terraform/backend
+
+### Website
+
+* Docs sweep for lists & maps
+* note on docker
+* docker docs
+
+### Pull Requests
+
+* Merge pull request [#134](https://github.com/kreuzwerker/terraform-provider-docker/issues/134) from terraform-providers/go-modules-2019-03-01
+* Merge pull request [#135](https://github.com/kreuzwerker/terraform-provider-docker/issues/135) from terraform-providers/t-simplify-dockerfile
+* Merge pull request [#47](https://github.com/kreuzwerker/terraform-provider-docker/issues/47) from captn3m0/docker-link-warning
+* Merge pull request [#60](https://github.com/kreuzwerker/terraform-provider-docker/issues/60) from terraform-providers/f-make-website
+* Merge pull request [#23](https://github.com/kreuzwerker/terraform-provider-docker/issues/23) from JamesLaverack/patch-1
+* Merge pull request [#18](https://github.com/kreuzwerker/terraform-provider-docker/issues/18) from terraform-providers/vendor-tf-0.10
+* Merge pull request [#5046](https://github.com/kreuzwerker/terraform-provider-docker/issues/5046) from tpounds/use-built-in-schema-string-hash
+* Merge pull request [#3761](https://github.com/kreuzwerker/terraform-provider-docker/issues/3761) from ryane/f-provider-docker-improvements
+* Merge pull request [#3383](https://github.com/kreuzwerker/terraform-provider-docker/issues/3383) from apparentlymart/docker-container-command-docs
+* Merge pull request [#1564](https://github.com/kreuzwerker/terraform-provider-docker/issues/1564) from nickryand/docker_links
+
diff --git a/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/LICENSE b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/LICENSE
new file mode 100644
index 000000000..a612ad981
--- /dev/null
+++ b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/LICENSE
@@ -0,0 +1,373 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/README.md b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/README.md
new file mode 100644
index 000000000..0ad003fce
--- /dev/null
+++ b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/README.md
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+# Terraform Provider for Docker
+
+[](https://github.com/kreuzwerker/terraform-provider-docker/releases)
+[](https://registry.terraform.io/providers/kreuzwerker/docker)
+[](https://registry.terraform.io/providers/kreuzwerker/docker/latest/docs)
+[](https://github.com/kreuzwerker/terraform-provider-docker/blob/main/LICENSE)
+[](https://github.com/kreuzwerker/terraform-provider-docker/actions)
+[](https://github.com/kreuzwerker/terraform-provider-docker/actions)
+[](https://goreportcard.com/report/github.com/kreuzwerker/terraform-provider-docker)
+
+## Documentation
+
+The documentation for the provider is available on the [Terraform Registry](https://registry.terraform.io/providers/kreuzwerker/docker/latest/docs).
+
+Do you want to migrate from `v2.x` to `v3.x`? Please read the [migration guide](docs/v2_v3_migration.md)
+
+## Example usage
+
+Take a look at the examples in the [documentation](https://registry.terraform.io/providers/kreuzwerker/docker/3.6.0/docs) of the registry
+or use the following example:
+
+
+```hcl
+# Set the required provider and versions
+terraform {
+ required_providers {
+ # We recommend pinning to the specific version of the Docker Provider you're using
+ # since new versions are released frequently
+ docker = {
+ source = "kreuzwerker/docker"
+ version = "3.6.0"
+ }
+ }
+}
+
+# Configure the docker provider
+provider "docker" {
+}
+
+# Create a docker image resource
+# -> docker pull nginx:latest
+resource "docker_image" "nginx" {
+ name = "nginx:latest"
+ keep_locally = true
+}
+
+# Create a docker container resource
+# -> same as 'docker run --name nginx -p8080:80 -d nginx:latest'
+resource "docker_container" "nginx" {
+ name = "nginx"
+ image = docker_image.nginx.image_id
+
+ ports {
+ external = 8080
+ internal = 80
+ }
+}
+
+# Or create a service resource
+# -> same as 'docker service create -d -p 8081:80 --name nginx-service --replicas 2 nginx:latest'
+resource "docker_service" "nginx_service" {
+ name = "nginx-service"
+ task_spec {
+ container_spec {
+ image = docker_image.nginx.repo_digest
+ }
+ }
+
+ mode {
+ replicated {
+ replicas = 2
+ }
+ }
+
+ endpoint_spec {
+ ports {
+ published_port = 8081
+ target_port = 80
+ }
+ }
+}
+```
+
+## Building The Provider
+
+[Go](https://golang.org/doc/install) 1.18.x (to build the provider plugin)
+
+
+```sh
+$ git clone git@github.com:kreuzwerker/terraform-provider-docker
+$ make build
+```
+
+## Contributing
+
+The Terraform Docker Provider is the work of many of contributors. We appreciate your help!
+
+To contribute, please read the contribution guidelines: [Contributing to Terraform - Docker Provider](CONTRIBUTING.md)
+
+## License
+
+The Terraform Provider Docker is available to everyone under the terms of the Mozilla Public License Version 2.0. [Take a look the LICENSE file](LICENSE).
+
+
+## Stargazers over time
+
+[](https://starchart.cc/kreuzwerker/terraform-provider-docker)
diff --git a/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/terraform-provider-docker_v3.6.0.exe b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/terraform-provider-docker_v3.6.0.exe
new file mode 100644
index 000000000..5a462bea1
Binary files /dev/null and b/docs/.terraform/providers/registry.terraform.io/kreuzwerker/docker/3.6.0/windows_amd64/terraform-provider-docker_v3.6.0.exe differ
diff --git a/docs/Dockerfile b/docs/Dockerfile
new file mode 100644
index 000000000..f1f598593
--- /dev/null
+++ b/docs/Dockerfile
@@ -0,0 +1,19 @@
+FROM jenkins/jenkins:2.479.2-jdk17
+
+USER root
+
+RUN apt-get update && apt-get install -y lsb-release
+
+RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
+https://download.docker.com/linux/debian/gpg
+
+RUN echo "deb [arch=$(dpkg --print-architecture) \
+signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
+https://download.docker.com/linux/debian \
+$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
+
+RUN apt-get update && apt-get install -y docker-ce-cli
+
+USER jenkins
+
+RUN jenkins-plugin-cli --plugins "blueocean docker-workflow token-macro json-path-api"
\ No newline at end of file
diff --git a/docs/Jenkinsfile b/docs/Jenkinsfile
new file mode 100644
index 000000000..51737bb61
--- /dev/null
+++ b/docs/Jenkinsfile
@@ -0,0 +1,55 @@
+pipeline {
+ agent none
+ options {
+ skipStagesAfterUnstable()
+ }
+ stages {
+ stage('Build') {
+ agent {
+ docker {
+ image 'python:3.12.0-alpine3.18'
+ }
+ }
+ steps {
+ sh 'python -m py_compile sources/add2vals.py sources/calc.py'
+ stash(name: 'compiled-results', includes: 'sources/*.py*')
+ }
+ }
+
+ stage('Test') {
+ agent {
+ docker {
+ image 'qnib/pytest'
+ }
+ }
+ steps {
+ sh 'py.test --junit-xml test-reports/results.xml sources/test_calc.py'
+ }
+ post {
+ always {
+ junit 'test-reports/results.xml'
+ }
+ }
+ }
+
+ stage('Deliver') {
+ agent any
+ environment {
+ VOLUME = '$(pwd)/sources:/src'
+ IMAGE = 'cdrx/pyinstaller-linux:python2'
+ }
+ steps {
+ dir(path: env.BUILD_ID) {
+ unstash(name: 'compiled-results')
+ sh "docker run --rm -v ${VOLUME} ${IMAGE} 'pyinstaller -F add2vals.py'"
+ }
+ }
+ post {
+ success {
+ archiveArtifacts "${env.BUILD_ID}/sources/dist/add2vals"
+ sh "docker run --rm -v ${VOLUME} ${IMAGE} 'rm -rf build dist'"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/docs/main.tf b/docs/main.tf
new file mode 100644
index 000000000..4630aa02b
--- /dev/null
+++ b/docs/main.tf
@@ -0,0 +1,92 @@
+terraform {
+ required_providers {
+ docker = {
+ source = "kreuzwerker/docker"
+ version = "~> 3.0"
+ }
+ }
+}
+
+provider "docker" {
+ host = "npipe:////.//pipe//docker_engine"
+}
+
+resource "docker_network" "jenkins" {
+ name = "jenkins"
+}
+
+resource "docker_volume" "jenkins_docker_certs" {
+ name = "jenkins-docker-certs"
+}
+
+resource "docker_volume" "jenkins_data" {
+ name = "jenkins-data"
+}
+
+resource "docker_container" "jenkins_docker" {
+ name = "jenkins-docker"
+ image = "docker:dind"
+ privileged = true
+ restart = "no"
+
+ env = [
+ "DOCKER_TLS_CERTDIR=/certs"
+ ]
+
+ volumes {
+ volume_name = docker_volume.jenkins_docker_certs.name
+ container_path = "/certs/client"
+ }
+
+ volumes {
+ volume_name = docker_volume.jenkins_data.name
+ container_path = "/var/jenkins_home"
+ }
+
+ networks_advanced {
+ name = docker_network.jenkins.name
+ aliases = ["docker"]
+ }
+
+ ports {
+ internal = 2376
+ external = 2376
+ }
+}
+
+resource "docker_container" "jenkins_blueocean" {
+ name = "jenkins-blueocean"
+ image = "myjenkins-blueocean"
+ restart = "on-failure"
+
+ env = [
+ "DOCKER_HOST=tcp://docker:2376",
+ "DOCKER_CERT_PATH=/certs/client",
+ "DOCKER_TLS_VERIFY=1"
+ ]
+
+ volumes {
+ volume_name = docker_volume.jenkins_data.name
+ container_path = "/var/jenkins_home"
+ }
+
+ volumes {
+ volume_name = docker_volume.jenkins_docker_certs.name
+ container_path = "/certs/client"
+ read_only = true
+ }
+
+ networks_advanced {
+ name = docker_network.jenkins.name
+ }
+
+ ports {
+ internal = 8080
+ external = 8080
+ }
+
+ ports {
+ internal = 50000
+ external = 50000
+ }
+}
\ No newline at end of file
diff --git a/docs/terraform.tfstate b/docs/terraform.tfstate
new file mode 100644
index 000000000..b86217080
--- /dev/null
+++ b/docs/terraform.tfstate
@@ -0,0 +1,370 @@
+{
+ "version": 4,
+ "terraform_version": "1.10.1",
+ "serial": 13,
+ "lineage": "f3538190-3931-8953-0843-bdcbdc2e1d61",
+ "outputs": {},
+ "resources": [
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_blueocean",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "/usr/bin/tini",
+ "--",
+ "/usr/local/bin/jenkins.sh"
+ ],
+ "env": [
+ "DOCKER_CERT_PATH=/certs/client",
+ "DOCKER_HOST=tcp://docker:2376",
+ "DOCKER_TLS_VERIFY=1"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "cdb00938cdb2",
+ "id": "cdb00938cdb20d969faffe11c916059865119ac7d2db35842a834873ae09f5ba",
+ "image": "myjenkins-blueocean",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-blueocean",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.3",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:03",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 8080,
+ "internal": 8080,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ },
+ {
+ "external": 50000,
+ "internal": 50000,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": false,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "on-failure",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "jenkins",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": true,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_docker",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "dockerd-entrypoint.sh"
+ ],
+ "env": [
+ "DOCKER_TLS_CERTDIR=/certs"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "868d37414b42",
+ "id": "868d37414b429ab272423898952372d5c69860bde0571e81f824a64fd8eafc54",
+ "image": "docker:dind",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-docker",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.2",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:02",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [
+ "docker"
+ ],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 2376,
+ "internal": 2376,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": true,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "no",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [
+ "label=disable"
+ ],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_network",
+ "name": "jenkins",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "attachable": false,
+ "check_duplicate": null,
+ "driver": "bridge",
+ "id": "64521b487b10dcf6f0e64816c940c2c0172546d1fb4a9ed79c410abddf5af89f",
+ "ingress": false,
+ "internal": false,
+ "ipam_config": [
+ {
+ "aux_address": {},
+ "gateway": "172.18.0.1",
+ "ip_range": "",
+ "subnet": "172.18.0.0/16"
+ }
+ ],
+ "ipam_driver": "default",
+ "ipam_options": {},
+ "ipv6": false,
+ "labels": [],
+ "name": "jenkins",
+ "options": {},
+ "scope": "local"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_volume",
+ "name": "jenkins_data",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "driver": "local",
+ "driver_opts": null,
+ "id": "jenkins-data",
+ "labels": [],
+ "mountpoint": "/var/lib/docker/volumes/jenkins-data/_data",
+ "name": "jenkins-data"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_volume",
+ "name": "jenkins_docker_certs",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "driver": "local",
+ "driver_opts": null,
+ "id": "jenkins-docker-certs",
+ "labels": [],
+ "mountpoint": "/var/lib/docker/volumes/jenkins-docker-certs/_data",
+ "name": "jenkins-docker-certs"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ }
+ ],
+ "check_results": null
+}
diff --git a/docs/terraform.tfstate.1748854600.backup b/docs/terraform.tfstate.1748854600.backup
new file mode 100644
index 000000000..3678b41fe
--- /dev/null
+++ b/docs/terraform.tfstate.1748854600.backup
@@ -0,0 +1,370 @@
+{
+ "version": 4,
+ "terraform_version": "1.10.1",
+ "serial": 6,
+ "lineage": "f3538190-3931-8953-0843-bdcbdc2e1d61",
+ "outputs": {},
+ "resources": [
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_blueocean",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "/usr/bin/tini",
+ "--",
+ "/usr/local/bin/jenkins.sh"
+ ],
+ "env": [
+ "DOCKER_CERT_PATH=/certs/client",
+ "DOCKER_HOST=tcp://docker:2376",
+ "DOCKER_TLS_VERIFY=1"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "f1f9977c3560",
+ "id": "f1f9977c35600f7079afff1d5916409d34668ce6099d074ed532a5591701066d",
+ "image": "myjenkins-blueocean",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-blueocean",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.3",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:03",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 8080,
+ "internal": 8080,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ },
+ {
+ "external": 50000,
+ "internal": 50000,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": false,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "on-failure",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "jenkins",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": true,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_docker",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "dockerd-entrypoint.sh"
+ ],
+ "env": [
+ "DOCKER_TLS_CERTDIR=/certs"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "cfc0ec45d1d3",
+ "id": "cfc0ec45d1d32fe7441228c2f74e74d7451acfde5a185ee3b0b42039cf78fd53",
+ "image": "docker:dind",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-docker",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.2",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:02",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [
+ "docker"
+ ],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 2376,
+ "internal": 2376,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": true,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "no",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [
+ "label=disable"
+ ],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_network",
+ "name": "jenkins",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "attachable": false,
+ "check_duplicate": null,
+ "driver": "bridge",
+ "id": "64521b487b10dcf6f0e64816c940c2c0172546d1fb4a9ed79c410abddf5af89f",
+ "ingress": false,
+ "internal": false,
+ "ipam_config": [
+ {
+ "aux_address": {},
+ "gateway": "172.18.0.1",
+ "ip_range": "",
+ "subnet": "172.18.0.0/16"
+ }
+ ],
+ "ipam_driver": "default",
+ "ipam_options": null,
+ "ipv6": false,
+ "labels": [],
+ "name": "jenkins",
+ "options": {},
+ "scope": "local"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_volume",
+ "name": "jenkins_data",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "driver": "local",
+ "driver_opts": null,
+ "id": "jenkins-data",
+ "labels": [],
+ "mountpoint": "/var/lib/docker/volumes/jenkins-data/_data",
+ "name": "jenkins-data"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_volume",
+ "name": "jenkins_docker_certs",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "driver": "local",
+ "driver_opts": null,
+ "id": "jenkins-docker-certs",
+ "labels": [],
+ "mountpoint": "/var/lib/docker/volumes/jenkins-docker-certs/_data",
+ "name": "jenkins-docker-certs"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ }
+ ],
+ "check_results": null
+}
diff --git a/docs/terraform.tfstate.1748854606.backup b/docs/terraform.tfstate.1748854606.backup
new file mode 100644
index 000000000..98085fba0
--- /dev/null
+++ b/docs/terraform.tfstate.1748854606.backup
@@ -0,0 +1,349 @@
+{
+ "version": 4,
+ "terraform_version": "1.10.1",
+ "serial": 7,
+ "lineage": "f3538190-3931-8953-0843-bdcbdc2e1d61",
+ "outputs": {},
+ "resources": [
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_blueocean",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "/usr/bin/tini",
+ "--",
+ "/usr/local/bin/jenkins.sh"
+ ],
+ "env": [
+ "DOCKER_CERT_PATH=/certs/client",
+ "DOCKER_HOST=tcp://docker:2376",
+ "DOCKER_TLS_VERIFY=1"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "f1f9977c3560",
+ "id": "f1f9977c35600f7079afff1d5916409d34668ce6099d074ed532a5591701066d",
+ "image": "myjenkins-blueocean",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-blueocean",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.3",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:03",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 8080,
+ "internal": 8080,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ },
+ {
+ "external": 50000,
+ "internal": 50000,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": false,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "on-failure",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "jenkins",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": true,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_docker",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "dockerd-entrypoint.sh"
+ ],
+ "env": [
+ "DOCKER_TLS_CERTDIR=/certs"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "cfc0ec45d1d3",
+ "id": "cfc0ec45d1d32fe7441228c2f74e74d7451acfde5a185ee3b0b42039cf78fd53",
+ "image": "docker:dind",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-docker",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.2",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:02",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [
+ "docker"
+ ],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 2376,
+ "internal": 2376,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": true,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "no",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [
+ "label=disable"
+ ],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_network",
+ "name": "jenkins",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "attachable": false,
+ "check_duplicate": null,
+ "driver": "bridge",
+ "id": "64521b487b10dcf6f0e64816c940c2c0172546d1fb4a9ed79c410abddf5af89f",
+ "ingress": false,
+ "internal": false,
+ "ipam_config": [
+ {
+ "aux_address": {},
+ "gateway": "172.18.0.1",
+ "ip_range": "",
+ "subnet": "172.18.0.0/16"
+ }
+ ],
+ "ipam_driver": "default",
+ "ipam_options": null,
+ "ipv6": false,
+ "labels": [],
+ "name": "jenkins",
+ "options": {},
+ "scope": "local"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_volume",
+ "name": "jenkins_docker_certs",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "driver": "local",
+ "driver_opts": null,
+ "id": "jenkins-docker-certs",
+ "labels": [],
+ "mountpoint": "/var/lib/docker/volumes/jenkins-docker-certs/_data",
+ "name": "jenkins-docker-certs"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ }
+ ],
+ "check_results": null
+}
diff --git a/docs/terraform.tfstate.backup b/docs/terraform.tfstate.backup
new file mode 100644
index 000000000..b7950f404
--- /dev/null
+++ b/docs/terraform.tfstate.backup
@@ -0,0 +1,328 @@
+{
+ "version": 4,
+ "terraform_version": "1.10.1",
+ "serial": 8,
+ "lineage": "f3538190-3931-8953-0843-bdcbdc2e1d61",
+ "outputs": {},
+ "resources": [
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_blueocean",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "/usr/bin/tini",
+ "--",
+ "/usr/local/bin/jenkins.sh"
+ ],
+ "env": [
+ "DOCKER_CERT_PATH=/certs/client",
+ "DOCKER_HOST=tcp://docker:2376",
+ "DOCKER_TLS_VERIFY=1"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "f1f9977c3560",
+ "id": "f1f9977c35600f7079afff1d5916409d34668ce6099d074ed532a5591701066d",
+ "image": "myjenkins-blueocean",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-blueocean",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.3",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:03",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 8080,
+ "internal": 8080,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ },
+ {
+ "external": 50000,
+ "internal": 50000,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": false,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "on-failure",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "jenkins",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": true,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_container",
+ "name": "jenkins_docker",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 2,
+ "attributes": {
+ "attach": false,
+ "bridge": "",
+ "capabilities": [],
+ "cgroupns_mode": null,
+ "command": [],
+ "container_logs": null,
+ "container_read_refresh_timeout_milliseconds": 15000,
+ "cpu_period": null,
+ "cpu_quota": null,
+ "cpu_set": "",
+ "cpu_shares": 0,
+ "cpus": null,
+ "destroy_grace_seconds": null,
+ "devices": [],
+ "dns": null,
+ "dns_opts": null,
+ "dns_search": null,
+ "domainname": "",
+ "entrypoint": [
+ "dockerd-entrypoint.sh"
+ ],
+ "env": [
+ "DOCKER_TLS_CERTDIR=/certs"
+ ],
+ "exit_code": null,
+ "gpus": null,
+ "group_add": null,
+ "healthcheck": null,
+ "host": [],
+ "hostname": "cfc0ec45d1d3",
+ "id": "cfc0ec45d1d32fe7441228c2f74e74d7451acfde5a185ee3b0b42039cf78fd53",
+ "image": "docker:dind",
+ "init": false,
+ "ipc_mode": "private",
+ "labels": [],
+ "log_driver": "json-file",
+ "log_opts": null,
+ "logs": false,
+ "max_retry_count": 0,
+ "memory": 0,
+ "memory_swap": 0,
+ "mounts": [],
+ "must_run": true,
+ "name": "jenkins-docker",
+ "network_data": [
+ {
+ "gateway": "172.18.0.1",
+ "global_ipv6_address": "",
+ "global_ipv6_prefix_length": 0,
+ "ip_address": "172.18.0.2",
+ "ip_prefix_length": 16,
+ "ipv6_gateway": "",
+ "mac_address": "02:42:ac:12:00:02",
+ "network_name": "jenkins"
+ }
+ ],
+ "network_mode": "bridge",
+ "networks_advanced": [
+ {
+ "aliases": [
+ "docker"
+ ],
+ "ipv4_address": "",
+ "ipv6_address": "",
+ "name": "jenkins"
+ }
+ ],
+ "pid_mode": "",
+ "ports": [
+ {
+ "external": 2376,
+ "internal": 2376,
+ "ip": "0.0.0.0",
+ "protocol": "tcp"
+ }
+ ],
+ "privileged": true,
+ "publish_all_ports": false,
+ "read_only": false,
+ "remove_volumes": true,
+ "restart": "no",
+ "rm": false,
+ "runtime": "runc",
+ "security_opts": [
+ "label=disable"
+ ],
+ "shm_size": 64,
+ "start": true,
+ "stdin_open": false,
+ "stop_signal": "",
+ "stop_timeout": 0,
+ "storage_opts": null,
+ "sysctls": null,
+ "tmpfs": null,
+ "tty": false,
+ "ulimit": [],
+ "upload": [],
+ "user": "",
+ "userns_mode": "",
+ "volumes": [
+ {
+ "container_path": "/certs/client",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-docker-certs"
+ },
+ {
+ "container_path": "/var/jenkins_home",
+ "from_container": "",
+ "host_path": "",
+ "read_only": null,
+ "volume_name": "jenkins-data"
+ }
+ ],
+ "wait": false,
+ "wait_timeout": 60,
+ "working_dir": "/"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+ "dependencies": [
+ "docker_network.jenkins",
+ "docker_volume.jenkins_data",
+ "docker_volume.jenkins_docker_certs"
+ ]
+ }
+ ]
+ },
+ {
+ "mode": "managed",
+ "type": "docker_network",
+ "name": "jenkins",
+ "provider": "provider[\"registry.terraform.io/kreuzwerker/docker\"]",
+ "instances": [
+ {
+ "schema_version": 1,
+ "attributes": {
+ "attachable": false,
+ "check_duplicate": null,
+ "driver": "bridge",
+ "id": "64521b487b10dcf6f0e64816c940c2c0172546d1fb4a9ed79c410abddf5af89f",
+ "ingress": false,
+ "internal": false,
+ "ipam_config": [
+ {
+ "aux_address": {},
+ "gateway": "172.18.0.1",
+ "ip_range": "",
+ "subnet": "172.18.0.0/16"
+ }
+ ],
+ "ipam_driver": "default",
+ "ipam_options": null,
+ "ipv6": false,
+ "labels": [],
+ "name": "jenkins",
+ "options": {},
+ "scope": "local"
+ },
+ "sensitive_attributes": [],
+ "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+ }
+ ]
+ }
+ ],
+ "check_results": null
+}