| # docker.yaml provides details about each Dockerfile in the repo. |
| # Unlike standard Dockerfiles, Istio builds artifacts outside of docker and then copies them to a temp folder; |
| # This folder is then passed as the docker context. This avoids complex .dockerignore or large context loads. |
| |
| # Example image config |
| example: |
| - name: helloworld # Name of the image. Will end up pushed to <HUB>/helloworld:<TAG> |
| dockerfile: helloworld/Dockerfile.proxyv2 |
| files: |
| # Include a static file |
| # Inside the Dockerfile, this is referenced by the base name (README.md), not the full name. |
| - samples/README.md |
| targets: |
| # Build a file with make, then include as a static file |
| - ${TARGET_OUT_LINUX}/helloworld |
| |
| images: |
| |
| # Base images |
| - name: base |
| dockerfile: docker/Dockerfile.base |
| base: true |
| |
| - name: distroless |
| dockerfile: docker/Dockerfile.distroless |
| base: true |
| |
| # Production images |
| - name: proxyv2 |
| dockerfile: pilot/docker/Dockerfile.proxyv2 |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tools/packaging/common/gcp_envoy_bootstrap.json |
| - ${TARGET_OUT_LINUX}/release/${SIDECAR} |
| - ${TARGET_OUT_LINUX}/release/stats-filter.wasm |
| - ${TARGET_OUT_LINUX}/release/stats-filter.compiled.wasm |
| - ${TARGET_OUT_LINUX}/release/metadata-exchange-filter.wasm |
| - ${TARGET_OUT_LINUX}/release/metadata-exchange-filter.compiled.wasm |
| targets: |
| - ${TARGET_OUT_LINUX}/pilot-agent |
| - name: pilot |
| dockerfile: pilot/docker/Dockerfile.pilot |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tools/packaging/common/gcp_envoy_bootstrap.json |
| targets: |
| - ${TARGET_OUT_LINUX}/pilot-discovery |
| |
| - name: istioctl |
| dockerfile: istioctl/docker/Dockerfile.istioctl |
| targets: |
| - ${TARGET_OUT_LINUX}/istioctl |
| |
| - name: operator |
| dockerfile: operator/docker/Dockerfile.operator |
| files: |
| - manifests |
| targets: |
| - ${TARGET_OUT_LINUX}/operator |
| |
| - name: install-cni |
| dockerfile: cni/deployments/kubernetes/Dockerfile.install-cni |
| targets: |
| - ${TARGET_OUT_LINUX}/istio-cni |
| - ${TARGET_OUT_LINUX}/istio-iptables |
| - ${TARGET_OUT_LINUX}/install-cni |
| - ${TARGET_OUT_LINUX}/istio-cni-taint |
| |
| # Test images |
| - name: app |
| dockerfile: pkg/test/echo/docker/Dockerfile.app |
| files: |
| - tests/testdata/certs |
| targets: |
| - ${TARGET_OUT_LINUX}/client |
| - ${TARGET_OUT_LINUX}/server |
| |
| # Sample authz server |
| - name: ext-authz |
| dockerfile: samples/extauthz/docker/Dockerfile |
| targets: |
| - ${TARGET_OUT_LINUX}/extauthz |
| |
| # TODO(https://github.com/istio/istio/issues/38224) |
| #- name: app_sidecar_rockylinux_8 |
| # dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_centos_8 |
| # files: |
| # - tools/packaging/common/envoy_bootstrap.json |
| # - tests/testdata/certs |
| # - pkg/test/echo/docker/echo-start.sh |
| # - pkg/test/echo/docker/sudoers |
| # targets: |
| # - ${TARGET_OUT_LINUX}/release/istio-sidecar.rpm |
| # - ${TARGET_OUT_LINUX}/client |
| # - ${TARGET_OUT_LINUX}/server |
| - name: app_sidecar_centos_7 |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_centos_7 |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tests/testdata/certs |
| - pkg/test/echo/docker/echo-start.sh |
| - pkg/test/echo/docker/sudoers |
| targets: |
| - ${TARGET_OUT_LINUX}/release/istio-sidecar-centos-7.rpm |
| - ${TARGET_OUT_LINUX}/client |
| - ${TARGET_OUT_LINUX}/server |
| - name: app_sidecar_debian_11 |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tests/testdata/certs |
| - pkg/test/echo/docker/echo-start.sh |
| - pkg/test/echo/docker/sudoers |
| targets: |
| - ${TARGET_OUT_LINUX}/release/istio-sidecar.deb |
| - ${TARGET_OUT_LINUX}/client |
| - ${TARGET_OUT_LINUX}/server |
| - name: app_sidecar_ubuntu_jammy |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tests/testdata/certs |
| - pkg/test/echo/docker/echo-start.sh |
| - pkg/test/echo/docker/sudoers |
| targets: |
| - ${TARGET_OUT_LINUX}/release/istio-sidecar.deb |
| - ${TARGET_OUT_LINUX}/client |
| - ${TARGET_OUT_LINUX}/server |
| - name: app_sidecar_ubuntu_xenial |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar |
| files: |
| - tools/packaging/common/envoy_bootstrap.json |
| - tests/testdata/certs |
| - pkg/test/echo/docker/echo-start.sh |
| - pkg/test/echo/docker/sudoers |
| targets: |
| - ${TARGET_OUT_LINUX}/release/istio-sidecar.deb |
| - ${TARGET_OUT_LINUX}/client |
| - ${TARGET_OUT_LINUX}/server |
| |
| # Test base images |
| - name: app_sidecar_base_debian_11 # latest debian |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_base |
| base: true |
| - name: app_sidecar_base_ubuntu_jammy # newest ubuntu |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_base |
| base: true |
| - name: app_sidecar_base_ubuntu_xenial # oldest supported ubuntu |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_base |
| base: true |
| # TODO(https://github.com/istio/istio/issues/38224) |
| #- name: app_sidecar_base_rockylinux_8 # newest RHEL-based |
| # dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_base_centos |
| # base: true |
| - name: app_sidecar_base_centos_7 # oldest supported RHEL-based |
| dockerfile: pkg/test/echo/docker/Dockerfile.app_sidecar_base_centos |
| base: true |