Module materialize.mzcompose.services.frontegg

Expand source code Browse git
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.


from materialize.mzcompose.service import (
    Service,
    ServiceDependency,
)
from materialize.ui import UIError


class FronteggMock(Service):
    def __init__(
        self,
        users: str,
        issuer: str,
        encoding_key: str | None = None,
        encoding_key_file: str | None = None,
        decoding_key: str | None = None,
        decoding_key_file: str | None = None,
        name: str = "frontegg-mock",
        mzbuild: str = "frontegg-mock",
        volumes: list[str] = [],
        depends_on: list[str] = [],
    ) -> None:
        command = [
            "--listen-addr=0.0.0.0:6880",
            "--users",
            users,
            "--issuer",
            issuer,
        ]
        if encoding_key:
            command += ["--encoding-key", encoding_key]
        elif encoding_key_file:
            command += ["--encoding-key-file", encoding_key_file]
        else:
            raise UIError("FronteggMock service must specify encoding-key[-file]")

        if decoding_key:
            command += ["--decoding-key", decoding_key]
        elif decoding_key_file:
            command += ["--decoding-key-file", decoding_key_file]
        else:
            raise UIError("FronteggMock service must specify decoding-key[-file]")

        depends_graph: dict[str, ServiceDependency] = {
            s: {"condition": "service_started"} for s in depends_on
        }

        super().__init__(
            name=name,
            config={
                "mzbuild": mzbuild,
                "command": command,
                "ports": [6880],
                "volumes": volumes,
                "depends_on": depends_graph,
            },
        )

Classes

class FronteggMock (users: str, issuer: str, encoding_key: str | None = None, encoding_key_file: str | None = None, decoding_key: str | None = None, decoding_key_file: str | None = None, name: str = 'frontegg-mock', mzbuild: str = 'frontegg-mock', volumes: list[str] = [], depends_on: list[str] = [])

A Docker Compose service in a Composition.

Attributes

name
The name of the service.
config
The definition of the service.
Expand source code Browse git
class FronteggMock(Service):
    def __init__(
        self,
        users: str,
        issuer: str,
        encoding_key: str | None = None,
        encoding_key_file: str | None = None,
        decoding_key: str | None = None,
        decoding_key_file: str | None = None,
        name: str = "frontegg-mock",
        mzbuild: str = "frontegg-mock",
        volumes: list[str] = [],
        depends_on: list[str] = [],
    ) -> None:
        command = [
            "--listen-addr=0.0.0.0:6880",
            "--users",
            users,
            "--issuer",
            issuer,
        ]
        if encoding_key:
            command += ["--encoding-key", encoding_key]
        elif encoding_key_file:
            command += ["--encoding-key-file", encoding_key_file]
        else:
            raise UIError("FronteggMock service must specify encoding-key[-file]")

        if decoding_key:
            command += ["--decoding-key", decoding_key]
        elif decoding_key_file:
            command += ["--decoding-key-file", decoding_key_file]
        else:
            raise UIError("FronteggMock service must specify decoding-key[-file]")

        depends_graph: dict[str, ServiceDependency] = {
            s: {"condition": "service_started"} for s in depends_on
        }

        super().__init__(
            name=name,
            config={
                "mzbuild": mzbuild,
                "command": command,
                "ports": [6880],
                "volumes": volumes,
                "depends_on": depends_graph,
            },
        )

Ancestors