List of commits:
Subject Hash Author Date (UTC)
TODO update and typo corrections. 4f3aee242f4465d1c27dc1f171a72ab06ae8b822 Catalin(ux) M. BOIE 2016-11-06 12:39:17
Added possibility to use AuthorizedKeysCommand for performance reasons bce5d32d2b419cb9bc53d54de2a915ac1342432e Catalin(ux) M. BOIE 2016-11-06 12:35:15
Restart rocketgit-fpm service if needed 5742bea67f2e784e2b2bb9e97f005fc621c4119d Catalin(ux) M. BOIE 2016-11-02 19:56:53
Added CORS headers so API will work 57b172971ff1329d02dc1220ec77fe9a875d6633 Catalin(ux) M. BOIE 2016-11-02 19:56:17
Added git hosting solution comparison page 8eca6c104373fd0dbcde54691edfd9e81a3a59be Catalin(ux) M. BOIE 2016-11-02 19:54:26
Be sure a key is present or use a default one (api) 842d587f948ff4ec9de56e2ebfd591d96b066a43 Catalin(ux) M. BOIE 2016-10-13 22:45:51
Small correction in wording agains CLA 70dc902b1c84e6ee416d7af2af8bef319dbb7504 Catalin(ux) M. BOIE 2016-10-11 15:50:07
Make it the default: word-wrap: break-word 1512f51eba93b6dd296246bf20432ec9223148d9 Catalin(ux) M. BOIE 2016-10-08 07:53:19
Footer: reverse last two columns d9fe4e8adf980996d5ca06387a0a2c49236e7ad4 Catalin(ux) M. BOIE 2016-10-08 07:51:55
Post configuration must include also web conf file 3583e8915579dc8e4c9a508bac7998a3e612e501 Catalin(ux) M. BOIE 2016-10-08 07:50:00
ssl_request_log -> rocketgit-ssl_request_log 639e5532748729cd8a6ac8e4cf082b24e15e2eeb Catalin(ux) M. BOIE 2016-10-08 07:47:45
Add 'SSLCipherSuite PROFILE=SYSTEM' to the SSL configuration 100d73878b3da1718cf97c58d016ed182c690a9b Catalin(ux) M. BOIE 2016-10-08 06:33:09
Instruct login user to create a repo if she/he has none. f6f2f438deadb1ec80d32acbc8947dcc849dca19 Catalin(ux) M. BOIE 2016-10-08 06:24:57
Small changes at vm docs 8106a47f5bf89990ba7f7dbb0f8feb319ba4d883 Catalin(ux) M. BOIE 2016-10-05 03:32:37
No need to login to find out the ip address 55a3abd3dda66d9d0dccdc0fc27dc3dc3e7c3fa1 Catalin(ux) M. BOIE 2016-10-05 03:25:47
Bump version to 0.62 61acc979d8c3bb629e03dc371bba1f604f300205 Catalin(ux) M. BOIE 2016-10-04 18:49:31
TODO updates cc78fa90ebdb7605013f2ba40b7d196d708d7415 Catalin(ux) M. BOIE 2016-10-04 18:49:04
Allow php-fpm to use lock files and to regenerate authorized_keys file 5970fcb677e3443ff96549413df105c9956f0abf Catalin(ux) M. BOIE 2016-10-04 18:48:35
Add ServerName and ServerAlias also for TLS virtual host 08bf46f86137767e4432222475a3ea31034a132a Catalin(ux) M. BOIE 2016-10-04 18:47:47
Bump version to 0.61 99a6ed768168adf45bab328c7405cd10a3e3a81d Catalin(ux) M. BOIE 2016-10-03 16:31:43
Commit 4f3aee242f4465d1c27dc1f171a72ab06ae8b822 - TODO update and typo corrections.
Author: Catalin(ux) M. BOIE
Author date (UTC): 2016-11-06 12:39
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2016-11-06 12:39
Parent(s): bce5d32d2b419cb9bc53d54de2a915ac1342432e
Signing key:
Tree: d514bfdef0712607ec8dacafbdc02b84adcca564
File Lines added Lines deleted
README 3 0
TODO 49 0
docker/TODO 3 0
inc/keys.inc.php 11 3
inc/sql.inc.php 4 2
inc/workers.inc.php 8 2
root/themes/default/admin/settings/ssh/hints.html 1 1
root/themes/default/download-vm.html 1 0
root/themes/default/hints/ssh/key.html 1 1
tools/rg_change_pass 1 1
File README changed (mode: 100644) (index eb8fa57..deaf3d4)
126 126 . Point your browser to the newly created server and you will be asked to . Point your browser to the newly created server and you will be asked to
127 127 create the admin account. create the admin account.
128 128
129 . As admin user, go to Admin -> Settings and check if any setting should be
130 tweaked.
131
129 132 . You may want to install 'qrencode' package to be able to be able to see the . You may want to install 'qrencode' package to be able to be able to see the
130 133 two factor authentication keys as QR images. two factor authentication keys as QR images.
131 134
File TODO changed (mode: 100644) (index 17de6db..e7b6671)
2 2 [ ] [ ]
3 3
4 4 == BEFORE NEXT RELEASE == == BEFORE NEXT RELEASE ==
5 [ ] rg_authorize seems to be executed twice!
6 [ ] Get rid of remote.sh and execute directly remote.php?
7 [ ] AuthorizedPrincipalsCommand - for certificates
8 [ ] LOW: With a lot of accounts, use AuthorizedKeysCommand with %f.
9 But, it is hard to change the configuration (as a package).
10 So, add a patch to openssh to always search for xx/xx/xx/fingerprint
11 "authorize_keys" file, where xx is a part of the fingerprint.
12 Pay attention, if the file is found, do not fall back to authorize_keys
13 file! So, rocketgit can generate both and will work without changes.
14 Better, extend % commands: %1 %2 %3 %4 to means byte 1, 2, 3 and 4 from fingerprint.
15 [ ] Bug user to confirm the e-mail.
16 [ ] Add a privacy policy
17 [ ] Provide qcow2 image for direct boot with copy-on-read and for OpenStack.
18 [ ] Add custom web page messages (idea from GitLab)
19 Also, add them for ssh/git.
20 [ ] Add a log per user as per project.
21 [ ] Add expiration for keys, api key, hooks, rights etc.
22 [ ] Debian: on reconfigure - add admin account?
23 [ ] Investivate gc.*, repack.* etc. configuration.
24 [ ] Use .mailmap when building stats?
25 [ ] Before start a builing, check if it was already built.
26 Think about a fast forward.
27 [ ] API: When loading info about a user, do we need to show the e-mail?
28 [ ] API: Seems I get:
29 PHP ERROR: Unknown:0: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. (errno=8192)
30 when I access the API. Probably because there is no '='!
31 [ ] '<b>Description</b>' in api cannot be right
32 Also, 'HTML:' prefixed one. Hm.
33 [ ] Add api.html javascript example for calling the API (add it in demo?)
34 [ ] Nice font: 'Open Sans', 'sans-serif'
35 "proxima-nova", 'Helvetica Neue', 'Helvetica', sans-serif
36 Think about non utf-8 chars!
37 [ ] cache: add primitive transaction support to avoid de-sync:
38 Something like:
39 BEGIN DESTROY=uid::3
40 bla bla
41 COMMIT - if this is not present, the cache will destroy uid::3 key
42 More keys will need to be destroyed.
43 What if we cannot connect to the cache and we delete something?!
44 The cache will return the deleted stuff.
45 Maybe we should mark the cache as dead and do not use it anymore.
46 Or use it after is emptied.
47 [ ] virt-install(?) must be a dependency for the worker?
48 [ ] ci: add notification e-mail on every command/label.
49 [ ] ci: build hook: if is docker, how to specify the start image?
50 [ ] ci: when defining the build hook, specify a list of branches to merge
51 if everything is ok. Checkbox for fast-forward or not?
52 [ ] ci: if the review points are met also do auto merge.
53 How it relates to build test (order etc.)?
5 54 [ ] Initial commits may be very big. And we are generating them all. [ ] Initial commits may be very big. And we are generating them all.
6 55 And this takes a lot of memory in $rg. Optimize it! And this takes a lot of memory in $rg. Optimize it!
7 56 And, we may want to show the diff per file, not all files at once. And, we may want to show the diff per file, not all files at once.
File docker/TODO changed (mode: 100644) (index a68ed1f..f9ccdd0)
1 1 [ ] Fix rocketgit link [ ] Fix rocketgit link
2 2 [ ] Specify docker build http://... [ ] Specify docker build http://...
3 3 [ ] rg.sh: No test for openssh! [ ] rg.sh: No test for openssh!
4 [ ] postgresql: I think "VOLUME" command is too high in the list.
5 I think it should be lower. Or maybe we let the user to
6 define the volume?
4 7 [ ] [ ]
File inc/keys.inc.php changed (mode: 100644) (index e117fb5..644f306)
... ... $rg_keys_functions = array(
28 28 1000 => "rg_keys_event_new", 1000 => "rg_keys_event_new",
29 29 1001 => "rg_keys_event_del", 1001 => "rg_keys_event_del",
30 30 1002 => "rg_keys_event_regen", 1002 => "rg_keys_event_regen",
31 1003 => "rg_keys_event_notify_user"
31 1003 => "rg_keys_event_notify_user",
32 // new style
33 'rg_keys_event_regen' => 'rg_keys_event_regen'
32 34 ); );
33 35 rg_event_register_functions($rg_keys_functions); rg_event_register_functions($rg_keys_functions);
34 36
 
