From 7729d28489cb2918b04a4e7e8ab334e73da23a77 Mon Sep 17 00:00:00 2001 From: Tomas Tomecek Date: Aug 28 2017 07:01:26 +0000 Subject: [PATCH 1/2] document building container images composed of modules Signed-off-by: Tomas Tomecek --- diff --git a/source/development/building-modules/adding-modules-to-fedora.rst b/source/development/building-modules/adding-modules-to-fedora.rst index 21fb39a..594fde9 100644 --- a/source/development/building-modules/adding-modules-to-fedora.rst +++ b/source/development/building-modules/adding-modules-to-fedora.rst @@ -1,9 +1,12 @@ Adding modules to Fedora ======================== -The `packaging guidelines for modules `__ -and the `review process `__ are final -and approved. +The `packaging guidelines for modules +`__ and the `review process +`__ are final and +approved. Please, go ahead and submit that review request! Make sure to search +for a reviewer at Freenode IRC channel :code:`#fedora-modularity`. + Modular repositories are available in the `fedora dist-git `__ under the module namespace. See the `httpd module `__ as an example or `many others `__. diff --git a/source/development/building-modules/building-infra.rst b/source/development/building-modules/building-infra.rst index 6903739..4343596 100644 --- a/source/development/building-modules/building-infra.rst +++ b/source/development/building-modules/building-infra.rst @@ -1,29 +1,25 @@ Building modules in Fedora ========================== -When your module is ready to get added to Fedora, you need to have write -access to the module dist-git on pkgs.fedoraproject.org and you need -to have pushed all your changes to this module git repository. You can -build your by following method +Requirements +------------ -module-build-service package --------------------------------------- +In order to build your module, you need to have command :code:`mbs-build` +available on your system. -On **Fedora rawhide** and **Fedora 26**, just install it by: +You can obtain it by installing package :code:`module-build-service`: :: $ sudo dnf install module-build-service -On **Fedora 25**, just install the latest version -`https://koji.fedoraproject.org/koji/packageinfo?packageID=23564`: -:: - - $ sudo dnf install +Running builds +-------------- -To build your modulemd, run a command: +Once all your changes are pushed in the dist-git repo, use this command to +initiate a build within infrastructure: :: diff --git a/source/development/building-modules/containers-infra.rst b/source/development/building-modules/containers-infra.rst index 2655071..9b03d16 100644 --- a/source/development/building-modules/containers-infra.rst +++ b/source/development/building-modules/containers-infra.rst @@ -1,82 +1,36 @@ Building containers in Fedora ============================= -Building a container image --------------------------- - -There are two ways to build a Docker container image in Fedora -infrastructure: - -#. **In production environment** -- the process starts by initiating a - review request, as specified in `Container:Review_Process - `__. -#. **In staging environment** -- this is where we can bypass the review - process and iterate more quickly; In order to use staging - environment, we should request creation of dist-git repo and pkgdb - entry via `Fedora Infra - tracker `__. +Your Dockerfile needs to pass a formal review process before it can be part of +Fedora. The review process is described `in Fedora wiki +`__. Builds in production -------------------- -If you want to clone your dist-git repository using ``fedpkg``, you need -to select correct namespace: - -:: - - $ fedpkg clone docker/$COMPONENT - -or - -:: - - $ fedpkg clone modules/memcached - - -Builds in staging ------------------ - - -Install ``fedpkg-stage`` which will add ``fedpkg-stage`` executable to your -system: - -:: +Production builds of container images are documented in the review process +document mentioned above, specifically `in this section +`__. +Please follow the process to perform an infrastructure build of your container +image. - $ dnf install -y fedpkg-stage +In order to get the correct content (modules, RPMs) in your container image, +you should make sure that those artifacts are released and available: +* For modules, this means to have a valid compose with your module. The module + needs to be incorporated inside `this pungi configuration file + `__, if + you want the module to be part of a compose. -If ``fedpkg-stage`` is not able to talk to Fedora infrastructure, it's possible -that you've hit `this issue -`__. - -Make sure that you have kerberos ticket in stage (you may need to create a -Fedora infra ticket to get your production credentials copied to stage): - -:: - - $ kinit $USER@STG.FEDORAPROJECT.ORG - -Once you are ready to submit a build, you need to push changes to a -remote and initiate a build: - -:: - - $ git push - $ fedpkg-stage container-build - - -This is how staging dist-git remote looks like: - -:: - - git clone git+ssh://git@pkgs.stg.fedoraproject.org/$NAMESPACE/$COMPONENT +* For RPMs, the package should pass the Bodhi update process and be available + in repositories. Inspecting registry ------------------- -At the time of writing this (Feb 2017), Fedora docker image registry +At the time of writing this (Aug 2017), Fedora docker image registry doesn't have any frontend. You can access API of registry to get a list of available images: @@ -98,6 +52,3 @@ of available images: "openshift/origin-pod" ] } - -Thank you to `Adam Miller `__ for providing info about -using Docker Layered Image Build System. From 07c2d5c502707d48a977e093e1369ab3007feb33 Mon Sep 17 00:00:00 2001 From: Tomas Tomecek Date: Aug 29 2017 19:11:00 +0000 Subject: [PATCH 2/2] employ suggestions from Nils Signed-off-by: Tomas Tomecek --- diff --git a/source/development/building-modules/adding-modules-to-fedora.rst b/source/development/building-modules/adding-modules-to-fedora.rst index 594fde9..d54548e 100644 --- a/source/development/building-modules/adding-modules-to-fedora.rst +++ b/source/development/building-modules/adding-modules-to-fedora.rst @@ -5,7 +5,7 @@ The `packaging guidelines for modules `__ and the `review process `__ are final and approved. Please, go ahead and submit that review request! Make sure to search -for a reviewer at Freenode IRC channel :code:`#fedora-modularity`. +for a reviewer on the Freenode IRC channel :code:`#fedora-modularity`. Modular repositories are available in the `fedora dist-git `__ under the module namespace. diff --git a/source/development/building-modules/building-infra.rst b/source/development/building-modules/building-infra.rst index 4343596..a09a2cb 100644 --- a/source/development/building-modules/building-infra.rst +++ b/source/development/building-modules/building-infra.rst @@ -5,21 +5,21 @@ Building modules in Fedora Requirements ------------ -In order to build your module, you need to have command :code:`mbs-build` +In order to build your module, you need to have the :code:`mbs-build` command available on your system. -You can obtain it by installing package :code:`module-build-service`: +You can obtain it by installing the :code:`module-build-service` package. :: $ sudo dnf install module-build-service -Running builds --------------- +Building a module +----------------- -Once all your changes are pushed in the dist-git repo, use this command to -initiate a build within infrastructure: +After you have pushed your changes to the dist-git repository, use this command +to build your module: :: diff --git a/source/development/building-modules/containers-infra.rst b/source/development/building-modules/containers-infra.rst index 9b03d16..b807694 100644 --- a/source/development/building-modules/containers-infra.rst +++ b/source/development/building-modules/containers-infra.rst @@ -1,19 +1,18 @@ Building containers in Fedora ============================= -Your Dockerfile needs to pass a formal review process before it can be part of -Fedora. The review process is described `in Fedora wiki +Your Dockerfile needs to be formally reviewed before becoming a part of Fedora. +The review process is described in the `Fedora wiki `__. Builds in production -------------------- -Production builds of container images are documented in the review process -document mentioned above, specifically `in this section -`__. -Please follow the process to perform an infrastructure build of your container -image. +Production builds of container images are documented in `this section +`__ of +the review process document mentioned above. Please follow the process to +perform an infrastructure build of your container image. In order to get the correct content (modules, RPMs) in your container image, you should make sure that those artifacts are released and available: @@ -30,7 +29,7 @@ you should make sure that those artifacts are released and available: Inspecting registry ------------------- -At the time of writing this (Aug 2017), Fedora docker image registry +At the time of writing (Aug 2017), Fedora docker image registry doesn't have any frontend. You can access API of registry to get a list of available images: