473 lines
58 KiB
HTML
473 lines
58 KiB
HTML
|
||
|
||
|
||
|
||
|
||
<!DOCTYPE html>
|
||
<html class="gl-system ui-neutral with-top-bar with-header page-theme-background page-with-panels with-gl-container-queries user-logged-out aura-tinted-themes" lang="en">
|
||
<head prefix="og: http://ogp.me/ns#">
|
||
<meta charset="utf-8">
|
||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||
<title>GitLab.com / Runbooks · GitLab</title>
|
||
<link crossorigin="" href="https://snowplowprd.trx.gitlab.net" rel="preconnect">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-9892dc17af892e03de41625c0ee325117a3b8ee4ba6005f3a3eac68510030aed.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-Italic-f96f17332d67b21ada2dfba5f0c0e1d5801eab99330472057bf18edd93d4ccf7.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-29c2152dac8739499dd0fe5cd37a486ebcc7d4798c9b6d3aeab65b3172375b05.woff2" rel="preload">
|
||
<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-Italic-af36701a2188df32a9dcea12e0424c380019698d4f76da9ad8ea2fd59432cf83.woff2" rel="preload">
|
||
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
window.gon={};gon.api_version="v4";gon.default_avatar_url="https://gitlab.com/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=100;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.user_color_mode="gl-system";gon.user_color_scheme="white";gon.markdown_surround_selection=null;gon.markdown_automatic_lists=null;gon.markdown_maintain_indentation=null;gon.math_rendering_limits_enabled=true;gon.iframe_rendering_enabled=true;gon.iframe_rendering_allowlist=["embed.figma.com","www.figma.com","www.youtube.com"];gon.sentry_dsn="https://f5573e26de8f4293b285e556c35dfd6e@new-sentry.gitlab.net/4";gon.sentry_environment="gprd";gon.sentry_clientside_traces_sample_rate=0.05;gon.recaptcha_api_server_url="https://www.recaptcha.net/recaptcha/api.js";gon.recaptcha_sitekey="6LfAERQTAAAAAL4GYSiAMGLbcLyUIBSfPrDNJgeC";gon.gitlab_url="https://gitlab.com";gon.promo_url="https://about.gitlab.com";gon.forum_url="https://forum.gitlab.com";gon.docs_url="https://docs.gitlab.com";gon.revision="08a6e1da944";gon.feature_category="groups_and_projects";gon.gitlab_logo="/assets/gitlab_logo-2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png";gon.secure=true;gon.sprite_icons="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg";gon.sprite_file_icons="/assets/file_icons/file_icons-90de312d3dbe794a19dee8aee171f184ff69ca9c9cf9fe37e8b254e84c3a1543.svg";gon.illustrations_path="/assets/illustrations-ae6d9d10410e9e8b59dd365dcf0480219354eb6eed057c8fecd9d17cf9b18ec4.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-9f4e433199c18178b03727c749cbd0c22e569f69ffb05ec235a49dc29b318bb3.css";gon.emoji_backend_version=4;gon.test_env=false;gon.disable_animations=null;gon.suggested_label_colors={"#cc338b":"Magenta-pink","#dc143c":"Crimson","#c21e56":"Rose red","#cd5b45":"Dark coral","#ed9121":"Carrot orange","#eee600":"Titanium yellow","#009966":"Green-cyan","#8fbc8f":"Dark sea green","#6699cc":"Blue-gray","#e6e6fa":"Lavender","#9400d3":"Dark violet","#330066":"Deep violet","#36454f":"Charcoal grey","#808080":"Gray"};gon.first_day_of_week=0;gon.time_display_relative=true;gon.time_display_format=0;gon.ee=true;gon.jh=false;gon.dot_com=true;gon.uf_error_prefix="UF";gon.pat_prefix="glpat-";gon.fluid_layout=false;gon.keyboard_shortcuts_enabled=true;gon.emoji_autocomplete_enabled=true;gon.broadcast_message_dismissal_path=null;gon.diagramsnet_url="https://embed.diagrams.net";gon.features={"uiForOrganizations":false,"pageBreadcrumbsInTopBar":false,"orgSwitcher":false,"findAndReplace":false,"removeMonitorMetrics":true,"workItemsClientSideBoards":false,"editorStickyTableHeaders":false,"hideUnpinnedSidebarItems":false,"markdownSortableTableColumns":false,"workItemFeaturesField":false,"securityManagerRoleEnabled":true,"advancedContextResolver":true,"duoUiNext":false,"duoChatBinaryFeedback":true,"duoWorkplanAsyncFlow":false,"agenticManualRetryForDuoChatResponses":false,"duoChatClarificationQuestionTool":false,"agenticChatFlowRegistryMigration":false,"noDuoClassicForDuoCoreUsers":true,"duoPanelSessionInbox":false,"sessionDetailsSidePanelInfoOverlay":true,"dapWebSearch":false,"duoChatFlowCommands":false,"duoChatGoalCommand":false,"newModelSelection":false,"duoChatRedesign":false,"orbitUserPreference":true,"knowledgeGraph":true,"orbitFoundationalAgent":true,"allowIframesInMarkdown":false,"inlineBlame":true,"pageSpecificStyles":false,"repositoryLockInformation":true,"duoSecretDetectionFalsePositive":true};gon.roadmap_epics_limit=1000;gon.subscriptions_url="https://customers.gitlab.com";gon.subscriptions_legacy_sign_in_url="https://customers.gitlab.com/customers/sign_in?legacy=true";gon.billing_accounts_url="https://customers.gitlab.com/billing_accounts";gon.is_gitlab_team_member=false;gon.licensed_features={"fileLocks":true,"securityOrchestrationPolicies":true,"remoteDevelopment":true};gon.abilities={"readCodeNavigation":false};gon.saas_features={"groupProjectPermanentDeletionConfirmation":true};gon.dedicated_features={"groupProjectPermanentDeletionConfirmation":false};
|
||
//]]>
|
||
</script>
|
||
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
const root = document.documentElement;
|
||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||
root.classList.add('gl-dark');
|
||
}
|
||
|
||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
|
||
if (e.matches) {
|
||
root.classList.add('gl-dark');
|
||
} else {
|
||
root.classList.remove('gl-dark');
|
||
}
|
||
});
|
||
|
||
//]]>
|
||
</script>
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
var gl = window.gl || {};
|
||
gl.startup_calls = {"/gitlab-com/runbooks/-/refs/master/logs_tree/?format=json\u0026offset=0\u0026ref_type=HEADS":{},"/gitlab-com/runbooks/-/blob/master/README.md?format=json\u0026ref_type=heads\u0026viewer=rich":{}};
|
||
gl.startup_graphql_calls = [{"query":"# @feature_category: source_code_management\nquery pathLastCommit($projectPath: ID!, $path: String, $ref: String!, $refType: RefType) {\n project(fullPath: $projectPath) {\n __typename\n id\n repository {\n __typename\n lastCommit(path: $path, ref: $ref, refType: $refType) {\n __typename\n id\n sha\n title\n titleHtml\n descriptionHtml\n message\n webPath\n committerName\n committerEmail\n committedDate\n authoredDate\n authorName\n authorEmail\n authorGravatar\n author {\n __typename\n id\n name\n avatarUrl\n webPath\n }\n signature {\n __typename\n ... on GpgSignature {\n gpgKeyPrimaryKeyid\n verificationStatus\n }\n ... on X509Signature {\n verificationStatus\n x509Certificate {\n id\n subject\n subjectKeyIdentifier\n x509Issuer {\n id\n subject\n subjectKeyIdentifier\n }\n }\n }\n ... on SshSignature {\n verificationStatus\n keyFingerprintSha256\n }\n }\n pipelines(ref: $ref, first: 1) {\n __typename\n edges {\n __typename\n node {\n __typename\n id\n detailedStatus {\n __typename\n id\n detailsPath\n icon\n text\n }\n }\n }\n }\n }\n }\n }\n}\n","variables":{"projectPath":"gitlab-com/runbooks","ref":"master","path":""}}];
|
||
|
||
if (gl.startup_calls && window.fetch) {
|
||
Object.keys(gl.startup_calls).forEach(apiCall => {
|
||
gl.startup_calls[apiCall] = {
|
||
fetchCall: fetch(apiCall, {
|
||
// Emulate XHR for Rails AJAX request checks
|
||
headers: {
|
||
'X-Requested-With': 'XMLHttpRequest'
|
||
},
|
||
// fetch won’t send cookies in older browsers, unless you set the credentials init option.
|
||
// We set to `same-origin` which is default value in modern browsers.
|
||
// See https://github.com/whatwg/fetch/pull/585 for more information.
|
||
credentials: 'same-origin'
|
||
})
|
||
};
|
||
});
|
||
}
|
||
if (gl.startup_graphql_calls && window.fetch) {
|
||
const headers = {"X-CSRF-Token":"EdpoMNiFSSL-Sz4DF7oVw36UD_4ymdG12UUV9PMoTgWJ3a_TrdpGEJoPXv1fH0vYvaPbHWXJkVzsk_Iys2rZ6g","x-gitlab-feature-category":"groups_and_projects"};
|
||
const url = `https://gitlab.com/api/graphql`
|
||
|
||
const opts = {
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
...headers,
|
||
}
|
||
};
|
||
|
||
gl.startup_graphql_calls = gl.startup_graphql_calls.map(call => ({
|
||
...call,
|
||
fetchCall: fetch(url, {
|
||
...opts,
|
||
credentials: 'same-origin',
|
||
body: JSON.stringify(call)
|
||
})
|
||
}))
|
||
}
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
|
||
<meta content="light dark" name="color-scheme">
|
||
<link rel="stylesheet" href="/assets/application-ba057ac0f7bd4464c18ef9684781e026fdfe343b1677994bb2e4221b3b7c5695.css" media="(prefers-color-scheme: light)" />
|
||
<link rel="stylesheet" href="/assets/application_dark-301a22a63757f20a93bd06cedc3f4b9286b2b9b2c0928b9de7f417b2a8a8314a.css" media="(prefers-color-scheme: dark)" />
|
||
<link rel="stylesheet" href="/assets/page_bundles/project-d8ddfdcca11af4ede140816f3befd2a538014d7403c28e0f3c62a50b61f93805.css" /><link rel="stylesheet" href="/assets/page_bundles/tree-82a2b0a643427b8cc237cf2437e78bf5ad46c53355f902927c25570510d6852a.css" /><link rel="stylesheet" href="/assets/page_bundles/commit_description-9e7efe20f0cef17d0606edabfad0418e9eb224aaeaa2dae32c817060fa60abcc.css" /><link rel="stylesheet" href="/assets/page_bundles/projects-3edb349b720018c3d44f6bece4028f73d0b91a5c0016611274e1e44bbbfd80b0.css" /><link rel="stylesheet" href="/assets/page_bundles/work_items-a1be8a74565374919995f5805fd7959f71dd63d65691094d33c97c93e955c084.css" /><link rel="stylesheet" href="/assets/page_bundles/notes_shared-009bfb6fa90b583372e5d3f444ccd9b89aa6278564b128d1f21b404747a3981b.css" />
|
||
<link rel="stylesheet" href="/assets/tailwind-94d6d9cb54ebcf7e53d008a8cda08f962c655b626a35d306907b095c24138893.css" />
|
||
|
||
|
||
<link rel="stylesheet" href="/assets/fonts-deb7ad1d55ca77c0172d8538d53442af63604ff490c74acc2859db295c125bdb.css" />
|
||
<link rel="stylesheet" href="/assets/highlight/themes/white-7fc95f0d1a131c010fdec7cec17d7f14b49ec9d6014024588c004f24bcccb686.css" media="(prefers-color-scheme: light)" />
|
||
<link rel="stylesheet" href="/assets/highlight/themes/dark-8b75e38954603252cafdeeeabf5e074576b77c9b139f9e8936ff09251f139e4b.css" media="(prefers-color-scheme: dark)" />
|
||
|
||
<script src="/assets/webpack/runtime.202bdf77.bundle.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/main.b75140a3.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/tracker.eea7cc16.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
window.snowplowOptions = {"namespace":"gl","hostname":"snowplowprd.trx.gitlab.net","cookieDomain":".gitlab.com","appId":"gitlab","formTracking":true,"linkClickTracking":true};
|
||
gl = window.gl || {};
|
||
gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-1-8","data":{"environment":"production","source":"gitlab-rails","correlation_id":"a393652a5bea2f11-LAX","extra":{},"user_id":null,"global_user_id":null,"user_type":null,"is_gitlab_team_member":null,"namespace_id":6543,"ultimate_parent_namespace_id":6543,"project_id":1148549,"feature_enabled_by_namespace_ids":null,"realm":"saas","deployment_type":".com","context_generated_at":"2026-09-11T02:55:44.086Z","organization_id":1}};
|
||
gl.snowplowPseudonymizedPageUrl = "https://gitlab.com/namespace6543/project1148549";
|
||
gl.maskedDefaultReferrerUrl = null;
|
||
gl.ga4MeasurementId = 'G-ENFH3X7M5Y';
|
||
gl.duoEvents = ["ai_question_category","block_slack_duo_mention","perform_completion_worker","receive_slack_duo_mention","process_gitlab_duo_question","agent_platform_session_created","agent_platform_session_dropped","agent_platform_session_finished","agent_platform_session_resumed","agent_platform_session_started","agent_platform_session_stopped","ai_response_time","approve_tool_duo_chat","cleanup_stuck_agent_platform_session","click_ai_catalog_button_duo_rail","click_dap_trial_or_paid_empty_state_agent","click_dap_trial_or_paid_empty_state_explore_agents_link","click_dap_trial_or_paid_empty_state_prompt","click_delete_ai_catalog_item_button","click_disable_ai_catalog_item_button","click_duo_agentic_not_available_empty_state_learn_more","click_duo_agentic_not_available_empty_state_start_trial","click_duo_agentic_subscription_expired_learn_more","click_duo_agentic_subscription_expired_upgrade","click_duo_agentic_trial_expired_learn_more","click_duo_agentic_trial_expired_upgrade","click_duo_quick_action","click_duplicate_ai_catalog_item_button","click_enable_ai_catalog_item_button","click_purchase_seats_button_group_duo_pro_home_page","click_through_flow_widget","click_through_session_pill","close_vulnerability_resolution_merge_request","code_suggestion_accepted_in_ide","code_suggestion_rejected_in_ide","code_suggestion_shown_in_ide","code_suggestions_connection_details_rate_limit_exceeded","code_suggestions_direct_access_rate_limit_exceeded","code_suggestions_rate_limit_exceeded","create_ai_catalog_item","create_ai_catalog_item_consumer","create_ai_self_hosted_model","create_vulnerability_resolution_merge_request","default_answer","delete_ai_catalog_item","delete_ai_catalog_item_consumer","delete_ai_self_hosted_model","deny_tool_duo_chat","detected_high_comment_temperature","detected_repeated_high_comment_temperature","dismiss_sast_vulnerability_false_positive_analysis","dismiss_secret_detection_vulnerability_false_positive_analysis","duo_workflow_workload_completed","encounter_duo_code_review_error_during_review","error_answer","excluded_files_from_duo_code_review","execute_llm_method","explain_vulnerability","filter_ai_fp","find_no_issues_duo_code_review_after_review","find_nothing_to_review_duo_code_review_on_mr","finish_duo_workflow_execution","finish_mcp_tool_call","fix_pipeline_suggestion_applied","fix_pipeline_suggestion_posted","forced_high_temperature_commenting","generate_merge_commit_message","generate_resolve_dependency_bump_pipeline","i_quickactions_q","include_repository_xray_data_into_code_generation_prompt","ingest_ai_audit_events_batch","maximize_duo_chat_panel","mention_gitlabduo_in_mr_comment","merge_vulnerability_resolution_merge_request","minimize_duo_chat_panel","navigate_retry_alternative_duo_agentic_chat","post_comment_duo_code_review_on_diff","process_gitlab_duo_slash_command","publish_duo_code_review_comments","react_thumbs_down_on_duo_code_review_comment","react_thumbs_up_on_duo_code_review_comment","recommend_tool_duo_chat","reported_sast_vulnerability_false_positive_analysis","reported_secret_detection_vulnerability_false_positive_analysis","request_ask_help","request_duo_chat_response","request_duo_vulnerability_resolution","request_review_duo_code_review_on_mr_by_author","request_review_duo_code_review_on_mr_by_non_author","requested_comment_temperature","resize_duo_chat_panel","resolve_feature_discovery_search","restore_ai_catalog_item","retry_duo_workflow_execution","retry_failed_duo_agentic_chat","retry_message_duo_agentic_chat","retry_succeeded_duo_agentic_chat","start_duo_workflow_execution","start_mcp_tool_call","submit_dap_trial_or_paid_empty_state_message","submit_gitlab_duo_question","summarize_new_merge_request","summarize_review","tokens_per_embedding","tokens_per_user_request_prompt","tokens_per_user_request_response","tool_failed_duo_chat","tool_succeeded_duo_chat","trigger_ai_catalog_item","trigger_resolve_dependency_bump_workflow","trigger_sast_vulnerability_fp_detection_workflow","trigger_sast_vulnerability_resolution_workflow","trigger_secret_detection_vulnerability_fp_detection_workflow","trigger_slack_duo","troubleshoot_job","update_ai_catalog_item","update_ai_catalog_item_consumer","update_ai_self_hosted_model","update_model_selection_feature","update_self_hosted_ai_feature_to_vendored_model","view_ai_catalog_item","view_ai_catalog_item_index","view_ai_catalog_project_catalog","view_ai_catalog_project_managed","view_dap_trial_or_paid_empty_state","view_duo_agentic_identity_verification_empty_state","view_duo_agentic_not_available_empty_state","view_duo_agentic_subscription_expired_empty_state","view_duo_agentic_trial_expired_empty_state"];
|
||
gl.onlySendDuoEvents = false;
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
<script src="/assets/webpack/sentry.48540f8b.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
|
||
<script src="/assets/webpack/8958723c.d39b1bdb.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/13cb25ac.e1db7008.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.dashboard.issues-pages.dashboard.issues.vue3-pages.dash-f1a925da.013aa9d9.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.deploy_keys.index-pages.admin.groups.index-pages.admin.projects.index-pages.admi-81888dbb.7163736d.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.dashboard.home-pages.registrations.new-pages.sessions.new-pages.trial_registrations.ne-cea0dc3a.894d2115.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.dashboard.home-pages.projects.snippets.show-pages.snippets.show-pages.snippets.show.vu-3fe7a6f6.18e88bbc.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/0dcf7166.fee24f6c.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/super_sidebar.717ef8ef.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.application_settings.ci_cd.vue3-pages.admin.application_settings.repository.vue3-7d61d55c.bf4ab5cf.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.application_settings.work_item.vue3-pages.admin.applications.vue3-pages.admin.gi-4917a795.8f289fa0.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.application_settings.work_item.vue3-pages.admin.dev_ops_report.show.vue3-pages.a-77e78148.668e31a4.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.application_settings.work_item.vue3-pages.admin.gitlab_duo.model_selection.vue3--533b7e7c.7e8eb459.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.activity.vue3-pages.groups.analytics.ci_cd_analytics.vue3-pages.groups.analytic-d629f784.7dfbd236.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.admin.application_settings.ci_cd.vue3-pages.admin.application_settings.repository.vue3-c795aafa.70a69556.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/8632254b.1095b752.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/32327915.0ee0e967.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.explore.catalog.vue3-pages.groups.iteration_cadences.vue3-pages.groups.milestones.edit-4126e861.7a687347.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.blob.show.vue3-pages.projects.show-pages.projects.sh-7aa92eaa.0f6f71f0.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show.vue3-pages.projects.branches.new.vue3-pages.projects.commits.show.v-3bb822c9.72766e7a.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.explore.ai_catalog.vue3-pages.explore.analytics_dashboards.vue3-pages.explore.catalog.-0eaa3189.1fb27515.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/68026c34.607df987.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.blob.show.vue3-pages.projects.show-pages.projects.sh-d934921b.024824b5.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/69e597b7.774dcdfd.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.groups.show-pages.groups.show.vue3-pages.projects.blob.show-pages.projects.blob.show.v-80ae293f.4c3fd36a.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.blob.show.vue3-pages.projects.commits.show-pages.pro-f125c149.911f3c04.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/commons-pages.projects.blob.show-pages.projects.blob.show.vue3-pages.projects.show-pages.projects.sh-9c818de7.83544dc3.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
<script src="/assets/webpack/pages.projects.show.vue3.662d52bd.chunk.js" defer="defer" nonce="VCYxZKYYQ63Rv/Yv76tORg=="></script>
|
||
|
||
<meta content="object" property="og:type">
|
||
<meta content="GitLab" property="og:site_name">
|
||
<meta content="GitLab.com / Runbooks · GitLab" property="og:title">
|
||
<meta content="Runbooks for the stressed on-call https://runbooks.gitlab.com Mirrored to https://ops.gitlab.net/gitlab-com/runbooks" property="og:description">
|
||
<meta content="https://gitlab.com/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276" property="og:image">
|
||
<meta content="64" property="og:image:width">
|
||
<meta content="64" property="og:image:height">
|
||
<meta content="https://gitlab.com/gitlab-com/runbooks" property="og:url">
|
||
<meta content="summary" property="twitter:card">
|
||
<meta content="GitLab.com / Runbooks · GitLab" property="twitter:title">
|
||
<meta content="Runbooks for the stressed on-call https://runbooks.gitlab.com Mirrored to https://ops.gitlab.net/gitlab-com/runbooks" property="twitter:description">
|
||
<meta content="https://gitlab.com/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276" property="twitter:image">
|
||
|
||
<meta name="csrf-param" content="authenticity_token" />
|
||
<meta name="csrf-token" content="7pKUDT2WbPrBH_BLZAtDyeJXsU1ePhF_e8_5NOziJI92lVPuSMljyKVbkLUsrh3SIWBlrgluUZZOGR7yrKCzYA" />
|
||
<meta name="csp-nonce" content="VCYxZKYYQ63Rv/Yv76tORg==" />
|
||
<meta name="action-cable-url" content="/-/cable" />
|
||
<link crossorigin="use-credentials" href="/-/manifest.json" rel="manifest">
|
||
<link rel="icon" type="image/png" href="/assets/favicon-yellow-018213ceb87b472388095d0264be5b4319ef47471dacea03c83ecc233ced2fd5.png" id="favicon" data-original-href="/assets/favicon-yellow-018213ceb87b472388095d0264be5b4319ef47471dacea03c83ecc233ced2fd5.png" />
|
||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" />
|
||
<link crossorigin="use-credentials" href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">
|
||
<link rel="alternate" type="application/atom+xml" title="Runbooks activity" href="/gitlab-com/runbooks.atom" />
|
||
|
||
|
||
|
||
|
||
<meta content="Runbooks for the stressed on-call https://runbooks.gitlab.com Mirrored to https://ops.gitlab.net/gitlab-com/runbooks" name="description">
|
||
<meta content="#F1F0F6" media="(prefers-color-scheme: light)" name="theme-color">
|
||
<meta content="#232128" media="(prefers-color-scheme: dark)" name="theme-color">
|
||
</head>
|
||
|
||
<body class="tab-width-8 gl-browser-chrome gl-platform-mac" data-group="gitlab-com" data-group-full-path="gitlab-com" data-namespace-id="6543" data-page="projects:show" data-page-type-id="runbooks" data-project="runbooks" data-project-full-path="gitlab-com/runbooks" data-project-id="1148549">
|
||
<div id="js-tooltips-container"></div>
|
||
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
gl = window.gl || {};
|
||
gl.client = {"isChrome":true,"isMac":true};
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
|
||
<header class="super-topbar js-super-topbar"></header>
|
||
<div class="layout-page js-page-layout page-with-super-sidebar">
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
const outer = document.createElement('div');
|
||
outer.style.visibility = 'hidden';
|
||
outer.style.overflow = 'scroll';
|
||
document.body.appendChild(outer);
|
||
const inner = document.createElement('div');
|
||
outer.appendChild(inner);
|
||
const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;
|
||
outer.parentNode.removeChild(outer);
|
||
document.documentElement.style.setProperty('--scrollbar-width', `${scrollbarWidth}px`);
|
||
|
||
//]]>
|
||
</script><aside class="js-super-sidebar super-sidebar super-sidebar-loading" data-command-palette="{"project_files_url":"/gitlab-com/runbooks/-/files/master?format=json","project_blob_url":"/gitlab-com/runbooks/-/blob/master"}" data-is-saas="true" data-sidebar="{"whats_new_most_recent_release_items_count":5,"whats_new_version_digest":"615a74687ed5770cffa2193c02d58f017d9dd506dee7947d471b0a0c01e2fe02","whats_new_read_articles":[],"is_logged_in":false,"compare_plans_url":"https://about.gitlab.com/pricing","current_menu_items":[{"id":"project_overview","title":"Runbooks","avatar":"/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276","entity_id":1148549,"link":"/gitlab-com/runbooks","link_classes":"shortcuts-project","is_active":true},{"id":"manage_menu","title":"Manage","icon":"users","avatar_shape":"rect","link":"/gitlab-com/runbooks/activity","is_active":false,"items":[{"id":"activity","title":"Activity","link":"/gitlab-com/runbooks/activity","link_classes":"shortcuts-project-activity","description":"Track what your team is working on and stay informed of changes","library_icon":"history","is_active":false},{"id":"members","title":"Members","link":"/gitlab-com/runbooks/-/project_members","description":"Control who has access to your project and what they can do","library_icon":"users","is_active":false},{"id":"labels","title":"Labels","link":"/gitlab-com/runbooks/-/labels","description":"Organize and categorize work across your project with consistent labels","library_icon":"labels","is_active":false}],"separated":false},{"id":"plan_menu","title":"Plan","icon":"planning","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/work_items","is_active":false,"items":[{"id":"project_issue_list","title":"Work items","link":"/gitlab-com/runbooks/-/work_items","link_classes":"shortcuts-issues has-sub-items","pill_count_field":"openWorkItemsCount","pill_count_dynamic":false,"description":"Plan, track, and manage work in one place","library_icon":"work-items","is_active":false},{"id":"boards","title":"Issue boards","link":"/gitlab-com/runbooks/-/boards","link_classes":"shortcuts-issue-boards","description":"Visualize and manage work with kanban-style boards","library_icon":"work-item-issue-board","is_active":false},{"id":"milestones","title":"Milestones","link":"/gitlab-com/runbooks/-/milestones","description":"Plan releases and group work into time-based phases","library_icon":"milestone","is_active":false},{"id":"iterations","title":"Iterations","link":"/gitlab-com/runbooks/-/cadences","description":"Group issues into time-boxed cycles to plan and track sprints","tier":"premium","library_icon":"iteration","is_active":false},{"id":"requirements","title":"Requirements","link":"/gitlab-com/runbooks/-/requirements_management/requirements","description":"Set criteria to check your products against","library_icon":"requirements","is_active":false},{"id":"external_issue_tracker","title":"Custom issue tracker","link":"https://gitlab.com/gitlab-com/gl-infra/infrastructure","link_classes":"shortcuts-external_tracker","is_active":false}],"separated":false},{"id":"code_menu","title":"Code","icon":"code","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/merge_requests","is_active":false,"items":[{"id":"project_merge_request_list","title":"Merge requests","link":"/gitlab-com/runbooks/-/merge_requests","link_classes":"shortcuts-merge_requests","pill_count_field":"openMergeRequestsCount","pill_count_dynamic":false,"description":"Collaborate on code changes with built-in review tools","library_icon":"merge-request","is_active":false},{"id":"files","title":"Repository","link":"/gitlab-com/runbooks/-/tree/master","link_classes":"shortcuts-tree","description":"Browse and manage repository files and code","library_icon":"repository","is_active":false},{"id":"branches","title":"Branches","link":"/gitlab-com/runbooks/-/branches","description":"Manage project branches and branch protection","library_icon":"branch","is_active":false},{"id":"commits","title":"Commits","link":"/gitlab-com/runbooks/-/commits/master?ref_type=heads","link_classes":"shortcuts-commits","description":"View commit history and changes","library_icon":"commit","is_active":false},{"id":"tags","title":"Tags","link":"/gitlab-com/runbooks/-/tags","description":"Create and manage release tags","library_icon":"tag","is_active":false},{"id":"graphs","title":"Repository graph","link":"/gitlab-com/runbooks/-/network/master?ref_type=heads","link_classes":"shortcuts-network","description":"Visualize repository commit history and branches","library_icon":"repository-graph","is_active":false},{"id":"compare","title":"Compare revisions","link":"/gitlab-com/runbooks/-/compare?from=master\u0026to=master","description":"Compare changes between revisions","library_icon":"comparison","is_active":false},{"id":"project_snippets","title":"Snippets","link":"/gitlab-com/runbooks/-/snippets","link_classes":"shortcuts-snippets","description":"Store and share code snippets","library_icon":"snippet","is_active":false},{"id":"file_locks","title":"Locked files","link":"/gitlab-com/runbooks/path_locks","description":"Manage file locks to prevent conflicting changes","tier":"premium","library_icon":"doc-locked","is_active":false}],"separated":false},{"id":"deploy_menu","title":"Deploy","icon":"deployments","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/releases","is_active":false,"items":[{"id":"releases","title":"Releases","link":"/gitlab-com/runbooks/-/releases","link_classes":"shortcuts-deployments-releases","description":"Create and manage project releases","library_icon":"release","is_active":false},{"id":"container_registry","title":"Container registry","link":"/gitlab-com/runbooks/container_registry","description":"Store and deploy container images","library_icon":"container-image","is_active":false},{"id":"model_registry","title":"Model registry","link":"/gitlab-com/runbooks/-/ml/models","description":"Store and manage machine learning models","library_icon":"model-registry","is_active":false}],"separated":false},{"id":"operations_menu","title":"Operate","icon":"cloud-pod","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/environments","is_active":false,"items":[{"id":"environments","title":"Environments","link":"/gitlab-com/runbooks/-/environments","link_classes":"shortcuts-environments","description":"Manage your staging and production deployments","library_icon":"environment","is_active":false}],"separated":false},{"id":"monitor_menu","title":"Monitor","icon":"monitor","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/incidents","is_active":false,"items":[{"id":"incidents","title":"Incidents","link":"/gitlab-com/runbooks/-/incidents","description":"Manage incident response and resolution","library_icon":"work-item-incident","is_active":false}],"separated":false},{"id":"analyze_menu","title":"Analyze","icon":"chart","avatar_shape":"rect","link":"/gitlab-com/runbooks/-/value_stream_analytics","is_active":false,"items":[{"id":"cycle_analytics","title":"Value stream analytics","link":"/gitlab-com/runbooks/-/value_stream_analytics","link_classes":"shortcuts-project-cycle-analytics","description":"Analyze value stream and cycle time","library_icon":"value-stream-analytics","is_active":false},{"id":"contributors","title":"Contributor analytics","link":"/gitlab-com/runbooks/-/graphs/master?ref_type=heads","description":"Track and view member contributions and activity","library_icon":"contributor-analytics","is_active":false},{"id":"repository_analytics","title":"Repository analytics","link":"/gitlab-com/runbooks/-/graphs/master/charts","link_classes":"shortcuts-repository-charts","description":"Analyze repository coverage, statistics, and metrics","library_icon":"repository-analytics","is_active":false},{"id":"code_review","title":"Code review analytics","link":"/gitlab-com/runbooks/-/analytics/code_reviews","description":"Measure code review efficiency and merge request throughput","tier":"premium","library_icon":"code-review-analytics","is_active":false},{"id":"issues","title":"Issue analytics","link":"/gitlab-com/runbooks/-/analytics/issues_analytics","description":"Track issue metrics, trends, and throughput","tier":"premium","library_icon":"work-item-issue-analytics","is_active":false},{"id":"insights","title":"Insights","link":"/gitlab-com/runbooks/insights/","link_classes":"shortcuts-project-insights","description":"View insights and build custom charts and reports","tier":"ultimate","library_icon":"bulb","is_active":false},{"id":"model_experiments","title":"Model experiments","link":"/gitlab-com/runbooks/-/ml/experiments","description":"Track and manage machine learning experiments","library_icon":"machine-learning","is_active":false}],"separated":false}],"current_context_header":"Project","support_path":"https://support.gitlab.com","display_whats_new":true,"show_version_check":null,"search":{"search_context":{"group":{"id":6543,"name":"GitLab.com","full_name":"GitLab.com"},"group_metadata":{"issues_path":"/groups/gitlab-com/-/issues","mr_path":"/groups/gitlab-com/-/merge_requests"},"project":{"id":1148549,"name":"Runbooks"},"project_metadata":{"mr_path":"/gitlab-com/runbooks/-/merge_requests","issues_path":"/gitlab-com/runbooks/-/issues"},"code_search":true,"ref":"master","scope":null,"for_snippets":null}},"panel_type":"project","shortcut_links":[{"title":"Snippets","href":"/explore/snippets","css_class":"dashboard-shortcuts-snippets"},{"title":"Groups","href":"/explore/groups","css_class":"dashboard-shortcuts-groups"},{"title":"Projects","href":"/explore/projects","css_class":"dashboard-shortcuts-projects"}],"has_terms":true,"allow_signup":"true","pinned_items":["project_overview","members","project_issue_list","branches","project_merge_request_list","pipelines"],"trial_registration_path":"/-/trial_registrations/new"}"></aside>
|
||
|
||
<div class="broadcast-wrapper gl-rounded-lg gl-overflow-hidden">
|
||
|
||
|
||
|
||
</div>
|
||
<div class="panels-container gl-flex gl-gap-3">
|
||
<div class="content-panels gl-flex-1 gl-w-full gl-flex gl-gap-0 gl-relative js-content-panels gl-@container/content-panels">
|
||
<div class="paneled-view static-panel js-static-panel js-paneled-view content-wrapper">
|
||
<div class="panel-header">
|
||
<div class="panel-header-inner js-panel-header-inner">
|
||
<script type="application/ld+json">
|
||
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"GitLab.com","item":"https://gitlab.com/gitlab-com"},{"@type":"ListItem","position":2,"name":"Runbooks","item":"https://gitlab.com/gitlab-com/runbooks"}]}
|
||
|
||
|
||
</script>
|
||
<div data-testid="breadcrumb-links" id="js-vue-page-breadcrumbs-wrapper">
|
||
<div data-breadcrumbs-json="[{"text":"GitLab.com","href":"/gitlab-com","avatarPath":"/uploads/-/system/group/avatar/6543/gitlab_logo_192x192.png?v=1747162543"},{"text":"Runbooks","href":"/gitlab-com/runbooks","avatarPath":"/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276"}]" id="js-vue-page-breadcrumbs"></div>
|
||
<div id="js-injected-page-breadcrumbs"></div>
|
||
</div>
|
||
<div id="js-page-breadcrumbs-extra"></div>
|
||
|
||
|
||
|
||
<div class="panel-header-inner-actions">
|
||
|
||
|
||
<div class="panel-header-inner-actions-portal-target js-panel-actions-portal-target"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="panel-content">
|
||
<div class="panel-content-inner js-static-panel-inner">
|
||
<div class="alert-wrapper alert-wrapper-top-space gl-flex gl-flex-col gl-gap-3 container-fluid container-limited">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<div class="container-fluid container-limited project-highlight-puc">
|
||
<main class="content gl-@container/panel" id="content-body" itemscope itemtype="http://schema.org/SoftwareSourceCode">
|
||
<div id="js-drawer-container"></div>
|
||
<div class="flash-container flash-container-page sticky" data-testid="flash-container">
|
||
<div id="js-global-alerts"></div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="project-home-panel js-show-on-project-root gl-mt-2">
|
||
<div class="gl-flex gl-justify-between gl-flex-wrap gl-flex-col gl-gap-5 @sm/panel:gl-flex-row">
|
||
<div class="home-panel-title-row gl-flex gl-items-center">
|
||
<img srcset="/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276&width=48 1x, /uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276&width=96 2x" class="gl-avatar gl-avatar-s48 gl-self-start gl-shrink-0 gl-mr-4" height="48" width="48" loading="lazy" itemprop="image" alt="Runbooks" src="/uploads/-/system/project/avatar/1148549/dont_panic_towel.jpg?v=1789090276&width=48" />
|
||
|
||
<h1 class="home-panel-title gl-heading-1 gl-flex gl-items-center gl-flex-wrap gl-gap-3 gl-break-anywhere gl-mb-0" data-testid="project-name-content" itemprop="name">
|
||
Runbooks
|
||
<button class="has-tooltip gl-border-0 gl-bg-transparent gl-p-0 gl-leading-0 gl-text-inherit visibility-icon gl-inline-flex" data-container="body" data-placement="top" title="Public - The project can be accessed without any authentication." type="button" aria-label="Public - The project can be accessed without any authentication."><svg class="s16 gl-fill-icon-subtle" data-testid="earth-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#earth"></use></svg></button>
|
||
|
||
|
||
</h1>
|
||
</div>
|
||
<div data-can-read-project="true" data-can-request-access="false" data-can-withdraw-access-request="false" data-dashboard-path="/dashboard/projects" data-frameworks="[{:compliance_framework_badge_color=>"#dc143c", :compliance_framework_badge_name=>"Product", :compliance_framework_badge_title=>"Part of GitLab’s software supply chain (i.e. used to build, package, release, deploy GitLab, or used as part of the product)"}]" data-is-project-empty="false" data-project-full-path="gitlab-com/runbooks" data-project-id="1148549" data-request-access-path="/gitlab-com/runbooks/-/project_members/request_access" data-sign-in-path="/users/sign_in?redirect_to_referer=yes" data-star-count="621" data-starred="false" data-starrers-path="/gitlab-com/runbooks/-/starrers" data-withdraw-access-request-path="/gitlab-com/runbooks/-/project_members/leave" id="js-home-panel"></div>
|
||
</div>
|
||
|
||
</header>
|
||
|
||
<div class="project-page-indicator js-show-on-project-root"></div>
|
||
<div class="project-page-layout">
|
||
<div class="project-page-layout-sidebar js-show-on-project-root gl-mt-5">
|
||
<aside class="project-page-sidebar" data-testid="project-page-sidebar">
|
||
<div class="project-page-sidebar-block home-panel-home-desc gl-py-4 gl-border-b gl-border-b-subtle !gl-pt-2">
|
||
<h2 class="gl-text-base gl-font-bold gl-leading-reset gl-text-heading gl-m-0 gl-mb-1">Project information</h2>
|
||
<div class="home-panel-description gl-break-words">
|
||
<div class="home-panel-description-markdown read-more-container" data-read-more-height="320" itemprop="description">
|
||
<div class="read-more-content read-more-content--has-scrim">
|
||
<p data-sourcepos="1:1-1:33" dir="auto">Runbooks for the stressed on-call</p>
<p data-sourcepos="3:1-3:27" dir="auto"><a data-sourcepos="3:1-3:27" href="https://runbooks.gitlab.com" rel="nofollow noreferrer noopener" target="_blank">https://runbooks.gitlab.com</a></p>
<p data-sourcepos="5:1-5:54" dir="auto">Mirrored to <a data-sourcepos="5:13-5:54" href="https://ops.gitlab.net/gitlab-com/runbooks" rel="nofollow noreferrer noopener" target="_blank">https://ops.gitlab.net/gitlab-com/runbooks</a></p>
|
||
</div>
|
||
<div class="js-read-more-trigger gl-hidden gl-w-full gl-h-8 gl-absolute gl-bottom-0 gl-z-2 gl-bg-default">
|
||
<button aria-label="Expand project information" type="button" class="gl-button btn btn-md btn-link "><span class="gl-button-text">
|
||
<svg class="s14" data-testid="chevron-down-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#chevron-down"></use></svg>
|
||
Read more
|
||
|
||
</span>
|
||
|
||
</button></div>
|
||
</div>
|
||
</div>
|
||
<div class="gl-mb-2 !gl-mb-4">
|
||
<div class="progress repository-languages-bar js-show-on-project-root"><div class="progress-bar has-tooltip" style="width: 87.22%; background-color:#0064bd" data-html="true" title="<span class="repository-language-bar-tooltip-language">Jsonnet</span>&nbsp;<span class="repository-language-bar-tooltip-share">87.2%</span>"></div><div class="progress-bar has-tooltip" style="width: 6.98%; background-color:#701516" data-html="true" title="<span class="repository-language-bar-tooltip-language">Ruby</span>&nbsp;<span class="repository-language-bar-tooltip-share">7.0%</span>"></div><div class="progress-bar has-tooltip" style="width: 4.92%; background-color:#89e051" data-html="true" title="<span class="repository-language-bar-tooltip-language">Shell</span>&nbsp;<span class="repository-language-bar-tooltip-share">4.9%</span>"></div><div class="progress-bar has-tooltip" style="width: 0.31%; background-color:#3178c6" data-html="true" title="<span class="repository-language-bar-tooltip-language">TypeScript</span>&nbsp;<span class="repository-language-bar-tooltip-share">0.3%</span>"></div><div class="progress-bar has-tooltip" style="width: 0.29%; background-color:#00ADD8" data-html="true" title="<span class="repository-language-bar-tooltip-language">Go</span>&nbsp;<span class="repository-language-bar-tooltip-share">0.3%</span>"></div></div>
|
||
</div>
|
||
<div class="project-badges gl-mb-2 gl-flex gl-flex-wrap gl-gap-2" data-testid="project-badges-content">
|
||
<a class="gl-leading-1" data-qa-link-url="https://gitlab.com/gitlab-com/runbooks/-/releases" data-testid="badge-image-link" href="https://gitlab.com/gitlab-com/runbooks/-/releases" rel="noopener noreferrer" target="_blank"><img alt="Project badge" aria-hidden class="project-badge" src="https://gitlab.com/gitlab-com/runbooks/-/badges/release.svg"></a></div>
|
||
</div>
|
||
<div class="project-page-sidebar-block gl-py-4 gl-border-b gl-border-b-subtle">
|
||
<nav class="project-stats">
|
||
<ul class="nav gl-gap-y-2 gl-gap-x-5">
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2" href="/gitlab-com/runbooks/-/commits/master"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="commit-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#commit"></use></svg><strong class="project-stat-value">26,001</strong> Commits</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2" href="/gitlab-com/runbooks/-/branches"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="branch-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#branch"></use></svg><strong class="project-stat-value">1,110</strong> Branches</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2" href="/gitlab-com/runbooks/-/tags"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="label-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#label"></use></svg><strong class="project-stat-value">2,196</strong> Tags</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2" href="/gitlab-com/runbooks/-/releases"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="rocket-launch-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#rocket-launch"></use></svg><strong class="project-stat-value">1,812</strong> Releases</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2" href="/gitlab-com/runbooks/-/environments"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="environment-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#environment"></use></svg><strong class="project-stat-value">6</strong> Environments</a>
|
||
</li>
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
<div class="project-page-sidebar-block gl-py-4 gl-border-b gl-border-b-subtle">
|
||
<div class="project-buttons gl-mb-2 js-show-on-project-root" data-testid="project-buttons">
|
||
<ul class="nav gl-gap-y-2 gl-gap-x-5">
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2 btn-default" data-event-tracking="click_readme_on_project_overview" data-event-label="view" href="/gitlab-com/runbooks/-/blob/master/README.md"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="doc-text-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#doc-text"></use></svg>README</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2 btn-default" itemprop="license" data-event-tracking="click_license_on_project_overview" data-event-label="view" href="/gitlab-com/runbooks/-/blob/master/LICENSE"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="scale-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#scale"></use></svg><span class="project-stat-value">MIT License</span></a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2 btn-default" data-event-tracking="click_contributing_on_project_overview" data-event-label="view" href="/gitlab-com/runbooks/-/blob/master/CONTRIBUTING.md"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="doc-text-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#doc-text"></use></svg>CONTRIBUTING</a>
|
||
</li>
|
||
<li class="nav-item gl-leading-1">
|
||
<a class="nav-link stat-link !gl-px-0 !gl-pb-2 btn-default" data-event-tracking="click_pages_on_project_overview" href="https://gitlab-com.gitlab.io/runbooks"><svg class="s16 gl-fill-icon-subtle gl-mr-3" data-testid="external-link-icon"><use href="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg#external-link"></use></svg>GitLab Pages</a>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div data-can-view-dashboard="false" data-compliance-center-path="/groups/gitlab-com/-/security/compliance_dashboard/frameworks" data-project-path="gitlab-com/runbooks" id="js-compliance-info"></div>
|
||
|
||
|
||
<div class="project-page-sidebar-block gl-py-4">
|
||
<p class="gl-font-bold gl-text-strong gl-m-0 gl-mb-1">Created on</p>
|
||
<span>May 04, 2016</span>
|
||
</div>
|
||
</aside>
|
||
|
||
</div>
|
||
<div class="project-page-layout-content">
|
||
<div class="project-show-files">
|
||
<div class="gl-flex navigation-root">
|
||
<div id="js-file-browser" style="width:320px"></div>
|
||
<div class="gl-w-full gl-min-w-0">
|
||
<div class="tree-holder gl-clearfix js-per-page gl-mt-4" data-blame-per-page="1000" id="tree-holder">
|
||
<div data-breadcrumbs-can-collaborate="false" data-breadcrumbs-can-edit-tree="false" data-breadcrumbs-can-push-code="false" data-breadcrumbs-can-push-to-branch="false" data-breadcrumbs-new-blob-path="/gitlab-com/runbooks/-/new/master" data-breadcrumbs-new-branch-path="/gitlab-com/runbooks/-/branches/new" data-breadcrumbs-new-dir-path="/gitlab-com/runbooks/-/create_dir/master" data-breadcrumbs-new-tag-path="/gitlab-com/runbooks/-/tags/new" data-breadcrumbs-upload-path="/gitlab-com/runbooks/-/create/master" data-download-links="[{"text":"zip","path":"/gitlab-com/runbooks/-/archive/master/runbooks-master.zip?ref_type=heads"},{"text":"tar.gz","path":"/gitlab-com/runbooks/-/archive/master/runbooks-master.tar.gz?ref_type=heads"},{"text":"tar.bz2","path":"/gitlab-com/runbooks/-/archive/master/runbooks-master.tar.bz2?ref_type=heads"},{"text":"tar","path":"/gitlab-com/runbooks/-/archive/master/runbooks-master.tar?ref_type=heads"}]" data-escaped-ref="master" data-http-url="https://gitlab.com/gitlab-com/runbooks.git" data-kerberos-url="" data-new-workspace-path="/-/remote_development/workspaces/new" data-organization-id="1" data-project-id="1148549" data-project-path="gitlab-com/runbooks" data-project-root-path="/gitlab-com/runbooks" data-ref="master" data-ref-type="heads" data-root-ref="master" data-show-no-ssh-key-message="" data-ssh-url="git@gitlab.com:gitlab-com/runbooks.git" data-user-settings-ssh-keys-path="/-/user_settings/ssh_keys" data-web-ide-button-default-branch="master" data-web-ide-button-options="{"project_path":"gitlab-com/runbooks","ref":"master","is_fork":false,"needs_to_fork":true,"gitpod_enabled":false,"is_blob":false,"show_edit_button":false,"show_web_ide_button":false,"show_gitpod_button":false,"show_pipeline_editor_button":false,"web_ide_url":"/-/ide/project/gitlab-com/runbooks/edit/master","edit_url":"","pipeline_editor_url":"/gitlab-com/runbooks/-/ci/editor?branch_name=master","gitpod_url":"https://gitpod.io/#https://gitlab.com/gitlab-com/runbooks/-/tree/master/","user_preferences_gitpod_path":"/-/profile/preferences#user_gitpod_enabled","user_profile_enable_gitpod_path":"/-/user_settings/profile?user%5Bgitpod_enabled%5D=true","project_id":1148549,"new_workspace_path":"/-/remote_development/workspaces/new","organization_id":1,"fork_path":"/gitlab-com/runbooks/-/forks/new","fork_modal_id":null}" data-xcode-url="" id="js-repository-blob-header-app"></div>
|
||
<div class="info-well project-last-commit gl-mt-5">
|
||
<div class="gl-flex gl-items-center gl-justify-center gl-m-auto gl-min-h-9 @lg/panel:gl-min-h-[4.5rem]" data-history-link="/gitlab-com/runbooks/-/commits/master" data-ref-type="heads" id="js-last-commit">
|
||
<div class="gl-spinner-container" role="status"><span aria-hidden class="gl-spinner gl-spinner-md gl-spinner-dark !gl-align-text-bottom"></span><span class="gl-sr-only !gl-absolute">Loading</span>
|
||
</div>
|
||
</div>
|
||
<div class="gl-hidden @sm/panel:gl-flex" data-branch="master" data-branch-rules-path="/gitlab-com/runbooks/-/settings/repository#branch-rules" id="js-code-owners"></div>
|
||
</div>
|
||
<div data-escaped-ref="master" data-explain-code-available="false" data-full-name="GitLab.com / Runbooks" data-has-revs-file="false" data-path-locks-available="true" data-path-locks-toggle="/gitlab-com/runbooks/path_locks/toggle" data-project-path="gitlab-com/runbooks" data-project-short-path="runbooks" data-ref="master" data-ref-type="heads" data-resource-id="gid://gitlab/Project/1148549" id="js-tree-list"></div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</main>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="paneled-view-portal gl-@container/panel !gl-absolute gl-rounded-l-xl gl-shadow-lg gl-bg-default @xl/content-panels:gl-w-1/2 @xl/content-panels:gl-rounded-l-none @xl/content-panels:gl-shadow-none @xl/content-panels:!gl-relative @xl/content-panels:gl-bg-transparent gl-right-0" id="contextual-panel-portal"></div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
if ('loading' in HTMLImageElement.prototype) {
|
||
document.querySelectorAll('img.lazy').forEach(img => {
|
||
img.loading = 'lazy';
|
||
let imgUrl = img.dataset.src;
|
||
// Only adding width + height for avatars for now
|
||
// Keep this logic in sync with appendWidthToAvatarUrl in
|
||
// app/assets/javascripts/vue_shared/components/user_avatar/utils.js
|
||
if (imgUrl.indexOf('/avatar/') > -1 && !imgUrl.includes('width=')) {
|
||
const targetWidth = img.getAttribute('width') || img.width;
|
||
imgUrl += imgUrl.includes('?') ? `&width=${targetWidth}` : `?width=${targetWidth}`;
|
||
}
|
||
img.src = imgUrl;
|
||
img.removeAttribute('data-src');
|
||
img.classList.remove('lazy');
|
||
img.classList.add('js-lazy-loaded');
|
||
img.dataset.testid = 'js-lazy-loaded-content';
|
||
});
|
||
}
|
||
|
||
//]]>
|
||
</script>
|
||
<script nonce="VCYxZKYYQ63Rv/Yv76tORg==">
|
||
//<![CDATA[
|
||
gl = window.gl || {};
|
||
gl.experiments = {};
|
||
|
||
|
||
//]]>
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|
||
|