From cdc6b10e2c00389d37c5f9e68165469a396da102 Mon Sep 17 00:00:00 2001 From: Sean Holung Date: Thu, 20 Mar 2025 18:11:37 -0700 Subject: [PATCH 1/6] update frontmatter with keywords clean clean --- scripts/search/keywords/keyword_gen_md.py | 157 ++++++++++++++++++++++ scripts/search/keywords/requirements.txt | 3 + 2 files changed, 160 insertions(+) create mode 100644 scripts/search/keywords/keyword_gen_md.py create mode 100644 scripts/search/keywords/requirements.txt diff --git a/scripts/search/keywords/keyword_gen_md.py b/scripts/search/keywords/keyword_gen_md.py new file mode 100644 index 000000000000..cd38fc14d4f7 --- /dev/null +++ b/scripts/search/keywords/keyword_gen_md.py @@ -0,0 +1,157 @@ +import os +import time +import threading +from collections import OrderedDict +from functools import partial +from keybert import KeyBERT +from ruamel.yaml import YAML +from typing import List, Dict, Any +import concurrent.futures +import frontmatter + +def find_markdown_files(directory: str) -> List[str]: + """ + Find all markdown files in the given directory and their subdirectories. + """ + # get all markdown files in the given directory and their subdirectories. + markdown_files = [] + for root, _, files in os.walk(directory): + for file in files: + if file.endswith(".md"): + markdown_files.append(os.path.join(root, file)) + return markdown_files + +def process_markdown_file(file_path: str) -> Dict[str, Any]: + """ + Process markdown file and generate keywords for it. + """ + print(f"Processing file: {file_path}") + + # Read the markdown file. + with open(file_path, "r") as f: + content = f.read() + + # break apart the frontmatter and the content + page = frontmatter.loads(content) + frontmatter_content = content.split("---", 2)[1] + + # Use ruamel.yaml for this so that we can preserve the comments that are in + # the frontmatter. This also allows us to preserve the ordering of the keys + # that were originally on the page to cut down on file diffs. + yaml = YAML() + yaml.preserve_quotes = True + # best guess at indentation for most of our files to retain original integrity as + # much as possible :shrug: + yaml.indent(mapping=2, sequence=4, offset=2) + ordered_frontmatter = yaml.load(frontmatter_content) + + # Extract title and meta description properties so we can use them + # as part of the keyword generation process. + title = ordered_frontmatter.get("title", "") + meta_desc = ordered_frontmatter.get("meta_desc", "") + + # Combine title, meta_desc, and content for keyword generation. We may want to weight these + # differently in the future, but can make optimizations later. + combined_text = f"{title} {meta_desc} {page.content}" + + # Generate keywords. Up to 5 keywords and 1-gram (single word) range. + new_keywords = generate_keywords(combined_text, 5, (1, 1)) + + # Update the frontmatter with new keywords under search and initialize search key if + # it doesn't exist. + if "search" not in ordered_frontmatter: + ordered_frontmatter["search"] = {} + + # Handle existing search.keywords if there happen to be any. + if "keywords" in ordered_frontmatter["search"]: + # Get existing keywords + existing_keywords = ordered_frontmatter["search"]["keywords"] + + # Combine existing and new keywords and also dedupe. + combined_keywords = list(existing_keywords) + for keyword in new_keywords: + if keyword not in combined_keywords: + combined_keywords.append(keyword) + + # Update keywords + ordered_frontmatter["search"]["keywords"] = combined_keywords + else: + # if no existing keywords, just set them with the new ones. + ordered_frontmatter["search"]["keywords"] = new_keywords + + # Write the updated frontmatter back to the file + with open(file_path, "w") as f: + f.write("---\n") + yaml.dump(ordered_frontmatter, f) + f.write("---\n\n") + f.write(page.content) + + # return back the list of keywords for logging purposes. + final_keywords = ordered_frontmatter["search"]["keywords"] + + return { + "file": file_path, + "title": title, + "keywords": final_keywords + } + +def process_batch(files: List[str], batch_size) -> List[Dict[str, Any]]: + """ + Process markdown files in parallel. + """ + print(f"Starting batch processing with {len(files)} files using {batch_size} workers") + start_time = time.time() + + with concurrent.futures.ThreadPoolExecutor(max_workers=batch_size) as executor: + results = list(executor.map(process_markdown_file, files)) + + end_time = time.time() + print(f"Batch processing completed in {end_time - start_time:.2f} seconds") + return results + +def generate_keywords(text, num_keywords, ngram_range=(1, 1)): + """ + Generate keywords for input text using KeyBERT. Using very generic settings for now. + We can fine tune this later after we prove concept. + """ + # Initialize KeyBERT model + kw_model = KeyBERT() + + # Extract keywords + keywords = kw_model.extract_keywords( + text, + keyphrase_ngram_range=ngram_range, + stop_words="english", + top_n=num_keywords + ) + + # Return just the keywords without the scoring + return [kw for kw, _ in keywords] + + +def main(): + # Root directory to start processing markdown files. Will recurse through subdirs. + docs_dir = "content/docs/esc/" + + # Find all markdown files + markdown_files = find_markdown_files(docs_dir) + print(f"Found {len(markdown_files)} markdown files total") + + # TODO: Remove this... only processing a subset of files for testing purposes. + markdown_files = markdown_files[:32] + print(f"Processing {len(markdown_files)} files") + + # Process files in batches + batch_size = 8 + results = process_batch(markdown_files, batch_size) + + # Print summary + print("\nProcessing complete!") + print(f"Processed {len(results)} files") + for result in results: + print(f"\nFile: {result['file']}") + print(f"Title: {result['title']}") + print(f"Generated keywords: {', '.join(result['keywords'])}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/scripts/search/keywords/requirements.txt b/scripts/search/keywords/requirements.txt new file mode 100644 index 000000000000..233f808c6672 --- /dev/null +++ b/scripts/search/keywords/requirements.txt @@ -0,0 +1,3 @@ +keybert>=0.9.0 +ruamel.yaml>=0.18.10 +frontmatter>=3.0.8 \ No newline at end of file From fb56a0850a1de474fba8b8e967f6436b869d3402 Mon Sep 17 00:00:00 2001 From: Sean Holung Date: Thu, 20 Mar 2025 18:17:37 -0700 Subject: [PATCH 2/6] enable testing env --- .github/workflows/update-search-index.yml | 2 +- layouts/partials/docs/search.html | 2 +- scripts/ci-push.sh | 2 +- scripts/search/update-search-index.js | 2 +- scripts/sync-and-test-bucket.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/update-search-index.yml b/.github/workflows/update-search-index.yml index 4d3ae1ce8111..d44de22c142f 100644 --- a/.github/workflows/update-search-index.yml +++ b/.github/workflows/update-search-index.yml @@ -7,7 +7,7 @@ jobs: update: name: Update Algolia Search Index runs-on: ubuntu-latest - environment: production + environment: testing steps: - name: Install Node uses: actions/setup-node@v1 diff --git a/layouts/partials/docs/search.html b/layouts/partials/docs/search.html index d41f1e593a1e..3d059277a137 100644 --- a/layouts/partials/docs/search.html +++ b/layouts/partials/docs/search.html @@ -8,7 +8,7 @@ data-app-id="{{ getenv "ALGOLIA_APP_ID" }}" data-search-key="{{ getenv "ALGOLIA_APP_SEARCH_KEY" }}" data-facets="Docs,Registry,Tutorials" - data-index="production" + data-index="testing" >
diff --git a/scripts/ci-push.sh b/scripts/ci-push.sh index fcb2cecdd9fb..e3a22daa14b5 100755 --- a/scripts/ci-push.sh +++ b/scripts/ci-push.sh @@ -7,7 +7,7 @@ source ./scripts/ci-login.sh ./scripts/build-site.sh ./scripts/sync-and-test-bucket.sh update -./scripts/generate-search-index.sh +# ./scripts/generate-search-index.sh node ./scripts/await-in-progress.js diff --git a/scripts/search/update-search-index.js b/scripts/search/update-search-index.js index 14af3a04663d..fc3a4d0e85af 100644 --- a/scripts/search/update-search-index.js +++ b/scripts/search/update-search-index.js @@ -4,7 +4,7 @@ const algoliasearch = require("algoliasearch"); // URL of the JSON file const registrySearchIndexUrl = "https://www.pulumi.com/registry/search-index.json"; -const docsSearchIndexUrl = "https://www.pulumi.com/search-index.json"; +const docsSearchIndexUrl = "https://www.pulumi-test.io/search-index.json"; // Configuration values required for updating the Algolia index. const config = { diff --git a/scripts/sync-and-test-bucket.sh b/scripts/sync-and-test-bucket.sh index bc58d4ebb8a2..b5c954465638 100755 --- a/scripts/sync-and-test-bucket.sh +++ b/scripts/sync-and-test-bucket.sh @@ -31,7 +31,7 @@ fi # For previews, name the destination bucket with the PR number, to reduce the number of # buckets we create and to facilitate shorter sync times. -destination_bucket="$(origin_bucket_prefix)-$(build_identifier)" +destination_bucket=$(echo "$(origin_bucket_prefix)-$(build_identifier)" | tr '_' '-') destination_bucket_uri="s3://${destination_bucket}" # Translate Hugo redirects into a file we'll use for making 301 redirects later. Note that From cfc3424c0273a22bf7adf1973444461634527267 Mon Sep 17 00:00:00 2001 From: Sean Holung Date: Tue, 25 Mar 2025 10:53:16 -0700 Subject: [PATCH 3/6] improve extraction using tf-idf update script --- scripts/ci-push.sh | 2 +- scripts/search/keywords/keyword_gen_md.py | 370 ++++++++++++++++++---- 2 files changed, 307 insertions(+), 65 deletions(-) diff --git a/scripts/ci-push.sh b/scripts/ci-push.sh index e3a22daa14b5..fcb2cecdd9fb 100755 --- a/scripts/ci-push.sh +++ b/scripts/ci-push.sh @@ -7,7 +7,7 @@ source ./scripts/ci-login.sh ./scripts/build-site.sh ./scripts/sync-and-test-bucket.sh update -# ./scripts/generate-search-index.sh +./scripts/generate-search-index.sh node ./scripts/await-in-progress.js diff --git a/scripts/search/keywords/keyword_gen_md.py b/scripts/search/keywords/keyword_gen_md.py index cd38fc14d4f7..cb1d0e87d022 100644 --- a/scripts/search/keywords/keyword_gen_md.py +++ b/scripts/search/keywords/keyword_gen_md.py @@ -8,6 +8,8 @@ from typing import List, Dict, Any import concurrent.futures import frontmatter +from sklearn.feature_extraction.text import TfidfVectorizer +import numpy as np def find_markdown_files(directory: str) -> List[str]: """ @@ -21,7 +23,249 @@ def find_markdown_files(directory: str) -> List[str]: markdown_files.append(os.path.join(root, file)) return markdown_files -def process_markdown_file(file_path: str) -> Dict[str, Any]: +def extract_document_content(file_path: str, title_weight: float = 0.5, meta_desc_weight: float = 0.3, content_weight: float = 0.2) -> Dict[str, Any]: + """ + Extract content and frontmatter from a markdown file and somewhat hacky + way to generate weighted text. + + Params: + - file_path: path to the md file + - title_weight: relative importance of the title + - meta_desc_weight: relative importance of the meta description + - content_weight: relative importance of the main content + """ + with open(file_path, "r") as f: + content = f.read() + + # Parse frontmatter and content + page = frontmatter.loads(content) + + # Extract title and meta description + title = page.metadata.get("title", "") + meta_desc = page.metadata.get("meta_desc", "") + + # Check if meta_desc is missing and rebalance weights if needed + if not meta_desc: + # Redistribute meta_desc weight relative to title and content + total_remaining = title_weight + content_weight + if total_remaining > 0: # Avoid division by zero + # Distribute meta_desc_weight proportionally + title_weight += meta_desc_weight * (title_weight / total_remaining) + content_weight += meta_desc_weight * (content_weight / total_remaining) + meta_desc_weight = 0 + + # Normalize weights to ensure they sum to 1.0. + # If they do not, then rebalance the weights based on the total sum. + total_weight = title_weight + meta_desc_weight + content_weight + if total_weight != 1.0: + title_weight = title_weight / total_weight + meta_desc_weight = meta_desc_weight / total_weight + content_weight = content_weight / total_weight + + # add 1 to avoid divide by zero + title_len = len(title.split()) + 1 + meta_desc_len = len(meta_desc.split()) + 1 if meta_desc else 1 + content_len = len(page.content.split()) + 1 + + # calculate repetition values as a way to ensure each segment is weighted relative to the sizes of the text. + content_repeat = 1 + title_repeat = int((title_weight * content_len * content_repeat) / (content_weight * title_len)) + 1 if content_weight > 0 else 1 + + # Only calculate meta_desc_repeat if we have a meta_desc and its weight is > 0. Sometimes a meta_desc is not present + # in the hugo frontmatter. + if meta_desc and meta_desc_weight > 0: + meta_desc_repeat = int((meta_desc_weight * content_len * content_repeat) / (content_weight * meta_desc_len)) + 1 if content_weight > 0 else 1 + weighted_text = f"{' '.join([title] * title_repeat)} {' '.join([meta_desc] * meta_desc_repeat)} {page.content}" + else: + # Skip meta_desc in the weighted text if it's missing + weighted_text = f"{' '.join([title] * title_repeat)} {page.content}" + + return { + "file_path": file_path, + "weighted_text": weighted_text, + "title": title, + "content": content, + "page": page + } + +def keybert_tfidf_keyword_extraction(documents: List[Dict[str, Any]], num_keywords=5, disallow=None) -> Dict[str, List[str]]: + """ + Extract keywords using both corpus-level TF-IDF and KeyBERT. + Opting for a combined approach here which leverages distinctiveness + from TF-IDF and while also deriving semantic meaning from KeyBERT. + + TF-IDF is a way to find the most important words in a page by comparing how often + they appear in a specific page relative to all the other pages. This helps us identify + the unique keywords that make each page more distinct, helping to reject noise and common + words that are of less meaning. + + Term Frequency: how often a word appears in the page + Inverse Document Frequency: how rare a word is across all the pages + + KeyBERT is a way to find the most important words in a document by looking at the semantic + meaning of the words. This helps us identify the keywords that are most important to the + meaning of the page. + + Parameters: + - documents: List of document dictionaries + - num_keywords: Number of keywords to extract per document + - disallow: List of terms to exclude from keywords + """ + print(f"Performing hybrid keyword extraction on {len(documents)} documents") + + # Initialize disallow list if not provided + if disallow is None: + disallow = [] + else: + print(f"Using disallow list with {len(disallow)} terms") + + # Create corpus from all documents + corpus = [doc["weighted_text"] for doc in documents] + file_paths = [doc["file_path"] for doc in documents] + + # Vectorizer that will be used to convert the enitre corpus into a TF-IDF matrix. + print("Building corpus-level TF-IDF vectorizer...") + vectorizer = TfidfVectorizer( + ngram_range=(1, 1), + stop_words='english', + lowercase=True, + max_features=10000, + min_df=1, + max_df=1.0 + ) + + # fit_transform combines fit and transform. + # fit calculates the IDF values for each term + # transform performs dot product between the term frequency + # vectors and the inverse document frequency values. + tfidf_matrix = vectorizer.fit_transform(corpus) + feature_names = vectorizer.get_feature_names_out() + print(f"terms: {len(feature_names)} terms") + + # Extract 10 TF-IDF keywords + tfidf_keywords = extract_tfidf_keywords(tfidf_matrix, feature_names, file_paths, 10, disallow) + + # Extract 10 KeyBERT keywords + keybert_keywords = extract_keybert_keywords(documents, vectorizer, 10, disallow) + + # Combine the results with a preference for keywords that appear in both methods + combined_keywords = {} + + # Iterate over each file and combine the keywords from both methods + for file_path in tfidf_keywords: + # Get keywords from both methods + tfidf_kw = tfidf_keywords[file_path] + keybert_kw = keybert_keywords[file_path] + + print(f"TF-IDF keywords for {file_path}:\n\t {tfidf_kw}") + print(f"KeyBERT keywords for {file_path}:\n\t {keybert_kw}") + + # First prioritize common keywords that appear in both methods + common_kw = [] + for kw in tfidf_kw: + if any(kw.lower() == kb.lower() for kb in keybert_kw): + common_kw.append(kw) + + print(f"Common keywords for {file_path}:\n\t {common_kw}") + + # Then add unique keywords from each method until we reach the desired count + unique_kw = [] + # First add remaining TF-IDF keywords that aren't in common_kw + for kw in tfidf_kw: + if kw not in common_kw and not any(kw.lower() == unique.lower() for unique in unique_kw): + unique_kw.append(kw) + + # Then add KeyBERT keywords that aren't in common_kw or already in unique_kw + for kw in keybert_kw: + if not any(kw.lower() == common.lower() for common in common_kw) and \ + not any(kw.lower() == unique.lower() for unique in unique_kw): + unique_kw.append(kw) + + print(f"Unique keywords for {file_path}:\n\t {unique_kw}") + + # Combine results and prioritize common keywords + result = common_kw + unique_kw + combined_keywords[file_path] = result[:num_keywords] + + print(f"Combined keywords for {file_path}:\n\t {combined_keywords[file_path]}") + + return combined_keywords + +def extract_tfidf_keywords(tfidf_matrix, feature_names, file_paths, num_keywords=5, disallow=None) -> Dict[str, List[str]]: + """ + Extract keywords from a pre-computed TF-IDF matrix. + """ + print("Extracting corpus-level TF-IDF keywords...") + + # Initialize disallow list if not provided + if disallow is None: + disallow = [] + + # Extract top keywords for each document + document_keywords = {} + + for i, file_path in enumerate(file_paths): + # Get document's TF-IDF scores + tfidf_scores = tfidf_matrix[i].toarray()[0] + + # Get indices of highest TF-IDF scores + sorted_indices = tfidf_scores.argsort()[::-1] + + # Get top keywords filtering out low scores and disallowed terms + top_keywords = [] + for idx in sorted_indices: + term = feature_names[idx] + if tfidf_scores[idx] > 0.01 and len(top_keywords) < num_keywords: + # Check if the term is in the disallow list + if not any(disallowed_term.lower() in term.lower() for disallowed_term in disallow): + top_keywords.append(term) + + document_keywords[file_path] = top_keywords + + return document_keywords + +def extract_keybert_keywords(documents: List[Dict[str, Any]], vectorizer, num_keywords=5, disallow=None) -> Dict[str, List[str]]: + """ + Extract keywords using KeyBERT + """ + print("Extracting KeyBERT keywords...") + + # Initialize disallow list if not provided + if disallow is None: + disallow = [] + + # Initialize KeyBERT model + kw_model = KeyBERT() + + # Extract keywords for each document + document_keywords = {} + + for doc in documents: + file_path = doc["file_path"] + weighted_text = doc["weighted_text"] + + # Extract keywords using KeyBERT with the provided vectorizer + keywords = kw_model.extract_keywords( + weighted_text, + keyphrase_ngram_range=(1, 1), + stop_words='english', + use_mmr=True, + diversity=0.7, + top_n=num_keywords + ) + + # Filter out disallowed terms + filtered_keywords = [] + for kw, score in keywords: + if not any(disallowed_term.lower() in kw.lower() for disallowed_term in disallow): + filtered_keywords.append((kw, score)) + + # Store just the keywords without scores (limited to requested number) + document_keywords[file_path] = [kw for kw, _ in filtered_keywords[:num_keywords]] + + return document_keywords + +def process_markdown_file(file_path: str, keywords: List[str]) -> Dict[str, Any]: """ Process markdown file and generate keywords for it. """ @@ -38,112 +282,110 @@ def process_markdown_file(file_path: str) -> Dict[str, Any]: # Use ruamel.yaml for this so that we can preserve the comments that are in # the frontmatter. This also allows us to preserve the ordering of the keys # that were originally on the page to cut down on file diffs. - yaml = YAML() - yaml.preserve_quotes = True # best guess at indentation for most of our files to retain original integrity as # much as possible :shrug: + yaml = YAML() + yaml.preserve_quotes = True yaml.indent(mapping=2, sequence=4, offset=2) ordered_frontmatter = yaml.load(frontmatter_content) - - # Extract title and meta description properties so we can use them - # as part of the keyword generation process. - title = ordered_frontmatter.get("title", "") - meta_desc = ordered_frontmatter.get("meta_desc", "") - # Combine title, meta_desc, and content for keyword generation. We may want to weight these - # differently in the future, but can make optimizations later. - combined_text = f"{title} {meta_desc} {page.content}" - - # Generate keywords. Up to 5 keywords and 1-gram (single word) range. - new_keywords = generate_keywords(combined_text, 5, (1, 1)) + # Get existing title for logging + title = ordered_frontmatter.get("title", "") - # Update the frontmatter with new keywords under search and initialize search key if - # it doesn't exist. + # Initialize search in frontmatter if it doesn't exist if "search" not in ordered_frontmatter: ordered_frontmatter["search"] = {} - - # Handle existing search.keywords if there happen to be any. + + # Combine existing and new keywords and also dedupe. if "keywords" in ordered_frontmatter["search"]: - # Get existing keywords existing_keywords = ordered_frontmatter["search"]["keywords"] - - # Combine existing and new keywords and also dedupe. combined_keywords = list(existing_keywords) - for keyword in new_keywords: + for keyword in keywords: if keyword not in combined_keywords: combined_keywords.append(keyword) - - # Update keywords ordered_frontmatter["search"]["keywords"] = combined_keywords else: - # if no existing keywords, just set them with the new ones. - ordered_frontmatter["search"]["keywords"] = new_keywords + ordered_frontmatter["search"]["keywords"] = keywords - # Write the updated frontmatter back to the file + # Write updated frontmatter back to file with open(file_path, "w") as f: f.write("---\n") yaml.dump(ordered_frontmatter, f) f.write("---\n\n") - f.write(page.content) - - # return back the list of keywords for logging purposes. - final_keywords = ordered_frontmatter["search"]["keywords"] - + f.write(page.content + "\n") + + # Return info for logging return { "file": file_path, "title": title, - "keywords": final_keywords + "keywords": ordered_frontmatter["search"]["keywords"] } -def process_batch(files: List[str], batch_size) -> List[Dict[str, Any]]: +def write_keywords_to_files(files: List[str], file_keyword_map: Dict[str, List[str]]) -> List[Dict[str, Any]]: """ - Process markdown files in parallel. + Write generated keywords to markdown files. """ - print(f"Starting batch processing with {len(files)} files using {batch_size} workers") + print(f"Starting to write keywords to {len(files)} files") + start_time = time.time() + results = [] - with concurrent.futures.ThreadPoolExecutor(max_workers=batch_size) as executor: - results = list(executor.map(process_markdown_file, files)) + for file_path in files: + keywords = file_keyword_map[file_path] + result = process_markdown_file(file_path, keywords) + results.append(result) end_time = time.time() - print(f"Batch processing completed in {end_time - start_time:.2f} seconds") + print(f"Finished writing keywords") return results -def generate_keywords(text, num_keywords, ngram_range=(1, 1)): - """ - Generate keywords for input text using KeyBERT. Using very generic settings for now. - We can fine tune this later after we prove concept. - """ - # Initialize KeyBERT model - kw_model = KeyBERT() - - # Extract keywords - keywords = kw_model.extract_keywords( - text, - keyphrase_ngram_range=ngram_range, - stop_words="english", - top_n=num_keywords - ) - - # Return just the keywords without the scoring - return [kw for kw, _ in keywords] - - def main(): # Root directory to start processing markdown files. Will recurse through subdirs. - docs_dir = "content/docs/esc/" + docs_dir = "content/docs/" + + # list of terms to exclude from generated keywords + disallow = [ + "example", + "click", + "documentation", + "note", + "pulumi", + "href", + "src", + "div", + "shortcode", + "notes", + "chooser", + "choosable" + ] + + # Configure normalized weights - must sum to 1.0 + title_weight = 0.5 # title 50% + meta_desc_weight = 0.3 # meta_desc 30% + content_weight = 0.2 # content 20% + + # Number of keywords to extract per document + num_keywords = 7 # Find all markdown files markdown_files = find_markdown_files(docs_dir) print(f"Found {len(markdown_files)} markdown files total") # TODO: Remove this... only processing a subset of files for testing purposes. - markdown_files = markdown_files[:32] + # markdown_files = markdown_files[:32] print(f"Processing {len(markdown_files)} files") - # Process files in batches - batch_size = 8 - results = process_batch(markdown_files, batch_size) + # Extract document content for corpus building with normalized weights + print("Extracting document content...") + documents = [] + for file_path in markdown_files: + documents.append(extract_document_content(file_path, title_weight, meta_desc_weight, content_weight)) + + # Extract keywords using hybrid approach with TF-IDF and KeyBERT + file_keyword_map = keybert_tfidf_keyword_extraction(documents, num_keywords=num_keywords, disallow=disallow) + + # Update documents with new keywords + results = write_keywords_to_files(markdown_files, file_keyword_map) # Print summary print("\nProcessing complete!") From dd156f6523d69155cf2299884f973b77efb29dd7 Mon Sep 17 00:00:00 2001 From: Sean Holung Date: Tue, 25 Mar 2025 11:48:44 -0700 Subject: [PATCH 4/6] adjustments cleanup --- scripts/search/keywords/keyword_gen_md.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/scripts/search/keywords/keyword_gen_md.py b/scripts/search/keywords/keyword_gen_md.py index cb1d0e87d022..f87edfc00142 100644 --- a/scripts/search/keywords/keyword_gen_md.py +++ b/scripts/search/keywords/keyword_gen_md.py @@ -215,7 +215,7 @@ def extract_tfidf_keywords(tfidf_matrix, feature_names, file_paths, num_keywords top_keywords = [] for idx in sorted_indices: term = feature_names[idx] - if tfidf_scores[idx] > 0.01 and len(top_keywords) < num_keywords: + if tfidf_scores[idx] > 0.02 and len(top_keywords) < num_keywords: # Check if the term is in the disallow list if not any(disallowed_term.lower() in term.lower() for disallowed_term in disallow): top_keywords.append(term) @@ -230,10 +230,6 @@ def extract_keybert_keywords(documents: List[Dict[str, Any]], vectorizer, num_ke """ print("Extracting KeyBERT keywords...") - # Initialize disallow list if not provided - if disallow is None: - disallow = [] - # Initialize KeyBERT model kw_model = KeyBERT() @@ -341,7 +337,7 @@ def write_keywords_to_files(files: List[str], file_keyword_map: Dict[str, List[s def main(): # Root directory to start processing markdown files. Will recurse through subdirs. - docs_dir = "content/docs/" + docs_dir = "content/docs/esc/" # list of terms to exclude from generated keywords disallow = [ From 73949618728e71283c4d76f0d31cf1ae8ddfb623 Mon Sep 17 00:00:00 2001 From: Sean Holung Date: Tue, 25 Mar 2025 15:28:57 -0700 Subject: [PATCH 5/6] add docs content --- content/docs/_index.md | 236 ++++++++++-------- content/docs/esc/_index.md | 193 ++++++++------ content/docs/esc/administration/_index.md | 20 +- content/docs/esc/administration/audit-logs.md | 20 +- .../docs/esc/administration/self-hosting.md | 18 +- content/docs/esc/cli/_index.md | 14 +- .../docs/esc/cli/command-line-completion.md | 11 +- content/docs/esc/cli/commands/_index.md | 13 +- content/docs/esc/cli/commands/esc.md | 11 +- .../docs/esc/cli/commands/esc_completion.md | 11 +- .../esc/cli/commands/esc_completion_bash.md | 11 +- .../esc/cli/commands/esc_completion_fish.md | 11 +- .../cli/commands/esc_completion_powershell.md | 11 +- .../esc/cli/commands/esc_completion_zsh.md | 11 +- content/docs/esc/cli/commands/esc_env.md | 11 +- .../docs/esc/cli/commands/esc_env_clone.md | 11 +- content/docs/esc/cli/commands/esc_env_diff.md | 11 +- content/docs/esc/cli/commands/esc_env_edit.md | 11 +- content/docs/esc/cli/commands/esc_env_get.md | 11 +- content/docs/esc/cli/commands/esc_env_init.md | 11 +- content/docs/esc/cli/commands/esc_env_ls.md | 11 +- content/docs/esc/cli/commands/esc_env_open.md | 11 +- content/docs/esc/cli/commands/esc_env_rm.md | 11 +- .../docs/esc/cli/commands/esc_env_rollback.md | 11 +- .../docs/esc/cli/commands/esc_env_rotate.md | 11 +- content/docs/esc/cli/commands/esc_env_run.md | 11 +- content/docs/esc/cli/commands/esc_env_set.md | 11 +- content/docs/esc/cli/commands/esc_env_tag.md | 11 +- .../docs/esc/cli/commands/esc_env_tag_get.md | 11 +- .../docs/esc/cli/commands/esc_env_tag_ls.md | 11 +- .../docs/esc/cli/commands/esc_env_tag_mv.md | 11 +- .../docs/esc/cli/commands/esc_env_tag_rm.md | 11 +- .../docs/esc/cli/commands/esc_env_version.md | 11 +- .../cli/commands/esc_env_version_history.md | 11 +- .../cli/commands/esc_env_version_retract.md | 11 +- .../cli/commands/esc_env_version_rollback.md | 11 +- .../esc/cli/commands/esc_env_version_tag.md | 11 +- .../cli/commands/esc_env_version_tag_ls.md | 11 +- .../cli/commands/esc_env_version_tag_rm.md | 11 +- content/docs/esc/cli/commands/esc_login.md | 11 +- content/docs/esc/cli/commands/esc_logout.md | 11 +- content/docs/esc/cli/commands/esc_open.md | 11 +- content/docs/esc/cli/commands/esc_run.md | 11 +- content/docs/esc/cli/commands/esc_version.md | 11 +- content/docs/esc/concepts/_index.md | 12 +- content/docs/esc/concepts/how-esc-works.md | 9 + content/docs/esc/development/_index.md | 12 +- .../docs/esc/development/automation-api.md | 12 +- .../esc/development/languages-sdks/_index.md | 14 +- .../docs/esc/development/languages-sdks/go.md | 9 + .../development/languages-sdks/javascript.md | 12 +- .../esc/development/languages-sdks/python.md | 9 + content/docs/esc/development/psp.md | 12 +- .../docs/esc/development/vs-code-extension.md | 12 +- content/docs/esc/download-install/_index.md | 23 +- content/docs/esc/environments/_index.md | 12 +- .../docs/esc/environments/access-control.md | 12 +- .../dynamic-environment-variables.md | 12 +- content/docs/esc/environments/imports.md | 12 +- content/docs/esc/environments/rotation.md | 9 + content/docs/esc/environments/versioning.md | 12 +- content/docs/esc/environments/webhooks.md | 16 +- .../environments/working-with-environments.md | 9 +- content/docs/esc/faq.md | 9 + content/docs/esc/get-started/_index.md | 12 +- content/docs/esc/get-started/begin.md | 9 + .../esc/get-started/create-environment.md | 9 + .../docs/esc/get-started/esc-run-command.md | 12 +- .../esc/get-started/import-environments.md | 12 +- .../get-started/integrate-with-pulumi-iac.md | 9 + .../get-started/retrieve-external-secrets.md | 12 +- .../get-started/store-and-retrieve-secrets.md | 12 +- content/docs/esc/integrations/_index.md | 16 +- .../docs/esc/integrations/dev-tools/_index.md | 12 +- .../docs/esc/integrations/dev-tools/direnv.md | 11 +- .../docs/esc/integrations/dev-tools/docker.md | 11 +- .../docs/esc/integrations/dev-tools/github.md | 9 + .../dynamic-login-credentials/_index.md | 12 +- .../dynamic-login-credentials/aws-login.md | 16 +- .../dynamic-login-credentials/azure-login.md | 16 +- .../dynamic-login-credentials/gcp-login.md | 16 +- .../dynamic-login-credentials/vault-login.md | 16 +- .../dynamic-secrets/1password-secrets.md | 16 +- .../integrations/dynamic-secrets/_index.md | 12 +- .../dynamic-secrets/aws-parameter-store.md | 16 +- .../dynamic-secrets/aws-secrets.md | 16 +- .../dynamic-secrets/azure-secrets.md | 16 +- .../dynamic-secrets/gcp-secrets.md | 16 +- .../dynamic-secrets/vault-secrets.md | 16 +- .../esc/integrations/infrastructure/_index.md | 12 +- .../integrations/infrastructure/cloudflare.md | 11 +- .../infrastructure/pulumi-iac/_index.md | 12 +- .../pulumi-iac/pulumi-stacks.md | 24 +- .../integrations/infrastructure/terraform.md | 11 +- .../esc/integrations/kubernetes/_index.md | 12 +- .../kubernetes/external-secrets-operator.md | 14 +- .../esc/integrations/kubernetes/kubernetes.md | 14 +- .../kubernetes/secret-store-csi-driver.md | 15 +- .../integrations/rotated-secrets/_index.md | 9 + .../integrations/rotated-secrets/aws-iam.md | 12 +- content/docs/esc/reference.md | 12 +- content/docs/esc/vs/_index.md | 12 +- content/docs/esc/vs/doppler.md | 19 +- content/docs/esc/vs/infisical.md | 19 +- content/docs/esc/vs/vault.md | 19 +- content/docs/iac/_index.md | 150 ++++++----- content/docs/iac/adopting-pulumi/_index.md | 30 ++- .../docs/iac/adopting-pulumi/converters.md | 32 ++- .../docs/iac/adopting-pulumi/import/_index.md | 30 ++- .../migrating-to-pulumi/_index.md | 31 ++- .../migrating-to-pulumi/from-arm.md | 30 ++- .../migrating-to-pulumi/from-cdk.md | 25 +- .../from-cloudformation.md | 32 ++- .../migrating-to-pulumi/from-kubernetes.md | 30 ++- .../migrating-to-pulumi/from-terraform.md | 29 ++- content/docs/iac/cli/_index.md | 28 ++- .../docs/iac/cli/command-line-completion.md | 11 +- content/docs/iac/cli/commands/_index.md | 9 + content/docs/iac/cli/commands/pulumi.md | 11 +- content/docs/iac/cli/commands/pulumi_about.md | 11 +- .../docs/iac/cli/commands/pulumi_about_env.md | 11 +- content/docs/iac/cli/commands/pulumi_ai.md | 11 +- .../docs/iac/cli/commands/pulumi_ai_web.md | 11 +- .../docs/iac/cli/commands/pulumi_cancel.md | 11 +- .../docs/iac/cli/commands/pulumi_config.md | 11 +- .../docs/iac/cli/commands/pulumi_config_cp.md | 11 +- .../iac/cli/commands/pulumi_config_env.md | 11 +- .../iac/cli/commands/pulumi_config_env_add.md | 11 +- .../cli/commands/pulumi_config_env_init.md | 11 +- .../iac/cli/commands/pulumi_config_env_ls.md | 11 +- .../iac/cli/commands/pulumi_config_env_rm.md | 11 +- .../iac/cli/commands/pulumi_config_get.md | 11 +- .../iac/cli/commands/pulumi_config_refresh.md | 11 +- .../iac/cli/commands/pulumi_config_rm-all.md | 11 +- .../docs/iac/cli/commands/pulumi_config_rm.md | 11 +- .../iac/cli/commands/pulumi_config_set-all.md | 11 +- .../iac/cli/commands/pulumi_config_set.md | 11 +- .../docs/iac/cli/commands/pulumi_console.md | 11 +- .../docs/iac/cli/commands/pulumi_convert.md | 11 +- .../docs/iac/cli/commands/pulumi_destroy.md | 11 +- content/docs/iac/cli/commands/pulumi_env.md | 11 +- .../docs/iac/cli/commands/pulumi_env_clone.md | 11 +- .../docs/iac/cli/commands/pulumi_env_diff.md | 11 +- .../docs/iac/cli/commands/pulumi_env_edit.md | 11 +- .../docs/iac/cli/commands/pulumi_env_get.md | 11 +- .../docs/iac/cli/commands/pulumi_env_init.md | 11 +- .../docs/iac/cli/commands/pulumi_env_ls.md | 11 +- .../docs/iac/cli/commands/pulumi_env_open.md | 11 +- .../docs/iac/cli/commands/pulumi_env_rm.md | 11 +- .../docs/iac/cli/commands/pulumi_env_run.md | 11 +- .../docs/iac/cli/commands/pulumi_env_set.md | 11 +- .../docs/iac/cli/commands/pulumi_env_tag.md | 11 +- .../iac/cli/commands/pulumi_env_tag_get.md | 11 +- .../iac/cli/commands/pulumi_env_tag_ls.md | 11 +- .../iac/cli/commands/pulumi_env_tag_mv.md | 11 +- .../iac/cli/commands/pulumi_env_tag_rm.md | 11 +- .../iac/cli/commands/pulumi_env_version.md | 11 +- .../commands/pulumi_env_version_history.md | 11 +- .../commands/pulumi_env_version_retract.md | 11 +- .../commands/pulumi_env_version_rollback.md | 11 +- .../cli/commands/pulumi_env_version_tag.md | 11 +- .../cli/commands/pulumi_env_version_tag_ls.md | 11 +- .../cli/commands/pulumi_env_version_tag_rm.md | 11 +- .../iac/cli/commands/pulumi_gen-completion.md | 11 +- .../docs/iac/cli/commands/pulumi_history.md | 4 + .../docs/iac/cli/commands/pulumi_import.md | 11 +- .../docs/iac/cli/commands/pulumi_install.md | 11 +- content/docs/iac/cli/commands/pulumi_login.md | 11 +- .../docs/iac/cli/commands/pulumi_logout.md | 11 +- content/docs/iac/cli/commands/pulumi_logs.md | 11 +- content/docs/iac/cli/commands/pulumi_new.md | 11 +- content/docs/iac/cli/commands/pulumi_org.md | 11 +- .../cli/commands/pulumi_org_get-default.md | 11 +- .../iac/cli/commands/pulumi_org_search.md | Bin 2615 -> 2720 bytes .../iac/cli/commands/pulumi_org_search_ai.md | Bin 2103 -> 2205 bytes .../cli/commands/pulumi_org_set-default.md | 11 +- .../docs/iac/cli/commands/pulumi_package.md | 11 +- .../iac/cli/commands/pulumi_package_add.md | 11 +- .../cli/commands/pulumi_package_gen-sdk.md | 11 +- .../commands/pulumi_package_get-mapping.md | 11 +- .../cli/commands/pulumi_package_get-schema.md | 11 +- .../docs/iac/cli/commands/pulumi_plugin.md | 11 +- .../iac/cli/commands/pulumi_plugin_install.md | 11 +- .../docs/iac/cli/commands/pulumi_plugin_ls.md | 11 +- .../docs/iac/cli/commands/pulumi_plugin_rm.md | 11 +- .../docs/iac/cli/commands/pulumi_policy.md | 11 +- .../iac/cli/commands/pulumi_policy_disable.md | 11 +- .../iac/cli/commands/pulumi_policy_enable.md | 11 +- .../iac/cli/commands/pulumi_policy_group.md | 11 +- .../cli/commands/pulumi_policy_group_ls.md | 11 +- .../docs/iac/cli/commands/pulumi_policy_ls.md | 11 +- .../iac/cli/commands/pulumi_policy_new.md | 11 +- .../iac/cli/commands/pulumi_policy_publish.md | 11 +- .../docs/iac/cli/commands/pulumi_policy_rm.md | 11 +- .../commands/pulumi_policy_validate-config.md | 11 +- .../docs/iac/cli/commands/pulumi_preview.md | 11 +- content/docs/iac/cli/commands/pulumi_query.md | 11 +- .../docs/iac/cli/commands/pulumi_refresh.md | 11 +- .../docs/iac/cli/commands/pulumi_schema.md | 11 +- .../iac/cli/commands/pulumi_schema_check.md | 11 +- content/docs/iac/cli/commands/pulumi_stack.md | 11 +- .../pulumi_stack_change-secrets-provider.md | 11 +- .../iac/cli/commands/pulumi_stack_export.md | 11 +- .../iac/cli/commands/pulumi_stack_graph.md | 11 +- .../iac/cli/commands/pulumi_stack_history.md | 11 +- .../iac/cli/commands/pulumi_stack_import.md | 11 +- .../iac/cli/commands/pulumi_stack_init.md | 11 +- .../docs/iac/cli/commands/pulumi_stack_ls.md | 11 +- .../iac/cli/commands/pulumi_stack_output.md | 11 +- .../iac/cli/commands/pulumi_stack_rename.md | 11 +- .../docs/iac/cli/commands/pulumi_stack_rm.md | 11 +- .../iac/cli/commands/pulumi_stack_select.md | 11 +- .../docs/iac/cli/commands/pulumi_stack_tag.md | 11 +- .../iac/cli/commands/pulumi_stack_tag_get.md | 11 +- .../iac/cli/commands/pulumi_stack_tag_ls.md | 11 +- .../iac/cli/commands/pulumi_stack_tag_rm.md | 11 +- .../iac/cli/commands/pulumi_stack_tag_set.md | 11 +- .../iac/cli/commands/pulumi_stack_unselect.md | 11 +- content/docs/iac/cli/commands/pulumi_state.md | 11 +- .../iac/cli/commands/pulumi_state_delete.md | 11 +- .../iac/cli/commands/pulumi_state_edit.md | 11 +- .../iac/cli/commands/pulumi_state_move.md | 11 +- .../iac/cli/commands/pulumi_state_rename.md | 11 +- .../iac/cli/commands/pulumi_state_repair.md | 11 +- .../cli/commands/pulumi_state_unprotect.md | 11 +- .../iac/cli/commands/pulumi_state_upgrade.md | 11 +- content/docs/iac/cli/commands/pulumi_up.md | 11 +- .../docs/iac/cli/commands/pulumi_version.md | 11 +- content/docs/iac/cli/commands/pulumi_watch.md | 11 +- .../docs/iac/cli/commands/pulumi_whoami.md | 11 +- content/docs/iac/cli/environment-variables.md | 13 +- content/docs/iac/clouds/_index.md | 12 +- content/docs/iac/clouds/aws/_index.md | 191 +++++++------- content/docs/iac/clouds/aws/cloudfx/_index.md | 4 + .../docs/iac/clouds/aws/cloudfx/rest-api.md | 4 + .../docs/iac/clouds/aws/cloudfx/service.md | 4 + .../iac/clouds/aws/cloudfx/thumbnailer.md | 4 + content/docs/iac/clouds/aws/guides/_index.md | 25 +- .../docs/iac/clouds/aws/guides/api-gateway.md | 18 +- .../docs/iac/clouds/aws/guides/autoscaling.md | 19 +- .../aws/guides/aws-index-of-services.md | 20 +- content/docs/iac/clouds/aws/guides/cdk.md | 12 +- .../docs/iac/clouds/aws/guides/cloudwatch.md | 18 +- content/docs/iac/clouds/aws/guides/ecr.md | 18 +- content/docs/iac/clouds/aws/guides/ecs.md | 19 +- content/docs/iac/clouds/aws/guides/eks.md | 21 +- content/docs/iac/clouds/aws/guides/elb.md | 19 +- content/docs/iac/clouds/aws/guides/iam.md | 21 +- content/docs/iac/clouds/aws/guides/lambda.md | 70 +++--- content/docs/iac/clouds/aws/guides/more.md | 9 + content/docs/iac/clouds/aws/guides/vpc.md | 19 +- content/docs/iac/clouds/azure/_index.md | 130 +++++----- content/docs/iac/clouds/gcp/_index.md | 110 ++++---- content/docs/iac/clouds/kubernetes/_index.md | 184 ++++++++------ .../iac/clouds/kubernetes/guides/_index.md | 21 +- .../clouds/kubernetes/guides/app-services.md | 17 +- .../docs/iac/clouds/kubernetes/guides/apps.md | 12 +- .../kubernetes/guides/cluster-services.md | 12 +- .../guides/configure-access-control.md | 13 +- .../kubernetes/guides/configure-defaults.md | 11 +- .../clouds/kubernetes/guides/control-plane.md | 11 +- .../docs/iac/clouds/kubernetes/guides/faq.md | 9 + .../iac/clouds/kubernetes/guides/identity.md | 12 +- .../clouds/kubernetes/guides/managed-infra.md | 11 +- .../iac/clouds/kubernetes/guides/playbooks.md | 13 +- .../kubernetes/guides/try-out-the-cluster.md | 12 +- .../kubernetes/guides/update-worker-nodes.md | 13 +- .../clouds/kubernetes/guides/worker-nodes.md | 13 +- content/docs/iac/concepts/_index.md | 34 ++- content/docs/iac/concepts/assets-archives.md | 42 ++-- content/docs/iac/concepts/config.md | 34 ++- content/docs/iac/concepts/debugging/_index.md | 28 ++- content/docs/iac/concepts/glossary.md | 12 +- content/docs/iac/concepts/how-pulumi-works.md | 40 +-- .../iac/concepts/inputs-outputs/_index.md | 39 +-- .../docs/iac/concepts/inputs-outputs/all.md | 25 +- .../docs/iac/concepts/inputs-outputs/apply.md | 25 +- .../inputs-outputs/outputs-and-strings.md | 4 + content/docs/iac/concepts/logging.md | 28 ++- .../docs/iac/concepts/miscellaneous/_index.md | 17 +- .../miscellaneous/function-serialization.md | 40 +-- .../concepts/miscellaneous/property-paths.md | 17 +- content/docs/iac/concepts/options/_index.md | 16 +- .../options/additionalsecretoutputs.md | 16 +- content/docs/iac/concepts/options/aliases.md | 9 + .../iac/concepts/options/customtimeouts.md | 16 +- .../concepts/options/deletebeforereplace.md | 16 +- .../docs/iac/concepts/options/deletedwith.md | 16 +- .../docs/iac/concepts/options/dependson.md | 16 +- .../iac/concepts/options/ignorechanges.md | 16 +- content/docs/iac/concepts/options/import.md | 13 +- content/docs/iac/concepts/options/parent.md | 16 +- content/docs/iac/concepts/options/protect.md | 16 +- content/docs/iac/concepts/options/provider.md | 16 +- .../docs/iac/concepts/options/providers.md | 16 +- .../iac/concepts/options/replaceonchanges.md | 16 +- .../iac/concepts/options/retainOnDelete.md | 16 +- .../iac/concepts/options/transformations.md | 16 +- .../docs/iac/concepts/options/transforms.md | 16 +- content/docs/iac/concepts/options/version.md | 16 +- .../concepts/organizing-stacks-projects.md | 4 + .../concepts/programming-model-previous.md | 9 + .../docs/iac/concepts/programming-model.md | 9 + content/docs/iac/concepts/projects/_index.md | 38 +-- .../iac/concepts/projects/project-file.md | 29 ++- content/docs/iac/concepts/resources/_index.md | 32 ++- .../docs/iac/concepts/resources/components.md | 30 ++- .../concepts/resources/dynamic-providers.md | 30 ++- .../docs/iac/concepts/resources/functions.md | 30 ++- content/docs/iac/concepts/resources/get.md | 30 ++- content/docs/iac/concepts/resources/names.md | 30 ++- .../docs/iac/concepts/resources/providers.md | 30 ++- content/docs/iac/concepts/secrets.md | 30 ++- content/docs/iac/concepts/stacks.md | 32 ++- .../docs/iac/concepts/state-and-backends.md | 36 ++- content/docs/iac/concepts/testing/_index.md | 32 ++- .../docs/iac/concepts/testing/integration.md | 25 +- .../iac/concepts/testing/property-testing.md | 25 +- content/docs/iac/concepts/testing/unit.md | 30 ++- content/docs/iac/concepts/update-plans.md | 33 ++- content/docs/iac/concepts/vs/_index.md | 34 ++- .../docs/iac/concepts/vs/chef-puppet-etc.md | 32 ++- content/docs/iac/concepts/vs/cloud-sdks.md | 32 ++- .../vs/cloud-template-transpilers/_index.md | 16 +- .../aws-cdk/_index.md | 30 ++- .../iac/concepts/vs/cloud-templates/_index.md | 20 +- .../cloud-templates/cloudformation/_index.md | 32 ++- content/docs/iac/concepts/vs/crossplane.md | 32 ++- content/docs/iac/concepts/vs/custom.md | 32 ++- content/docs/iac/concepts/vs/k8s-yaml-dsls.md | 32 ++- content/docs/iac/concepts/vs/opentofu.md | 34 ++- content/docs/iac/concepts/vs/serverless.md | 32 ++- .../docs/iac/concepts/vs/terraform/_index.md | 36 ++- .../iac/concepts/vs/terraform/opentofu.md | 30 ++- .../iac/concepts/vs/terraform/terminology.md | 30 ++- content/docs/iac/download-install/_index.md | 45 ++-- .../iac/download-install/migrating-3.0.md | 19 +- content/docs/iac/download-install/versions.md | 15 +- content/docs/iac/get-started/_index.md | 40 +-- content/docs/iac/get-started/aws/_index.md | 33 ++- content/docs/iac/get-started/aws/begin.md | 30 ++- .../iac/get-started/aws/create-project.md | 15 +- .../iac/get-started/aws/deploy-changes.md | 15 +- .../docs/iac/get-started/aws/deploy-stack.md | 15 +- .../docs/iac/get-started/aws/destroy-stack.md | 18 +- .../iac/get-started/aws/modify-program.md | 18 +- .../docs/iac/get-started/aws/next-steps.md | 19 +- .../iac/get-started/aws/review-project.md | 15 +- content/docs/iac/get-started/azure/_index.md | 31 ++- content/docs/iac/get-started/azure/begin.md | 30 ++- .../iac/get-started/azure/create-project.md | 15 +- .../iac/get-started/azure/deploy-changes.md | 15 +- .../iac/get-started/azure/deploy-stack.md | 15 +- .../iac/get-started/azure/destroy-stack.md | 18 +- .../iac/get-started/azure/modify-program.md | 18 +- .../docs/iac/get-started/azure/next-steps.md | 19 +- .../iac/get-started/azure/review-project.md | 15 +- content/docs/iac/get-started/gcp/_index.md | 36 ++- content/docs/iac/get-started/gcp/begin.md | 30 ++- .../iac/get-started/gcp/create-project.md | 18 +- .../iac/get-started/gcp/deploy-changes.md | 18 +- .../docs/iac/get-started/gcp/deploy-stack.md | 18 +- .../docs/iac/get-started/gcp/destroy-stack.md | 18 +- .../iac/get-started/gcp/modify-program.md | 18 +- .../docs/iac/get-started/gcp/next-steps.md | 19 +- .../iac/get-started/gcp/review-project.md | 15 +- .../docs/iac/get-started/kubernetes/_index.md | 33 ++- .../docs/iac/get-started/kubernetes/begin.md | 30 ++- .../get-started/kubernetes/create-project.md | 19 +- .../get-started/kubernetes/deploy-changes.md | 15 +- .../get-started/kubernetes/deploy-stack.md | 18 +- .../get-started/kubernetes/destroy-stack.md | 18 +- .../get-started/kubernetes/modify-program.md | 18 +- .../iac/get-started/kubernetes/next-steps.md | 17 +- .../get-started/kubernetes/review-project.md | 15 +- content/docs/iac/languages-sdks/_index.md | 36 ++- .../docs/iac/languages-sdks/dotnet/_index.md | 34 ++- content/docs/iac/languages-sdks/go/_index.md | 36 ++- .../docs/iac/languages-sdks/java/_index.md | 34 ++- .../iac/languages-sdks/javascript/_index.md | 42 ++-- .../docs/iac/languages-sdks/python/_index.md | 36 ++- .../python/python-blocking-async.md | 30 ++- .../docs/iac/languages-sdks/yaml/_index.md | 34 ++- .../yaml/yaml-language-reference.md | 27 +- content/docs/iac/support/_index.md | 32 ++- content/docs/iac/support/faq.md | 31 ++- content/docs/iac/support/troubleshooting.md | 35 +-- content/docs/iac/using-pulumi/_index.md | 28 ++- .../iac/using-pulumi/automation-api/_index.md | 28 ++- .../automation-api/concepts-terminology.md | 23 +- .../getting-started-automation-api.md | 23 +- .../continuous-delivery/_index.md | 32 ++- .../add-support-for-cicd-systems.md | 33 ++- .../continuous-delivery/aws-code-services.md | 35 ++- .../continuous-delivery/azure-devops.md | 35 ++- .../continuous-delivery/bitbucket.md | 20 +- .../continuous-delivery/circleci.md | 31 ++- .../continuous-delivery/codefresh.md | 32 ++- .../continuous-delivery/github-actions.md | 35 ++- .../continuous-delivery/github-app.md | 29 ++- .../continuous-delivery/gitlab-app.md | 27 +- .../continuous-delivery/gitlab-ci.md | 33 ++- .../continuous-delivery/google-cloud-build.md | 34 ++- .../continuous-delivery/jenkins.md | 34 ++- .../continuous-delivery/octopus-deploy.md | 26 +- .../pulumi-kubernetes-operator.md | 25 +- .../continuous-delivery/spinnaker.md | 26 +- .../continuous-delivery/teamcity.md | 23 +- .../continuous-delivery/travis.md | 35 ++- .../troubleshooting-guide.md | 26 +- .../iac/using-pulumi/crossguard/_index.md | 31 ++- .../crossguard/api-policy-manager.md | 22 +- .../iac/using-pulumi/crossguard/awsguard.md | 28 ++- .../using-pulumi/crossguard/best-practices.md | 23 +- .../compliance-ready-policies-aws.md | 22 +- .../compliance-ready-policies-awsnative.md | 25 +- .../compliance-ready-policies-azure.md | 22 +- .../compliance-ready-policies-azurenative.md | 24 +- .../compliance-ready-policies-gcp.md | 22 +- .../compliance-ready-policies-googlenative.md | 22 +- .../compliance-ready-policies-kubernetes.md | 22 +- .../crossguard/compliance-ready-policies.md | 23 +- .../using-pulumi/crossguard/configuration.md | 26 +- .../using-pulumi/crossguard/core-concepts.md | 29 ++- .../docs/iac/using-pulumi/crossguard/faq.md | 30 ++- .../using-pulumi/crossguard/get-started.md | 35 ++- .../crossguard/policy-violations.md | 24 +- .../using-pulumi/crossguard/snyk-policy.md | 26 +- .../organizing-projects-stacks/_index.md | 34 ++- .../using-pulumi/pulumi-packages/_index.md | 28 ++- .../using-pulumi/pulumi-packages/authoring.md | 30 ++- .../debugging-provider-packages.md | 23 +- .../using-pulumi/pulumi-packages/schema.md | 27 +- content/docs/insights/_index.md | 132 ++++++---- content/docs/insights/accounts.md | 12 +- content/docs/insights/concepts/_index.md | 16 +- .../insights/concepts/how-insights-works.md | 9 + content/docs/insights/export.md | 9 + content/docs/insights/get-started/_index.md | 14 +- .../get-started/account-management.md | 9 + .../docs/insights/get-started/add-policies.md | 14 +- content/docs/insights/get-started/begin.md | 12 +- .../insights/get-started/create-accounts.md | 12 +- .../get-started/using-resource-explorer.md | 12 +- content/docs/insights/policy-as-code.md | 12 +- content/docs/insights/search.md | 9 + content/docs/pulumi-cloud/_index.md | 98 ++++---- .../pulumi-cloud/access-management/_index.md | 22 +- .../access-management/access-tokens.md | 21 +- .../access-management/accounts.md | 36 ++- .../access-management/billing-managers.md | 17 +- .../access-management/oidc/_index.md | 11 +- .../access-management/oidc/client/_index.md | 15 +- .../access-management/oidc/client/github.md | 11 +- .../oidc/client/kubernetes-eks.md | 14 +- .../oidc/client/kubernetes-gke.md | 14 +- .../access-management/oidc/provider/_index.md | 15 +- .../access-management/oidc/provider/aws.md | 22 +- .../access-management/oidc/provider/azure.md | 22 +- .../access-management/oidc/provider/gcp.md | 22 +- .../oidc/provider/vault/_index.md | 14 +- .../access-management/saml/_index.md | 20 +- .../access-management/saml/auth0.md | 15 +- .../access-management/saml/entra.md | 21 +- .../access-management/saml/gsuite.md | 19 +- .../access-management/saml/okta.md | 19 +- .../access-management/saml/onelogin.md | 19 +- .../access-management/saml/sso.md | 16 +- .../access-management/scim/_index.md | 12 +- .../access-management/scim/entra.md | 12 +- .../access-management/scim/faq.md | 12 +- .../access-management/scim/okta.md | 12 +- .../access-management/scim/onelogin.md | 12 +- .../pulumi-cloud/access-management/teams.md | 26 +- content/docs/pulumi-cloud/admin/_index.md | 20 +- content/docs/pulumi-cloud/admin/audit-logs.md | 33 ++- .../docs/pulumi-cloud/admin/organizations.md | 42 ++-- .../pulumi-cloud/admin/self-hosted/_index.md | 22 +- .../admin/self-hosted/airgapped.md | 19 +- .../admin/self-hosted/changelog.md | 19 +- .../admin/self-hosted/components/_index.md | 25 +- .../admin/self-hosted/components/api.md | 22 +- .../admin/self-hosted/components/console.md | 22 +- .../self-hosted/components/deployments.md | 22 +- .../admin/self-hosted/components/search.md | 22 +- .../self-hosted/deployment-options/_index.md | 20 +- .../deployment-options/aks-hosted.md | 22 +- .../deployment-options/byo-infra-hosted.md | 22 +- .../deployment-options/ecs-hosted.md | 22 +- .../deployment-options/eks-hosted.md | 22 +- .../deployment-options/gke-hosted.md | 22 +- .../deployment-options/local-docker.md | 22 +- .../quickstart-docker-compose.md | 24 +- .../pulumi-cloud/admin/self-hosted/network.md | 19 +- .../admin/self-hosted/saml-sso.md | 22 +- content/docs/pulumi-cloud/copilot/_index.md | 16 +- content/docs/pulumi-cloud/copilot/api.md | 22 +- .../docs/pulumi-cloud/deployments/_index.md | 20 +- content/docs/pulumi-cloud/deployments/api.md | 17 +- .../ci-cd-integration-assistant.md | 22 +- .../deployments/customer-managed-agents.md | 12 +- .../docs/pulumi-cloud/deployments/drift.md | 9 + content/docs/pulumi-cloud/deployments/faq.md | 12 +- .../pulumi-cloud/deployments/get-started.md | 9 + .../pulumi-cloud/deployments/reference.md | 9 + .../pulumi-cloud/deployments/review-stacks.md | 12 +- .../pulumi-cloud/deployments/schedules.md | 9 + content/docs/pulumi-cloud/deployments/ttl.md | 12 +- .../docs/pulumi-cloud/deployments/versus.md | 9 + .../pulumi-cloud/developer-portals/_index.md | 9 + .../developer-portals/backstage/_index.md | 9 + .../new-project-wizard/_index.md | 12 +- .../developer-portals/templates/_index.md | 12 +- content/docs/pulumi-cloud/faq.md | 19 +- .../docs/pulumi-cloud/get-started/_index.md | 19 +- .../get-started/onboarding-guide.md | 22 +- .../pulumi-cloud/get-started/what-is-it.md | 22 +- .../docs/pulumi-cloud/projects-and-stacks.md | 24 +- content/docs/pulumi-cloud/pulumi-button.md | 24 +- content/docs/pulumi-cloud/reference/_index.md | 20 +- .../reference/cloud-rest-api/_index.md | 22 +- content/docs/pulumi-cloud/webhooks.md | 24 +- content/docs/reference/pkg/dotnet/_index.md | 11 +- .../pkg/python/providers/pulumi/_index.md | 4 + .../python/providers/pulumi_policy/_index.md | 4 + .../providers/pulumi_terraform/_index.md | 4 + .../pulumi_terraform/state/_index.md | 4 + .../python/pulumi_terraform/state/_index.md | 4 + 528 files changed, 7602 insertions(+), 2899 deletions(-) diff --git a/content/docs/_index.md b/content/docs/_index.md index 6edab7ba1eaa..5a5f18e5888f 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -1,123 +1,151 @@ --- title: Documentation linktitle: Docs -meta_desc: Learn how to create, deploy, and manage infrastructure on any cloud using Pulumi's open source infrastructure as code SDK. +meta_desc: Learn how to create, deploy, and manage infrastructure on any cloud using + Pulumi's open source infrastructure as code SDK. meta_image: /images/docs/meta-images/docs-meta.png layout: home aliases: -- /docs/reference/ + - /docs/reference/ notitle: true docs_home: true noleftnav: true norightnav: true nobreadcrumb: true h1: Pulumi Docs -description:

