#84 Added modularity glossary
Merged 3 years ago by mcurlej. Opened 3 years ago by mcurlej.
fedora-docs/ mcurlej/modularity glossary_rev  into  master

file modified
+1
@@ -1,6 +1,7 @@ 

  * **What is Modularity**

  * xref:index.adoc[Introduction]

  * xref:community.adoc[Community]

+ * xref:glossary.adoc[Glossary]

  * xref:architecture.adoc[Core Concepts]

  ** xref:architecture/building.adoc[Building Software]

  ** xref:architecture/consuming.adoc[Consuming Software]

@@ -0,0 +1,43 @@ 

+ = Glossary

+ 

+ Modularity introduces a lot of new keywords to the established packaging ecosystem. This is a short glossary to get you started on the basic terms.

+ 

+ == Modularity

+ * Modularity is an extension to the RPM ecosystem that allows to distribute and consume <<Module Repository,Module Repositories>> with alternative content.

+ 

+ == Module Repository

+ * Module repository is an RPM repository extended with <<Module Metadata (modulemd),Module Metadata>>. It allows users to query and fetch information about the available Module Streams as well as RPM packages from them.

+ 

+ == Module Stream

+ * Module Stream is a collection of RPM packages as defined by the <<Module Metadata (modulemd),Module Metadata>>.

+ * Usually, a Module Stream represents a certain major version or a specific build configuration of RPM packages grouped together by purpose. More specific example would be postgres:12: a Module Stream of the postgres Module with PostgreSQL version 12 and PostgreSQL-12-related packages.

+ 

+ == Module

+ * Collection of Module Streams with the same name.

+ * For example: postgresql module consists of postgresql:10 and postgresql:12 <<Module Strea,Module Streams>>.

+ “Module” is also frequently used as an informal reference to <<Module Artifact>>.

+ For example: Hey buddy, I’ve just built the postgresql:12:20200101:aabbccdd:x86_64 module, go check it out!

+ 

+ == Default Module Stream

+ * Default Module Stream is a <<Module Stream>> pre-selected by the software distributor (such as Fedora or RHEL authorities) to be implicitly considered for package installation and dependency resolution and automatically enabled when packages from the stream are needed. One Module can only have zero or one Default Module Stream.

+ * Example: The nodejs:14 <<Module Stream>> is the Default Module Stream of the nodejs <<Module>> and the stream contains a libuv package. When the user installs libuv (directly or indirectly), the nodejs:14 <<Module Stream>> is automatically enabled without an explicit user action. Installation of the libuv package from any other <<Module Stream>> or from a non-module repository requires explicit action (such as disabling the nodejs:14 stream).

+ 

+ == Module Artifact

+ * <<Module Metadata (modulemd),Module Metadata>> + built RPMs identified by <<NSVCA,N:S:V:C:A>>.

+ 

+ == Module Build

+ * Module Build is a collection of <<Module Artifact,Module Artifacts>> with the same <<NSVCA,NSVC>>

+ 

+ == Module Metadata (modulemd)

+ * Module Metadata is a modulemd yaml document that contains information about a <<Module Artifact,Module Artifact>>. Module Metadata can be found in modules.yaml in the repodata.

+ * For more information see xref:building-modules/fedora/defining-modules.adoc[this topic].

+ * The standard for yaml modulemd files is defined https://github.com/fedora-modularity/libmodulemd/tree/master/yaml_specs[here^].

+ 

+ == NSVCA

+ * This abbreviation describes the new naming conventions for <<Module,modules>> i. e. Name:Stream:Version:Context:Architecture. 

+ * For more information see xref:architecture/nsvca.adoc[this section].

+ 

+ == (Module) Stream Expansion

+ * Stream expansion is a feature of Modularity. It enables you to build your module streams for several OS releases. The <<Module Metadata (modulemd),Module Metadata>> specifies how and for what major releases of an operating system, your package will be built. 

+ * For example: you can specify that mariadb:10 can be built for f29, f30, f31 and not built for f28 with specific options for each buildroot. 

+ * For more information see xref:architecture/stream-expansion.adoc[this section]. 

\ No newline at end of file

A glossary with a short definition of some of the new terms
whic modularity introduced into the packaging ecosystem.

Issue: modularit:#174

Signed-off-by: Martin Curlej mcurlej@redhat.com

Pull-Request has been merged by mcurlej

3 years ago