connectors: carry the NOTICE content of bundled crates into the fat iggy-connect image

Abierto
#4,748 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
docker, github-actions, rust

Línea de trabajo

First confirm that #4533 has merged and review its full crate list; the issue says work before then may be incomplete. Read core/connectors/runtime/Dockerfile, about.hbs, and scripts/ci/third-party-licenses.sh to understand how the manifest and fat image are built. Decide where to collect and ship bundled crate NOTICE content, check whether the slim image is affected, and get a PMC member to review the legal text.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

CI/CD connectors
Description

This issue is valid only after #4533 is merged. It depends on the crate list that PR produces: the connectors runtime plus every connector plugin. Work started before the merge can use an incomplete list.

The fat apache/iggy-connect image bundles many third-party crates. Some of them ship their own NOTICE file, for example parquet, arrow-array, object_store (NOTICE.txt), and iceberg, apache-avro (NOTICE).

The image carries only the repository NOTICE, which core/connectors/runtime/Dockerfile copies to /usr/share/doc/iggy-connect/. The generated LICENSE-binary comes from about.hbs. That template prints license names, the crates that use each license, and the license text. It does not print NOTICE content.

ASF policy requires that the NOTICE content of bundled Apache-2.0 software reaches the distribution. The fat image does not do this today. The fat image must ship the NOTICE content of every bundled crate that has one, taken from the full crate list and not from the plugins alone.

Raised in the review of #4533 (https://github.com/apache/iggy/pull/4533), comment on core/connectors/runtime/Dockerfile. The reviewer agreed that this can be a follow-up.

Affected area / component

Connectors, CI / build / tooling

Proposed solution

Collect the NOTICE files of the bundled crates when the license manifest is generated, and ship their content in the fat image. Open points:

  • Does the content go into the shipped NOTICE file, or into a separate file next to it?
  • Does the slim image need the same change for the runtime crates?
  • Which tool collects the NOTICE files: cargo-about, or a step in scripts/ci/third-party-licenses.sh?
  • A PMC member must review the result, because it is legal text.
Alternatives considered

Leave the NOTICE content out and document the gap. This does not meet the ASF policy, so it is not an option for a release.

Contribution
  • I'm willing to submit a pull request to implement this feature
Good first issue
  • I think this could be a good first issue for a new contributor
Lenguaje dominante
Rust
Estrellas
5.2k
Forks
516
Merge medio
2 d 17 h
PR fusionados (30 d)
155

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/iggy

Todos los issues de apache/iggy

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.