Pulumi is an open source platform for automating, securing, and managing cloud resources, configuration, and secrets, using your favorite programming languages.

+description:

Pulumi is an open + source platform for automating, securing, + and managing cloud resources, configuration, and + secrets, using your favorite programming languages.

link_buttons: primary: label: Get Started link: /docs/get-started/ sections: -- type: button-cards - heading: Featured Products - cards: - - heading: Pulumi IaC - description: "Infrastructure as code for engineers in Node.js, Python, Go, .NET, Java, and YAML" - link: /docs/iac/ - primary_button_label: Get Started - primary_button_link: /docs/iac/get-started/ - secondary_button_label: Install - secondary_button_link: /docs/iac/download-install/ - - heading: Pulumi ESC - description: "Environments, Secrets and Configuration Management" - link: /docs/esc/ - primary_button_label: Get Started - primary_button_link: /docs/esc/get-started/ - secondary_button_label: Install - secondary_button_link: /docs/esc/download-install/ - - heading: Pulumi Insights - description: "Asset management, compliance remediation and AI insights over the cloud" - link: /docs/insights/ - primary_button_label: Get Started - primary_button_link: /docs/insights/get-started/ - secondary_button_label: Create an account - secondary_button_link: https://app.pulumi.com/signup - - heading: Pulumi Cloud - description: "Managed service for using Pulumi open source at scale. Use SaaS or self-host" - link: /docs/pulumi-cloud/ - primary_button_label: Get Started - primary_button_link: /docs/pulumi-cloud/get-started/ - secondary_button_label: Create an account - secondary_button_link: https://app.pulumi.com/signup -- type: cards-logo-label-link - heading: Clouds - description:

