squid.py 956 B

1234567891011121314151617181920212223242526272829303132
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. from materialize.mzcompose.service import (
  10. Service,
  11. )
  12. class Squid(Service):
  13. """
  14. An HTTP forward proxy, used in some workflows to test whether Materialize can correctly route
  15. traffic via the proxy.
  16. """
  17. def __init__(
  18. self,
  19. name: str = "squid",
  20. image: str = "sameersbn/squid:3.5.27-2",
  21. port: int = 3128,
  22. volumes: list[str] = ["./squid.conf:/etc/squid/squid.conf"],
  23. ) -> None:
  24. super().__init__(
  25. name=name,
  26. config={"image": image, "ports": [port], "volumes": volumes},
  27. )