Skip to content

Update Ansible Installatiion Docs#1341

Open
sharadregoti wants to merge 37 commits intomainfrom
update-api-mgmt-install-docs
Open

Update Ansible Installatiion Docs#1341
sharadregoti wants to merge 37 commits intomainfrom
update-api-mgmt-install-docs

Conversation

@sharadregoti
Copy link
Contributor

@sharadregoti sharadregoti commented Feb 4, 2026

PR Type

Documentation, Enhancement


Description

  • Add install overview with requirements

  • Split install docs into subpages

  • Add Docker, Linux, Kubernetes guides

  • Update sidebar navigation grouping


Diagram Walkthrough

flowchart LR
  A["`tyk-self-managed/install.mdx` overview"] 
  B["`tyk-self-managed/install/docker.mdx`"]
  C["`tyk-self-managed/install/kubernetes.mdx`"]
  D["`tyk-self-managed/install/linux.mdx`"]
  E["`tyk-self-managed/install/other-methods.mdx`"]
  F["`docs.json` navigation group"]
  A -- "links to" --> B
  A -- "links to" --> C
  A -- "links to" --> D
  A -- "links to" --> E
  F -- "lists pages under" --> A
  F -- "lists pages under" --> B
  F -- "lists pages under" --> C
  F -- "lists pages under" --> D
  F -- "lists pages under" --> E
Loading

File Walkthrough

Relevant files
Documentation
install.mdx
Turn install page into overview hub                                           

tyk-self-managed/install.mdx

  • Rename sidebar entry to Overview
  • Add edition/deployment table
  • Document architecture diagram and scaling note
  • Add requirements for Redis and databases
+34/-3152
linux.mdx
Add comprehensive Linux install instructions                         

tyk-self-managed/install/linux.mdx

  • Add RHEL/CentOS shell and Ansible steps
  • Add Debian/Ubuntu shell and Ansible steps
  • Document supported distros and variables tables
  • Include Dashboard/Pump/Gateway setup commands
+1679/-0
kubernetes.mdx
Add Kubernetes installation via Helm guides                           

tyk-self-managed/install/kubernetes.mdx

  • Add Helm-based quickstarts for PostgreSQL and MongoDB
  • Document secrets setup and Bitnami chart installs
  • Provide tyk-stack install commands and notes
  • Include legacy tyk-pro chart guidance and warnings
+611/-0 
docker.mdx
Add Docker installation landing page                                         

tyk-self-managed/install/docker.mdx

  • List required Gateway/Dashboard/Pump images
  • Note distroless images behavior from v5.5.0
  • Link to Docker Compose demo documentation
+23/-0   
other-methods.mdx
Add additional installation methods page                                 

tyk-self-managed/install/other-methods.mdx

  • New install page added for non-core methods
  • Linked from Install Options navigation group
+833/-0 
Configuration changes
docs.json
Group install pages in sidebar navigation                               

docs.json

  • Replace single tyk-self-managed/install entry
  • Add Install Options group with subpages
  • Include Docker/Kubernetes/Linux/Other Methods pages
+10/-1   

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 4 🔵🔵🔵🔵⚪
🧪 No relevant tests
🔒 Security concerns

Insecure credential examples:
tyk-self-managed/install/linux.mdx contains explicit example passwords/secrets (e.g., ALTER ROLE tyk with PASSWORD '123456';, secrets.APISecret, secrets.AdminSecret, topsecretpassword) and network binding examples like 0.0.0.0 that can lead to insecure real-world setups if copied. Prefer placeholders (e.g., <strong-password>), avoid publishing realistic secret values, and add prominent warnings when demonstrating wide network exposure.

⚡ Recommended focus areas for review

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Security
Replace hardcoded weak password

Do not include a real/weak password in docs, as readers may reuse it in production
and compromise their deployment. Replace it with a placeholder and instruct users to
use a strong unique value.

tyk-self-managed/install/linux.mdx [67]

-ALTER ROLE tyk with PASSWORD '123456';
+ALTER ROLE tyk WITH PASSWORD '<STRONG_UNIQUE_PASSWORD>';
Suggestion importance[1-10]: 8

__

Why: The docs currently show a concrete weak password in ALTER ROLE tyk with PASSWORD '123456';, which readers may reuse in production. Using a placeholder like <STRONG_UNIQUE_PASSWORD> is a high-impact documentation security improvement.

Medium
Remove backticks from commands

Avoid using backticks inside shell command examples because they trigger command
substitution when copied into a terminal, which can lead to unexpected execution.
Provide two explicit commands (one per tag choice) so users can copy/paste safely.