Pulumi IaC supports AWS, Azure, Google Cloud, Kubernetes, and 120+ packages.

- cards: - - label: AWS & Pulumi - icon: aws-40 - link: /docs/clouds/aws/ - - label: Azure & Pulumi - icon: azure-40 - link: /docs/clouds/azure/ - - label: Google Cloud & Pulumi - icon: google-cloud-40 - link: /docs/clouds/gcp/ - - label: Kubernetes & Pulumi - icon: kubernetes-40 - link: /docs/clouds/kubernetes/ -- type: blue-sparkle - heading: Why Pulumi? - description: | - Pulumi can help you automate, secure, and manage everything you run in the cloud. Unite your development, infrastructure, and security teams with modern infrastructure as code and secrets management. - raw_html: | -
- -
-- type: button-cards - heading: PulumiTV Featured Playlists - description: | -

If a picture is worth 1000 words, these videos deliver information at 30fps. So, that's like reading 30000 words a second.

- cards: - - heading: Modern Infrastructure - description: - link: https://www.youtube.com/watch?v=YpW_bOaiBIg&list=PLyy8Vx2ZoWloyj3V5gXzPraiKStO2GGZw - - heading: AI / ML Essentials - description: - link: https://www.youtube.com/watch?v=F7xE_e3cReE&list=PLyy8Vx2ZoWloabJJW13bcLStud4LxJ0Cw - - heading: DevOps / Platform Engineering - description: - link: https://www.youtube.com/watch?v=NUPK5CCm6XA&list=PLyy8Vx2ZoWlrf74lghqGc171NCtLgZyVd -- type: flat - heading: Support - description:

