Git Product home page Git Product logo

quay-docs's Introduction

Contributing to Red Hat Quay documentation

Repository structure

The Red Hat Quay repository is structured as follows:

  • Books go into a top-level directory. For example, repo_dir/manage_quay or repo_dir/release_notes.

  • Each book directory has a symlink to the top-level repo_dir/modules directory.

  • A book’s table of contents, or ToC, is defined in the master.adoc that is contained within the book’s directory. Each directory has its own master.adoc file.

  • The master.adoc file contains include statements to modules, which act as chapters and subchapters. These are created in the top-level modules/ directory.

  • The docinfo.xml in the book’s directory contains basic information about the book, such as the product name, the product version, and the organization name.

Setting up your repository for contribution

  1. For downstream contribution, which is the official Red Hat Quay documentation found on the Red Hat portal, you must obtain Developer, Maintainer, or Owner permissions for the downstream repository.

    To obtain the necessary permissions, contact a Maintainer or Owner from the Gitlab project members list. Default to contacting Steven Smith.

  2. Fork the upstream repository by clicking the Fork button.

  3. Clone your fork of the repository to your computer:

    $ git clone [email protected]:<username>/quay-docs.git

    Substitute <username> with your GitHub user name.

  4. Navigate to the cloned repository:

    $ cd quay-docs
  5. Add the upstream remote:

    $ git remote add upstream [email protected]:quay/quay-docs.git
  6. Add the downstream remote:

    $ git remote add downstream [email protected]:red-hat-quay-documentation/quay-documentation.git

How do I make a contribution?

To contribute to Red Hat Quay documentation, you must create a new feature branch based off of the master branch.

  1. Checkout the master branch if you have not already:

    $ git checkout master
  2. Create a new feature branch based off the master branch:

    $ git checkout -b <branch_name> master

    Substitute <branch_name> with a name that reflects the contribution you intend to make.

  3. Edit the files and commit them using git add and git commit. Make your commit in present tense, highlighting the change that you have made.

  4. Push your commits to your fork of the upstream repository:

    $ git push origin <branch_name>
  5. Create a pull request from <your_fork>/<branch_name> to quay/master. For that, either:

    1. Visit the link from the output of the previous step. The link is there after the first push only.

    2. Navigate to https://github.com/<your_username>/quay-docs. Use the interface to create the pull request

    As you create the pull request, tag one of the repository collaborators and ask them to review the pull request. The default contact should be Steven Smith.

  6. Work with the reviewer to finish your pull request. After the suggested changes have been made, the reviewer will merge the pull request.

  7. After your pull request is merged into the master branch, your updates will become live in the Project Quay documentation. Eventually, those changes will end up on the portal.

How do I make a contribution to the downstream documentation?

Like upstream documentation, downstream documentation primarily resides in the master branch of the downstream repository. For most users, the only necessary step is to create a feature branch from the master branch.

To make a contribution to upstream documentation, follow the instructions at How do I make a contribution?. Be sure to work with the documentation lead for Red Hat Quay to get the content reviewed, merged, and published on the downstream portal.

How Red Hat Quay downstream documentation is branched

After you have created and merged a pull request, relevant branches are then reset to match the master branch. For example, if the current version of Red Hat Quay is 3.10, then the relevant 3.10 branch (redhat-3.10) is reset to match the master. branch. This ensures that the most recent content changes are up to date in the most recent version branch.

After the the most recent branch is reset to match the master branch, the 3.0-stage branch is then reset to match the most recent version branch (for example, 3.0-stage is reset to match redhat-3.10). The reason for this is that the Red Hat Quay 3 version is copied directly from the most recent version of Red Hat Quay.

How do I keep my local master up-to-date with remote master?

As contributors push and merge pull requests to the master branch, you must keep your local master branch up to date. Prior to making any changes to the documentation, you should rebase your local master branch to match the most recent version of the remote master branch.

  1. Check out the master branch:

    $ git checkout master
  2. Fetch the commits that are in the upstream repository but not in your local repository:

    $ git fetch upstream
  3. Apply the fetched commits to your local master:

    $ git rebase upstream/master

Now, your local master branch is up to date.

How do I keep my feature branch up-to-date with the master branch?

As new commits appear on the master branch, your existing feature branch does not automatically incorporate those commits. To prevent your feature branch and master from diverging, you need to manually update your feature branch to the master branch:

  1. Bring your local master brnach up-to-date with the remote master branch by following the instructions at How do I keep my local master up-to-date with remote master?.

  2. Switch to the feature branch that you want to update:

    $ git checkout <feature_branch>
  3. Apply the commits from the master branch to your <feature_branch>:

    $ git rebase upstream/master
  4. Push the updated <feature_branch> to your fork of the upstream repository. Since your local <feature_branch> has been updated, it might be incompatible with the remote <feature_branch>, so you need to use the --force option:

    Important

    Never use the --force argument when pushing to master.

    $ git push --force origin <feature_branch>

How do I make content appear in upstream but not in downstream?

You can make content appear only in the upstream by using the ifdef::upstream conditional around the content that you only want to appear upstream. For example:

ifdef::upstream[]
<Content that should be in upstream only.>
endif::upstream[]

How do I make content appear in downstream but not in upstream?

You can make content appear only in the downstream by using the ifdef::downstream conditional around the content that you only want to appear downstream. For example:

ifdef::downstream[]
<Content that should be in downstream only.>
endif::downstream[]

quay-docs's People

Contributors

