/JiraOnAzureDemo

Jira on Azure Demo

Primary LanguageBicepMIT LicenseMIT

Jira on Azure Demo

Prerequisites

  1. Install Azure Command-Line Interface (CLI):

    winget install Microsoft.AzureCLI
  2. Install kubectl:

    winget install Kubernetes.kubectl
    winget install Microsoft.Azure.Kubelogin
  3. Install Helm:

    winget install Helm.Helm

Deploy

  1. Set SQL_ADMINISTRATOR_LOGIN_PASSWORD:

    $env:SQL_ADMINISTRATOR_LOGIN_PASSWORD=...
  2. Update main.bicepparam

  3. Deploy template:

    az deployment sub create --location northeurope --template-file .\main.bicep --parameters .\main.bicepparam
  4. Make current user admin (TODO: Configure in Bicep)

    $cluster=$(az aks show --resource-group Atlassian --name atlassian --query id -o tsv)
    $user=$(az ad signed-in-user show --query id -o tsv)
    az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --assignee $user --scope $cluster
  5. Login to Kubernetes:

    az aks get-credentials --resource-group Atlassian --name atlassian
  6. Verify connection:

    kubectl cluster-info
  7. Create namespace for Jira:

    kubectl create namespace jira
  8. Set secrets:

    kubectl create secret generic jira.database.credentials --from-literal=username="sqladmin" --from-literal=password="$env:SQL_ADMINISTRATOR_LOGIN_PASSWORD" -n jira
  9. Apply storage class:

    kubectl apply -f azure-file-sc.yaml
  10. Enable Azure Monitor in the Portal (TODO: Configure in Bicep)

  11. Install Jira using Helm: https://atlassian.github.io/data-center-helm-charts/userguide/INSTALLATION/:

    helm install jira atlassian-data-center/jira --namespace jira --values jira-values.yaml
  12. Test and debug

    helm test jira --logs --namespace jira
    
    kubectl get pods -n jira
    kubectl get service -n jira
    kubectl logs jira-0 -n jira
    kubectl describe pod jira-0 -n jira
    
    helm upgrade jira atlassian-data-center/jira --namespace jira --values jira-values.yaml
    
    helm uninstall jira --namespace jira