diff --git a/pipelines/exemplo/__init__.py b/pipelines/exemplo/__init__.py index 1337dbc..a9adc75 100644 --- a/pipelines/exemplo/__init__.py +++ b/pipelines/exemplo/__init__.py @@ -1,2 +1,3 @@ # -*- coding: utf-8 -*- from pipelines.exemplo.nome_do_objetivo.flows import * # noqa +from pipelines.exemplo.secrets.flows import * # noqa diff --git a/pipelines/exemplo/secrets/__init__.py b/pipelines/exemplo/secrets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/exemplo/secrets/flows.py b/pipelines/exemplo/secrets/flows.py new file mode 100644 index 0000000..11e0cad --- /dev/null +++ b/pipelines/exemplo/secrets/flows.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +from prefect import Flow, Parameter +from prefect.run_configs import KubernetesRun +from prefect.storage import GCS + +from pipelines.constants import constants +from pipelines.exemplo.secrets.tasks import print_secret, read_secret + +with Flow( + name="rj-escritorio: Nome do objetivo - Descrição detalhada do objetivo", +) as exemplo__secrets__print_flow: + # Parameters + secret_name = Parameter("secret_name", required=True) + + # Tasks + secret_value = read_secret(secret_name=secret_name) + print_secret(secret=secret_value) + +# Storage and run configs +exemplo__secrets__print_flow.storage = GCS(constants.GCS_FLOWS_BUCKET.value) +exemplo__secrets__print_flow.run_config = KubernetesRun(image=constants.DOCKER_IMAGE.value) diff --git a/pipelines/exemplo/secrets/tasks.py b/pipelines/exemplo/secrets/tasks.py new file mode 100644 index 0000000..d3eabf5 --- /dev/null +++ b/pipelines/exemplo/secrets/tasks.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from prefect import task +from prefeitura_rio.pipelines_utils.infisical import get_secret +from prefeitura_rio.pipelines_utils.logging import log + + +@task +def read_secret(secret_name): + return get_secret(secret_name) + + +@task +def print_secret(secret): + log(secret)