We’re here to help! Try reviewing our FAQ or reach out at support@pulumi.com.

-- type: button-cards - heading: Community and Free Tier support - cards: - - heading: Pulumi Community Slack - description: "Join the Pulumi Community on Slack where you can ask questions or share ideas about infrastructure as code. The community is vibrant and we are excited to have you. Welcome!" - link: https://slack.pulumi.com - primary_button_label: Join Now - primary_button_link: https://slack.pulumi.com - - heading: Pulumi GitHub - description: "Pulumi is open-source and open-minded. Got a question, idea, or problem to report? Leave us an issue in our GitHub repo!" - link: https://github.com/pulumi - primary_button_label: File an issue - primary_button_link: https://github.com/pulumi/pulumi/issues - - heading: Troubleshooting Guide - description: "Check out this list of known issues and how to resolve them." - link: https://www.pulumi.com/docs/iac/support/troubleshooting/ - primary_button_label: Learn More - primary_button_link: https://www.pulumi.com/docs/iac/support/troubleshooting/ + - type: button-cards + heading: Featured Products + cards: + - heading: Pulumi IaC + description: "Infrastructure as code for engineers in Node.js, Python, Go, + .NET, Java, and YAML" + link: /docs/iac/ + primary_button_label: Get Started + primary_button_link: /docs/iac/get-started/ + secondary_button_label: Install + secondary_button_link: /docs/iac/download-install/ + - heading: Pulumi ESC + description: "Environments, Secrets and Configuration Management" + link: /docs/esc/ + primary_button_label: Get Started + primary_button_link: /docs/esc/get-started/ + secondary_button_label: Install + secondary_button_link: /docs/esc/download-install/ + - heading: Pulumi Insights + description: "Asset management, compliance remediation and AI insights over + the cloud" + link: /docs/insights/ + primary_button_label: Get Started + primary_button_link: /docs/insights/get-started/ + secondary_button_label: Create an account + secondary_button_link: https://app.pulumi.com/signup + - heading: Pulumi Cloud + description: "Managed service for using Pulumi open source at scale. Use SaaS + or self-host" + link: /docs/pulumi-cloud/ + primary_button_label: Get Started + primary_button_link: /docs/pulumi-cloud/get-started/ + secondary_button_label: Create an account + secondary_button_link: https://app.pulumi.com/signup + - type: cards-logo-label-link + heading: Clouds + description:

Pulumi IaC supports AWS, Azure, Google Cloud, Kubernetes, and + 120+ packages.

+ cards: + - label: AWS & Pulumi + icon: aws-40 + link: /docs/clouds/aws/ + - label: Azure & Pulumi + icon: azure-40 + link: /docs/clouds/azure/ + - label: Google Cloud & Pulumi + icon: google-cloud-40 + link: /docs/clouds/gcp/ + - label: Kubernetes & Pulumi + icon: kubernetes-40 + link: /docs/clouds/kubernetes/ + - type: blue-sparkle + heading: Why Pulumi? + description: | + Pulumi can help you automate, secure, and manage everything you run in the cloud. Unite your development, infrastructure, and security teams with modern infrastructure as code and secrets management. + raw_html: | +
+ +
+ - type: button-cards + heading: PulumiTV Featured Playlists + description: | +

If a picture is worth 1000 words, these videos deliver information at 30fps. So, that's like reading 30000 words a second.

+ cards: + - heading: Modern Infrastructure + description: + link: + https://www.youtube.com/watch?v=YpW_bOaiBIg&list=PLyy8Vx2ZoWloyj3V5gXzPraiKStO2GGZw + - heading: AI / ML Essentials + description: + link: + https://www.youtube.com/watch?v=F7xE_e3cReE&list=PLyy8Vx2ZoWloabJJW13bcLStud4LxJ0Cw + - heading: DevOps / Platform Engineering + description: + link: + https://www.youtube.com/watch?v=NUPK5CCm6XA&list=PLyy8Vx2ZoWlrf74lghqGc171NCtLgZyVd + - type: flat + heading: Support + description:

We’re here to help! Try reviewing our FAQ + or reach out at support@pulumi.com.

+ - type: button-cards + heading: Community and Free Tier support + cards: + - heading: Pulumi Community Slack + description: "Join the Pulumi Community on Slack where you can ask questions + or share ideas about infrastructure as code. The community is vibrant and + we are excited to have you. Welcome!" + link: https://slack.pulumi.com + primary_button_label: Join Now + primary_button_link: https://slack.pulumi.com + - heading: Pulumi GitHub + description: "Pulumi is open-source and open-minded. Got a question, idea, + or problem to report? Leave us an issue in our GitHub repo!" + link: https://github.com/pulumi + primary_button_label: File an issue + primary_button_link: https://github.com/pulumi/pulumi/issues + - heading: Troubleshooting Guide + description: "Check out this list of known issues and how to resolve them." + link: https://www.pulumi.com/docs/iac/support/troubleshooting/ + primary_button_label: Learn More + primary_button_link: https://www.pulumi.com/docs/iac/support/troubleshooting/ + + - type: flat + heading: Enterprise and Business Critical support + description: | +

Pulumi provides a range of support options such as dedicated 24x7 support, premium training, onboarding, and professional services. Please see our pricing page for the support options available. To open a support ticket or view service status, please visit our enterprise support portal.

+ +search: + keywords: + - infrastructure + - sdk + - source + - open + - deploy + - create + - manage +--- -- type: flat - heading: Enterprise and Business Critical support - description: | -

Pulumi provides a range of support options such as dedicated 24x7 support, premium training, onboarding, and professional services. Please see our pricing page for the support options available. To open a support ticket or view service status, please visit our enterprise support portal.

---- \ No newline at end of file diff --git a/content/docs/esc/_index.md b/content/docs/esc/_index.md index 21e88ea2423a..fec4d5029683 100644 --- a/content/docs/esc/_index.md +++ b/content/docs/esc/_index.md @@ -8,16 +8,18 @@ menu: identifier: esc-home weight: 1 expanded_menu_ids: - - esc-environments - - esc-integrations - - esc-development + - esc-environments + - esc-integrations + - esc-development aliases: - /docs/pulumi-cloud/esc/ -meta_desc: Learn how to tame secrets sprawl and configuration complexity securely across all your cloud infrastructure and applications with Pulumi ESC. +meta_desc: Learn how to tame secrets sprawl and configuration complexity securely + across all your cloud infrastructure and applications with Pulumi ESC. meta_image: /images/docs/meta-images/docs-meta.png h1: Pulumi ESC Docs -description:

Pulumi ESC is a secrets management & orchestration service for environments, secrets, and configurations.

+description:

Pulumi ESC is a secrets management & orchestration service for environments, + secrets, and configurations.

link_buttons: primary: @@ -28,28 +30,34 @@ link_buttons: link: /docs/esc/download-install/ sections: -- type: flat - heading: Overview - description_md: | - Pulumi ESC (Environments, Secrets, and Configuration) allows teams to tackle secrets and configuration complexity for modern cloud environments, alleviating maintenance burden and reducing costly mistakes, and creating a “secure by default” posture. + - type: flat + heading: Overview + description_md: | + Pulumi ESC (Environments, Secrets, and Configuration) allows teams to tackle secrets and configuration complexity for modern cloud environments, alleviating maintenance burden and reducing costly mistakes, and creating a “secure by default” posture. - Pulumi ESC is a new category of configuration as code product, motivated by our experience working with hundreds of Pulumi IaC customers to address their needs in managing secrets and configuration at scale within their Pulumi infrastructure and across other cloud applications and infrastructure projects. -- type: cards-logo-label-link - heading: Secrets Integrations - description:

Pulumi ESC integrates with all of the most popular secrets stores to pull and synchronize secrets and configuration data, including AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, HashiCorp Vault, and 1Password.

- cards: - - label: AWS Secrets Manager - icon: aws-40 - link: /docs/esc/integrations/dynamic-secrets/aws-secrets/ - - label: Azure Key Vault - icon: azure-40 - link: /docs/esc/integrations/dynamic-secrets/azure-secrets/ - - label: GCP Secret Manager - icon: google-cloud-40 - link: /docs/esc/integrations/dynamic-secrets/gcp-secrets/ - - label: HashiCorp Vault - icon: vault-40 - link: /docs/esc/integrations/dynamic-secrets/vault-secrets/ + Pulumi ESC is a new category of configuration as code product, motivated by our experience working with hundreds of Pulumi IaC customers to address their needs in managing secrets and configuration at scale within their Pulumi infrastructure and across other cloud applications and infrastructure projects. + - type: cards-logo-label-link + heading: Secrets Integrations + description:

Pulumi ESC integrates with all of the most popular secrets stores + to pull and synchronize secrets and configuration data, including AWS + Secrets Manager, Azure + Key Vault, GCP + Secret Manager, HashiCorp + Vault, and 1Password.

+ cards: + - label: AWS Secrets Manager + icon: aws-40 + link: /docs/esc/integrations/dynamic-secrets/aws-secrets/ + - label: Azure Key Vault + icon: azure-40 + link: /docs/esc/integrations/dynamic-secrets/azure-secrets/ + - label: GCP Secret Manager + icon: google-cloud-40 + link: /docs/esc/integrations/dynamic-secrets/gcp-secrets/ + - label: HashiCorp Vault + icon: vault-40 + link: /docs/esc/integrations/dynamic-secrets/vault-secrets/ # - label: 1Password # icon: onepassword-40 # link: /docs/esc/integrations/dynamic-secrets/1password-secrets/ @@ -69,59 +77,67 @@ sections: # - label: Kubernetes & Pulumi ESC # icon: kubernetes-40 # link: /docs/esc/integrations/kubernetes/ -- type: cards-logo-label-link - heading: Languages - description: Manage configuration and secrets intuitively on any cloud using familiar languages. - cards: - - label: Node.js - icon: icon-32-32 node-color-32-32 - link: /docs/esc/development/languages-sdks/javascript/ - - label: Python - icon: icon-32-32 python-color-32-32 - link: /docs/esc/development/languages-sdks/python/ - - label: Go - icon: icon-32-32 go-color-32-32 - link: /docs/esc/development/languages-sdks/go/ - - label: YAML - icon: icon-32-32 yaml-color-32-32 - link: /docs/esc/reference/ -- type: button-cards - heading: Featured Capabilities - cards: - - heading: ESC CLI - link: /docs/esc/cli/ - description: An overview of the Pulumi ESC CLI. - primary_button_label: Get Started - primary_button_link: /docs/esc/cli/ - secondary_button_label: Install - secondary_button_link: /docs/esc/download-install/ - - heading: Dynamic Login Credentials - description: Support for short-lived OIDC login credentials for popular cloud providers. - link: /docs/esc/integrations/dynamic-login-credentials/ - - heading: Dynamic Secrets Providers - description: Support for dynamic configuration providers allow Pulumi ESC to integrate with secrets stored in any other provider. - link: /docs/esc/integrations/dynamic-secrets/ - - heading: ESC Webhooks - description: Automate your processes with environment event webhooks. - link: /docs/esc/environments/webhooks/ -- type: full-width-cards - heading: Featured docs - cards: - - icon: lightbulb-blue-21-21 - heading: Detailed overview of environments - description: Learn more about managing environments using Pulumi ESC. - link: /docs/pulumi-cloud/esc/environments/ - - icon: terminal-blue-21-21 - heading: Integration with Docker - description: Pulumi ESC integrates with Docker to manage configuration and secrets while running docker commands. - link: /docs/esc/integrations/dev-tools/docker/ - - icon: swap-blue-21-21 - heading: Pulumi ESC vs HashiCorp Vault - description: Learn about the major differences between Pulumi ESC and HashiCorp Vault. - link: /docs/esc/vs/vault/ -- type: blue-sparkle - heading: Why Pulumi ESC? - description: Pulumi ESC is a centralized secrets management & orchestration service. Easily access, share, and manage secrets securely on any cloud using your favorite programming languages. Pull and sync secrets with any secrets store, and consume secrets in any application, tool, or CI/CD platform. + - type: cards-logo-label-link + heading: Languages + description: Manage configuration and secrets intuitively on any cloud using familiar + languages. + cards: + - label: Node.js + icon: icon-32-32 node-color-32-32 + link: /docs/esc/development/languages-sdks/javascript/ + - label: Python + icon: icon-32-32 python-color-32-32 + link: /docs/esc/development/languages-sdks/python/ + - label: Go + icon: icon-32-32 go-color-32-32 + link: /docs/esc/development/languages-sdks/go/ + - label: YAML + icon: icon-32-32 yaml-color-32-32 + link: /docs/esc/reference/ + - type: button-cards + heading: Featured Capabilities + cards: + - heading: ESC CLI + link: /docs/esc/cli/ + description: An overview of the Pulumi ESC CLI. + primary_button_label: Get Started + primary_button_link: /docs/esc/cli/ + secondary_button_label: Install + secondary_button_link: /docs/esc/download-install/ + - heading: Dynamic Login Credentials + description: Support for short-lived OIDC login credentials for popular cloud + providers. + link: /docs/esc/integrations/dynamic-login-credentials/ + - heading: Dynamic Secrets Providers + description: Support for dynamic configuration providers allow Pulumi ESC + to integrate with secrets stored in any other provider. + link: /docs/esc/integrations/dynamic-secrets/ + - heading: ESC Webhooks + description: Automate your processes with environment event webhooks. + link: /docs/esc/environments/webhooks/ + - type: full-width-cards + heading: Featured docs + cards: + - icon: lightbulb-blue-21-21 + heading: Detailed overview of environments + description: Learn more about managing environments using Pulumi ESC. + link: /docs/pulumi-cloud/esc/environments/ + - icon: terminal-blue-21-21 + heading: Integration with Docker + description: Pulumi ESC integrates with Docker to manage configuration and + secrets while running docker commands. + link: /docs/esc/integrations/dev-tools/docker/ + - icon: swap-blue-21-21 + heading: Pulumi ESC vs HashiCorp Vault + description: Learn about the major differences between Pulumi ESC and HashiCorp + Vault. + link: /docs/esc/vs/vault/ + - type: blue-sparkle + heading: Why Pulumi ESC? + description: Pulumi ESC is a centralized secrets management & orchestration service. + Easily access, share, and manage secrets securely on any cloud using your favorite + programming languages. Pull and sync secrets with any secrets store, and consume + secrets in any application, tool, or CI/CD platform. # - type: full-width-cards # heading: Reference # cards: @@ -133,7 +149,20 @@ sections: # heading: Pulumi CLI docs # description: Browse the complete documentation of available CLI commands. # link: /docs/cli/ -- type: flat - heading: Have questions? - description:

For questions or feedback, reach out on community Slack, GitHub, or contact support.

+ - type: flat + heading: Have questions? + description:

For questions or feedback, reach out on community Slack, GitHub, + or contact support.

