ILay 6f8cc2ae09
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 43s
Add missing dagster-postgres dependency
2026-06-15 14:42:01 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00
2026-06-04 17:00:42 +02:00

Simpl-Open Credential Delivery

A Dagster data service for generating Gitea credentials and delivering them to an application consumer by email.

Description

This service extends the standard Dagster workflow template with a credential provisioning flow for Simpl-Open.

The workflow:

  1. receives a repository identifier and consumer details
  2. generates Gitea credentials and repository access
  3. sends the generated credentials by email

Project Structure

simpl_open_credential_delivery/
├── src/
│   └── simpl_open_credential_delivery/
│       ├── repository.py
│       ├── config/
│       ├── hooks/
│       ├── jobs/
│       ├── models/
│       ├── ops/
│       └── services/
├── tests/
├── documents/
├── yaml/
├── Dockerfile
├── pyproject.toml
├── requirements.txt
└── workspace.yaml

Getting Started

Prerequisites

  • Python 3.12+
  • uv or pip for dependency management

Installation

uv sync

Or with pip:

pip install -r requirements.txt

Run Dagster

dagster dev

Environment Variables

Gitea Integration

  • GITEA_BASE_URL: Base URL of the Gitea instance
  • GITEA_ADMIN_TOKEN: Admin token used to provision users, tokens, and repository access
  • GITEA_DEFAULT_OWNER (optional): Default repository owner used when the repository identifier is not fully qualified

Email Delivery

  • SMTP_HOST: SMTP server hostname
  • SMTP_PORT: SMTP server port
  • SMTP_USERNAME (optional): SMTP username
  • SMTP_PASSWORD (optional): SMTP password
  • SMTP_USE_TLS (default true): Enable STARTTLS
  • SMTP_FROM_ADDRESS: Sender email address

Workflow Input

The workflow accepts the following high-level inputs:

  • repository_identifier
  • consumer_email (required, must be a valid email address)
  • access_level

Email subject and body templates are read from environment variables:

  • EMAIL_SUBJECT_TEMPLATE
  • EMAIL_BODY_TEMPLATE

Jobs

simpl_open_credentials_delivery_workflow

Provision Gitea access credentials and send them by email to the consumer.

Development

Tests

pytest

Docker Image

docker build -t simpl-open-credential-delivery:latest .

License

See LICENSE file for details.

Authors

  • Mat Basile

Version

0.1.0

Description
No description provided
Readme 53 KiB
Languages
Python 99.2%
Dockerfile 0.8%