... ... function rg_keys_event_new($db, $event)
42 44 $event['op'] = "new"; $event['op'] = "new";
43 45
44 46 // mark keys dirty // mark keys dirty
45 $ret[] = array_merge($event, array("category" => 1002, "prio" => 10));
47 $ret[] = array_merge($event, array(
48 'category' => 'rg_keys_event_regen',
49 'prio' => 10)
50 );
46 51
47 52 // notify user // notify user
48 53 $ret[] = array_merge($event, array("category" => 1003, "prio" => 100)); $ret[] = array_merge($event, array("category" => 1003, "prio" => 100));
 
... ... function rg_keys_event_del($db, $event)
60 65 $event['op'] = "del"; $event['op'] = "del";
61 66
62 67 // mark keys dirty // mark keys dirty
63 $ret[] = array_merge($event, array("category" => 1002, "prio" => 10));
68 $ret[] = array_merge($event, array(
69 'category' => 'rg_keys_event_regen',
70 'prio' => 10)
71 );
64 72
65 73 // notify user // notify user
66 74 $ret[] = array_merge($event, array("category" => 1003, "prio" => 100)); $ret[] = array_merge($event, array("category" => 1003, "prio" => 100));
File inc/sql.inc.php changed (mode: 100644) (index e7fb0f5..10abc86)
... ... function rg_sql_error()
32 32 $rg_sql_app = "rg-unk"; $rg_sql_app = "rg-unk";
33 33 function rg_sql_app($name) function rg_sql_app($name)
34 34 { {
35 global $rg_sql_app;
35 global $rg_sql_app;
36 36
37 $rg_sql_app = $name;
37 $rg_sql_app = $name;
38 38 } }
39 39
40 40 /* /*
 
... ... function rg_sql_open_nodelay($h)
60 60 break; break;
61 61 } }
62 62
63 putenv('PGAPPNAME=' . $rg_sql_conn[$h]['app']);
64
63 65 $str = $rg_sql_conn[$h]['str']; $str = $rg_sql_conn[$h]['str'];
64 66 if ($rg_sql_debug > 0) if ($rg_sql_debug > 0)
65 67 rg_log("DB: opening [$str]..."); rg_log("DB: opening [$str]...");
File inc/workers.inc.php changed (mode: 100644) (index 7e6f287..755a9f6)
... ... function rg_worker_event_add($db, $ev)
33 33 { {
34 34 $ret = array(); $ret = array();
35 35
36 $ret[] = array_merge($ev, array('category' => 1002, 'prio' => 10));
36 $ret[] = array_merge($ev, array(
37 'category' => 'rg_keys_event_regen',
38 'prio' => 10)
39 );
37 40
38 41 return $ret; return $ret;
39 42 } }
 
... ... function rg_worker_event_del($db, $ev)
45 48 { {
46 49 $ret = array(); $ret = array();
47 50
48 $ret[] = array_merge($ev, array('category' => 1002, 'prio' => 10));
51 $ret[] = array_merge($ev, array(
52 'category' => 'rg_keys_event_regen',
53 'prio' => 10)
54 );
49 55
50 56 return $ret; return $ret;
51 57 } }
File root/themes/default/admin/settings/ssh/hints.html changed (mode: 100644) (index 434dcdb..72554ed)
... ... file anymore; instead, it will provide a helper to OpenSSH that will look-up dir
5 5 the database the fingerprint provided by the user.<br /> the database the fingerprint provided by the user.<br />
6 6 See 'man sshd_config' for more info.<br /> See 'man sshd_config' for more info.<br />
7 7 Before choosing 'Yes', you must append to /etc/ssh/sshd_config file the following lines Before choosing 'Yes', you must append to /etc/ssh/sshd_config file the following lines
8 (use tab to indent):
8 (use tab key to indent):
9 9 <div class="xcode"> <div class="xcode">
10 10 Match User rocketgit<br /> Match User rocketgit<br />
11 11 &nbsp;&nbsp; AuthorizedKeysCommand /usr/sbin/rg_authorize %f<br /> &nbsp;&nbsp; AuthorizedKeysCommand /usr/sbin/rg_authorize %f<br />
File root/themes/default/download-vm.html changed (mode: 100644) (index fb17b37..df22dd0)
235 235 * adjust logrotate times<br /> * adjust logrotate times<br />
236 236 * customize /etc/rocketgit/config.php<br /> * customize /etc/rocketgit/config.php<br />
237 237 * customize /etc/httpd/conf.d/rocketgit.conf (ServerName, ServerAlias etc.)<br /> * customize /etc/httpd/conf.d/rocketgit.conf (ServerName, ServerAlias etc.)<br />
238 * login into RocketGit as admin and tweak settings in Admin -&gt; Settings<br />
238 239 <br /> <br />
239 240 Enjoy your new RocketGit instance!<br /> Enjoy your new RocketGit instance!<br />
240 241 </div> </div>
File root/themes/default/hints/ssh/key.html changed (mode: 100644) (index f63012b..cf9a1fc)
... ... and paste it in the form above. Do not worry about spaces or wrapping.<br />
12 12 <br /> <br />
13 13
14 14 To force the use of this key when you connect to the server,<br /> To force the use of this key when you connect to the server,<br />
15 add the following lines to your ~/.ssh/config (use tab to indent):<br />
15 add the following lines to your ~/.ssh/config (use tab key to indent):<br />
16 16 <div class="xcode"> <div class="xcode">
17 17 Host @@rg_ssh_host@@<br /> Host @@rg_ssh_host@@<br />
18 18 &nbsp;&nbsp; User rocketgit<br /> &nbsp;&nbsp; User rocketgit<br />
File tools/rg_change_pass changed (mode: 100755) (index c79707a..a54fb47)
... ... $_s = microtime(TRUE);
9 9
10 10 require_once("/etc/rocketgit/config.php"); require_once("/etc/rocketgit/config.php");
11 11
12 $INC = dirname(__FILE__) . "/../inc";
12 $INC = $rg_scripts . '/inc';
13 13 require_once($INC . "/init.inc.php"); require_once($INC . "/init.inc.php");
14 14 require_once($INC . "/log.inc.php"); require_once($INC . "/log.inc.php");
15 15 require_once($INC . "/sql.inc.php"); require_once($INC . "/sql.inc.php");
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/rocketgit

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main