+search: + keywords: + - tame + - sprawl + - esc + - complexity + - applications + - secrets + - infrastructure --- + + diff --git a/content/docs/esc/administration/_index.md b/content/docs/esc/administration/_index.md index ff2d4300547c..4e8d8caad6b5 100644 --- a/content/docs/esc/administration/_index.md +++ b/content/docs/esc/administration/_index.md @@ -1,12 +1,22 @@ --- title: Administration title_tag: Pulumi ESC administration -meta_desc: Learn about managing Pulumi ESC organizations, self-hosting options, audit logs, and identity and access management features. +meta_desc: Learn about managing Pulumi ESC organizations, self-hosting options, audit + logs, and identity and access management features. menu: - esc: - parent: esc-home - identifier: pulumi-esc-admin - weight: 9 + esc: + parent: esc-home + identifier: pulumi-esc-admin + weight: 9 +search: + keywords: + - logs + - esc + - administration + - audit + - hosting + - organizations + - self --- Pulumi ESC is built upon [Pulumi Cloud](/docs/pulumi-cloud/), our managed cloud service for individuals and teams that allows you to manage and secure infrastructure at scale. Learn how to configure organizations, monitor audit logs, manage identity and access and enable self-hosting. diff --git a/content/docs/esc/administration/audit-logs.md b/content/docs/esc/administration/audit-logs.md index 10f611d94e5f..e01d34b3f184 100644 --- a/content/docs/esc/administration/audit-logs.md +++ b/content/docs/esc/administration/audit-logs.md @@ -1,14 +1,24 @@ --- title_tag: Audit Logs | Pulumi ESC -meta_desc: Pulumi ESC audit logs allow you to account for user activity within your organization. +meta_desc: Pulumi ESC audit logs allow you to account for user activity within your + organization. title: Audit Logs h1: Pulumi ESC audit logs meta_image: /images/docs/meta-images/docs-meta.png menu: - esc: - name: Audit Logs - parent: pulumi-esc-admin - weight: 1 + esc: + name: Audit Logs + parent: pulumi-esc-admin + weight: 1 +search: + keywords: + - logs + - esc + - audit + - activity + - timestamp + - records + - environment --- {{% notes "info" %}} diff --git a/content/docs/esc/administration/self-hosting.md b/content/docs/esc/administration/self-hosting.md index e56ae8c763ee..4fcd58adef88 100644 --- a/content/docs/esc/administration/self-hosting.md +++ b/content/docs/esc/administration/self-hosting.md @@ -1,13 +1,23 @@ --- title_tag: "Self-hosting Pulumi ESC" -meta_desc: Pulumi Business Critical Edition gives you the option to self-host Pulumi within your organization's infrastructure. +meta_desc: Pulumi Business Critical Edition gives you the option to self-host Pulumi + within your organization's infrastructure. title: Self-hosting h1: Self-hosting Pulumi ESC meta_image: /images/docs/meta-images/docs-meta.png menu: - esc: - parent: pulumi-esc-admin - weight: 2 + esc: + parent: pulumi-esc-admin + weight: 2 +search: + keywords: + - hosting + - critical + - infrastructure + - self + - host + - edition + - gives --- {{% notes type="info" %}} diff --git a/content/docs/esc/cli/_index.md b/content/docs/esc/cli/_index.md index bab161b5c0dc..584e6eb4991f 100644 --- a/content/docs/esc/cli/_index.md +++ b/content/docs/esc/cli/_index.md @@ -1,7 +1,8 @@ --- title: ESC CLI title_tag: Pulumi ESC CLI Overview -meta_desc: An overview of the Pulumi ESC (Environments, Secrets, and Configuration) CLI. +meta_desc: An overview of the Pulumi ESC (Environments, Secrets, and Configuration) + CLI. h1: Pulumi ESC CLI overview no_on_this_page: true menu: @@ -10,7 +11,16 @@ menu: identifier: esc-cli-overview weight: 7 aliases: - - /docs/esc-cli/ + - /docs/esc-cli/ +search: + keywords: + - esc + - cli + - commands + - environments + - secrets + - rollback + - env --- Pulumi ESC is controlled primarily using the command line interface (CLI). It works in conjunction with the Pulumi Cloud diff --git a/content/docs/esc/cli/command-line-completion.md b/content/docs/esc/cli/command-line-completion.md index 59eb62403988..449f0c3d0c5a 100644 --- a/content/docs/esc/cli/command-line-completion.md +++ b/content/docs/esc/cli/command-line-completion.md @@ -10,7 +10,16 @@ menu: parent: esc-cli-overview weight: 2 aliases: - - /docs/esc-cli/command-line-completion/ + - /docs/esc-cli/command-line-completion/ +search: + keywords: + - bash_completion + - esc + - completion + - line + - command + - fish + - information --- The Pulumi ESC CLI also has a command to generate a command-line completion script for Bash, Zsh, and Fish. This gives you tab completion for all commands, diff --git a/content/docs/esc/cli/commands/_index.md b/content/docs/esc/cli/commands/_index.md index 4e6ce75ba0a9..669cae49bc73 100644 --- a/content/docs/esc/cli/commands/_index.md +++ b/content/docs/esc/cli/commands/_index.md @@ -9,8 +9,17 @@ menu: parent: esc-cli-overview weight: 1 aliases: - - /docs/esc/cli/commands/ - - /docs/esc-cli/commands/ + - /docs/esc/cli/commands/ + - /docs/esc-cli/commands/ +search: + keywords: + - commands + - cli + - esc + - execute + - env + - offers + - line --- {{% notes type="info" %}} diff --git a/content/docs/esc/cli/commands/esc.md b/content/docs/esc/cli/commands/esc.md index 404d397e4546..09bb96f1b30e 100644 --- a/content/docs/esc/cli/commands/esc.md +++ b/content/docs/esc/cli/commands/esc.md @@ -1,9 +1,16 @@ --- title: "esc" +search: + keywords: + - definition + - command + - esc + - env + - environment + - commands + - open --- - - Pulumi ESC command line ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_completion.md b/content/docs/esc/cli/commands/esc_completion.md index 657b9f08d9b0..dd738bdcf15d 100644 --- a/content/docs/esc/cli/commands/esc_completion.md +++ b/content/docs/esc/cli/commands/esc_completion.md @@ -1,9 +1,16 @@ --- title: "esc completion" +search: + keywords: + - autocompletion + - generate + - fish + - powershell + - cli + - completion + - esc --- - - Generate the autocompletion script for the specified shell ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_completion_bash.md b/content/docs/esc/cli/commands/esc_completion_bash.md index 2f701685f180..76f49d22174c 100644 --- a/content/docs/esc/cli/commands/esc_completion_bash.md +++ b/content/docs/esc/cli/commands/esc_completion_bash.md @@ -1,9 +1,16 @@ --- title: "esc completion bash" +search: + keywords: + - autocompletion + - descriptions + - completion + - bash + - esc + - script + - shell --- - - Generate the autocompletion script for bash ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_completion_fish.md b/content/docs/esc/cli/commands/esc_completion_fish.md index aeee948cf368..f56d592db87f 100644 --- a/content/docs/esc/cli/commands/esc_completion_fish.md +++ b/content/docs/esc/cli/commands/esc_completion_fish.md @@ -1,9 +1,16 @@ --- title: "esc completion fish" +search: + keywords: + - fish + - completion + - esc + - autocompletion + - completions + - shell + - script --- - - Generate the autocompletion script for fish ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_completion_powershell.md b/content/docs/esc/cli/commands/esc_completion_powershell.md index 74ae5cde06a7..fd23501d54c5 100644 --- a/content/docs/esc/cli/commands/esc_completion_powershell.md +++ b/content/docs/esc/cli/commands/esc_completion_powershell.md @@ -1,9 +1,16 @@ --- title: "esc completion powershell" +search: + keywords: + - powershell + - session + - completion + - esc + - autocompletion + - script + - descriptions --- - - Generate the autocompletion script for powershell ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_completion_zsh.md b/content/docs/esc/cli/commands/esc_completion_zsh.md index ad7efe2e5af0..6de40623368a 100644 --- a/content/docs/esc/cli/commands/esc_completion_zsh.md +++ b/content/docs/esc/cli/commands/esc_completion_zsh.md @@ -1,9 +1,16 @@ --- title: "esc completion zsh" +search: + keywords: + - zsh + - compinit + - completion + - esc + - shell + - autocompletion + - _esc --- - - Generate the autocompletion script for zsh ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env.md b/content/docs/esc/cli/commands/esc_env.md index ee458d8a2041..81b4fc7119b3 100644 --- a/content/docs/esc/cli/commands/esc_env.md +++ b/content/docs/esc/cli/commands/esc_env.md @@ -1,9 +1,16 @@ --- title: "esc env" +search: + keywords: + - environment + - commands + - possibly + - esc + - env + - cli + - docs --- - - Manage environments ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_clone.md b/content/docs/esc/cli/commands/esc_env_clone.md index 11794aa748f3..ddfaa4dc017c 100644 --- a/content/docs/esc/cli/commands/esc_env_clone.md +++ b/content/docs/esc/cli/commands/esc_env_clone.md @@ -1,9 +1,16 @@ --- title: "esc env clone" +search: + keywords: + - environment + - dest + - identifier + - clone + - env + - esc + - preserve --- - - Clone an existing environment into a new environment. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_diff.md b/content/docs/esc/cli/commands/esc_env_diff.md index 4e27d29ccef1..af9824741b5d 100644 --- a/content/docs/esc/cli/commands/esc_env_diff.md +++ b/content/docs/esc/cli/commands/esc_env_diff.md @@ -1,9 +1,16 @@ --- title: "esc env diff" +search: + keywords: + - diff + - env + - esc + - argument + - environment + - second + - portion --- - - Show changes between versions. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_edit.md b/content/docs/esc/cli/commands/esc_env_edit.md index 98a00f26d1f2..44d79f96b4c8 100644 --- a/content/docs/esc/cli/commands/esc_env_edit.md +++ b/content/docs/esc/cli/commands/esc_env_edit.md @@ -1,9 +1,16 @@ --- title: "esc env edit" +search: + keywords: + - environment + - definition + - defaults + - commands + - edit + - env + - esc --- - - Edit an environment definition ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_get.md b/content/docs/esc/cli/commands/esc_env_get.md index cd6a48edfe2c..5eb083e83b7e 100644 --- a/content/docs/esc/cli/commands/esc_env_get.md +++ b/content/docs/esc/cli/commands/esc_env_get.md @@ -1,9 +1,16 @@ --- title: "esc env get" +search: + keywords: + - value + - definition + - environment + - env + - esc + - print + - path --- - - Get a value within an environment. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_init.md b/content/docs/esc/cli/commands/esc_env_init.md index 5ffb290f5212..e650bab7e339 100644 --- a/content/docs/esc/cli/commands/esc_env_init.md +++ b/content/docs/esc/cli/commands/esc_env_init.md @@ -1,9 +1,16 @@ --- title: "esc env init" +search: + keywords: + - environment + - init + - env + - esc + - given + - slash + - create --- - - Create an empty environment with the given name. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_ls.md b/content/docs/esc/cli/commands/esc_env_ls.md index f9db6b98d6ab..b3c3bcb4fa36 100644 --- a/content/docs/esc/cli/commands/esc_env_ls.md +++ b/content/docs/esc/cli/commands/esc_env_ls.md @@ -1,9 +1,16 @@ --- title: "esc env ls" +search: + keywords: + - ls + - env + - esc + - environments + - returned + - filter + - string --- - - List environments. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_open.md b/content/docs/esc/cli/commands/esc_env_open.md index baf1f731bc12..145a0c0099cf 100644 --- a/content/docs/esc/cli/commands/esc_env_open.md +++ b/content/docs/esc/cli/commands/esc_env_open.md @@ -1,9 +1,16 @@ --- title: "esc env open" +search: + keywords: + - json + - 1h30m + - open + - env + - esc + - environment + - lifetime --- - - Open the environment with the given name. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_rm.md b/content/docs/esc/cli/commands/esc_env_rm.md index 82d3bb6b608c..95a0e531a37c 100644 --- a/content/docs/esc/cli/commands/esc_env_rm.md +++ b/content/docs/esc/cli/commands/esc_env_rm.md @@ -1,9 +1,16 @@ --- title: "esc env rm" +search: + keywords: + - environment + - removal + - rm + - env + - esc + - value + - remove --- - - Remove an environment or a value from an environment. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_rollback.md b/content/docs/esc/cli/commands/esc_env_rollback.md index 29e42173667e..cee061e4b6b9 100644 --- a/content/docs/esc/cli/commands/esc_env_rollback.md +++ b/content/docs/esc/cli/commands/esc_env_rollback.md @@ -1,9 +1,16 @@ --- title: "esc env rollback" +search: + keywords: + - rollback + - definition + - environment + - '2024' + - env + - esc + - version --- - - Roll back to a specific version ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_rotate.md b/content/docs/esc/cli/commands/esc_env_rotate.md index dc19511d7941..250bd28314e1 100644 --- a/content/docs/esc/cli/commands/esc_env_rotate.md +++ b/content/docs/esc/cli/commands/esc_env_rotate.md @@ -1,9 +1,16 @@ --- title: "esc env rotate" +search: + keywords: + - rotate + - environment + - secrets + - esc_env + - env + - esc + - paths --- - - Rotate secrets in an environment ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_run.md b/content/docs/esc/cli/commands/esc_env_run.md index e8c96246735a..acec206019cd 100644 --- a/content/docs/esc/cli/commands/esc_env_run.md +++ b/content/docs/esc/cli/commands/esc_env_run.md @@ -1,9 +1,16 @@ --- title: "esc env run" +search: + keywords: + - run + - env + - esc + - command + - environment + - arguments + - given --- - - Open the environment with the given name and run a command. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_set.md b/content/docs/esc/cli/commands/esc_env_set.md index c3e1071e852f..cfbb1b23598b 100644 --- a/content/docs/esc/cli/commands/esc_env_set.md +++ b/content/docs/esc/cli/commands/esc_env_set.md @@ -1,9 +1,16 @@ --- title: "esc env set" +search: + keywords: + - value + - environment + - env + - esc + - set + - 'true' + - plaintext --- - - Set a value within an environment. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_tag.md b/content/docs/esc/cli/commands/esc_env_tag.md index f09aebc1b857..c1512c66fd61 100644 --- a/content/docs/esc/cli/commands/esc_env_tag.md +++ b/content/docs/esc/cli/commands/esc_env_tag.md @@ -1,9 +1,16 @@ --- title: "esc env tag" +search: + keywords: + - environment + - tags + - utc + - tag + - esc + - env + - commands --- - - Manage environment tags ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_tag_get.md b/content/docs/esc/cli/commands/esc_env_tag_get.md index 3e55dc39fb88..2e7ef24ee1f2 100644 --- a/content/docs/esc/cli/commands/esc_env_tag_get.md +++ b/content/docs/esc/cli/commands/esc_env_tag_get.md @@ -1,9 +1,16 @@ --- title: "esc env tag get" +search: + keywords: + - environment + - utc + - esc_env_tag + - commands + - tag + - env + - esc --- - - Get an environment tag ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_tag_ls.md b/content/docs/esc/cli/commands/esc_env_tag_ls.md index 7d883fe1b897..d6de1e3f82fc 100644 --- a/content/docs/esc/cli/commands/esc_env_tag_ls.md +++ b/content/docs/esc/cli/commands/esc_env_tag_ls.md @@ -1,9 +1,16 @@ --- title: "esc env tag ls" +search: + keywords: + - ls + - tags + - environment + - utc + - esc_env_tag + - pager + - tag --- - - List environment tags. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_tag_mv.md b/content/docs/esc/cli/commands/esc_env_tag_mv.md index 37fedd1b35a0..a701a3f3ced2 100644 --- a/content/docs/esc/cli/commands/esc_env_tag_mv.md +++ b/content/docs/esc/cli/commands/esc_env_tag_mv.md @@ -1,9 +1,16 @@ --- title: "esc env tag mv" +search: + keywords: + - mv + - environment + - utc + - esc_env_tag + - commands + - tag + - env --- - - Move an environment tag ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_tag_rm.md b/content/docs/esc/cli/commands/esc_env_tag_rm.md index 6664f8afeb77..ca19c1b6db29 100644 --- a/content/docs/esc/cli/commands/esc_env_tag_rm.md +++ b/content/docs/esc/cli/commands/esc_env_tag_rm.md @@ -1,9 +1,16 @@ --- title: "esc env tag rm" +search: + keywords: + - environment + - esc_env_tag + - removes + - commands + - tag + - rm + - env --- - - Remove an environment tag. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version.md b/content/docs/esc/cli/commands/esc_env_version.md index 671790c8b9f2..1cbcacf18e3d 100644 --- a/content/docs/esc/cli/commands/esc_env_version.md +++ b/content/docs/esc/cli/commands/esc_env_version.md @@ -1,9 +1,16 @@ --- title: "esc env version" +search: + keywords: + - utc + - esc + - env + - version + - versions + - revision + - retract --- - - Manage versions ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_history.md b/content/docs/esc/cli/commands/esc_env_version_history.md index ce6f64d3d289..290aba3be1aa 100644 --- a/content/docs/esc/cli/commands/esc_env_version_history.md +++ b/content/docs/esc/cli/commands/esc_env_version_history.md @@ -1,9 +1,16 @@ --- title: "esc env version history" +search: + keywords: + - revision + - utc + - environment + - pager + - esc_env_version + - history + - env --- - - Show revision history. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_retract.md b/content/docs/esc/cli/commands/esc_env_version_retract.md index 8882e5a3c2da..3370ed710966 100644 --- a/content/docs/esc/cli/commands/esc_env_version_retract.md +++ b/content/docs/esc/cli/commands/esc_env_version_retract.md @@ -1,9 +1,16 @@ --- title: "esc env version retract" +search: + keywords: + - retract + - revision + - latest + - env + - esc + - version + - retracted --- - - Retract a specific revision of an environment ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_rollback.md b/content/docs/esc/cli/commands/esc_env_version_rollback.md index 2440b6636e22..78f096b09b44 100644 --- a/content/docs/esc/cli/commands/esc_env_version_rollback.md +++ b/content/docs/esc/cli/commands/esc_env_version_rollback.md @@ -1,9 +1,16 @@ --- title: "esc env version rollback" +search: + keywords: + - rollback + - version + - definition + - environment + - esc_env_version + - env + - esc --- - - Roll back to a specific version ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_tag.md b/content/docs/esc/cli/commands/esc_env_version_tag.md index 885ce95c9af2..dabbedf4372a 100644 --- a/content/docs/esc/cli/commands/esc_env_version_tag.md +++ b/content/docs/esc/cli/commands/esc_env_version_tag.md @@ -1,9 +1,16 @@ --- title: "esc env version tag" +search: + keywords: + - tag + - revision + - utc + - version + - esc + - env + - tagged --- - - Manage tagged versions ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_tag_ls.md b/content/docs/esc/cli/commands/esc_env_version_tag_ls.md index 5a7ca073f96d..ce1c98c03bc3 100644 --- a/content/docs/esc/cli/commands/esc_env_version_tag_ls.md +++ b/content/docs/esc/cli/commands/esc_env_version_tag_ls.md @@ -1,9 +1,16 @@ --- title: "esc env version tag ls" +search: + keywords: + - utc + - environment + - esc_env_version_tag + - ls + - tag + - env + - esc --- - - List tagged versions. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_env_version_tag_rm.md b/content/docs/esc/cli/commands/esc_env_version_tag_rm.md index 928d0d3149d1..445c2c56886c 100644 --- a/content/docs/esc/cli/commands/esc_env_version_tag_rm.md +++ b/content/docs/esc/cli/commands/esc_env_version_tag_rm.md @@ -1,9 +1,16 @@ --- title: "esc env version tag rm" +search: + keywords: + - tagged + - esc_env_version_tag + - removes + - rm + - tag + - version + - env --- - - Remove a tagged version. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_login.md b/content/docs/esc/cli/commands/esc_login.md index 051e19f5c1ef..89290ac3a375 100644 --- a/content/docs/esc/cli/commands/esc_login.md +++ b/content/docs/esc/cli/commands/esc_login.md @@ -1,9 +1,16 @@ --- title: "esc login" +search: + keywords: + - login + - esc + - cloud + - log + - insecure + - backend + - url --- - - Log in to the Pulumi Cloud ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_logout.md b/content/docs/esc/cli/commands/esc_logout.md index 12c65685f74f..d7bf4c603452 100644 --- a/content/docs/esc/cli/commands/esc_logout.md +++ b/content/docs/esc/cli/commands/esc_logout.md @@ -1,9 +1,16 @@ --- title: "esc logout" +search: + keywords: + - logout + - esc + - backends + - url + - logged + - simultaneously + - log --- - - Log out of the Pulumi Cloud ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_open.md b/content/docs/esc/cli/commands/esc_open.md index 177780218b5e..a951988fe763 100644 --- a/content/docs/esc/cli/commands/esc_open.md +++ b/content/docs/esc/cli/commands/esc_open.md @@ -1,9 +1,16 @@ --- title: "esc open" +search: + keywords: + - esc + - property + - json + - open + - environment + - lifetime + - given --- - - Open the environment with the given name. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_run.md b/content/docs/esc/cli/commands/esc_run.md index 1e787ef4a0ef..d9aab9ff6142 100644 --- a/content/docs/esc/cli/commands/esc_run.md +++ b/content/docs/esc/cli/commands/esc_run.md @@ -1,9 +1,16 @@ --- title: "esc run" +search: + keywords: + - esc + - run + - command + - environment + - arguments + - given + - interactive --- - - Open the environment with the given name and run a command. ## Synopsis diff --git a/content/docs/esc/cli/commands/esc_version.md b/content/docs/esc/cli/commands/esc_version.md index 7b9a6e88604e..33a8d989c1a7 100644 --- a/content/docs/esc/cli/commands/esc_version.md +++ b/content/docs/esc/cli/commands/esc_version.md @@ -1,9 +1,16 @@ --- title: "esc version" +search: + keywords: + - esc + - version + - flags + - mar + - cobra + - help + - print --- - - Print esc's version number ``` diff --git a/content/docs/esc/concepts/_index.md b/content/docs/esc/concepts/_index.md index 337d32da77d2..6ce6b2077a61 100644 --- a/content/docs/esc/concepts/_index.md +++ b/content/docs/esc/concepts/_index.md @@ -2,7 +2,8 @@ title: Concepts title_tag: Pulumi ESC Concepts h1: Pulumi ESC Concepts -meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of configuration and secrets and consume them in various ways. +meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of + configuration and secrets and consume them in various ways. menu: esc: parent: esc-home @@ -10,6 +11,15 @@ menu: weight: 3 aliases: - /docs/concepts/environments/ +search: + keywords: + - concepts + - esc + - compose + - secrets + - hierarchical + - collections + - consume --- Pulumi ESC (Environments, Secrets, and Configuration) simplifies how organizations manage secrets and configurations across multiple environments. It enables teams to compose collections of configuration and secrets called *environments*, which can be consumed by various infrastructure and application services. ESC helps ensure security, consistency, and efficiency in handling secrets and configuration. diff --git a/content/docs/esc/concepts/how-esc-works.md b/content/docs/esc/concepts/how-esc-works.md index 6e7ada943542..621d8cb1a9b4 100644 --- a/content/docs/esc/concepts/how-esc-works.md +++ b/content/docs/esc/concepts/how-esc-works.md @@ -9,6 +9,15 @@ menu: parent: esc-concepts identifier: how-pulumi-esc-works weight: 1 +search: + keywords: + - esc + - works + - discussion + - core + - concepts + - overview + - secrets --- This article details how Pulumi ESC works, including its architecture, supported integrations, and core functionalities. To understand some of the core ESC concepts, like *environments*, *dynamic secrets*, and *configuration-as-code*, please read through the [ESC Concepts](/docs/esc/concepts/) doc. diff --git a/content/docs/esc/development/_index.md b/content/docs/esc/development/_index.md index 7ea8bc8612d2..6f7e66d26908 100644 --- a/content/docs/esc/development/_index.md +++ b/content/docs/esc/development/_index.md @@ -2,12 +2,22 @@ title: Development title_tag: Develop infrastructure solutions with Pulumi ESC h1: Develop with Pulumi ESC -meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of configuration and secrets and consume them in various ways. +meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of + configuration and secrets and consume them in various ways. menu: esc: parent: esc-home identifier: esc-development weight: 8 +search: + keywords: + - development + - esc + - hierarchical + - compose + - consume + - secrets + - collections --- The [Pulumi ESC SDK](/docs/esc/development/languages-sdks/) provides a programmatic interface to manage environments, secrets, and configuration directly within your applications. Using the SDK, you can create, update, and delete environments, apply version tags. It also simplifies the secure handling of secrets and configurations, allowing you to retrieve sensitive data like cloud credentials, connection strings, and feature flags at runtime without long-term storage. diff --git a/content/docs/esc/development/automation-api.md b/content/docs/esc/development/automation-api.md index 602756924f2d..dcd7a1a30343 100644 --- a/content/docs/esc/development/automation-api.md +++ b/content/docs/esc/development/automation-api.md @@ -2,12 +2,22 @@ title: Automation API title_tag: Manage Pulumi ESC resources in your automation workflows h1: Manage Pulumi ESC resources in your automation workflows -meta_desc: Pulumi Automation API allows you to interact with ESC resources like environments, permissions and version tags. +meta_desc: Pulumi Automation API allows you to interact with ESC resources like environments, + permissions and version tags. menu: esc: identifier: esc-automation-api parent: esc-development weight: 1 +search: + keywords: + - automation + - permissions + - api + - environments + - env2 + - interact + - env1 --- Pulumi Automation API includes methods for interacting with Pulumi ESC Environments programmatically. This enables you to seamlessly integrate environment management into your automated workflows and build sophisticated custom tooling. diff --git a/content/docs/esc/development/languages-sdks/_index.md b/content/docs/esc/development/languages-sdks/_index.md index d610ba186c79..5fb40ea2b343 100644 --- a/content/docs/esc/development/languages-sdks/_index.md +++ b/content/docs/esc/development/languages-sdks/_index.md @@ -1,6 +1,7 @@ --- title_tag: Pulumi ESC SDK -meta_desc: An overview of how to use Node.js, Go, and Python when using Pulumi ESC in your application and infrastructure code. +meta_desc: An overview of how to use Node.js, Go, and Python when using Pulumi ESC + in your application and infrastructure code. title: Languages & SDKs h1: Pulumi ESC SDK Languages meta_image: /images/docs/meta-images/docs-meta.png @@ -10,7 +11,16 @@ menu: parent: esc-development weight: 3 aliases: - - /docs/esc/sdk/ + - /docs/esc/sdk/ +search: + keywords: + - sdks + - languages + - class + - mx + - pb + - text + - alt --- Pulumi ESC SDKs support multiple languages. Each language is as capable as the diff --git a/content/docs/esc/development/languages-sdks/go.md b/content/docs/esc/development/languages-sdks/go.md index 02373adf0425..e470886c735d 100644 --- a/content/docs/esc/development/languages-sdks/go.md +++ b/content/docs/esc/development/languages-sdks/go.md @@ -10,6 +10,15 @@ menu: weight: 3 aliases: - /docs/esc/sdk/go/ +search: + keywords: + - esc + - sdk + - err + - escclient + - authctx + - projname + - fatalf --- The [Go SDK](https://github.com/pulumi/esc-sdk) for [Pulumi ESC (Environments, Secrets, and Configuration)](/product/esc/) allows you to automate Pulumi ESC. diff --git a/content/docs/esc/development/languages-sdks/javascript.md b/content/docs/esc/development/languages-sdks/javascript.md index 25774cb17904..b87dd4d81224 100644 --- a/content/docs/esc/development/languages-sdks/javascript.md +++ b/content/docs/esc/development/languages-sdks/javascript.md @@ -2,7 +2,8 @@ title_tag: TypeScript/JavaScript SDK | Pulumi ESC title: TypeScript (Node.js) h1: "Pulumi ESC: TypeScript/JavaScript SDK" -meta_desc: This page provides an overview on how to use Pulumi ESC TypeScript/JavaScript SDK. +meta_desc: This page provides an overview on how to use Pulumi ESC TypeScript/JavaScript + SDK. menu: esc: parent: esc-languages-sdks @@ -10,6 +11,15 @@ menu: weight: 1 aliases: - /docs/esc/sdk/javascript/ +search: + keywords: + - typescript + - js + - node + - sdk + - esc + - const + - projname --- The [JavaScript/TypeScript SDK](https://www.npmjs.com/package/@pulumi/esc-sdk) for [Pulumi ESC (Environments, Secrets, and Configuration)](/product/esc/) allows you to automate Pulumi ESC. diff --git a/content/docs/esc/development/languages-sdks/python.md b/content/docs/esc/development/languages-sdks/python.md index b323018e93ad..eebebe4c80ce 100644 --- a/content/docs/esc/development/languages-sdks/python.md +++ b/content/docs/esc/development/languages-sdks/python.md @@ -10,6 +10,15 @@ menu: weight: 2 aliases: - /docs/esc/sdk/python/ +search: + keywords: + - python + - esc + - sdk + - projname + - orgname + - envname + - revision --- The [Python SDK](https://pypi.org/project/pulumi-esc-sdk/) for [Pulumi ESC (Environments, Secrets, and Configuration)](/product/esc/) allows you to automate Pulumi ESC. diff --git a/content/docs/esc/development/psp.md b/content/docs/esc/development/psp.md index be2a00905122..3bf05d9eff22 100644 --- a/content/docs/esc/development/psp.md +++ b/content/docs/esc/development/psp.md @@ -2,12 +2,22 @@ title: Pulumi Service Provider title_tag: Manage Pulumi ESC resources using a Pulumi Program h1: Manage Pulumi ESC resources using a Pulumi Program -meta_desc: Pulumi Service Provider allows you to create and manage ESC resources like environments, permissions and version tags using a Pulumi program. +meta_desc: Pulumi Service Provider allows you to create and manage ESC resources like + environments, permissions and version tags using a Pulumi program. menu: esc: identifier: esc-psp parent: esc-development weight: 2 +search: + keywords: + - provider + - esc + - service + - environments + - environment + - tags + - permissions --- Pulumi Service Provider empowers you to manage your entire infrastructure and application landscape through a unified approach. This means you can define [environments](/docs/esc/environments/), add [version tags](/docs/esc/environments/#tagging-versions), and even control access using familiar Infrastructure as Code (IaC) practices ensuring consistency and repeatability across your deployments. diff --git a/content/docs/esc/development/vs-code-extension.md b/content/docs/esc/development/vs-code-extension.md index 59cebbd46d89..4aa7a986e247 100644 --- a/content/docs/esc/development/vs-code-extension.md +++ b/content/docs/esc/development/vs-code-extension.md @@ -2,11 +2,21 @@ title: ESC VS Code Extension title_tag: Using Pulumi ESC with VS Code | Pulumi ESC h1: Using Pulumi ESC with VS Code -meta_desc: Pulumi This page provides an overview on how to use the Pulumi VS Code extension to manage your Pulumi Environments, Secrets, and Configuration +meta_desc: Pulumi This page provides an overview on how to use the Pulumi VS Code + extension to manage your Pulumi Environments, Secrets, and Configuration menu: esc: parent: esc-development weight: 2 +search: + keywords: + - extension + - esc + - vscode + - vs + - code + - explorer + - environment --- The [Pulumi Tools extension for VS Code](https://marketplace.visualstudio.com/items?itemName=pulumi.pulumi-vscode) allows you to manage your Pulumi ESC environments directly from your editor. This enables you to create and manage environments, secrets and configuration directly within the IDE with rich IDE features. diff --git a/content/docs/esc/download-install/_index.md b/content/docs/esc/download-install/_index.md index 7db13e90d46e..c0c90d246186 100644 --- a/content/docs/esc/download-install/_index.md +++ b/content/docs/esc/download-install/_index.md @@ -1,6 +1,7 @@ --- title_tag: Download & Install Pulumi ESC -meta_desc: Detailed instructions for downloading and installing Pulumi ESC (Environments, Secrets and Configuration). +meta_desc: Detailed instructions for downloading and installing Pulumi ESC (Environments, + Secrets and Configuration). title: Download & Install h1: Download & Install Pulumi ESC meta_image: /images/docs/meta-images/docs-meta.png @@ -9,14 +10,20 @@ menu: parent: esc-home weight: 1 search: - boost: true - keywords: - - install - - homebrew - - cli + boost: true + keywords: + - install + - homebrew + - cli + - accordion + - instructions + - download + - class + - esc + - downloading aliases: -- /docs/install/esc/ -- /docs/esc/install + - /docs/install/esc/ + - /docs/esc/install --- ## Select an Operating System diff --git a/content/docs/esc/environments/_index.md b/content/docs/esc/environments/_index.md index 2546b7810fd2..5db49065ae51 100644 --- a/content/docs/esc/environments/_index.md +++ b/content/docs/esc/environments/_index.md @@ -2,12 +2,22 @@ title: Environments title_tag: Pulumi ESC Environments h1: Environments -meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of configuration and secrets called environments and consume them in various ways. +meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of + configuration and secrets called environments and consume them in various ways. menu: esc: parent: esc-home identifier: esc-environments weight: 4 +search: + keywords: + - environments + - esc + - secrets + - consume + - compose + - hierarchical + - collections --- Pulumi ESC (Environments, Secrets, and Configuration) lets you define collections of configuration settings and secrets called _environments_ and use them in any application or service. Environments are YAML documents composed of static key-value pairs, programmatic expressions, dynamically retrieved values from supported providers including all major clouds through OpenID Connect (OIDC), and other Pulumi ESC environments. diff --git a/content/docs/esc/environments/access-control.md b/content/docs/esc/environments/access-control.md index f5dc562d484f..23ea78553331 100644 --- a/content/docs/esc/environments/access-control.md +++ b/content/docs/esc/environments/access-control.md @@ -2,11 +2,21 @@ title: Access control title_tag: Access control | Pulumi ESC h1: Pulumi ESC access control -meta_desc: Pulumi ESC provides granular access control to manage permissions with roles like reader, opener, and editor. +meta_desc: Pulumi ESC provides granular access control to manage permissions with + roles like reader, opener, and editor. menu: esc: parent: esc-environments weight: 7 +search: + keywords: + - access + - granular + - editor + - control + - permissions + - opener + - reader --- Pulumi ESC allows you to enforce least-privileged access across your environments through role-based access controls (RBAC). By assigning precise permissions at the organization and team levels, you ensure that users only have access to the environments they need. All changes, including environment updates and access modifications, are fully logged to provide complete auditing and compliance tracking, helping your organization maintain security best practices. diff --git a/content/docs/esc/environments/dynamic-environment-variables.md b/content/docs/esc/environments/dynamic-environment-variables.md index 6ef3e95cbf8f..04081017ed06 100644 --- a/content/docs/esc/environments/dynamic-environment-variables.md +++ b/content/docs/esc/environments/dynamic-environment-variables.md @@ -2,13 +2,23 @@ title: Dynamic environment variables title_tag: Dynamic environment variables | Pulumi ESC h1: Running commands with environment variables -meta_desc: Pulumi ESC allows you to securely run commands with managed environment variables using the esc run command, without exporting them to your shell. +meta_desc: Pulumi ESC allows you to securely run commands with managed environment + variables using the esc run command, without exporting them to your shell. menu: esc: name: Dynamic environment variables identifier: esc-dynamic-environmeant-variables parent: esc-environments weight: 5 +search: + keywords: + - dynamic + - environment + - exporting + - variables + - esc + - run + - s3 --- The Pulumi ESC CLI includes a [`run` command](/docs/esc-cli/commands/esc_run/) that allows you to run commands with Pulumi ESC managed environment variables, without exporting them to your shell. diff --git a/content/docs/esc/environments/imports.md b/content/docs/esc/environments/imports.md index 3cb0af49f1eb..3b42c9af8b88 100644 --- a/content/docs/esc/environments/imports.md +++ b/content/docs/esc/environments/imports.md @@ -2,13 +2,23 @@ title: Importing other environments title_tag: Importing other environments | Pulumi ESC h1: Importing other environments -meta_desc: Pulumi ESC allows you to import and compose configurations from multiple environments, reducing duplication and ensuring consistency. +meta_desc: Pulumi ESC allows you to import and compose configurations from multiple + environments, reducing duplication and ensuring consistency. menu: esc: name: Importing environments identifier: esc-importing-environments parent: esc-environments weight: 2 +search: + keywords: + - importing + - environments + - duplication + - consistency + - reducing + - compose + - myapp --- Environments can be composed from other environments. diff --git a/content/docs/esc/environments/rotation.md b/content/docs/esc/environments/rotation.md index aa77eac68d22..b8f4d9773213 100644 --- a/content/docs/esc/environments/rotation.md +++ b/content/docs/esc/environments/rotation.md @@ -9,6 +9,15 @@ menu: identifier: esc-rotating-secrets parent: esc-environments weight: 4 +search: + keywords: + - rotating + - secrets + - rotate + - schedule + - pre + - defined + - rotated --- Secret Rotation is a feature in Pulumi ESC that enables the automated periodic updating of sensitive credentials. By defining a schedule, you can specify when and how often a secret should be rotated, ensuring that any long-lived credentials do not remain static over time. This feature is useful for maintaining best practices in security by reducing the risk of credential exposure or misuse. diff --git a/content/docs/esc/environments/versioning.md b/content/docs/esc/environments/versioning.md index f63a83a4fd3c..d81c8c82e72d 100644 --- a/content/docs/esc/environments/versioning.md +++ b/content/docs/esc/environments/versioning.md @@ -2,13 +2,23 @@ title: Versioning title_tag: Environment versioning | Pulumi ESC h1: Pulumi ESC environment versioning -meta_desc: Pulumi ESC allows you to manage, track and audit changes to your secrets and configurations with versioning. +meta_desc: Pulumi ESC allows you to manage, track and audit changes to your secrets + and configurations with versioning. menu: esc: identifier: esc-versioning parent: esc-environments weight: 3 +search: + keywords: + - versioning + - esc + - audit + - track + - test + - configurations + - myorg --- Each time a change is made to an environment, a new immutable revision is created. You can manage and track changes to your secrets and configuration over time with a clear history you can audit, compare, and roll back. You can assign tags to revisions, such as `production`, `v1.2.1`, or `stable`, to help organize and identify them. diff --git a/content/docs/esc/environments/webhooks.md b/content/docs/esc/environments/webhooks.md index cc5d328113e5..da90df1aebce 100644 --- a/content/docs/esc/environments/webhooks.md +++ b/content/docs/esc/environments/webhooks.md @@ -1,6 +1,7 @@ --- title_tag: "ESC Webhooks" -meta_desc: ESC Webhooks allow you to notify external services of events happening within your ESC environments. Learn how to create and manage webhooks here. +meta_desc: ESC Webhooks allow you to notify external services of events happening + within your ESC environments. Learn how to create and manage webhooks here. title: "Webhooks" h1: ESC Webhooks meta_image: /images/docs/meta-images/docs-meta.png @@ -9,8 +10,17 @@ menu: parent: esc-environments weight: 6 aliases: -- /docs/esc-cli/commands/ -- /docs/esc/webhooks/ + - /docs/esc-cli/commands/ + - /docs/esc/webhooks/ +search: + keywords: + - webhooks + - webhook + - notify + - happening + - events + - esc + - external --- {{% notes "info" %}} diff --git a/content/docs/esc/environments/working-with-environments.md b/content/docs/esc/environments/working-with-environments.md index 132bde2e984d..e804c6ad8c9d 100644 --- a/content/docs/esc/environments/working-with-environments.md +++ b/content/docs/esc/environments/working-with-environments.md @@ -2,7 +2,8 @@ title: Working with environments title_tag: Pulumi ESC environments h1: Working with environments -meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of configuration and secrets and consume them in various ways. +meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of + configuration and secrets and consume them in various ways. menu: esc: identifier: working-with-environments @@ -14,6 +15,12 @@ search: - environments - secrets - configuration + - working + - compose + - esc + - hierarchical + - consume + - collections aliases: - /docs/pulumi-cloud/esc/environments/ # - /docs/esc/environments/ diff --git a/content/docs/esc/faq.md b/content/docs/esc/faq.md index 6dbaf1df1314..7906cbe3a716 100644 --- a/content/docs/esc/faq.md +++ b/content/docs/esc/faq.md @@ -11,6 +11,15 @@ menu: identifier: faq aliases: - /docs/pulumi-cloud/esc/faq +search: + keywords: + - esc + - questions + - faq + - roadmap + - pricing + - frequently + - asked --- ## Why did Pulumi launch ESC? diff --git a/content/docs/esc/get-started/_index.md b/content/docs/esc/get-started/_index.md index 76687df4bbd4..ce63acbefa5e 100644 --- a/content/docs/esc/get-started/_index.md +++ b/content/docs/esc/get-started/_index.md @@ -2,7 +2,8 @@ title: Get started title_tag: Get Started with Pulumi ESC (Environments, Secrets, and Configuration) h1: Get Started with Pulumi ESC (Environments, Secrets, and Configuration) -meta_desc: Learn how to manage secrets and hierarchical configuration with Pulumi ESC. +meta_desc: Learn how to manage secrets and hierarchical configuration with Pulumi + ESC. menu: esc: parent: esc-home @@ -10,6 +11,15 @@ menu: weight: 2 aliases: - /docs/pulumi-cloud/esc/get-started/ +search: + keywords: + - esc + - learn + - started + - hierarchical + - secrets + - configuration + - manage --- In a typical application or infrastructure development workflow, there's often a need to maintain multiple environments such as development, staging, and production. Each of these environments might have its own set of configuration values: API endpoints, database connection strings, third-party secrets, and more. diff --git a/content/docs/esc/get-started/begin.md b/content/docs/esc/get-started/begin.md index acb49679f211..a480a603f634 100644 --- a/content/docs/esc/get-started/begin.md +++ b/content/docs/esc/get-started/begin.md @@ -8,6 +8,15 @@ menu: esc: parent: esc-get-started identifier: esc-get-started-begin +search: + keywords: + - begin + - esc + - overview + - provides + - oidc + - page + - started --- Before you get started using Pulumi ESC, let's run through a few quick steps to ensure your environment is set up correctly. diff --git a/content/docs/esc/get-started/create-environment.md b/content/docs/esc/get-started/create-environment.md index cff290812f45..6007970bd7cb 100644 --- a/content/docs/esc/get-started/create-environment.md +++ b/content/docs/esc/get-started/create-environment.md @@ -9,6 +9,15 @@ menu: parent: esc-get-started identifier: esc-get-started-create-environment +search: + keywords: + - environment + - create + - esc + - overview + - page + - new + - provides --- ## Overview diff --git a/content/docs/esc/get-started/esc-run-command.md b/content/docs/esc/get-started/esc-run-command.md index c761d6e73390..b9bf5843f19c 100644 --- a/content/docs/esc/get-started/esc-run-command.md +++ b/content/docs/esc/get-started/esc-run-command.md @@ -2,12 +2,22 @@ title_tag: Run Commands Without Local Secrets | Pulumi ESC title: Run commands without local secrets h1: "Pulumi ESC: Run Commands Without Local Secrets" -meta_desc: This page provides an overview on how to run commands without using local secrets using the "esc run" command. +meta_desc: This page provides an overview on how to run commands without using local + secrets using the "esc run" command. weight: 6 menu: esc: parent: esc-get-started identifier: esc-get-started-esc-run-command +search: + keywords: + - commands + - run + - secrets + - local + - esc + - command + - using --- ## Overview diff --git a/content/docs/esc/get-started/import-environments.md b/content/docs/esc/get-started/import-environments.md index 7c88325f4ff0..04e880babc59 100644 --- a/content/docs/esc/get-started/import-environments.md +++ b/content/docs/esc/get-started/import-environments.md @@ -2,12 +2,22 @@ title_tag: Import Environments | Pulumi ESC title: Import environments h1: "Pulumi ESC: Import Environments" -meta_desc: This page provides an overview on how to import environments in Pulumi ESC. +meta_desc: This page provides an overview on how to import environments in Pulumi + ESC. weight: 5 menu: esc: parent: esc-get-started identifier: esc-get-started-import-environments +search: + keywords: + - esc + - import + - environments + - overview + - environment + - provides + - page --- ## Overview diff --git a/content/docs/esc/get-started/integrate-with-pulumi-iac.md b/content/docs/esc/get-started/integrate-with-pulumi-iac.md index da24afa6f7f2..6acb3e9d8edb 100644 --- a/content/docs/esc/get-started/integrate-with-pulumi-iac.md +++ b/content/docs/esc/get-started/integrate-with-pulumi-iac.md @@ -8,6 +8,15 @@ menu: esc: parent: esc-get-started identifier: esc-get-started-integrate-with-pulumi-iac +search: + keywords: + - iac + - integrate + - esc + - overview + - provides + - page + - myenvironment --- ## Overview diff --git a/content/docs/esc/get-started/retrieve-external-secrets.md b/content/docs/esc/get-started/retrieve-external-secrets.md index 8de71d96e67a..402a40d73bed 100644 --- a/content/docs/esc/get-started/retrieve-external-secrets.md +++ b/content/docs/esc/get-started/retrieve-external-secrets.md @@ -2,12 +2,22 @@ title_tag: Retrieve External Secrets | Pulumi ESC title: Retrieve secrets from external sources h1: "Pulumi ESC: Retrieve Secrets from External Sources" -meta_desc: This page provides an overview on how to retrieve secrets from external sources. +meta_desc: This page provides an overview on how to retrieve secrets from external + sources. weight: 7 menu: esc: parent: esc-get-started identifier: esc-get-started-retrieve-external-secrets +search: + keywords: + - retrieve + - external + - secrets + - sources + - secret + - overview + - esc --- ## Overview diff --git a/content/docs/esc/get-started/store-and-retrieve-secrets.md b/content/docs/esc/get-started/store-and-retrieve-secrets.md index 8ae36420d945..6f062a9e4727 100644 --- a/content/docs/esc/get-started/store-and-retrieve-secrets.md +++ b/content/docs/esc/get-started/store-and-retrieve-secrets.md @@ -2,13 +2,23 @@ title_tag: Store and Retrieve Secrets | Pulumi ESC title: Store and retrieve secrets h1: "Pulumi ESC: Store and Retrieve Secrets" -meta_desc: This page provides an overview on how to store and retrieve secrets in Pulumi ESC. +meta_desc: This page provides an overview on how to store and retrieve secrets in + Pulumi ESC. weight: 4 menu: esc: parent: esc-get-started identifier: esc-get-started-store-retrieve-secrets +search: + keywords: + - retrieve + - secrets + - store + - esc + - overview + - provides + - environment --- In an environment file, values are defined as a series of key-value pairs in YAML format. All variables will be defined under a top-level key named `values`. These values can be strings, numbers, or arrays, and they can be manually provided, dynamically generated from external sources, or referenced from other values in the file. They can also be stored in plain-text or as secrets. diff --git a/content/docs/esc/integrations/_index.md b/content/docs/esc/integrations/_index.md index 5e055b692947..3d6963495c56 100644 --- a/content/docs/esc/integrations/_index.md +++ b/content/docs/esc/integrations/_index.md @@ -1,7 +1,8 @@ --- title: Integrations title_tag: Pulumi ESC integrations and providers -meta_desc: Explore Pulumi ESC integrations and providers that help you securely manage cloud resources, configurations, and secrets. +meta_desc: Explore Pulumi ESC integrations and providers that help you securely manage + cloud resources, configurations, and secrets. h1: Pulumi ESC integrations menu: esc: @@ -9,8 +10,17 @@ menu: identifier: esc-integrations weight: 6 aliases: - - /docs/esc/providers/ - - /docs/pulumi-cloud/esc/providers/ + - /docs/esc/providers/ + - /docs/pulumi-cloud/esc/providers/ +search: + keywords: + - integrations + - esc + - dynamic + - providers + - secrets + - login + - explore --- Pulumi ESC's support for dynamic configuration providers allows ESC to integrate with secrets stored in any other provider. Organizations often use AWS OIDC, AWS Secrets Manager, Vault, Azure OIDC, Azure KeyVault, GCP OIDC, and GCP Secrets Manager plus many more sources of truth for their secrets and configuration. Pulumi ESC supports them all, providing a single interface to your configuration and secrets, no matter where their source of truth is. Pulumi ESC works with these tools to provide improved management of secrets and configuration. diff --git a/content/docs/esc/integrations/dev-tools/_index.md b/content/docs/esc/integrations/dev-tools/_index.md index eead2329c266..ebb9dea9d92d 100644 --- a/content/docs/esc/integrations/dev-tools/_index.md +++ b/content/docs/esc/integrations/dev-tools/_index.md @@ -2,7 +2,8 @@ title: Dev tools title_tag: Dev tools integrations | Pulumi ESC h1: ESC dev tools integrations -meta_desc: Pulumi ESC integrates with popular developer tools like Cloudflare, Docker, and Terraform, for management of environment variables, secrets, and configurations. +meta_desc: Pulumi ESC integrates with popular developer tools like Cloudflare, Docker, + and Terraform, for management of environment variables, secrets, and configurations. menu: esc: identifier: esc-dev-tools-integrations @@ -10,6 +11,15 @@ menu: weight: 5 aliases: - /docs/esc/other-integrations +search: + keywords: + - tools + - esc + - docker + - dev + - popular + - direnv + - variables --- Pulumi ESC's rich metadata and support for popular configuration formats enables easy integration with other developer tools. diff --git a/content/docs/esc/integrations/dev-tools/direnv.md b/content/docs/esc/integrations/dev-tools/direnv.md index b5a7e7fb3a21..3d747dc5155c 100644 --- a/content/docs/esc/integrations/dev-tools/direnv.md +++ b/content/docs/esc/integrations/dev-tools/direnv.md @@ -8,7 +8,16 @@ menu: parent: esc-dev-tools-integrations weight: 1 aliases: - - /docs/esc/other-integrations/direnv/ + - /docs/esc/other-integrations/direnv/ +search: + keywords: + - direnv + - envrc + - esc + - overview + - environment + - provides + - page --- ## Overview diff --git a/content/docs/esc/integrations/dev-tools/docker.md b/content/docs/esc/integrations/dev-tools/docker.md index 83928ef4ecb5..922f34181918 100644 --- a/content/docs/esc/integrations/dev-tools/docker.md +++ b/content/docs/esc/integrations/dev-tools/docker.md @@ -8,7 +8,16 @@ menu: parent: esc-dev-tools-integrations weight: 2 aliases: - - /docs/esc/other-integrations/docker/ + - /docs/esc/other-integrations/docker/ +search: + keywords: + - docker + - esc_org + - esc + - environment + - esc_hello_user + - overview + - provides --- ## Overview diff --git a/content/docs/esc/integrations/dev-tools/github.md b/content/docs/esc/integrations/dev-tools/github.md index a59b8bbd02ba..dea8e08f25f3 100644 --- a/content/docs/esc/integrations/dev-tools/github.md +++ b/content/docs/esc/integrations/dev-tools/github.md @@ -8,6 +8,15 @@ menu: esc: identifier: esc-dev-tools-integrations-github parent: esc-dev-tools-integrations +search: + keywords: + - github + - esc + - actions + - overview + - action + - provides + - page --- ## Pulumi ESC GitHub Action diff --git a/content/docs/esc/integrations/dynamic-login-credentials/_index.md b/content/docs/esc/integrations/dynamic-login-credentials/_index.md index 10be5218284f..33cf9db81ac6 100644 --- a/content/docs/esc/integrations/dynamic-login-credentials/_index.md +++ b/content/docs/esc/integrations/dynamic-login-credentials/_index.md @@ -2,13 +2,23 @@ title: Dynamic login credentials title_tag: Integrate Pulumi ESC with dynamic login credential providers | Pulumi ESC h1: Dynamic login credentials -meta_desc: Pulumi ESC integrates with dynamic login providers, allowing you to securely log in using OpenID Connect (OIDC) to access resources and secrets. +meta_desc: Pulumi ESC integrates with dynamic login providers, allowing you to securely + log in using OpenID Connect (OIDC) to access resources and secrets. menu: esc: name: Dynamic login credentials identifier: esc-dynamic-login-credentials parent: esc-integrations weight: 1 +search: + keywords: + - dynamic + - credentials + - oidc + - log + - login + - openid + - connect --- Pulumi ESC integrates with the following dynamic login providers to enables you to log in to your account using OpenID Connect (OIDC) or by providing static credentials. The provider will return a set of credentials that can be used to access resources or fetch secrets. diff --git a/content/docs/esc/integrations/dynamic-login-credentials/aws-login.md b/content/docs/esc/integrations/dynamic-login-credentials/aws-login.md index 04ad2585e84c..8b9c0dfae527 100644 --- a/content/docs/esc/integrations/dynamic-login-credentials/aws-login.md +++ b/content/docs/esc/integrations/dynamic-login-credentials/aws-login.md @@ -1,6 +1,7 @@ --- title_tag: aws-login Pulumi ESC Provider -meta_desc: The aws-login Pulumi ESC Provider enables you to log in to AWS using OIDC or static credentials. +meta_desc: The aws-login Pulumi ESC Provider enables you to log in to AWS using OIDC + or static credentials. title: aws-login h1: aws-login meta_image: /images/docs/meta-images/docs-meta.png @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-login-credentials weight: 1 aliases: - - /docs/pulumi-cloud/esc/providers/aws-login/ - - /docs/esc/providers/aws-login/ + - /docs/pulumi-cloud/esc/providers/aws-login/ + - /docs/esc/providers/aws-login/ +search: + keywords: + - log + - login + - aws + - oidc + - static + - credentials + - enables --- The `aws-login` provider enables you to log in to your AWS account using OpenID Connect or by providing static credentials. The provider will return a set of credentials that can be used to access AWS resources or fetch secrets using the `aws-secrets` provider. diff --git a/content/docs/esc/integrations/dynamic-login-credentials/azure-login.md b/content/docs/esc/integrations/dynamic-login-credentials/azure-login.md index f24f51ddd4f4..f7aaac4ba92b 100644 --- a/content/docs/esc/integrations/dynamic-login-credentials/azure-login.md +++ b/content/docs/esc/integrations/dynamic-login-credentials/azure-login.md @@ -1,6 +1,7 @@ --- title_tag: azure-login Pulumi ESC Provider -meta_desc: The azure-login Pulumi ESC Provider enables you to log in to Azure using OIDC or static credentials. +meta_desc: The azure-login Pulumi ESC Provider enables you to log in to Azure using + OIDC or static credentials. title: azure-login h1: azure-login meta_image: /images/docs/meta-images/docs-meta.png @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-login-credentials weight: 2 aliases: - - /docs/pulumi-cloud/esc/providers/azure-login/ - - /docs/esc/providers/azure-login/ + - /docs/pulumi-cloud/esc/providers/azure-login/ + - /docs/esc/providers/azure-login/ +search: + keywords: + - azure + - login + - oidc + - credentials + - enables + - static + - provider --- The `azure-login` provider enables you to log in to Azure using OpenID Connect or by providing static credentials. The provider will return a set of credentials that can be used to access Azure resources or fetch secrets using the `azure-secrets` provider. diff --git a/content/docs/esc/integrations/dynamic-login-credentials/gcp-login.md b/content/docs/esc/integrations/dynamic-login-credentials/gcp-login.md index 6601a89cb1ed..fb2ff279c816 100644 --- a/content/docs/esc/integrations/dynamic-login-credentials/gcp-login.md +++ b/content/docs/esc/integrations/dynamic-login-credentials/gcp-login.md @@ -1,6 +1,7 @@ --- title_tag: gcp-login Pulumi ESC Provider -meta_desc: The gcp-login Pulumi ESC Provider enables you to log in to Google Cloud using OIDC or by providing static credentials. +meta_desc: The gcp-login Pulumi ESC Provider enables you to log in to Google Cloud + using OIDC or by providing static credentials. title: gcp-login h1: gcp-login meta_image: /images/docs/meta-images/docs-meta.png @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-login-credentials weight: 3 aliases: - - /docs/pulumi-cloud/esc/providers/gcp-login/ - - /docs/esc/providers/gcp-login/ + - /docs/pulumi-cloud/esc/providers/gcp-login/ + - /docs/esc/providers/gcp-login/ +search: + keywords: + - gcp + - enables + - login + - oidc + - google + - providing + - credentials --- The `gcp-login` provider enables you to log in to Google Cloud using OpenID Connect or by providing static credentials. The provider will return a set of credentials that can be used to access Google Cloud resources or fetch secrets using the `gcp-secrets` provider. diff --git a/content/docs/esc/integrations/dynamic-login-credentials/vault-login.md b/content/docs/esc/integrations/dynamic-login-credentials/vault-login.md index 6fea744e4379..0818f1e5b51e 100644 --- a/content/docs/esc/integrations/dynamic-login-credentials/vault-login.md +++ b/content/docs/esc/integrations/dynamic-login-credentials/vault-login.md @@ -1,6 +1,7 @@ --- title_tag: vault-login Pulumi ESC Provider -meta_desc: The vault-login Pulumi ESC Provider enables you to log in to HashiCorp Vault using OpenID Connect or by providing static credentials. +meta_desc: The vault-login Pulumi ESC Provider enables you to log in to HashiCorp + Vault using OpenID Connect or by providing static credentials. title: vault-login h1: vault-login meta_image: /images/docs/meta-images/docs-meta.png @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-login-credentials weight: 4 aliases: - - /docs/pulumi-cloud/esc/providers/vault-login/ - - /docs/esc/providers/vault-login/ + - /docs/pulumi-cloud/esc/providers/vault-login/ + - /docs/esc/providers/vault-login/ +search: + keywords: + - vault + - login + - token + - openid + - hashicorp + - connect + - providing --- The `vault-login` provider enables you to log in to HashiCorp Vault using OpenID Connect or by providing static credentials. The provider will return a set of credentials that can be used to fetch secrets using the `vault-secrets` provider. diff --git a/content/docs/esc/integrations/dynamic-secrets/1password-secrets.md b/content/docs/esc/integrations/dynamic-secrets/1password-secrets.md index 874691a0326e..a907b5fb1039 100644 --- a/content/docs/esc/integrations/dynamic-secrets/1password-secrets.md +++ b/content/docs/esc/integrations/dynamic-secrets/1password-secrets.md @@ -1,7 +1,8 @@ --- title: 1password-secrets title_tag: 1password-secrets Pulumi ESC Provider -meta_desc: The `1password-secrets` provider enables you to dynamically import Secrets from 1Password into your Pulum ESC environment. +meta_desc: The `1password-secrets` provider enables you to dynamically import Secrets + from 1Password into your Pulum ESC environment. h1: 1password-secrets meta_image: /images/docs/meta-images/docs-meta.png menu: @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-secrets weight: 6 aliases: - - /docs/pulumi-cloud/esc/providers/1password-secrets/ - - /docs/esc/providers/1password-secrets/ + - /docs/pulumi-cloud/esc/providers/1password-secrets/ + - /docs/esc/providers/1password-secrets/ +search: + keywords: + - 1password + - secrets + - pulum + - dynamically + - op + - ref + - enables --- The `1password-secrets` provider enables you to dynamically import Secrets from 1Password into your Environment. The provider will return a map of names to Secrets. diff --git a/content/docs/esc/integrations/dynamic-secrets/_index.md b/content/docs/esc/integrations/dynamic-secrets/_index.md index 726a9a397a14..0c146c3c5803 100644 --- a/content/docs/esc/integrations/dynamic-secrets/_index.md +++ b/content/docs/esc/integrations/dynamic-secrets/_index.md @@ -2,13 +2,23 @@ title: Dynamic secrets title_tag: Integrate Pulumi ESC with Dynamic Secrets providers | Pulumi ESC h1: Import and use secrets from providers -meta_desc: Pulumi ESC enables integration with secrets providers like 1Password, AWS, Azure, Google Cloud, and Vault, to securely manage secrets in your environments. +meta_desc: Pulumi ESC enables integration with secrets providers like 1Password, AWS, + Azure, Google Cloud, and Vault, to securely manage secrets in your environments. menu: esc: name: Dynamic secrets identifier: esc-dynamic-secrets parent: esc-integrations weight: 2 +search: + keywords: + - secrets + - 1password + - dynamically + - esc + - azure + - dynamic + - vault --- Pulumi ESC providers enable you to dynamically import secrets and configuration from the provider into your environment. diff --git a/content/docs/esc/integrations/dynamic-secrets/aws-parameter-store.md b/content/docs/esc/integrations/dynamic-secrets/aws-parameter-store.md index 22431567d50b..edcb0f48bf11 100644 --- a/content/docs/esc/integrations/dynamic-secrets/aws-parameter-store.md +++ b/content/docs/esc/integrations/dynamic-secrets/aws-parameter-store.md @@ -1,7 +1,8 @@ --- title: aws-parameter-store title_tag: aws-parameter-store Pulumi ESC Provider -meta_desc: The `aws-parameter-store` provider enables you to dynamically import parameters from AWS Systems Manager - Parameter Store. +meta_desc: The `aws-parameter-store` provider enables you to dynamically import parameters + from AWS Systems Manager - Parameter Store. h1: aws-parameter-store menu: esc: @@ -9,8 +10,17 @@ menu: parent: esc-dynamic-secrets weight: 1 aliases: - - /docs/pulumi-cloud/esc/providers/aws-parameter-store/ - - /docs/esc/providers/aws-parameter-store/ + - /docs/pulumi-cloud/esc/providers/aws-parameter-store/ + - /docs/esc/providers/aws-parameter-store/ +search: + keywords: + - parameter + - store + - aws + - parameters + - systems + - dynamically + - manager --- The `aws-parameter-store` provider enables you to dynamically import parameters from AWS Systems Manager - Parameter Store into your Environment. The provider will return a map of names to parameters. diff --git a/content/docs/esc/integrations/dynamic-secrets/aws-secrets.md b/content/docs/esc/integrations/dynamic-secrets/aws-secrets.md index d2202ff73240..a45a6e89987c 100644 --- a/content/docs/esc/integrations/dynamic-secrets/aws-secrets.md +++ b/content/docs/esc/integrations/dynamic-secrets/aws-secrets.md @@ -1,7 +1,8 @@ --- title: aws-secrets title_tag: aws-secrets Pulumi ESC Provider -meta_desc: The aws-secrets Pulumi ESC Provider enables you to dynamically import Secrets from AWS Secrets Manager. +meta_desc: The aws-secrets Pulumi ESC Provider enables you to dynamically import Secrets + from AWS Secrets Manager. h1: aws-secrets menu: esc: @@ -9,8 +10,17 @@ menu: parent: esc-dynamic-secrets weight: 2 aliases: - - /docs/pulumi-cloud/esc/providers/aws-secrets/ - - /docs/esc/providers/aws-secrets/ + - /docs/pulumi-cloud/esc/providers/aws-secrets/ + - /docs/esc/providers/aws-secrets/ +search: + keywords: + - secrets + - aws + - dynamically + - manager + - enables + - import + - esc --- The `aws-secrets` provider enables you to dynamically import Secrets from AWS Secrets Manager into your Environment. The provider will return a map of names to Secrets. diff --git a/content/docs/esc/integrations/dynamic-secrets/azure-secrets.md b/content/docs/esc/integrations/dynamic-secrets/azure-secrets.md index 1b05a4759386..9e99aa4e63d2 100644 --- a/content/docs/esc/integrations/dynamic-secrets/azure-secrets.md +++ b/content/docs/esc/integrations/dynamic-secrets/azure-secrets.md @@ -1,7 +1,8 @@ --- title: azure-secrets title_tag: azure-secrets Pulumi ESC provider -meta_desc: The azure-secrets Pulumi ESC Provider enables you to dynamically import secrets from Azure Key Vault into your environment. +meta_desc: The azure-secrets Pulumi ESC Provider enables you to dynamically import + secrets from Azure Key Vault into your environment. h1: azure-secrets menu: esc: @@ -9,8 +10,17 @@ menu: parent: esc-dynamic-secrets weight: 3 aliases: - - /docs/pulumi-cloud/esc/providers/azure-secrets/ - - /docs/esc/providers/azure-secrets/ + - /docs/pulumi-cloud/esc/providers/azure-secrets/ + - /docs/esc/providers/azure-secrets/ +search: + keywords: + - secrets + - dynamically + - azure + - vault + - key + - enables + - import --- The `azure-secrets` provider enables you to dynamically import Secrets and Configuration from Azure Key Vault into your Environment. The provider will return a map of names to Secrets. diff --git a/content/docs/esc/integrations/dynamic-secrets/gcp-secrets.md b/content/docs/esc/integrations/dynamic-secrets/gcp-secrets.md index 464c7f135405..72608d220502 100644 --- a/content/docs/esc/integrations/dynamic-secrets/gcp-secrets.md +++ b/content/docs/esc/integrations/dynamic-secrets/gcp-secrets.md @@ -1,7 +1,8 @@ --- title: gcp-secrets title_tag: gcp-secrets Pulumi ESC provider -meta_desc: The gcp-secrets Pulumi ESC provider enables you to dynamically import secrets from Google Cloud Secrets Manager into your environment. +meta_desc: The gcp-secrets Pulumi ESC provider enables you to dynamically import secrets + from Google Cloud Secrets Manager into your environment. h1: gcp-secrets meta_image: /images/docs/meta-images/docs-meta.png menu: @@ -10,8 +11,17 @@ menu: parent: esc-dynamic-secrets weight: 4 aliases: - - /docs/pulumi-cloud/esc/providers/gcp-secrets/ - - /docs/esc/providers/gcp-secrets/ + - /docs/pulumi-cloud/esc/providers/gcp-secrets/ + - /docs/esc/providers/gcp-secrets/ +search: + keywords: + - gcp + - secrets + - google + - manager + - dynamically + - esc + - enables --- The `gcp-secrets` provider enables you to dynamically import Secrets from Google Cloud Secrets Manager into your Environment. The provider will return a map of names to Secrets. diff --git a/content/docs/esc/integrations/dynamic-secrets/vault-secrets.md b/content/docs/esc/integrations/dynamic-secrets/vault-secrets.md index f0bc21fb05b1..ad9650f5a247 100644 --- a/content/docs/esc/integrations/dynamic-secrets/vault-secrets.md +++ b/content/docs/esc/integrations/dynamic-secrets/vault-secrets.md @@ -1,7 +1,8 @@ --- title: vault-secrets title_tag: vault-secrets Pulumi ESC provider -meta_desc: The `vault-secrets` provider enables you to dynamically import secrets from HashiCorp Vault into your environment. +meta_desc: The `vault-secrets` provider enables you to dynamically import secrets + from HashiCorp Vault into your environment. h1: vault-secrets menu: esc: @@ -9,8 +10,17 @@ menu: parent: esc-dynamic-secrets weight: 5 aliases: - - /docs/pulumi-cloud/esc/providers/vault-secrets/ - - /docs/esc/providers/vault-secrets/ + - /docs/pulumi-cloud/esc/providers/vault-secrets/ + - /docs/esc/providers/vault-secrets/ +search: + keywords: + - vault + - secrets + - hashicorp + - dynamically + - enables + - environment + - import --- The `vault-secrets` provider enables you to dynamically import Secrets from HashiCorp Vault into your Environment. The provider will return a map of names to Secrets. diff --git a/content/docs/esc/integrations/infrastructure/_index.md b/content/docs/esc/integrations/infrastructure/_index.md index 764b94d8e9e0..9c480a5491b0 100644 --- a/content/docs/esc/integrations/infrastructure/_index.md +++ b/content/docs/esc/integrations/infrastructure/_index.md @@ -2,7 +2,8 @@ title: Infrastructure title_tag: Infrastructure tools integrations | Pulumi ESC h1: ESC infrastructure tools integrations -meta_desc: Pulumi ESC integrates with infrastructure tools like Pulumi IaC, Cloudflare, and Terraform for management of environment variables, secrets, and configurations. +meta_desc: Pulumi ESC integrates with infrastructure tools like Pulumi IaC, Cloudflare, + and Terraform for management of environment variables, secrets, and configurations. menu: esc: identifier: esc-inf-tools-integrations @@ -10,6 +11,15 @@ menu: weight: 5 aliases: - /docs/esc/other-integrations +search: + keywords: + - infrastructure + - esc + - cloudflare + - terraform + - integrations + - variables + - tools --- Pulumi ESC's rich metadata and support for popular configuration formats enables easy integration with other developer tools. diff --git a/content/docs/esc/integrations/infrastructure/cloudflare.md b/content/docs/esc/integrations/infrastructure/cloudflare.md index 3192a7a412b2..a3d78b012aa6 100644 --- a/content/docs/esc/integrations/infrastructure/cloudflare.md +++ b/content/docs/esc/integrations/infrastructure/cloudflare.md @@ -8,7 +8,16 @@ menu: parent: esc-inf-tools-integrations weight: 4 aliases: - - /docs/esc/other-integrations/cloudflare/ + - /docs/esc/other-integrations/cloudflare/ +search: + keywords: + - cloudflare + - esc + - wrangler + - overview + - top_secret + - provides + - page --- ## Overview diff --git a/content/docs/esc/integrations/infrastructure/pulumi-iac/_index.md b/content/docs/esc/integrations/infrastructure/pulumi-iac/_index.md index c343f86bba09..d414689eb026 100644 --- a/content/docs/esc/integrations/infrastructure/pulumi-iac/_index.md +++ b/content/docs/esc/integrations/infrastructure/pulumi-iac/_index.md @@ -2,12 +2,22 @@ title: Pulumi IaC title_tag: Pulumi ESC and IaC integration h1: ESC Pulumi IaC Integration -meta_desc: Pulumi ESC integrates with Pulumi IaC to expose environment settings and secrets to Pulumi stacks, simplifying configuration management. +meta_desc: Pulumi ESC integrates with Pulumi IaC to expose environment settings and + secrets to Pulumi stacks, simplifying configuration management. menu: esc: identifier: esc-pulumi-iac-integrations parent: esc-inf-tools-integrations weight: 1 +search: + keywords: + - iac + - simplifying + - expose + - stacks + - esc + - integrates + - greeting --- With support for Pulumi ESC built into the Pulumi CLI, you can expose an environment's settings and secrets to any or all of your Pulumi stacks, bypassing the need to define and maintain individual configuration settings or secrets "locally" in Pulumi config files. The optional `pulumiConfig` key enables this. diff --git a/content/docs/esc/integrations/infrastructure/pulumi-iac/pulumi-stacks.md b/content/docs/esc/integrations/infrastructure/pulumi-iac/pulumi-stacks.md index 08a6aa3671b4..8139d4449012 100644 --- a/content/docs/esc/integrations/infrastructure/pulumi-iac/pulumi-stacks.md +++ b/content/docs/esc/integrations/infrastructure/pulumi-iac/pulumi-stacks.md @@ -1,16 +1,26 @@ --- title: pulumi-stacks title_tag: pulumi-stacks Pulumi ESC Provider -meta_desc: The pulumi-stacks provider enables you to import Stack outputs from Pulumi into your Environment. +meta_desc: The pulumi-stacks provider enables you to import Stack outputs from Pulumi + into your Environment. h1: pulumi-stacks menu: - esc: - identifier: pulumi-stacks - parent: esc-pulumi-iac-integrations - weight: 1 + esc: + identifier: pulumi-stacks + parent: esc-pulumi-iac-integrations + weight: 1 aliases: - - /docs/pulumi-cloud/esc/providers/pulumi-stacks/ - - /docs/esc/providers/pulumi-stacks/ + - /docs/pulumi-cloud/esc/providers/pulumi-stacks/ + - /docs/esc/providers/pulumi-stacks/ +search: + keywords: + - stacks + - vpcinfra + - outputs + - enables + - import + - privatesubnetids + - stackrefs --- The `pulumi-stacks` provider enables you to import Stack outputs from Pulumi into your Environment. diff --git a/content/docs/esc/integrations/infrastructure/terraform.md b/content/docs/esc/integrations/infrastructure/terraform.md index e9d506c17d50..b4433cfbc5d4 100644 --- a/content/docs/esc/integrations/infrastructure/terraform.md +++ b/content/docs/esc/integrations/infrastructure/terraform.md @@ -8,7 +8,16 @@ menu: parent: esc-inf-tools-integrations weight: 3 aliases: - - /docs/esc/other-integrations/terraform/ + - /docs/esc/other-integrations/terraform/ +search: + keywords: + - terraform + - esc + - overview + - provides + - page + - variables + - tfvars --- ## Overview diff --git a/content/docs/esc/integrations/kubernetes/_index.md b/content/docs/esc/integrations/kubernetes/_index.md index 27282ead31e7..c171c894a940 100644 --- a/content/docs/esc/integrations/kubernetes/_index.md +++ b/content/docs/esc/integrations/kubernetes/_index.md @@ -2,7 +2,8 @@ title: Kubernetes title_tag: Kubernetes integrations | Pulumi ESC h1: ESC Kubernetes integrations -meta_desc: Pulumi ESC integrates with Kubernetes to manage configurations, credentials, and kubeconfig files. +meta_desc: Pulumi ESC integrates with Kubernetes to manage configurations, credentials, + and kubeconfig files. menu: esc: identifier: esc-kubernetes-integrations @@ -10,6 +11,15 @@ menu: weight: 5 aliases: - /docs/esc/kubernetes-integrations +search: + keywords: + - kubernetes + - esc + - credentials + - integrates + - kubeconfig + - configurations + - secrets --- Pulumi ESC's rich metadata and support for popular configuration formats enables easy integration with Kubernetes. This allows you to manage configurations, credentials, and `kubeconfig` files for Kubernetes clusters, and to interact with Kubernetes tools such as `kubectl` and `helm`. Additionally, Pulumi ESC integrates with different tools in the Kubernetes ecosystem, such as the Pulumi Kubernetes provider and the External Secrets Operator (ESO). diff --git a/content/docs/esc/integrations/kubernetes/external-secrets-operator.md b/content/docs/esc/integrations/kubernetes/external-secrets-operator.md index 452dc9e99406..320a5734ff3b 100644 --- a/content/docs/esc/integrations/kubernetes/external-secrets-operator.md +++ b/content/docs/esc/integrations/kubernetes/external-secrets-operator.md @@ -2,14 +2,24 @@ title: External Secrets Operator (ESO) title_tag: Integrate with External Secrets Operator (ESO) | Pulumi ESC h1: "Pulumi ESC: Integrate with External Secrets Operator (ESO)" -meta_desc: Pulumi ESC integrates with the External Secrets Operator (ESO) to manage and deliver secrets in Kubernetes clusters. +meta_desc: Pulumi ESC integrates with the External Secrets Operator (ESO) to manage + and deliver secrets in Kubernetes clusters. weight: 2 menu: esc: identifier: esc-external-secrets-operator parent: esc-kubernetes-integrations aliases: -- /docs/esc/other-integrations/external-secrets-operator/ + - /docs/esc/other-integrations/external-secrets-operator/ +search: + keywords: + - eso + - operator + - secrets + - kubernetes + - external + - deliver + - integrates --- ## Overview diff --git a/content/docs/esc/integrations/kubernetes/kubernetes.md b/content/docs/esc/integrations/kubernetes/kubernetes.md index e022a20dfea4..8cb3cf7b93d8 100644 --- a/content/docs/esc/integrations/kubernetes/kubernetes.md +++ b/content/docs/esc/integrations/kubernetes/kubernetes.md @@ -2,14 +2,24 @@ title: Kubernetes title_tag: Integrate with Kubernetes | Pulumi ESC h1: "Pulumi ESC: Integrate with Kubernetes" -meta_desc: Pulumi ESC integrates with Kubernetes to manage configurations, credentials, and kubeconfig files, with kubectl and helm, and Pulumi Kubernetes provider. +meta_desc: Pulumi ESC integrates with Kubernetes to manage configurations, credentials, + and kubeconfig files, with kubectl and helm, and Pulumi Kubernetes provider. weight: 2 menu: esc: identifier: esc-kubernetes parent: esc-kubernetes-integrations aliases: - - /docs/esc/other-integrations/kubernetes/ + - /docs/esc/other-integrations/kubernetes/ +search: + keywords: + - kubernetes + - kubeconfig + - kubectl + - helm + - integrates + - credentials + - esc --- ## Overview diff --git a/content/docs/esc/integrations/kubernetes/secret-store-csi-driver.md b/content/docs/esc/integrations/kubernetes/secret-store-csi-driver.md index 636a6a0b49af..968410e31775 100644 --- a/content/docs/esc/integrations/kubernetes/secret-store-csi-driver.md +++ b/content/docs/esc/integrations/kubernetes/secret-store-csi-driver.md @@ -2,7 +2,9 @@ title: Secrets Store CSI Driver title_tag: Integrate with Kubernetes Secrets Store CSI Driver | Pulumi ESC h1: "Pulumi ESC Integration with the Kubernetes Secrets Store CSI Driver" -meta_desc: Learn how to integrate Pulumi ESC with Kubernetes Secrets Store CSI Driver to securely mount ESC secrets directly into Kubernetes pods and follow K8 security best practices. +meta_desc: Learn how to integrate Pulumi ESC with Kubernetes Secrets Store CSI Driver + to securely mount ESC secrets directly into Kubernetes pods and follow K8 security + best practices. allow_long_title: true weight: 2 menu: @@ -10,7 +12,16 @@ menu: identifier: esc-secrets-store-csi-driver parent: esc-kubernetes-integrations aliases: -- /docs/esc/integrations/kubernetes/secrets-store-csi-driver/ + - /docs/esc/integrations/kubernetes/secrets-store-csi-driver/ +search: + keywords: + - csi + - driver + - esc + - store + - secrets + - root + - kubernetes --- ## Overview diff --git a/content/docs/esc/integrations/rotated-secrets/_index.md b/content/docs/esc/integrations/rotated-secrets/_index.md index 94323688fa63..952562aae99c 100644 --- a/content/docs/esc/integrations/rotated-secrets/_index.md +++ b/content/docs/esc/integrations/rotated-secrets/_index.md @@ -9,6 +9,15 @@ menu: identifier: esc-rotated-secrets parent: esc-integrations weight: 2 +search: + keywords: + - secrets + - various + - rotated + - credential + - rotator + - rotation + - enables --- Pulumi ESC Rotators enable you to rotate credentials both automatically and manually for a number of supported services. diff --git a/content/docs/esc/integrations/rotated-secrets/aws-iam.md b/content/docs/esc/integrations/rotated-secrets/aws-iam.md index d35097b3ece0..2e17e33683a0 100644 --- a/content/docs/esc/integrations/rotated-secrets/aws-iam.md +++ b/content/docs/esc/integrations/rotated-secrets/aws-iam.md @@ -1,13 +1,23 @@ --- title: aws-iam title_tag: aws-iam Pulumi ESC Rotator -meta_desc: The `aws-iam` rotator enables you to rotate access credentials for an AWS IAM User. +meta_desc: The `aws-iam` rotator enables you to rotate access credentials for an AWS + IAM User. h1: aws-iam menu: esc: identifier: aws-iam parent: esc-rotated-secrets weight: 1 +search: + keywords: + - aws + - rotate + - accesskeyid + - iam + - rotator + - credentials + - awsiamoutputs --- The `aws-iam` rotator enables you to rotate access credentials for an AWS IAM user in your Environment. Check out the [aws-login documentation](/docs/esc/integrations/dynamic-login-credentials/aws-login/) to learn more about authenticating with AWS. diff --git a/content/docs/esc/reference.md b/content/docs/esc/reference.md index 1e0d2da6566f..59d59cf98f9d 100644 --- a/content/docs/esc/reference.md +++ b/content/docs/esc/reference.md @@ -2,7 +2,8 @@ title: Syntax Reference title_tag: Syntax Reference h1: Pulumi ESC Syntax Reference -meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of configuration and secrets and consume them in various ways. +meta_desc: Pulumi ESC allows you to compose and manage hierarchical collections of + configuration and secrets and consume them in various ways. menu: esc: parent: esc-home @@ -10,6 +11,15 @@ menu: weight: 5 aliases: - /docs/pulumi-cloud/esc/reference +search: + keywords: + - syntax + - reference + - app + - hierarchical + - compose + - consume + - fn --- ```yaml diff --git a/content/docs/esc/vs/_index.md b/content/docs/esc/vs/_index.md index f40e4f1280e4..3e7f8bd82ee3 100644 --- a/content/docs/esc/vs/_index.md +++ b/content/docs/esc/vs/_index.md @@ -1,6 +1,7 @@ --- title_tag: "Pulumi ESC Compared to Alternatives" -meta_desc: Learn how Pulumi ESC compares with alternative Environments, Secrets, and Configurations solutions. +meta_desc: Learn how Pulumi ESC compares with alternative Environments, Secrets, and + Configurations solutions. title: Compare to... h1: Compare Pulumi ESC to other solutions meta_image: /images/docs/meta-images/docs-meta.png @@ -10,6 +11,15 @@ menu: weight: 10 identifier: esc-vs aliases: +search: + keywords: + - esc + - secrets + - compares + - compare + - alternative + - solutions + - vault --- Pulumi ESC is centralized environments, secrets, and configuration manager for cloud applications and infrastructure. It provides the ability to create environments which are collections of secrets and configuration that can be versioned, branched, and composed inside other collections. ESC supports pulling and centralizing the management of secrets from 1Password, AWS OIDC, AWS Secrets Manager, Azure OIDC, Azure Key Vault, Google Cloud OIDC, Google Cloud Secrets Manager, Pulumi stacks, Vault OIDC, and Vault. diff --git a/content/docs/esc/vs/doppler.md b/content/docs/esc/vs/doppler.md index 42e1372f22b7..a947663d3653 100644 --- a/content/docs/esc/vs/doppler.md +++ b/content/docs/esc/vs/doppler.md @@ -5,12 +5,21 @@ title: Pulumi ESC vs Doppler h1: Pulumi ESC vs Doppler meta_image: /images/docs/meta-images/docs-meta.png menu: - esc: - Name: Doppler - identifier: Doppler - parent: esc-vs - weight: 3 + esc: + Name: Doppler + identifier: Doppler + parent: esc-vs + weight: 3 aliases: +search: + keywords: + - doppler + - esc + - differences + - td + - vs + - tr + - major ---