Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2017-08-21 06:30:44
Size: 1101
Editor: ?MichaelLustfield
Comment:
Revision 12 as of 2017-08-23 04:09:04
Size: 4891
Editor: ?MichaelLustfield
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:

Gitea is a git front-end that supports collaborative development, similar to github/gitlab/etc.
Line 8: Line 11:
= Gitea =

Gitea is a git front-end, similar to github/gitlab/etc.
Line 22: Line 22:
Hosting is currently provided by [[https://db.debian.org/search.cgi?&uid=MTecknology&dosearch=Search|MTecknology]] === Service Level ===

This service is currently hosted by [[https://db.debian.org/search.cgi?&uid=MTecknology&dosearch=Search|MTecknology]]. It as being treated as a production service.

The service is running two redundant gitea instances on a pair of 512MB VPS instances with a separate 512MB VPS for persistent storage (db & repos). DNS round-robin is being used for load balancing (despite any actual need for it).

Hosting will eventually find a new home. This will cause an outage while all data is migrated to the new host.

No automatic removal or wiping of data will occur. Administrators will make timely attempts to contact users if data needs to be relocated.

=== Authentication ===

Authentication to this service is handled using [[https://sso.debian.org/|Debian's SSO]] service.

=== Password Verification ===

For some actions, gitea requires password verification. In these cases, a password must be configured.

To set a password, navigate to [[https://gitea.debian.net/user/settings/password|/user/settings/password]], click "Forgot password?," and follow the instructions. This will allow you to create a password to acknowledge these prompts.

=== Package Groups ===

At this time, package groups are not being created. If you need a group (organization) to exist, please contact an administrator. These groups will be manually created and efforts to contact the package group admins (referenced from alioth) to grant ownership to will be made.

=== The API ===

Gitea provides a loosely documented API.

To utilize the API, first log into Gitea and navigate to [[https://gitea.debian.net/user/settings/applications|/user/settings/applications]]. Use the "Generate New Token" button to generate a key and be sure not to lose it.

Swagger is used to provide a function list underneath [[https://gitea.debian.net/swagger|/swagger]]. Two headers will need to be added to API requests: '''Content-Type''' and '''Authorization'''. Content-Type is simply 'application/json'. Authorization is "token <your_application_token>".

If you were interested in finding your own uid, you would find it with this:

{{{
curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -X GET https://gitea.debian.net/api/v1/user
}}}

'''Note:''' Getting org/team IDs is not currently possible: https://github.com/go-gitea/gitea/issues/1821 (collab-maint=id:2)

To import a project from alioth (using a browser):

Navigate to [[https://gitea.debian.net/repo/migrate|/repo/migrate]], fill out the details, click Migrate Repository.

'''Note:''' While it's possible to convert a mirrored (replicated) repo to a cloned one, the reverse is not true.

To import a project from alioth (using the api):

{{{
gitsrc="https://anonscm.debian.org/git/collab-maint/arduino.git"
gitname="arduino"

curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\" \"mirror\": false}" \
     -X POST https://gitea.debian.net/api/v1/repos/migrate
}}}

To instead mirror the repository, use mirror:true instead. The repository will be cloned as a mirror and perform regular checks for new content.

Additional Reading:

 * https://github.com/gogits/go-gogs-client/wiki/Repositories

=== Maintenance ===

Gitea has these administrator(s):

 * Michael Lustfield (MTecknology)

For simple non-urgent requests, feel free to open an issue against the [[https://gitea.debian.net/debian-gitea-svc/meta-admin/issues|Debian Gitea Service]].
Line 26: Line 98:
A [[https://github.com/go-gitea/gitea/issues/2347|feature request]] exists to set the user's email address from Debian's SSO, but it's unlikely to be added any time in the near future.  * A [[https://github.com/go-gitea/gitea/issues/2347|feature request]] exists to set the user's email address from Debian's SSO, but it's unlikely to be added any time in the near future.
 * MTecknology's personal mail domain is being used for mail delivery; this should be routed through a Debian mail host.
Line 28: Line 101:
It would be nice to re-deploy this instance from scratch without demo-imported repos, done with config management. === Questions ===

 * How are Debian account groups injected or supported? -- Accounts are pulled from SSO. There has been no discussion about groups; they will likely remain manual.

Translation(s): English

Gitea is a git front-end that supports collaborative development, similar to github/gitlab/etc.



Packaging Process

At this time, gitea is not packaged for Debian. Help is needed to complete existing libjs ITP's blocking the Gitea ITP.

Additional work need to be merged upstream. Unfortunately, upstream is being a bit stubborn with this one.

Debian's Gitea

A Gitea instance for Debian is running at https://gitea.debian.net.

Service Level

This service is currently hosted by MTecknology. It as being treated as a production service.

The service is running two redundant gitea instances on a pair of 512MB VPS instances with a separate 512MB VPS for persistent storage (db & repos). DNS round-robin is being used for load balancing (despite any actual need for it).

Hosting will eventually find a new home. This will cause an outage while all data is migrated to the new host.

No automatic removal or wiping of data will occur. Administrators will make timely attempts to contact users if data needs to be relocated.

Authentication

Authentication to this service is handled using Debian's SSO service.

Password Verification

For some actions, gitea requires password verification. In these cases, a password must be configured.

To set a password, navigate to /user/settings/password, click "Forgot password?," and follow the instructions. This will allow you to create a password to acknowledge these prompts.

Package Groups

At this time, package groups are not being created. If you need a group (organization) to exist, please contact an administrator. These groups will be manually created and efforts to contact the package group admins (referenced from alioth) to grant ownership to will be made.

The API

Gitea provides a loosely documented API.

To utilize the API, first log into Gitea and navigate to /user/settings/applications. Use the "Generate New Token" button to generate a key and be sure not to lose it.

Swagger is used to provide a function list underneath /swagger. Two headers will need to be added to API requests: Content-Type and Authorization. Content-Type is simply 'application/json'. Authorization is "token <your_application_token>".

If you were interested in finding your own uid, you would find it with this:

curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -X GET  https://gitea.debian.net/api/v1/user

Note: Getting org/team IDs is not currently possible: https://github.com/go-gitea/gitea/issues/1821 (collab-maint=id:2)

To import a project from alioth (using a browser):

Navigate to /repo/migrate, fill out the details, click Migrate Repository.

Note: While it's possible to convert a mirrored (replicated) repo to a cloned one, the reverse is not true.

To import a project from alioth (using the api):

gitsrc="https://anonscm.debian.org/git/collab-maint/arduino.git"
gitname="arduino"

curl -H 'Content-Type: application/json' \
     -H 'Authorization: token 6c0d842e2ed6ac121fb3f2eeac6951ecc2ea' \
     -d "{\"clone_addr\": \"${gitsrc}\", \"uid\": 2, \"repo_name\": \"${gitname}\" \"mirror\": false}" \
     -X POST https://gitea.debian.net/api/v1/repos/migrate

To instead mirror the repository, use mirror:true instead. The repository will be cloned as a mirror and perform regular checks for new content.

Additional Reading:

Maintenance

Gitea has these administrator(s):

  • Michael Lustfield (MTecknology)

For simple non-urgent requests, feel free to open an issue against the Debian Gitea Service.

To Do

  • A feature request exists to set the user's email address from Debian's SSO, but it's unlikely to be added any time in the near future.

  • MTecknology's personal mail domain is being used for mail delivery; this should be routed through a Debian mail host.

Questions

  • How are Debian account groups injected or supported? -- Accounts are pulled from SSO. There has been no discussion about groups; they will likely remain manual.