##// END OF EJS Templates
- Added Kubernetes deployment section to the documentation...
Dmytro Sirant -
r5493:18ecb0a9 default
parent child Browse files
Show More
1 NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,66 b''
1 .. _install-kubernetes:
2
3 RhodeCode Kubernetes Deployment
4 ===============================
5
6 .. important::
7 Setup RhodeCode in K8s is in beta testing right now, and our team doing the testing in AWS EKS.
8 If you want to use RhodeCode in K8s and faced problems please reach out to our team in the Community Slack Channel or via ticket if you on the Enterprise license.
9
10 .. tip::
11 Requirements:
12
13 - RhodeCode 5.x
14 - Kubernetes 1.21+ cluster
15 - Helm 3.0+
16 - NFS shared storage
17 - One of the CSI drivers: NFS CSI / AWS EFS CSI / Azure Files CSI
18 - `prometheus-community.github.io/helm-chart`_ 0.11.0
19
20 Diagram of the helm chart components
21 ------------------------------------
22
23 .. image:: ../images/helm-chart-diagram.png
24
25 Installation
26 ------------
27
28 1. Find the latest version of chart by the link `hub.docker.com/r/rhodecode/rhodecode/tags`_
29 2. Fetch the latest version of chart and extract values.yaml file.
30
31 .. code-block:: bash
32
33 $ export VERSION=0.1.0-alpha.73
34 $ helm fetch oci://registry-1.docker.io/rhodecode/rhodecode --version ${VERSION}
35 $ tar -zxvf rhodecode-${VERSION}.tgz rhodecode/values.yaml
36
37 3. Update values.yaml or create a custom one with values overrides.
38 4. Install using the values.yaml file:
39
40 .. code-block:: bash
41
42 $ helm install rhodecode oci://registry-1.docker.io/rhodecode/rhodecode --version ${VERSION} --create-namespace --namespace rhodecode -f rhodecode/values.yaml
43
44 Update
45 ------
46
47 1. Change the values.yaml or custome values file using a text editor.
48 2. Upgrade using the values.yaml file:
49
50 .. code-block:: bash
51
52 $ helm upgrade rhodecode oci://registry-1.docker.io/rhodecode/rhodecode --version ${VERSION} --namespace rhodecode -f rhodecode/values.yaml
53
54 Uninstall
55 ---------
56
57 .. code-block:: bash
58
59 $ helm delete rhodecode --namespace rhodecode
60
61 .. note::
62
63 There is known issues with setup on AWS EKS with EFS, please refer to: :ref:`known-issues`
64
65 .. _prometheus-community.github.io/helm-chart: https://prometheus-community.github.io/helm-chart
66 .. _hub.docker.com/r/rhodecode/rhodecode/tags: https://hub.docker.com/r/rhodecode/rhodecode/tags
@@ -1,93 +1,94 b''
1 1 |RCE|
2 2 =====
3 3
4 4 |RCE| is a high-performance source code management and collaboration system.
5 5 It enables you to develop projects securely behind the firewall while
6 6 providing collaboration tools that work with |git|, |hg|,
7 7 and |svn| |repos|. The user interface allows you to create, edit,
8 8 and commit files and |repos| while managing their security permissions.
9 9
10 10 |RCE| provides the following features:
11 11
12 12 * Source code management.
13 13 * Extended permissions management.
14 14 * Integrated code collaboration tools.
15 15 * Integrated code review and notifications.
16 16 * Scalability provided by multi-node setup.
17 17 * Fully programmable automation API.
18 18 * Web-based hook management.
19 19 * Native |svn| support.
20 20 * Migration from existing databases.
21 21 * |RCE| SDK.
22 22 * Built-in analytics
23 23 * Built in integrations including: Slack, Webhooks (used for Jenkins/TeamCity and other CIs), Jira, Redmine, Hipchat
24 24 * Pluggable authentication system.
25 25 * Support for AD, |LDAP|, Crowd, CAS, PAM.
26 26 * Support for external authentication via Oauth Google, Github, Bitbucket, Twitter.
27 27 * Debug modes of operation.
28 28 * Private and public gists.
29 29 * Gists with limited lifetimes and within instance only sharing.
30 30 * Fully integrated code search function.
31 31 * Always on SSL connectivity.
32 32
33 33 .. only:: html
34 34
35 35 Table of Contents
36 36 -----------------
37 37
38 38 .. toctree::
39 39 :maxdepth: 1
40 40 :caption: Admin Documentation
41 41
42 42 install/quick-start
43 43 install/install-database
44 44 install/install-steps
45 install/install-kubernetes
45 46 admin/system-overview
46 47 nix/default-env
47 48 admin/system-admin
48 49 admin/user-admin
49 50 admin/repo-admin
50 51 admin/security-tips
51 52 auth/auth
52 53 issue-trackers/issue-trackers
53 54 admin/lab-settings
54 55
55 56 .. toctree::
56 57 :maxdepth: 1
57 58 :caption: Feature Documentation
58 59
59 60 collaboration/collaboration
60 61 collaboration/review-notifications
61 62 collaboration/pull-requests
62 63 code-review/code-review
63 64 integrations/integrations
64 65
65 66 .. toctree::
66 67 :maxdepth: 1
67 68 :caption: User Documentation
68 69
69 70 usage/basic-usage
70 71 tutorials/tutorials
71 72
72 73 .. toctree::
73 74 :maxdepth: 1
74 75 :caption: Developer Documentation
75 76
76 77 api/api
77 78 tools/rhodecode-tools
78 79 extensions/extensions-hooks
79 80 contributing/contributing
80 81
81 82 .. toctree::
82 83 :maxdepth: 2
83 84 :caption: RhodeCode Control Documentation
84 85
85 86 RhodeCode Installer <https://docs.rhodecode.com/RhodeCode-Control/>
86 87
87 88 .. toctree::
88 89 :maxdepth: 1
89 90 :caption: About
90 91
91 92 known-issues/known-issues
92 93 release-notes/release-notes
93 94 admin/glossary
@@ -1,122 +1,121 b''
1 1 .. _quick-start:
2 2
3 3 Quick Start Installation Guide
4 4 ==============================
5 5
6 6 .. important::
7 7
8 8 These are quick start instructions. To optimize your |RCE|,
9 9 |RCC|, and |RCT| usage, read the more detailed instructions in our guides.
10 10 For detailed installation instructions, see
11 11 :ref:`RhodeCode Control Documentation <control:rcc>`
12 12
13 13 .. tip::
14 14
15 15 If using a non-SQLite database, install and configure the database, create
16 16 a new user, and grant permissions. You will be prompted for this user's
17 17 credentials during |RCE| installation. See the relevant database
18 18 documentation for more details.
19 19
20 20 To get |RCE| up and running, run through the below steps:
21 21
22 22 1. Download the latest |RCC| installer from `rhodecode.com/download`_.
23 23 If you don't have an account, sign up at `rhodecode.com/register`_.
24 24
25 25 2. Run the |RCC| installer and accept the End User Licence using the
26 26 following example:
27 27
28 28 .. code-block:: bash
29 29
30 30 $ chmod +x RhodeCode-installer-linux-*
31 31 $ ./RhodeCode-installer-linux-*
32 32
33 33 Do you accept the RhodeCode Control license?
34 34 Press [Y] to accept license and [V] to view license text: y
35 35
36 36
37 37 .. important::
38 38
39 39 We recommend running RhodeCode as a non-root user, such as `rhodecode`;
40 40 this user must have a proper home directory.
41 41 Either log in as that user to install the software, or do it as root
42 42 with `sudo -i -u rhodecode ./RhodeCode-installer-linux-*`
43 43
44 44
45 45 3. Install a VCS Server, and configure it to start at boot.
46 46
47 47 .. code-block:: bash
48 48
49 49 $ rccontrol install VCSServer
50 50
51 51 Agree to the licence agreement? [y/N]: y
52 52 IP to start the server on [127.0.0.1]:
53 53 Port for the server to start [10005]:
54 54 Creating new instance: vcsserver-1
55 55 Installing RhodeCode VCSServer
56 56 Configuring RhodeCode VCS Server ...
57 57 Supervisord state is: RUNNING
58 58 Added process group vcsserver-1
59 59
60 60
61 61 4. Install |RCEE| or |RCCE|. If using MySQL or PostgreSQL, during
62 62 installation you'll be asked for your database credentials, so have them at hand.
63 63 Mysql or Postgres needs to be running and a new database needs to be created.
64 64 You don't need any credentials or to create a database for SQLite.
65 65
66 66 .. code-block:: bash
67 67 :emphasize-lines: 11-16
68 68
69 69 $ rccontrol install Community
70 70
71 71 or
72 72
73 73 $ rccontrol install Enterprise
74 74
75 75 Username [admin]: username
76 76 Password (min 6 chars):
77 77 Repeat for confirmation:
78 78 Email: your@mail.com
79 79 Respositories location [/home/brian/repos]:
80 80 IP to start the Enterprise server on [127.0.0.1]:
81 81 Port for the Enterprise server to use [10004]:
82 82 Database type - [s]qlite, [m]ysql, [p]ostresql:
83 83 PostgreSQL selected
84 84 Database host [127.0.0.1]:
85 85 Database port [5432]:
86 86 Database username: db-user-name
87 87 Database password: somepassword
88 88 Database name: example-db-name
89 89
90 90 5. Check the status of your installation. You |RCEE|/|RCCE| instance runs
91 91 on the URL displayed in the status message.
92 92
93 93 .. code-block:: bash
94 94
95 95 $ rccontrol status
96 96
97 97 - NAME: enterprise-1
98 98 - STATUS: RUNNING
99 99 - TYPE: Enterprise
100 100 - VERSION: 4.1.0
101 101 - URL: http://127.0.0.1:10003
102 102
103 103 - NAME: vcsserver-1
104 104 - STATUS: RUNNING
105 105 - TYPE: VCSServer
106 106 - VERSION: 4.1.0
107 107 - URL: http://127.0.0.1:10001
108 108
109 109 .. note::
110 110
111 111 Recommended post quick start install instructions:
112 112
113 113 * Read the documentation
114 114 * Carry out the :ref:`rhodecode-post-instal-ref`
115 115 * Set up :ref:`indexing-ref`
116 116 * Familiarise yourself with the :ref:`rhodecode-admin-ref` section.
117 117
118 .. _rhodecode.com/download/: https://rhodecode.com/download/
119 118 .. _rhodecode.com: https://rhodecode.com/
120 119 .. _rhodecode.com/register: https://rhodecode.com/register/
121 120 .. _rhodecode.com/download: https://rhodecode.com/download/
122 121
@@ -1,95 +1,117 b''
1 1 .. _known-issues:
2 2
3 3 Known Issues
4 4 ============
5 5
6 6 Windows Upload
7 7 --------------
8 8
9 9 There can be an issue with uploading files from web interface on Windows,
10 10 and afterwards users cannot properly clone or synchronize with the repository.
11 11
12 12 Early testing shows that often uploading files via HTML forms on Windows
13 13 includes the full path of the file being uploaded and not the name of the file.
14 14
15 15 Old Format of Git Repositories
16 16 ------------------------------
17 17
18 18 There is an issue when trying to import old |git| format |repos| into recent
19 19 versions of |RCE|. This issue can occur when importing from external |git|
20 20 repositories or from older versions of |RCE| (<=2.2.7).
21 21
22 22 To convert the old version into a current version, clone the old
23 23 |repo| into a local machine using a recent |git| client, then push it to a new
24 24 |repo| inside |RCE|.
25 25
26 26
27 27 VCS Server Memory Consumption
28 28 -----------------------------
29 29
30 30 The VCS Server cache grows without limits if not configured correctly. This
31 31 applies to |RCE| versions prior to the 3.3.2 releases, as 3.3.2
32 32 shipped with the optimal configuration as default. See the
33 33 :ref:`vcs-server-maintain` section for details.
34 34
35 35 To fix this issue, upgrade to |RCE| 3.3.2 or greater, and if you discover
36 36 memory consumption issues check the VCS Server settings.
37 37
38 38 Newer Operating system locales
39 39 ------------------------------
40 40
41 41 |RCC| has a know problem with locales, due to changes in glibc 2.27+ which affects
42 42 the local-archive format, which is now incompatible with our used glibc 2.26.
43 43
44 44 Mostly affected are:
45
45 46 - Fedora 23+
46 47 - Ubuntu 18.04
47 48 - CentOS / RHEL 8
48 49
49 50 To work around this problem, you need set path to ``$LOCAL_ARCHIVE`` to the
50 51 locale package in older pre glibc 2.27 format, or set `LC_ALL=C` in your enviroment.
51 52
52 53 To use the pre 2.27 locale-archive fix follow these steps:
53 54
54 55 1. Download the pre 2.27 locale-archive package
55 56
56 57 .. code-block:: bash
57 58
58 59 wget https://dls.rhodecode.com/assets/locale-archive
59 60
60 61
61 62 2. Point ``$LOCAL_ARCHIVE`` to the locale package.
62 63
63 64 .. code-block:: bash
64 65
65 66 $ export LOCALE_ARCHIVE=/home/USER/locale-archive # change to your path
66 67
67 68 This should be added *both* in `enviroment` variable of `~/.rccontrol/supervisor/supervisord.ini`
68 69 e.g
69 70
70 71 ```
71 72 [supervisord]
72 73 environment = HOME=/home/user/rhodecode,LOCALE_ARCHIVE=/YOUR-PATH/locale-archive`
73 74 ```
74 75
75 76 and in user .bashrc/.zshrc etc, or via a startup script that
76 77 runs `rccontrol self-init`
77 78
78 79 If you happen to be running |RCC| from systemd, use the following
79 80 example to pass the correct locale information on boot.
80 81
81 82 .. code-block:: ini
82 83
83 84 [Unit]
84 85 Description=Rhodecode
85 86 After=network.target
86 87
87 88 [Service]
88 89 Type=forking
89 90 User=scm
90 91 Environment="LOCALE_ARCHIVE=/YOUR-PATH/locale-archive"
91 92 ExecStart=/YOUR-PATH/.rccontrol-profile/bin/rccontrol-self-init
92 93
93 94 [Install]
94 95 WantedBy=multi-user.target
95 96
97
98 Merge stucks in "merging" status
99 --------------------------------
100
101 Similar issues:
102
103 - Pull Request duplicated and/or stucks in "creating" status.
104
105 Mostly affected are:
106
107 - Kubernetes AWS EKS setup with NFS as shared storage
108 - AWS EFS as shared storage
109
110 Workaround:
111
112 1. Manually clear the repo cache via UI:
113 :menuselection:`Repository Settings --> Caches --> Invalidate repository cache`
114
115 1. Open problematic PR and reset status to "created"
116
117 Now you can merge PR normally
@@ -1,59 +1,59 b''
1 1 |RCE| 5.1.0 |RNS|
2 2 -----------------
3 3
4 4 Release Date
5 5 ^^^^^^^^^^^^
6 6
7 7 - 2024-07-18
8 8
9 9
10 10 New Features
11 11 ^^^^^^^^^^^^
12 12
13 - We've introduced 2FA for users. Now alongside the external auth 2fa support RhodeCode allows to enable 2FA for users
13 - We've introduced 2FA for users. Now alongside the external auth 2FA support RhodeCode allows to enable 2FA for users.
14 14 2FA options will be available for each user individually, or enforced via authentication plugins like ldap, or internal.
15 15 - Email based log-in. RhodeCode now allows to log-in using email as well as username for main authentication type.
16 16 - Ability to replace a file using web UI. Now one can replace an existing file from the web-ui.
17 17 - GIT LFS Sync automation. Remote push/pull commands now can also sync GIT LFS objects.
18 - Added ability to remove or close branches from the web ui
19 - Added ability to delete a branch automatically after merging PR for git repositories
20 - Added support for S3 based archive_cache based that allows storing cached archives in S3 compatible object store.
18 - Added ability to remove or close branches from the web ui.
19 - Added ability to delete a branch automatically after merging PR for git repositories.
20 - Added support for S3 based archive_cache that allows storing cached archives in S3 compatible object store.
21 21
22 22
23 23 General
24 24 ^^^^^^^
25 25
26 - Upgraded all dependency libraries to their latest available versions
26 - Upgraded all dependency libraries to their latest available versions.
27 27 - Repository storage is no longer controlled via DB settings, but .ini file. This allows easier automated deployments.
28 28 - Bumped mercurial to 6.7.4
29 29 - Mercurial: enable httppostarguments for better support of large repositories with lots of heads.
30 30 - Added explicit db-migrate step to update hooks for 5.X release.
31 31
32 32
33 33 Security
34 34 ^^^^^^^^
35 35
36 36
37 37
38 38 Performance
39 39 ^^^^^^^^^^^
40 40
41 41 - Introduced a full rewrite of ssh backend for performance. The result is 2-5x speed improvement for operation with ssh.
42 enable new ssh wrapper by setting: `ssh.wrapper_cmd = /home/rhodecode/venv/bin/rc-ssh-wrapper-v2`
43 - Introduced a new hooks subsystem that is more scalable and faster, enable it by settings: `vcs.hooks.protocol = celery`
42 Enable new ssh wrapper by setting: `ssh.wrapper_cmd = /home/rhodecode/venv/bin/rc-ssh-wrapper-v2`
43 - Introduced a new hooks subsystem that is more scalable and faster, enable it by setting: `vcs.hooks.protocol = celery`
44 44
45 45
46 46 Fixes
47 47 ^^^^^
48 48
49 - Archives: Zip archive download breaks when a gitmodules file is present
50 - Branch permissions: fixed bug preventing to specify own rules from 4.X install
51 - SVN: refactored svn events, thus fixing support for it in dockerized env
52 - Fixed empty server url in PR link after push from cli
49 - Archives: Zip archive download breaks when a gitmodules file is present.
50 - Branch permissions: fixed bug preventing to specify own rules from 4.X install.
51 - SVN: refactored svn events, thus fixing support for it in dockerized environment.
52 - Fixed empty server url in PR link after push from cli.
53 53
54 54
55 55 Upgrade notes
56 56 ^^^^^^^^^^^^^
57 57
58 - RhodeCode 5.1.0 is a mayor feature release after big 5.0.0 python3 migration. Happy to ship a first time feature
59 rich release
58 - RhodeCode 5.1.0 is a mayor feature release after big 5.0.0 python3 migration. Happy to ship a first time feature-
59 rich release.
General Comments 0
You need to be logged in to leave comments. Login now