-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Create Azure Container Offer docs #7472
Open
toninis
wants to merge
6
commits into
master
Choose a base branch
from
feat/create-azure-container-offer-docs
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+370
−224
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
7815286
feat: Uprade CI/CD process due to deprecations
toninis 3a6b70b
feat: Bump python version
toninis c62e5b4
feat: Create Azure Container Offer doc page
toninis 873e083
Updated page formatting, RST syntax, and applied editorial updates
cwarnermm 0281995
Apply suggestions from code review
toninis b404073
Merge branch 'master' into feat/create-azure-container-offer-docs
cwarnermm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,35 @@ | ||
name: CD | ||
|
||
on: | ||
workflow_run: | ||
workflows: ["CI"] | ||
workflows: | ||
- CI | ||
types: | ||
- completed | ||
branches: ["master"] | ||
branches: | ||
- master | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
s3-release-prod: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: cd/Download artifacts | ||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | ||
with: | ||
run-id: ${{ github.event.workflow_run.id }} | ||
name: docs | ||
path: build/html | ||
|
||
- name: cd/Configure AWS | ||
uses: aws-actions/configure-aws-credentials@07c2f971bac433df982ccc261983ae443861db49 # v1-node16 | ||
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 | ||
with: | ||
aws-region: us-east-1 | ||
aws-access-key-id: ${{ secrets.DOCS_BUILDS_BUCKET_AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.DOCS_BUILDS_BUCKET_AWS_SECRET_ACCESS_KEY }} | ||
- name: cd/Download artifacts | ||
uses: dawidd6/action-download-artifact@0c49384d39ceb023b8040f480a25596fd6cf441b # v2.26.0 | ||
with: | ||
workflow: ${{ github.event.workflow_run.workflow_id }} | ||
run_id: ${{ github.event.workflow_run.id }} | ||
workflow_conclusion: success | ||
name: docs | ||
path: build/html | ||
|
||
- name: cd/Upload artifacts to S3 | ||
run: | | ||
aws s3 sync build/html s3://docs.mattermost.com/ --delete --cache-control no-cache --acl public-read --no-progress | ||
aws s3 sync build/html s3://docs.mattermost.com/ --delete --cache-control no-cache --acl public-read --no-progress |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
Install Mattermost on Azure AKS | ||
================================ | ||
|
||
.. include:: ../_static/badges/allplans-selfhosted.rst | ||
:start-after: :nosearch: | ||
|
||
You can use a supported `Azure Marketplace Container Offer <https://azuremarketplace.microsoft.com/en-us/marketplace/apps/mattermost.mattermost-operator>`__ to install Mattermost on your existing Azure infrastructure. | ||
|
||
Infrastructure pre-requisites | ||
----------------------------- | ||
|
||
Deploying Mattermost on Azure AKS requires the following database and cluster prerequisites. | ||
|
||
PostgreSQL v13.0+ database | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
Mattermost requires a pre-existing PostgreSQL database within your infrastructure. We recommend using `Azure Database for PostgreSQL - Flexible Server <https://learn.microsoft.com/en-us/azure/postgresql/>`_. Deploy one by following `this Microsoft quick start guide <https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/quickstart-create-server-portal>`_. | ||
|
||
.. tip:: | ||
We recommend using Private Access for your database. | ||
|
||
Running AKS cluster | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
Mattermost Azure Container Offer requires a pre-existing Kubernetes Cluster with an Ingress Controller pre-installed. We recommend creating a new AKS cluster with the `AGIC add-on enabled <https://learn.microsoft.com/en-us/azure/application-gateway/ingress-controller-overview>`_. | ||
|
||
Follow `this tutorial <https://learn.microsoft.com/en-us/azure/application-gateway/tutorial-ingress-controller-add-on-new>`_ to create a new AKS cluster with the add-on enabled. | ||
|
||
.. tip:: | ||
|
||
- Connectivity should be already in place between the AKS cluster and the PostgreSQL database. | ||
- Any pre-installed Ingress Controller within the cluster that supports the Ingress Kubernetes resource and TLS termination should work out of the box. | ||
|
||
Deployment pre-requisites | ||
------------------------- | ||
|
||
Deploying Mattermost on Azure AKS requires the following deployment prerequisites. | ||
|
||
Valid DNS name and TLS certificates | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
Mattermost relies on strong TLS certification in order to provide all the features to users. You need to have access to a DNS zone and be able to provide a valid TLS key and certificate for the Ingress Controller. | ||
|
||
Mattermost License and AKS Capacity | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
.. include:: ../_static/badges/ent-only.rst | ||
:start-after: :nosearch: | ||
|
||
If your deployment option is for more than ``100 users``, you must have more than 2 nodes on your AKS cluster to support High Availability, and you must provide a valid Mattermost License file. | ||
|
||
.. note:: | ||
|
||
Providing a license is optional at this stage. You can enable a **30 day** Mattermost trial once the server is deployed. | ||
|
||
Deploy Mattermost | ||
----------------- | ||
|
||
1. Navigate to our `Azure Marketplace Container Offer <https://azuremarketplace.microsoft.com/en-us/marketplace/apps/mattermost.mattermost-operator>`_ and get the offer. | ||
|
||
Alternatively, you can go to the ``Extensions + Applications`` section of your AKS cluster and install the Mattermost offering from there. Visit the `Microsoft cluster extensions documentation <https://learn.microsoft.com/en-gb/azure/aks/cluster-extensions?tabs=azure-cli>`_ to learn more. | ||
|
||
2. Choose the **Resource Group** and the **Region** of your installed AKS and PostgreSQL database. | ||
|
||
.. image:: ../_static/images/azure/basics.png | ||
:alt: An example of the Azure AKS Project details screen. | ||
|
||
3. Choose your AKS cluster. | ||
|
||
.. image:: ../_static/images/azure/aks-cluster.png | ||
:alt: An example of the Azure AKS cluster setup screen. | ||
|
||
4. Fill in the details for your PostgreSQL database. | ||
|
||
.. image:: ../_static/images/azure/postgreSQL.png | ||
:alt: An example of the Azure AKS Database setup screen. | ||
|
||
.. note:: | ||
|
||
- Connectivity should be already in place between the AKS cluster and the database. | ||
- Database should already exist and the user specified must have full access. | ||
|
||
5. Adjust deployment details. | ||
|
||
.. image:: ../_static/images/azure/deployment-details.png | ||
:alt: An example of the Azure AKS Deployment Details setup screen. | ||
|
||
.. note:: | ||
You can define a Deployment size to automatically adjust the installation. A valid Mattermost license is required for deployments of more than 100 users. | ||
|
||
6. Configure Mattermost installation hostname and Ingress details. The AGIC add-on is used in the following example to show the ingress annotations required. | ||
|
||
.. code-block:: yaml | ||
|
||
kubernetes.io/ingress.class: azure/application-gateway | ||
appgw.ingress.kubernetes.io/ssl-redirect: "true" | ||
|
||
Upload yor own TLS certificates at this stage to take advantage of all Mattermost features. | ||
|
||
.. image:: ../_static/images/azure/networking-details.png | ||
:alt: An example of the Azure AKS Networking Details setup screen. | ||
|
||
7. Ensure that everything is running. You should be able to check the installed plugin from the **AKS Extensions + Applications** page under the **Settings** menu. | ||
|
||
a. When the deployment is complete, obtain the hostname or IP address of your Mattermost deployment using the following command: | ||
|
||
.. code-block:: sh | ||
|
||
kubectl -n mattermost-operator get ingress | ||
|
||
b. Get the resulting IP address from the ``ADDRESS`` column, and use your domain registration service to create a DNS record. | ||
c. You should be good to go. | ||
|
||
Learn more about managing your Mattermost server by visiting the :doc:`Managing Mattermost </guides/self-hosted-administration>` documentation. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Though we don't have scaling info yet using Azure, I wonder if we should refer them (temporarily) to https://docs.mattermost.com/guides/scale-mattermost.html so they could have some guidance (by converting AWS resource to Azure).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not about scaling as such but giving the option to do so . We can limit the installation to some users if we want to but if someone purchases a license then they should be able to scale a bit.