alecmerdler avatar alishaibm avatar apinnick avatar billdett avatar chrisnegus avatar dmesser avatar drichtarik avatar flavianmissi avatar gabriel-rh avatar geragio avatar jasinner avatar jharmison-redhat avatar jonathankingfc avatar juozasa avatar kleesc avatar rh-max avatar sayalibhavsar avatar sferich888 avatar snarayan-redhat avatar stevsmit avatar supersandro2000 avatar vikram-redhat avatar wethinkagile avatar wgordon17 avatar yussufsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quay-docs's Issues

LOGS_MODEL description

Which section(s) is the issue in?

Action log configuration fields

What needs fixing?

The description in the LOGS_MODEL field says Enable or disable the security scanner and it sounds like referring to the security scanner, but this should be about action logs options such as database used by default or elasticsearch to export action logs.

When will quay.io fully use v2's scheme2.manifest

quay.io is still use the v2's scheme1.manifest

$ token=`curl -s "https://quay.io/v2/auth?service=quay.io&scope=repository:kubernetes-ingress-controller/nginx-ingress-controller:pull" | jq -r .token`
$ curl -sLH "Authorization: Bearer $token"   https://quay.io/v2/kubernetes-ingress-controller/nginx-ingress-controller/manifests/0.24.1
{
   "schemaVersion": 1,
 ...

Outdated README

README.adoc says the changes should be done against 3.0-master branch but from the recent pull requests it looks like the changes are normally done against master branch. Is the information in README.adoc accurate? Also, it is not clear how relevant the file README.md is. Note that it starts with "Testing changes. Please ignore." If the file is no longer relevant it probably should be removed from the repository. If some of the information is still relevant it should be merged into README.adoc.

Issues with PostgreSQL database steps in HA setup

Location:
Chapter 2.3. Setting up the HAProxy load balancer and the PostgreSQL database

Step 5-8 runs psql commands from the container path /opt/rh/rh-postgresql96/root/usr/bin/psql. This path does not exist in registry.redhat.io/rhel8/postgresql-13:1-109 image.

[root@HA-quay1 ~]#  mkdir -p /var/lib/pgsql/data1
[root@HA-quay1 ~]# chmod 777 /var/lib/pgsql/data1
[root@HA-quay1 ~]# podman run -d --name postgresql_database1 \
>     -v /var/lib/pgsql/data1:/var/lib/pgsql/data1:Z  \
>     -e POSTGRESQL_USER=quayuser -e POSTGRESQL_PASSWORD=quaypass \
>     -e POSTGRESQL_DATABASE=quaydb -p 5439:5432 \
>     registry.redhat.io/rhel8/postgresql-13:1-109
e1763f752a243395186d51bdc1d2583cb8a79be20deb88c7e6074b66802e6635
[root@HA-quay1 ~]# podman exec -it postgresql_database1 /bin/bash -c 'ls /opt/rh/rh-postgresql96/root/usr/bin/psql'
ls: cannot access '/opt/rh/rh-postgresql96/root/usr/bin/psql': No such file or directory
[root@HA-quay1 ~]# podman exec -it postgresql_database1 /bin/bash -c 'which psql'
/usr/bin/psql

Possible solution:
Use /usr/bin/psql path instead of /opt/rh/rh-postgresql96/root/usr/bin/psql in the steps mentioned.

Setting up clair security scanning

Hi good morning

I'm using quay (community) and now I'm trying to download the image of the clair with the command 'docker pull quay.io/redhat/clair-jwt:v3.3.0' but I'm getting the following error below

fsbano @ argon ~% docker login quay.io
Username: fsbano
Password:
Login successful
fsbano @ argon ~% docker pull quay.io/redhat/clair-jwt:v3.3.0
Daemon error response: unauthorized: access to the requested resource is not authorized
fsbano @ argon ~%

Best regards,
Fábio Sbano

tls unmanaged and cert/key placement

Which section(s) is the issue in?

Configuring TLS and routes

What needs fixing?

Managed tls means that the default cluster wildcard cert is used. Unmanaged tls means that the user provided cert/key pair will be injected into the Route.
I think this should say "user provided cert/key pair will be injected into into the Quay container" but not for the Route object, but is it correct? Because when tls is set unmanaged, Route with passthrough termination is used instead of edge termination.

Operator provisioned Postgresql credentials

It could be worth mentioning that when Postgresql DB (for Quay and for Clair) is provisioned by Quay Operator, POSTGRES_ADMIN_PASSWORD environment variable is not being set:

https://github.com/redhat-cop/quay-operator/blob/8f6360ec4864a889a0965aa140b4158ff3bf079f/pkg/controller/quayecosystem/resources/deployments.go#L588

So the database secret database-root-password field is used only if they are using their own database (whether it is containerised or not):
https://github.com/quay/quay-docs/blob/master/modules/proc_deploy-quay-openshift-operator.adoc#specifying-database-credentials

Quay.io CDN URLs

Hi all.

In our on prem network we have to request access to technical URLs like quay.io via change requests to the internet proxy team to be able to reach them with tools like Docker or Podman.

I have requested to quay.io which is working fine, but a Docker pull is suddenly ending up in 407 proxy auth errors.
Analysis with our proxy team figured out that a redirect is happening to cdn.quay.io and furthermore to cdn02.quay.io etc.

Is there a stable list of URLs which we could add to our rules?
The proxy team and internal security will most likely not accept wildcard rules like *.quay.io if there is no good reason.

Thanks for your hints.

Regards Sergei

Quay deployment on OpenShift using the operator doesn't respect routeHost in spec

Files Affected:
modules/proc_deploy-quay-openshift-operator.adoc

The documented property isn't respected by the operator for either the Quay route or the Quay Configuration route. Per the README on quay-operator, the appropriate conversions are:
routeHost --> hostname
configRouteHost --> configHostname

A PR resolving this issue is incoming.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.