Skip to content
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

Updated documentation and moved elastic source to helm repo from git. #224

Merged
merged 1 commit into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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