Package: dci-downloader
DCI Downloaderdci-downloaderis a useful tool for downloading the latest versions of Red Hat products.TLDR$sudodnf-yinstallhttps://packages.distributed-ci.io/dci-release.el8.noarch.rpm$sudodnf-yinstalldci-downloader$source~/dcirc.sh$dci-downloaderRHEL-9.2/tmp/repoRequirementsRed Hat SSODCI is connected to the Red Hat SSO. You will need aRed Hat account.RemoteciA remoteci is a Virtual Machine or a baremetal server running RHEL.
You should check that your remoteci:Is running the latest RHEL 8 release.Has enough free space in the destination folder.Should be able to reach:https://api.distributed-ci.io(443).https://repo.distributed-ci.io(443).https://registry.distributed-ci.io(443).InstallationThedci-downloaderis packaged and available as a RPM files.$sudodnf-yinstallhttps://packages.distributed-ci.io/dci-release.el8.noarch.rpm$sudodnf-yinstalldci-downloaderConfigurationRemoteci creationDCI is connected to the Red Hat SSO. You need to log inhttps://www.distributed-ci.iowith your redhat.com SSO account. Your user account will be created in our database the first time you connect.After the first connection you can create a remoteci. Go tohttps://www.distributed-ci.io/remotecisand clickCreate a new remotecibutton. Once yourremoteciis created, you can retrieve the connection information in theAuthenticationcolumn. Save those information in~/dcirc.shfile.At this point, you can validate your credentials with the following commands:$source~/dcirc.sh$dcictlremoteci-listIf you see your remoteci in the list, everything is working great so far.Topic accessBefore using dci-downloader, we need to check the list of topic (version of the product) you have access to:$source~/dcirc.sh$dcictltopic-listIf you don't see any topic thenyou should contact your EPM at Red Hatwhich will give you access to the topic you need.UsageYou can now download the latest version of a product using dci-downloader.RHEL examplesExample command to download the latest RHEL-9.2 components into /tmp/repo folder.$dci-downloaderRHEL-9.2/tmp/repoRHOSP examples$dci-downloaderOSP16.1/tmp/repodci-downloader also allows to mirror the container images associated with the component to alocal anonymous registry.$ dci-downloader OSP16.1 /tmp/repo --registry local_registry_host:5000ℹ NOTE:except when using dci-openstack-agent, it's the user's responsibility to provide a working anonymous registry.
If needed a simple way to setup one is by using Docker Distribution registry in a container$podmanrun--rm-p5000:5000registry:2ℹ NOTE: dci-downloader does not currently clean/purge/untag any image on the registry, leaving this responsibility to the the user until a suitable solution is provided.OptionsBy default dci-downloader will download all variants for x86_64 architecture without debug RPMs.Download other architecturesTo download other architectures you can specify those using--archoptionDownload x86_64 and ppc64le architectures for RHEL-9.2 topic:$dci-downloaderRHEL-9.2/tmp/repo--archx86_64--archppc64leSpecific variantsTo download only specific variants you can specify those using--variantDownload only AppStream and BaseOS variants:$dci-downloaderRHEL-9.2/tmp/repo--variantAppStream--variantBaseOSFiltersBy default dci-downloader download the latest components attached to a topic.
But if you want to filter those component, you can use the--filter <type>or--filter <type>:<tag>option.Download only the latest RHEL-9.2compose$dci-downloaderRHEL-9.2/tmp/repo--filter=composeDownload only the latest RHEL-9.2composewith tagnightly$dci-downloaderRHEL-9.2/tmp/repo--filter=compose:nightlyDownload the whole composeTo download everything you can add the--allflag$dci-downloaderRHEL-9.2/tmp/repo--allDebug RPMsTo download debug RPMs you can add the--debugflagDownload RHEL-9.2 compose with debug rpms$dci-downloaderRHEL-9.2/tmp/repo--debugSettings fileYou can use a settings file to send parameters to parameterize dci-downloader.Use--settingsparameter:$dci-downloader--settings"/etc/dci-rhel-agent/settings.yml"All settings from settings.yml file will overwrite cli parameters.Examples of a settings file:download_folder:/tmp/repotopics:-name:RHEL-9.2filters:-type:composetag:nightly-name:RHEL-8.6filters:-type:composetag:milestonearchs:-ppc64levariants:-AppStream-name:BaseOSwith_debug:trueProxyIf you are using a proxy, just addHTTP_PROXYorHTTPS_PROXYenv variable pointing to your proxy.LicenseApache License, Version 2.0 (seeLICENSEfile)HelpIf something is not working correctly, ensure you have the latest version installed$dci-downloader--version$dci-downloader--helpTo contact DCI seeQuestions and help