tyk-self-managed/install/linux.mdx [145-732]

 ```console
-$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t `mongodb` or `pgsql`
+$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t mongodb
+# or
+$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t pgsql

...

-$ ansible-playbook playbook.yaml -t `tyk-gateway-pro` or `tyk-gateway-hybrid`
+$ ansible-playbook playbook.yaml -t tyk-gateway-pro
+# or
+$ ansible-playbook playbook.yaml -t tyk-gateway-hybrid
<details><summary>Suggestion importance[1-10]: 7</summary>

__

Why: The `existing_code` uses backticks inside shell commands (e.g., ``-t `mongodb` or `pgsql` `` and ``-t `tyk-gateway-pro` or `tyk-gateway-hybrid` ``), which can trigger command substitution when pasted into a terminal. Replacing them with explicit, copy/paste-safe commands improves correctness and reduces risk of unexpected execution.


</details></details></td><td align=center>Medium

</td></tr><tr><td rowspan=4>Possible issue</td>
<td>



<details><summary>Make SSL steps copy-pasteable</summary>

___


**The JSON example is invalid (missing commas and using a non-JSON comment), which <br>will break copy/paste configuration. Also, the downloaded script name <br>(<code>bootstrap-ssl.sh</code>) doesn’t match the subsequent <code>chmod</code>/execution commands, so the SSL <br>bootstrap steps will fail.**

[tyk-self-managed/install/other-methods.mdx [91-163]](https://github.com/TykTechnologies/tyk-docs/pull/1341/files#diff-497da7fa61a024704572d9eda5fe0d979098164a80d570ab13e260874578e02aR91-R163)

```diff
-```.json
-"policies.policy_connection_string": "https://tyk-dashboard:3000"
-"db_app_conf_options.connection_string": "https://tyk-dashboard:3000"
+```.jsonc
+"policies.policy_connection_string": "https://tyk-dashboard:3000",
+"db_app_conf_options.connection_string": "https://tyk-dashboard:3000",
 "http_server_options": {
   "use_ssl": true,
   "certificates": [
     {
       "domain_name": "*.yoursite.com",
       "cert_file": "./new.cert.cert",
       "key_file": "./new.cert.key"
     }
   ],
-  "ssl_insecure_skip_verify": true   ## YOU ONLY NEED THIS IF YOU ARE USING SELF SIGNED CERTS
+  "ssl_insecure_skip_verify": true // Only needed for self-signed certs
 }

...

wget https://raw.githubusercontent.com/sedkis/tyk/master/scripts/bootstrap-ssl.sh

...
-chmod +x bootstrap.sh
+bash +chmod +x bootstrap-ssl.sh +
...
-./bootstrap.sh localhost
+bash +./bootstrap-ssl.sh localhost +

<details><summary>Suggestion importance[1-10]: 7</summary>

__

Why: The config snippet labeled as JSON is not valid (missing commas and includes a `##` comment), and the script filename mismatch (`bootstrap-ssl.sh` vs `bootstrap.sh`) will break the documented SSL bootstrap flow.


</details></details></td><td align=center>Medium

</td></tr><tr><td>



<details><summary>Fix broken command example</summary>

___


**The backticks in the <code>ansible-playbook</code> example will be interpreted by the shell as <br>command substitution, so the command will fail when copy-pasted. Show two explicit <br>commands (one for MongoDB, one for PostgreSQL) using plain <code>-t mongodb</code> / <code>-t pgsql</code> <br>tags.**

[tyk-self-managed/install/other-methods.mdx [207-209]](https://github.com/TykTechnologies/tyk-docs/pull/1341/files#diff-497da7fa61a024704572d9eda5fe0d979098164a80d570ab13e260874578e02aR207-R209)

```diff
 ```bash
-$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t `mongodb` or `pgsql`
+# Install Tyk + Redis + MongoDB
+$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t mongodb
+
+# OR: Install Tyk + Redis + PostgreSQL
+$ ansible-playbook playbook.yaml -t tyk-pro -t redis -t pgsql
<details><summary>Suggestion importance[1-10]: 6</summary>

__

Why: The current example uses shell backticks (command substitution) and an inline “or”, so copy/paste will fail; splitting into explicit `-t mongodb` / `-t pgsql` commands makes the Ansible instructions usable.


</details></details></td><td align=center>Low

</td></tr><tr><td>



<details><summary>Fix broken Markdown link</summary>

___


**Fix the malformed Markdown link so the page renders correctly and the reference is <br>clickable. The current text breaks the link formatting due to a missing opening <br>parenthesis.**

[tyk-self-managed/install/linux.mdx [1651]](https://github.com/TykTechnologies/tyk-docs/pull/1341/files#diff-2a11aa08321b10980018c269cf0bc132843bf101b0ce6111b63015990dd6f377R1651-R1651)

```diff
-Tyk packages support SysVinit Linux init systems, [systemd](https://www.freedesktop.org/wiki/Software/systemd/) and Upstart (both 0.6.x and 1.x, [FYI - Ubuntu stopped supporting Upstart] upstart(https://askubuntu.com/questions/1024120/will-ubuntu-18-04-lts-still-support-upstart-or-do-we-have-to-change-to-systemd)).
+Tyk packages support SysVinit Linux init systems, [systemd](https://www.freedesktop.org/wiki/Software/systemd/) and Upstart (both 0.6.x and 1.x, [FYI - Ubuntu stopped supporting Upstart](https://askubuntu.com/questions/1024120/will-ubuntu-18-04-lts-still-support-upstart-or-do-we-have-to-change-to-systemd)).
Suggestion importance[1-10]: 5

__

Why: The Markdown link in the existing_code is malformed ([FYI - Ubuntu stopped supporting Upstart] upstart(https://...)), so it likely won’t render as a clickable link. The proposed improved_code fixes formatting without changing meaning, improving documentation quality.

Low
Fix broken internal link

The MongoDB quick-start link points to a different page (/tyk-self-managed/install)
even though the section exists on this page, so navigation will be broken after
splitting install docs. Link to the local anchor (same style as the PostgreSQL
bullet) so it reliably jumps to the correct section.

tyk-self-managed/install/kubernetes.mdx [16-17]

 - [Quick Start with PostgreSQL](#install-tyk-stack-with-helm-chart-postgresql)
-- [Quick Start with MongoDB](/tyk-self-managed/install#install-tyk-stack-with-helm-chart-mongodb)
+- [Quick Start with MongoDB](#install-tyk-stack-with-helm-chart-mongodb)
Suggestion importance[1-10]: 5

__

Why: After splitting install docs, linking MongoDB quick start to /tyk-self-managed/install#... is likely incorrect when the target section is on the same page; using the local anchor keeps navigation consistent and reliable.

Low

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants