Skip to content

Commit

Permalink
Updated documentation and moved elastic source to helm repo from git. (
Browse files Browse the repository at this point in the history
  • Loading branch information
danielscholl authored Oct 30, 2024
1 parent e36c809 commit d4be482
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 43 deletions.
2 changes: 2 additions & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ nav:
- getting_started.md
- Installation:
- install_prerequisites.md
- install_cli.md
- install_portal.md
- Features:
- feature_flags.md
- Services:
Expand Down
11 changes: 6 additions & 5 deletions docs/src/feature_flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Azure subscriptions and region location are set interactively by default but can
| AZURE_SUBSCRIPTION_ID | Azure subscription ID for resource deployment |
| AZURE_LOCATION | Azure location for resource deployment |

## Microsoft Entra ID Application Registration
## Microsoft Entra ID Application

Application registrations are created automatically with a naming convention of osdu-{environment}-{subscription} but can be manually created and provided.

Expand All @@ -41,7 +41,8 @@ Application registrations are created automatically with a naming convention of
| AZURE_CLIENT_PRINCIPAL_OID| Skip Principal ID lookup and use provided. |
| AZURE_TENANT_ID | Skip Tenant ID lookup and use provided. |

## Deploy Custom Infrastructure

## Custom Infrastructure

Infrastructure customizations can be modified using the following feature flags.

Expand All @@ -55,7 +56,7 @@ Infrastructure customizations can be modified using the following feature flags.



## Configure Custom Software
## Custom Software

Software customizations can be modified using the following feature flags.

Expand All @@ -69,7 +70,7 @@ Software customizations can be modified using the following feature flags.
| SOFTWARE_BRANCH | Customizes the branch used for software definition |


## Configure Experimental Software
## Experimental Software

Experimental Software can be enabled using the following feature flags.

Expand All @@ -79,7 +80,7 @@ Experimental Software can be enabled using the following feature flags.
| ENABLE_ADMIN_UI | Enables loading of the Admin UI (False by default) |


## Enable Virtual Network Injection
## Enable VNET Injection

Modify the network configuration for use with a pre-existing virtual network.

Expand Down
22 changes: 1 addition & 21 deletions docs/src/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Prerequisites and configuration steps for deploying personal OSDU™ instances i

## Subscription Quota

It is recommended to have at least 50 vCPUs in a region along with the ability to deploy Cosmos DB instances which can be resource constrained in some regions. Defaults for MSDN accounts can be increased by requesting a [quota increase](https://learn.microsoft.com/en-us/azure/quotas/regional-quota-requests).
It is recommended to have at least 50 vCPUs in a region along with the ability to deploy Cosmos DB instances which can be resource constrained in some regions. Defaults can be increased by requesting a [quota increase](https://learn.microsoft.com/en-us/azure/quotas/regional-quota-requests).

!!! note "Ensure Sufficient Quota"
The choice between BS and DS family vCPUs depends on your specific deployment requirements:
Expand Down Expand Up @@ -36,26 +36,6 @@ It is recommended to have at least 50 vCPUs in a region along with the ability t
--output json
```


## Estimating Costs

Costs will vary widely based on the selected region, instance size, and usage. The following table provides a rough guideline for an idle instance.

!!! note "Costs Will Vary"
Idle instance with no activity consumes approximately __$40.00__ per day.

| Resource | Daily | Resource | Daily |
|----------|--------------|----------|--------------|
| Virtual Machines | $14.59 | Load Balancer | $0.60 |
| Log Analytics | $9.76 | Redis Cache | $0.49 |
| Storage | $2.75 | Key Vault | $0.09 |
| Azure Cosmos DB | $2.46 | Virtual Network | $0.08 |
| Microsoft Defender for Cloud | $1.82 | Container Registry | $0.06 |
| Container Instances | $0.03 | Bandwidth | $0.004 |
| Service Bus | $0.001 | | |



## Resource Providers

The following Azure Resource Providers must be registered in your subscription.
Expand Down
71 changes: 71 additions & 0 deletions docs/src/install_cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Command Line (AZD)

??? info "_Article Audience_"
:fontawesome-solid-cloud:{ .lg .middle } __Cloud Architects__: Working with Infrastructure and Software

:fontawesome-solid-code:{ .lg .middle } __Application Developer__: Working with Services and Applications

:fontawesome-brands-git-alt:{ .lg .middle } __DevOps Engineers__: Automation and Deployment Customizations

The Azure Developer CLI (azd) simplifies deployment and management of Azure resources through intuitive commands and built-in best practices. The CLI enables rapid provisioning combined with management tasks via hook-executed scripts. Built-in environment management capabilities support isolated environments with automatic environment variable configuration.

??? Tip "Learning Opportunity"
Learn more about the [Azure Developer CLI (azd)](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview?tabs=linux) and how to use it.

_Supports [Containers](https://code.visualstudio.com/docs/devcontainers/containers) as an alternative for local workstation._

[![Open in GitHub Codespaces](https://img.shields.io/static/v1?style=for-the-badge&label=GitHub+Codespaces&message=Open&color=brightgreen&logo=github)](https://github.com/codespaces/new?skip_quickstart=true&machine=basicLinux32gb&repo=742135816&ref=main&devcontainer_path=.devcontainer%2Fdevcontainer.json&geo=UsEast)

[![Open in Remote - Containers](https://img.shields.io/static/v1?style=for-the-badge&label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/Azure/osdu-developer)



## Instructions

1. Clone the repository to your file system.

=== "Command"

```powershell
git clone https://github.com/Azure/osdu-developer.git
```

2. Authenticate and select the subscription.

=== "Command"

```powershell
az login --scope https://graph.microsoft.com//.default
azd auth login
az account set --subscription <your_subscription_id>
```

3. Enable required features.

=== "Command"

```powershell
azd config set alpha.resourceGroupDeployments on
```


4. Initialize the environment and enable any feature flags.

=== "Command"

```powershell
azd init -e <your_env_name>
azd env set <feature_flag> <value>
```

5. Deploy the solution.

=== "Command"

```powershell
azd provision
```

!!! Warning
Deployment can exceed 1 hour. For timeouts execute `azd provision` again to continue.

82 changes: 82 additions & 0 deletions docs/src/install_portal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Portal Template (ARM)

??? info "_Article Audience_"
:fontawesome-solid-user-tie:{ .lg .middle } __Domain Experts__: Working with OSDU services.

:fontawesome-solid-chart-line:{ .lg .middle } __Data Scientists__: Working with data and machine learning.

:fontawesome-solid-database:{ .lg .middle } __Data Engineers__: Working with data and databases.

The Azure Resource Manager (ARM) custom template deployment provides a simple way to provision the solution through the Azure Portal. This method uses a pre-configured ARM template that has been transpiled from Bicep, enabling rapid deployment through a guided portal experience.

??? Tip "Learning Opportunity"
Learn more about [ARM Templates](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) and how they work in Azure.

!!! Warning
The template leverages complex configuration objects that are built in a way that can be integrated later with an [Azure Managed Application](https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/overview). This can make configuration of feature flags more challenging.


## Instructions

1. Create a [Microsoft Entra Application Registration](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate).

=== "Collected Values"
- Application Client Id (clientId)
- Application Client Secret (clientSecret)
- Enterprise Application Object Id (principalId)


2. Open the custom ARM Template deployment.

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fosdu-developer%2Fmain%2Fazuredeploy.json)


3. Provide the required values.

=== "Required Values"
- Email Address: _`Valid email address for the admin user`_
- Application Client Id: _`Valid Client Id from the app registration`_
- Application Client Secret: _`Valid Client Secret from the app registration`_
- Application Client Principal OID: _`Valid Enterprise Application Object Id`_

4. Modify the optional parameters as desired.

=== "Optional Parameters"
- Enable Burstable: _`Feature Flag: Enable burstable server types.`_
- Custom VM Size: _`Set Custom VM size cluster nodes.`_
- Ingress Type: _`Switch: Ingress type to use.`_
- Enable Blob Public Access: _`Feature Flag: Enable Blob Storage public access.`_
- Enable Manage: _`Feature Flag: Deploy virtual machine with bastion.`_
- Vm Admin Username: _`Set admin username for the virtual machine.`_
- Enable Pod Subnet: _`Feature Flag: Enhanced AKS subnet configuration.`_
- Vnet Configuration: _`Network configuration object.`_
- Cluster Software: _`Software configuration object.`_
- Experimental Software: _`Experimental Software configuration object.`_
- Cluster Network: _`Cluster network configuration object.`_
- Cluster Network Plugin: _`Switch: Network plugin to use.`_
- Cluster Admin Ids: _`Set cluster admin user ids to enable RBAC.`_

4. Deploy the Solution.

!!! Warning
Deployment can exceed 1 hour. Includes both infrastructure and software deployment.

4. Configure Authentication.

=== "Steps"
- Locate the ingress IP address in the AKS service
- Add a redirect URI to your Entra application:
- Format: `https://<ingress_ip>/auth/spa/`
- Platform type: Single-page application (SPA)

5. Validate Access.

=== "Portal"
- Check Successful deployment in the resource group deployments
- Check Successful deployment in the AKS gitops status

=== "API Access"
- Navigate to `https://<ingress_ip>/auth/spa/`
- Click Authorize to receive an authorization code
- Use Get Tokens to retrieve an access token
- Test the token with service swagger pages
18 changes: 11 additions & 7 deletions docs/src/install_prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Prerequisites

??? info "_Article Audience_"
:fontawesome-solid-code:{ .lg .middle } __Application Developer__: Working with Services and Applications

:fontawesome-solid-cloud:{ .lg .middle } __Cloud Architects__: Working with Infrastructure and Software

:fontawesome-brands-git-alt:{ .lg .middle } __DevOps Engineers__: Automation and Deployment Customizations

This guide outlines the software tools you need installed locally to work with the solution.

#### Operating System Support
Expand All @@ -14,31 +21,28 @@ This guide outlines the software tools you need installed locally to work with t

</div>

??? info "Audience"
:fontawesome-solid-code:{ .lg .middle } __Application Developer__: Working with Services and Applications

:fontawesome-solid-cloud:{ .lg .middle } __Cloud Architects__: Working with Infrastructure and Software


### Visual Studio Code
Visual Studio Code is a lightweight but powerful source code editor. Install it along with the REST Client Extension for testing and interacting with REST APIs.

[Download Visual Studio Code](https://code.visualstudio.com/download)
:material-download:{ .lg .middle } [Download Visual Studio Code](https://code.visualstudio.com/download)

### PowerShell Core
PowerShell Core is a cross-platform task automation solution, useful for scripting and automation tasks in our solution.

[Download PowerShell Core](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4)
:material-download:{ .lg .middle } [Download PowerShell Core](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4)

### Azure CLI
The Azure Command-Line Interface (CLI) is a set of commands used to create and manage Azure resources. It's essential for managing your Azure environment.

[Download Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
:material-download:{ .lg .middle } [Download Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)

### Azure Developer CLI
The Azure Developer CLI (azd) is a command-line tool designed to accelerate the time it takes to get started on Azure. It's particularly useful for Azure development tasks.

[Download Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd)
:material-download:{ .lg .middle } [Download Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd)

### Visual Studio Code Extensions

Expand Down
14 changes: 4 additions & 10 deletions software/components/osdu-system/elastic.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
kind: HelmRepository
metadata:
name: elastic-operator
namespace: flux-system
spec:
interval: 5m
url: https://github.com/elastic/cloud-on-k8s
ref:
branch: "2.14"
ignore: |
# exclude all
/*
!/deploy/eck-operator
url: https://helm.elastic.co
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
Expand All @@ -24,9 +18,9 @@ spec:
releaseName: elastic-operator
chart:
spec:
chart: ./deploy/eck-operator
chart: eck-operator
sourceRef:
kind: GitRepository
kind: HelmRepository
name: elastic-operator
namespace: flux-system
install:
Expand Down

0 comments on commit d4be482

Please sign in to comment.