### Start Angular Frontend Development Server Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Installs Node.js dependencies and starts the Angular frontend development server. This allows for live reloading and proxies requests to the backend server during development. ```shell npm install npm start ``` -------------------------------- ### Build OSMT with Maven Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Executes a Maven clean and install command to build the OSMT project. This process includes running tests and may start Docker containers for testing purposes, potentially disrupting existing OSMT-related containers. ```bash mvn clean install ``` -------------------------------- ### Start OSMT Development Backend Dependencies Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Starts the backend dependencies (MySQL, Redis, Elasticsearch) for the OSMT development stack using Docker Compose. The services run in detached mode (background), and their status can be monitored using Docker commands. ```bash ./osmt_cli.sh -d ``` -------------------------------- ### Start OSMT Spring Application Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Starts the Spring Boot backend application for OSMT. This command automatically sources the development environment file and serves static Angular files. The application can be stopped by pressing Ctrl-C. ```bash ./osmt_cli.sh -s ``` -------------------------------- ### OSMT Commit Message Format Example Source: https://github.com/wgu-opensource/osmt/blob/develop/CONTRIBUTING.md An example illustrating the recommended format for commit messages in the OSMT project, including a summary line and detailed body. ```git Capitalized, short (50 chars or less) summary # More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In some contexts, the first line is treated as the subject of an email and the rest of the text as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); tools like rebase can get confused if you run the two together. Write your summary line in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit messages generated by commands like git merge and git revert. Further paragraphs come after blank lines. - Bullet points are okay, too - Typically a hyphen or asterisk is used for the bullet, followed by a single space, with blank lines in between, but conventions vary here - Use a hanging indent ``` -------------------------------- ### Running Imports with Spring Profiles and Arguments Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Examples demonstrating how to run data import processes from the command line using specific Spring profiles and import arguments. This includes importing RSDs, BLS, and O*NET data. ```Shell java -jar -Dspring.profiles.active=dev,import \ api/target/osmt-api-.jar \ --csv=path/to/csv --import-type=batchskill ``` ```Shell mvn -Dspring-boot.run.profiles=dev,import \ -Dspring-boot.run.arguments="--import-type=bls,--csv=path/to/csv" \ spring-boot:run ``` -------------------------------- ### Run Development Configuration with Docker Compose Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Starts the OSMT development environment using Docker Compose with a specific configuration file. This command stands up the necessary backend dependencies for active development. ```shell cd docker; docker-compose --file dev-stack.yml up ``` -------------------------------- ### Install Terraform and AWS CLI Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Instructions for installing the necessary command-line tools for managing AWS infrastructure with Terraform. Terraform is used for provisioning cloud resources, and AWS CLI is an optional but recommended tool for interacting with AWS services. ```Shell # Install Terraform CLI # See instructions: https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli # Optional: Install AWS CLI # See instructions: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html ``` -------------------------------- ### Build OSMT Application Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Builds the OSMT application using Maven. This command cleans the project, compiles the code, and installs the artifacts into the local Maven repository, creating a fat jar. ```shell mvn clean install ``` -------------------------------- ### Enable Flyway Migrations for All Environments Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md By default, Flyway database migrations only run automatically for 'test' and 'dev' profiles. To enable migrations for other environments, such as production, you need to start the server with a specific JVM argument. ```Shell java -Dspring.flyway.enabled=true -jar api/target/osmt-api-.jar ``` -------------------------------- ### Retrieve Human Readable Skill Description Source: https://github.com/wgu-opensource/osmt/blob/develop/docs/osmt-developers-guide.md Requests a human-readable description of a skill by accessing its canonical URL. Browsers typically default to requesting 'text/html', leading to an HTML response. ```APIDOC Endpoint: Canonical URL of a skill (e.g., https://osmt.wgu.edu/api/skills/{skill_uuid}) Method: GET Headers: Accept: text/html (or */* from browsers) Success Response (200 OK): Content-Type: text/html Body: HTML content describing the skill. Redirection Response (302 Found): Indicates a redirect, potentially to a more specific HTML page. ``` -------------------------------- ### Manage OSMT Docker and Application Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md A set of utility commands for managing the OSMT application and its Docker environment. These commands simplify common development tasks like starting, stopping, and clearing resources. ```shell ./osmt_cli.sh -c ``` ```shell ./osmt_cli.sh -s ``` ```shell ./osmt_cli.sh -l ``` ```shell ./osmt_cli.sh -r ``` ```shell ./osmt_cli.sh -v ``` -------------------------------- ### Run OSMT API Server with Maven Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Demonstrates how to start the Spring Boot API server using Maven. This command specifies active Spring profiles (e.g., dev, apiserver, oauth2-okta) and allows overriding specific JVM properties, such as disabling Flyway migrations. ```bash mvn -Dspring-boot.run.profiles=dev,apiserver,oauth2-okta \ -Dspring-boot.run.jvmArguments="-Dspring.flyway.enabled=false" \ spring-boot:run ``` -------------------------------- ### Angular CLI Development Commands Source: https://github.com/wgu-opensource/osmt/blob/develop/ui/README.md This section covers common commands for developing and managing an Angular project using the Angular CLI. These commands facilitate starting a development server, generating new code structures, building the project, and running tests. ```bash npm run ng serve # Navigate to http://localhost:4200/ ``` ```bash npm run ng generate component component-name ``` ```bash ng generate directive|pipe|service|class|guard|interface|enum|module ``` ```bash npm run ng build # Use --prod flag for production build ``` ```bash npm run ng test ``` ```bash ng help ``` -------------------------------- ### Retrieve Skill by Canonical URL Source: https://github.com/wgu-opensource/osmt/blob/develop/docs/osmt-developers-guide.md Fetches a specific skill's details using its canonical URL. The API responds with JSON-LD if the Accept header is application/json, or HTML if requested by a browser. ```bash # curl -H "Accept: application/json" https://osmt.wgu.edu/api/skills/3fa85f64-5717-4562-b3fc-2c963f66afa6 ``` ```APIDOC Endpoint: /api/skills/{skill_uuid} Method: GET Headers: Accept: application/json (or text/html for browser) Success Response (200 OK): Content-Type: application/json (for JSON-LD) Body: JSON-LD representation of the skill. Success Response (200 OK): Content-Type: text/html (for browser requests) Body: Human-readable HTML description of the skill. Redirection Response (302 Found): Indicates a redirect, often to a human-readable page. ``` -------------------------------- ### Run OSMT Batch Import Process with Java Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Illustrates how to execute a batch import process using a compiled Java JAR file. This example specifies the active Spring profiles (dev, import) and provides necessary command-line arguments for the import type and the path to the CSV file. ```bash java -jar -Dspring.profiles.active=dev,import \ api/target/osmt-api-.jar --csv=path/to/csv --import-type=bls ``` -------------------------------- ### Retrieve Skills in JSON-LD Format (Paginated) Source: https://github.com/wgu-opensource/osmt/blob/develop/docs/osmt-developers-guide.md Requests all skills in JSON-LD format. The API returns results in pages, using RFC 5988 Link headers to indicate the URL for the next page of results. ```bash # curl -H "Accept: application/json" https://osmt.wgu.edu/api/skills ``` ```APIDOC Endpoint: /api/skills Method: GET Headers: Accept: application/json Success Response (200 OK): Content-Type: application/json Body: Array of skill objects (up to 100 per page). Headers: Link: ; rel="next"; Pagination: - To retrieve subsequent pages, follow the URL provided in the 'Link' header with the 'next' relation. - Continue requesting pages until the 'Link' header is no longer present or the 'next' relation is absent. ``` -------------------------------- ### Content Negotiation and Async Tasks Source: https://github.com/wgu-opensource/osmt/blob/develop/docs/osmt-developers-guide.md Explains how the API uses the Accept header for content negotiation and handles asynchronous operations. Responses may include a 202 Accepted status with a TaskResult object containing an href for polling. ```APIDOC API Behavior: Content Negotiation: - Uses the 'Accept' header to determine the requested content type (e.g., application/json, text/html, text/csv). Asynchronous Operations: - Returns '202 Accepted' for long-running processes. - Provides a JSON 'TaskResult' object with an 'href' to poll for final results. Pagination: - Uses RFC 5988 'Link' header for navigating paginated results (e.g., 'next', 'previous' relations). Rate Limiting: - Responses include 'X-RateLimit-Limit' and 'X-RateLimit-Remain' headers. - Unauthenticated requests: 60 requests/hr. - Authenticated requests: 5000 requests/hr. - Public Canonical URL endpoints are exempt from rate limits. ``` -------------------------------- ### AWS S3 Bucket and DynamoDB Setup for Terraform State Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Manual setup of an S3 bucket and DynamoDB table in AWS for storing and locking Terraform state. This ensures infrastructure state is managed securely and can be shared across environments. ```APIDOC AWS Resource Setup for Terraform State: 1. S3 Bucket Creation: - Service: S3 - Action: Create bucket - Bucket Name: `osmt-test` (or `osmt-` format) - ACLs: Disabled (Bucket owner enforced) - Public Access: Block all public access - Versioning: Enabled - Default Encryption: Enabled (AWS S3 managed keys, bucket key enabled) 2. DynamoDB Table Creation: - Service: DynamoDB - Action: Create table - Table Name: `osmt-test` (or `osmt-` format) - Partition Key: `LockID` (Type: String) - Sort Key: None - Table Settings: Default ``` -------------------------------- ### Invoking Angular CLI via npm Source: https://github.com/wgu-opensource/osmt/blob/develop/ui/README.md This snippet demonstrates how to invoke the Angular CLI commands through npm scripts, which is recommended to avoid global installation conflicts. It uses `npm run ng` followed by the desired Angular CLI command. ```bash npm run ng whatever_command ``` -------------------------------- ### Validate Local OSMT Environment Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Validates the local environment setup for OSMT, checking for necessary dependencies like Docker and Java SDKs. Errors reported by this command must be resolved before proceeding with development. ```bash ./osmt_cli.sh -v ``` -------------------------------- ### Retrieve Skills in CSV Format (Async) Source: https://github.com/wgu-opensource/osmt/blob/develop/docs/osmt-developers-guide.md Initiates an asynchronous request to retrieve all skills in CSV format. The API responds with a 202 Accepted status and a TaskResult object containing a UUID to poll for the final results. ```bash # curl -H "Accept: text/csv" https://osmt.wgu.edu/api/skills ``` ```json { "href": "/tasks/3fa85f64-5717-4562-b3fc-2c963f66afa6", "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "content-type": "text/csv", "status": "Processing" } ``` ```APIDOC Endpoint: /api/skills Method: GET Headers: Accept: text/csv Success Response (202 Accepted): Content-Type: application/json Body: TaskResult { href: string (URL to poll for task status) uuid: string (Unique identifier for the task) content-type: string (Requested content type, e.g., "text/csv") status: string (Current status, e.g., "Processing") } Polling Endpoint: Endpoint: /api/tasks/{uuid} Method: GET Polling Response (Task Incomplete): Status: 202 Accepted Content-Type: application/json Body: TaskResult (same as above) Polling Response (Task Complete): Status: 200 OK Content-Type: text/csv Body: CSV data for skills ``` -------------------------------- ### OSMT CLI Initialization Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Initializes environment files for the OSMT project, including development and API test configurations. This command helps in setting up the project's runtime environment. ```bash ./osmt_cli.sh -i ``` -------------------------------- ### Terraform: Initialize, Plan, and Apply AWS Resources Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Steps to set up and deploy AWS infrastructure using Terraform. Includes initializing the Terraform environment, generating an execution plan, and applying the plan to create resources. ```shell terraform init ``` ```shell terraform plan ``` ```shell terraform apply ``` -------------------------------- ### Initialize OSMT Environment Files Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Initializes the environment files for OSMT, typically used for local development. After running this, users need to update OAuth2/OIDC values in the generated env files. ```bash ./osmt_cli.sh -i ``` -------------------------------- ### Import OSMT Metadata (BLS, O*NET) Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Optionally imports metadata from sources like BLS and O*NET into the OSMT system. This step is useful for populating the skills database with external data. ```bash ./osmt_cli.sh -m ``` -------------------------------- ### Source Environment Variables for Development Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Provides a shell command to source environment variables from a specified file into the current shell session. This is useful for setting up the development environment, particularly when using the `osmt-dev-stack.env` file. ```bash set -o allexport; source api/osmt-dev-stack.env; set +o allexport; ``` -------------------------------- ### Set Environment Variables via JSON (Windows) Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Configures Spring Boot application properties by setting the `SPRING_APPLICATION_JSON` environment variable on Windows. This method allows for centralized configuration of OAuth2 parameters. ```batch set SPRING_APPLICATION_JSON="{\"OAUTH_ISSUER\":\"\",\"OAUTH_CLIENTID\":\"\", \"OAUTH_CLIENTSECRET\":\"\",\"OAUTH_AUDIENCE\":\"\"}" ``` -------------------------------- ### Set Environment Variables via JSON (Linux/macOS) Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Configures Spring Boot application properties by exporting a JSON string to the `SPRING_APPLICATION_JSON` environment variable on macOS and Linux. This method allows for centralized configuration of OAuth2 parameters. ```bash export SPRING_APPLICATION_JSON="{\"OAUTH_ISSUER\":\"\",\"OAUTH_CLIENTID\":\"\", \"OAUTH_CLIENTSECRET\":\"\",\"OAUTH_AUDIENCE\":\"\"}" ``` -------------------------------- ### Import OSMT Metadata Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Imports necessary metadata for the Development configuration of the OSMT project. This command is crucial for setting up the application's data dependencies. ```bash osmt_cli.sh -m ``` -------------------------------- ### Terraform Configuration Files Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Instructions for generating and customizing Terraform configuration files. This includes setting up the main Terraform file, environment-specific variables, and secrets for deployment. ```Terraform # Example of main.tf content (from template) # ... other configurations ... variable "aws_region" { description = "The AWS region to deploy resources in." type = string default = "us-west-2" } variable "s3_bucket_name" { description = "Name of the S3 bucket for Terraform state." type = string } variable "dynamodb_table_name" { description = "Name of the DynamoDB table for Terraform state locking." type = string } # ... other configurations ... ``` ```JSON // Example of config.auto.tfvars.json content { "aws_region": "us-west-2", "s3_bucket_name": "osmt-test", "dynamodb_table_name": "osmt-test", "alb": { "certificate_arn": "arn:aws:acm:us-west-2:123456789012:certificate/your-certificate-id" } } ``` ```JSON // Example of secrets.auto.tfvars.json content { "okta_client_id": "YOUR_OKTA_CLIENT_ID", "okta_client_secret": "YOUR_OKTA_CLIENT_SECRET" } ``` -------------------------------- ### OSMT Spring Boot Configuration Profiles Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Explains how Spring Boot profiles are utilized in OSMT to manage runtime configuration. Profiles influence property file loading (e.g., application-dev.properties) and the activation of Spring components annotated with @Profile. The `spring-boot.run.profiles` system property is used to define the active profile list. ```APIDOC Spring Boot Profiles in OSMT: Configuration Profiles: - (none): Uses application.properties - dev: Uses application-dev.properties - staging: Uses application-staging.properties - review: Uses application-review.properties - test: Uses application-test.properties Component Profiles: Security: - oauth2-okta: Enables OAuth2 OIDC configuration with Okta. Application: - apiserver: Starts the API server. Requires a Security Component Profile. - import: Runs the batch import process. Requires --csv= and --import-type= arguments. Terminates upon completion. - reindex: Runs the Elasticsearch re-index process. Terminates upon completion. ``` -------------------------------- ### Git Workflow for OSMT Contribution Source: https://github.com/wgu-opensource/osmt/blob/develop/CONTRIBUTING.md Steps involved in contributing to the OSMT project using Git, from cloning the repository to pushing changes to a feature branch. ```git git clone https://github.com/wgu-opensource/osmt.git git@github.com:wgu-opensource/osmt.git ``` ```git git checkout origin/develop -b your-local-branch-name ``` ```git git add insert-paths-of-changed-files-here ``` ```git git commit ``` ```git git push HEAD:origin feature/your-feature-branch-name ``` -------------------------------- ### Application Properties for Public API Access Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Configuration settings in `application.properties` to enable anonymous access for searching and listing published skills and collections. ```Properties app.allowPublicSearching=true app.allowPublicLists=true ``` -------------------------------- ### Running Elasticsearch Reindexing Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Instructions to run the Elasticsearch reindexing process by activating the 'reindex' Spring profile. This generates index mappings and documents after data imports. ```Shell java -Dspring.profiles.active=,reindex -jar api/target/osmt-api-.jar ``` ```Shell mvn -DSpring.profiles.active=,reindex spring-boot:run ``` -------------------------------- ### Importing O*NET Codes via Command Line Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Command to import O*NET codes after converting Occupation Data from Excel to CSV format. BLS codes should be imported before O*NET codes. ```Shell java -jar -Dspring.profiles.active=dev,import api/target/osmt-api-.jar --csv=path/to/onet_csv --import-type=onet ``` -------------------------------- ### Whitelabel Configuration Structure Source: https://github.com/wgu-opensource/osmt/blob/develop/ui/README.md This describes the structure for whitelabel configuration in an Angular application. The configuration is loaded dynamically from a URI specified in the environment file. Updates to the configuration shape require modifying the corresponding TypeScript interface and class. ```typescript // In environment file (e.g., environment.ts) // environment.whiteLabelConfigUri = '/path/to/your/whitelabel.json'; // In src/app/models/app-config.model.ts // Interface defining the expected JSON shape interface IAppConfig { // ... properties defining the config shape } // Class defining default configurations class DefaultAppConfig implements IAppConfig { // ... default configuration values } // On app launch, config is downloaded and deserialized into AppConfig.settings // AppConfig.settings will be of type IAppConfig ``` -------------------------------- ### Spring Boot OAuth2 Okta Profile Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Specifies the Spring Boot profile to use when Okta is configured as the OAuth2 provider. This profile loads properties from `application-oauth2-okta.properties`, which relies on environment variables for secrets. ```properties spring.profiles.active=oauth2-okta ``` -------------------------------- ### Stop OSMT Development Backend Dependencies Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Stops the Docker Compose stack that manages the backend dependencies (MySQL, Redis, Elasticsearch) for OSMT development. This command halts the background services. ```bash ./osmt_cli.sh -e ``` -------------------------------- ### Run API Tests with Maven Source: https://github.com/wgu-opensource/osmt/blob/develop/test/README.md Execute the OSMT API integration tests using Maven. This command triggers the test suite, typically during a build cycle. ```bash mvn verify -pl test -Prun-api-tests ``` -------------------------------- ### Clean OSMT Docker Images and Volumes Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Performs a cleanup of OSMT-related Docker images and data volumes. This action will delete data from development and API test configurations but does not remove the base MySQL, Redis, or Elasticsearch Docker images. ```bash ./osmt_cli.sh -c ``` -------------------------------- ### Importing BLS Codes via Command Line Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Command to import BLS (Bureau of Labor Statistics) codes after converting Excel data to CSV format. BLS codes should be imported before O*NET codes. ```Shell java -jar -Dspring.profiles.active=dev,import api/target/osmt-api-.jar --csv=path/to/bls_csv --import-type=bls ``` -------------------------------- ### API Test Environment Configuration Source: https://github.com/wgu-opensource/osmt/blob/develop/test/README.md Configuration file for OSMT API tests. This file, typically named `osmt-apitest.env`, is used to pass environment-specific variables, such as authentication credentials, to the testing framework (e.g., Newman). Ensure special characters are escaped for correct parsing. ```env # Example content for osmt-apitest.env # OKTA_USERNAME=your_okta_username # OKTA_PASSWORD=your_escaped_okta_password # API_BASE_URL=http://localhost:8080 ``` -------------------------------- ### AWS CLI Credentials Configuration Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Configure your local AWS CLI to authenticate with your AWS account using a specific profile. This involves creating or updating the `~/.aws/credentials` file with your access key ID and secret access key. ```Shell [osmt] aws_access_key_id = YOURKEY aws_secret_access_key = SECRET ``` ```Shell aws sts get-caller-identity --profile osmt ``` -------------------------------- ### Templated Variable: skillPublicUrl Source: https://github.com/wgu-opensource/osmt/blob/develop/ui/src/app/richskill/detail/rich-skill-manage/action-bar/action-bar-vertical/manage-skill-action-bar-vertical.component.html Represents a dynamic variable or property access within a templating engine. This placeholder is used to insert the public URL of a skill, likely fetched from the application's data context. ```templating {{skillPublicUrl}} ``` -------------------------------- ### Templated Function Call: publishLinkText Source: https://github.com/wgu-opensource/osmt/blob/develop/ui/src/app/richskill/detail/rich-skill-manage/action-bar/action-bar-vertical/manage-skill-action-bar-vertical.component.html Represents a dynamic function call within a templating engine. This placeholder is used to generate the text for a publish link, likely dynamically determined by the application's state or data. ```templating {{publishLinkText()}} ``` -------------------------------- ### Terraform: Destroy AWS Resources Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Procedure for safely removing AWS infrastructure managed by Terraform. Includes steps for disabling deletion protection and executing the destroy command to tear down resources. ```shell # Remove enable_deletion_protection from your configuration (e.g., config.auto.tfvars.json) terraform destroy ``` -------------------------------- ### AWS Certificate Manager (ACM) for SSL Source: https://github.com/wgu-opensource/osmt/blob/develop/infra/aws/README.md Request and configure an SSL certificate using AWS Certificate Manager for securing your domain. This involves requesting a public certificate, validating domain ownership (DNS validation recommended), and associating it with your application's load balancer. ```APIDOC AWS Certificate Manager (ACM) SSL Certificate: 1. Request Certificate: - Service: Certificate Manager (ACM) - Action: Request a public certificate - Domain Names: Add your domain (e.g., `yourdomain.com`) and wildcard (e.g., `*.yourdomain.com`) - Validation Method: DNS validation - Validation Steps: - Click "Create Records in Route 53" (if using Route 53 for DNS). - Alternatively, manually create CNAME records in your DNS provider. - Status: Pending validation until DNS records are propagated. 2. Certificate ARN Retrieval: - Once validated, navigate to the certificate details page. - Copy the Certificate ARN (e.g., `arn:aws:acm:us-west-2:123456789012:certificate/your-certificate-id`). - This ARN will be used in Terraform configuration (e.g., `config.alb.certificate_arn`). ``` -------------------------------- ### Disable Roles in Angular UI Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Configuration to disable role-based access control within the Angular UI. This involves modifying a boolean constant in a TypeScript file. ```typescript export const ENABLE_ROLES = false ``` -------------------------------- ### Disable Roles in Spring REST API Source: https://github.com/wgu-opensource/osmt/blob/develop/README.md Configuration to disable role-based access control in the Spring REST API. This is achieved by setting a property in the application configuration file. ```properties # Roles settings app.enableRoles=false ``` -------------------------------- ### Delete All Elasticsearch Indices Source: https://github.com/wgu-opensource/osmt/blob/develop/api/README.md Deletes all indices in Elasticsearch using a `curl` DELETE request. This is a prerequisite for re-indexing after schema changes. Replace `` and `` with your Elasticsearch server details. ```shell curl -X DELETE "http://:/*" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.