├── .github
└── workflows
│ └── release.yaml
├── .gitignore
├── .gitmodules
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── archetypes
└── default.md
├── config.toml
├── content
├── 05_introduction
│ ├── 10_introduction.md
│ ├── 20_about_weaveworks.md
│ └── _index.md
├── 100_Cleanup
│ ├── 10_cleanup.md
│ └── _index.md
├── 10_aws_prerequisites
│ ├── 10_aws_event.md
│ ├── 20_self_paced.md
│ └── _index.md
├── 20_weaveworks_prerequisites
│ ├── 10_workspace.md
│ ├── 11_install_eksctl.md
│ ├── 12_install_kubectl.md
│ ├── 13_install_helm.md
│ ├── 14_install_fluxctl.md
│ ├── 15_install_kustomize.md
│ ├── 16_install_aws-iam.md
│ ├── 17_create_iam_policy_and_role.md
│ ├── 18_attach_the_role.md
│ ├── 50_workspaceiam.md
│ └── _index.md
├── 22_workshop_1
│ ├── 10_setup_gitops_prequisites
│ │ ├── 11_enable_git_access.md
│ │ └── _index.md
│ ├── 20_create_cluster
│ │ ├── 21-create-cluster.md
│ │ └── _index.md
│ ├── 30_gitops_enable
│ │ ├── 33_using_flux_v2.md
│ │ ├── 34_update_flux_for_demo.md
│ │ └── _index.md
│ ├── 40_deploy_sample_app
│ │ ├── 41_Import_k8s_labels_annotations.md
│ │ └── _index.md
│ └── _index.md
├── 25_workshop_2_HA-DR
│ ├── 01_prerequisites
│ │ └── _index.md
│ ├── 20_create_git_repo
│ │ └── _index.md
│ ├── 30_create_two_clusters
│ │ └── _index.md
│ ├── 40_gitops_enable_clusters
│ │ ├── 41_enable_gitops.md
│ │ └── _index.md
│ ├── 50_add_yamls
│ │ ├── 10_alb_ingress.md
│ │ ├── 20_hello_kubernetes_introduction.md
│ │ ├── 21_hello_kubernetes_deploy.md
│ │ ├── 22_hello_kubernetes_hpa.md
│ │ ├── 25_check_everything.md
│ │ └── _index.md
│ ├── 60_test_ingresses
│ │ └── _index.md
│ ├── 70_adjust_hpa
│ │ └── _index.md
│ ├── 80_configure_route53
│ │ └── _index.md
│ └── _index.md
├── 30_workshop_03_grc
│ ├── 010_prerequisites
│ │ └── _index.md
│ ├── 120_deploy_opa_gatekeeper
│ │ ├── 20_intro-to-opa.md
│ │ ├── 30_deploy-opa-gatekeeper.md
│ │ ├── _index.md
│ │ └── deploy.files
│ │ │ ├── allowed-repos-policy.yaml
│ │ │ ├── allowed-repos-template.yaml
│ │ │ ├── bad-namespace-example.yaml
│ │ │ ├── opa-gatekeeper-deployment.yaml
│ │ │ ├── pod-aunauthorized-repo-example.yaml
│ │ │ ├── required-labels-policy.yaml
│ │ │ └── required-labels-template.yaml
│ ├── 125_create_policy_templates
│ │ ├── 20_creating-contraint-template.md
│ │ └── _index.md
│ ├── 130_create_policy_contraints
│ │ ├── _index.md
│ │ └── creating-contraints.md
│ ├── 140_test-policy-contraints
│ │ ├── 20_deploy-test-apps.md
│ │ └── _index.md
│ ├── 150_iam-groups
│ │ ├── 10_intro.md
│ │ ├── 20_create-iam-roles.md
│ │ ├── 21_create-iam-groups.md
│ │ ├── 22_create_iam_users.md
│ │ ├── 30_create-k8s-rbac.md
│ │ ├── 31_configure-aws-auth.md
│ │ ├── 40_test-cluster-access.md
│ │ ├── 70_cleanup.md
│ │ ├── _index.md
│ │ └── deploy.files
│ │ │ ├── development-ns.yaml
│ │ │ └── integration-ns.yaml
│ ├── _index.md
│ └── deploy.files
│ │ ├── allowed-repos-policy.yaml
│ │ ├── allowed-repos-template.yaml
│ │ ├── bad-namespace-example.yaml
│ │ ├── development-ns.yaml
│ │ ├── integration-ns.yaml
│ │ ├── opa-gatekeeper-deployment.yaml
│ │ ├── pod-aunauthorized-repo-example.yaml
│ │ ├── required-labels-policy.yaml
│ │ └── required-labels-template.yaml
├── 40_workshop_4_hipo-teams
│ ├── 01_prerequisites
│ │ └── _index.md
│ ├── 20_create-eks-cluster
│ │ └── _index.md
│ ├── 30_gitops_enable_clusters
│ │ ├── 10_create-github.md
│ │ ├── 30_enable_gitops.md
│ │ ├── 40_verify_flux_op.md
│ │ └── _index.md
│ ├── 40_install-app-mesh
│ │ ├── 10_create_namespace.md
│ │ ├── 20_install_appmesh_crds.md
│ │ ├── 30_install_appmesh_controller.md
│ │ ├── 40_install_appmesh_injector.md
│ │ ├── 50_install_appmesh_prometheus.md
│ │ ├── 90_verify_mesh.md
│ │ └── _index.md
│ ├── 50_install_container_insights
│ │ ├── 10_create_namespace.md
│ │ ├── 20_install_container_insights.md
│ │ ├── 30_verify_container_insights.md
│ │ ├── 40_explore_container_insights.md
│ │ └── _index.md
│ ├── 60_install-pod-info
│ │ ├── 10_about_podinfo.md
│ │ ├── 20_create_namespace.md
│ │ ├── 30_create_podinfo.md
│ │ ├── 40_add_app_mesh.md
│ │ ├── 50_verify_app_mesh.md
│ │ ├── 60_test_routing.md
│ │ ├── 70_update_routing.md
│ │ ├── 80_revert_routing.md
│ │ ├── 90_app_mesh_perf.md
│ │ ├── _index.md
│ │ └── deploy.files
│ │ │ ├── 1-podinfo.yaml
│ │ │ ├── 2-podinfo-virtual-nodes.yaml
│ │ │ ├── 3-podinfo-virtual-services.yaml
│ │ │ └── 4-podinfo-placeholder-services.yaml
│ └── _index.md
├── 50_workshop_5_accelerating_sdlc
│ ├── 00_prerequisites.md
│ │ ├── 01_create_workspace.md
│ │ ├── 10_install_eksctl.md
│ │ ├── 20_install_kubectl.md
│ │ ├── 30_install_fluxctl.md
│ │ ├── 40_install_kustomize.md
│ │ ├── 50_install_aws_iam_auth.md
│ │ ├── 60_add_iam_role.md
│ │ ├── 70_workspace_iam.md
│ │ └── _index.md
│ ├── 10_create_cluster
│ │ ├── 01_create_eks_cluster.md
│ │ └── _index.md
│ ├── 15_deployment_strategies
│ │ ├── 01_recreate.md
│ │ ├── 02_rolling_update.md
│ │ ├── 03_blue_green.md
│ │ ├── 04_canary.md
│ │ └── _index.md
│ ├── 20_enable_gitops
│ │ ├── 01_create_git_repo.md
│ │ ├── 02_eksctl_enable_repo.md
│ │ └── _index.md
│ ├── 30_install_appmesh
│ │ ├── 01_install_app_mesh.md
│ │ ├── 02_sync_repo.md
│ │ └── _index.md
│ ├── 40_progressive_delivery
│ │ ├── 01_install_podinfo.md
│ │ ├── 02_review_flagger.md
│ │ ├── 03_canary_release.md
│ │ ├── 04_canary_rollback.md
│ │ └── _index.md
│ └── _index.md
├── 60_workshop_6_ml
│ ├── 00_prerequisites.md
│ │ ├── 01_create_workspace.md
│ │ ├── 10_install_eksctl.md
│ │ ├── 20_install_kubectl.md
│ │ ├── 30_install_fluxctl.md
│ │ ├── 40_install_kustomize.md
│ │ ├── 50_install_aws_iam_auth.md
│ │ ├── 60_add_iam_role.md
│ │ ├── 70_workspace_iam.md
│ │ └── _index.md
│ ├── 05_setup
│ │ ├── 01_git-config-ssh-key.md
│ │ └── _index.md
│ ├── 10_create_cluster
│ │ ├── 01_create_eks_cluster.md
│ │ └── _index.md
│ ├── 20_enable_gitops
│ │ ├── 01_create_git_repo.md
│ │ ├── 02_eksctl_enable_repo.md
│ │ └── _index.md
│ ├── 30_deploy_appdev_profile
│ │ ├── 01_app_dev.md
│ │ └── _index.md
│ ├── 40_kubeflow
│ │ ├── 01_install_kubeflow.md
│ │ └── _index.md
│ ├── 50_titanic_sample_application
│ │ ├── 01_aws_k8s-setup.md
│ │ ├── 02_kubeflow_ui.md
│ │ ├── 03_build model.md
│ │ ├── 04_build pipeline.md
│ │ ├── 05_run.md
│ │ └── _index.md
│ └── _index.md
├── 70_workshop_7_multicloud
│ ├── 10_prerequisites
│ │ ├── 10_workspace.md
│ │ ├── 11_add_the_role.md
│ │ ├── 12_install_aws-iam.md
│ │ ├── 13_workspaceiam.md
│ │ ├── 14_install_eksctl.md
│ │ ├── 15_create_eks_cluster.md
│ │ ├── 16_install_kubectl.md
│ │ ├── 17_install_helm.md
│ │ ├── 18_install_fluxctl.md
│ │ ├── 19_direnv.md
│ │ ├── 20_clusterctl.md
│ │ └── _index.md
│ ├── 15_setup_git_repo
│ │ └── _index.md
│ ├── 20_credentials
│ │ └── _index.md
│ ├── 30_bootstrap_management_cluster
│ │ └── _index.md
│ ├── 31_add_yamls
│ │ └── _index.md
│ ├── 40_gitops_enable_clusters
│ │ └── _index.md
│ ├── 50_cleanup
│ │ └── _index.md
│ └── _index.md
├── 80_workshop_8_hybrid_ssp
│ ├── 00_prerequisites
│ │ └── _index.md
│ ├── 05_architecture
│ │ └── _index.md
│ ├── 10_create_eksd_cluster
│ │ └── _index.md
│ ├── 15_connect_development_cluster
│ │ └── _index.md
│ ├── 20_create_infrastructure_repository
│ │ └── _index.md
│ ├── 25_enable_cluster_gitops
│ │ └── _index.md
│ ├── 30_onboard_your_clusters
│ │ └── _index.md
│ ├── 50_promote_releases
│ │ └── _index.md
│ └── _index.md
├── 90_workshop_9_multistage_ssp
│ ├── 00_prerequisites
│ │ └── _index.md
│ ├── 10_create_ssp_repository
│ │ └── _index.md
│ ├── 20_add_core_components
│ │ └── _index.md
│ ├── 30_create_team_base
│ │ └── _index.md
│ ├── 40_onboard_teams
│ │ └── _index.md
│ ├── 50_create_environnments
│ │ └── _index.md
│ ├── 60_spin_up_infrastructure
│ │ └── _index.md
│ └── _index.md
├── 95_workshop_hybrid_eks
│ ├── 00_install_flux
│ │ └── _index.md
│ ├── 10_install_weave_gitops
│ │ └── _index.md
│ ├── 15_install_cluster_api
│ │ └── _index.md
│ ├── 20_create_a_cluster
│ │ └── _index.md
│ ├── 25_upgrade_your_cluster
│ │ └── _index.md
│ └── _index.md
└── _index.md
├── layouts
└── partials
│ ├── header.html
│ ├── logo.html
│ └── menu-footer.html
├── modules
├── EKS-workshop-stack.yaml
└── webhosting
│ ├── README.md
│ ├── cloudfront-s3-website.yaml
│ └── pipeline.yaml
├── public
├── css
│ ├── atom-one-dark-reasonable.css
│ ├── auto-complete.css
│ ├── featherlight.min.css
│ ├── fontawesome-all.min.css
│ ├── hugo-theme.css
│ ├── hybrid.css
│ ├── nucleus.css
│ ├── perfect-scrollbar.min.css
│ ├── tags.css
│ ├── theme-blue.css
│ ├── theme-green.css
│ ├── theme-mine.css
│ ├── theme-red.css
│ └── theme.css
├── fonts
│ ├── Inconsolata.eot
│ ├── Inconsolata.svg
│ ├── Inconsolata.ttf
│ ├── Inconsolata.woff
│ ├── Novecentosanswide-Normal-webfont.eot
│ ├── Novecentosanswide-Normal-webfont.svg
│ ├── Novecentosanswide-Normal-webfont.ttf
│ ├── Novecentosanswide-Normal-webfont.woff
│ ├── Novecentosanswide-Normal-webfont.woff2
│ ├── Novecentosanswide-UltraLight-webfont.eot
│ ├── Novecentosanswide-UltraLight-webfont.svg
│ ├── Novecentosanswide-UltraLight-webfont.ttf
│ ├── Novecentosanswide-UltraLight-webfont.woff
│ ├── Novecentosanswide-UltraLight-webfont.woff2
│ ├── Work_Sans_200.eot
│ ├── Work_Sans_200.svg
│ ├── Work_Sans_200.ttf
│ ├── Work_Sans_200.woff
│ ├── Work_Sans_200.woff2
│ ├── Work_Sans_300.eot
│ ├── Work_Sans_300.svg
│ ├── Work_Sans_300.ttf
│ ├── Work_Sans_300.woff
│ ├── Work_Sans_300.woff2
│ ├── Work_Sans_500.eot
│ ├── Work_Sans_500.svg
│ ├── Work_Sans_500.ttf
│ ├── Work_Sans_500.woff
│ └── Work_Sans_500.woff2
├── images
│ ├── ActiveGate_linux_installation.png
│ ├── Deck_Arrows2.png
│ ├── Kubernetes_menu.png
│ ├── PG_naming_rule_preview.png
│ ├── PG_naming_rules.png
│ ├── PG_naming_validation.png
│ ├── account_settings.png
│ ├── add_tag_rule.png
│ ├── alerting_profile_carts_dev.png
│ ├── alerting_profile_carts_ops.png
│ ├── alerting_profile_k8s_infra.png
│ ├── api_token.png
│ ├── api_token_value.png
│ ├── app_urls.png
│ ├── application_view.png
│ ├── applications.png
│ ├── aws_console_appmesh.png
│ ├── blue-green-deployment-ww.png
│ ├── built-in_service_naming_rules.png
│ ├── c9after.png
│ ├── c9attachrole.png
│ ├── c9before.png
│ ├── c9disableiam.png
│ ├── c9instancerole.png
│ ├── c9open.png
│ ├── canary-deployment-ww.png
│ ├── carts_dev_method_hotspots.png
│ ├── carts_dev_problem.png
│ ├── carts_dev_purepath.png
│ ├── carts_dev_response_time_analysis.png
│ ├── carts_dev_rollout_history.png
│ ├── carts_promo_failure_analysis.png
│ ├── carts_promo_problem.png
│ ├── cf_confirm.png
│ ├── cf_create.png
│ ├── cf_done.png
│ ├── chrome_extension.png
│ ├── ci_app_mesh.png
│ ├── ci_perf_monitoring.png
│ ├── clippy.svg
│ ├── cloud9_new_terminal.png
│ ├── cluster_connection_error.png
│ ├── cluster_connection_setup.png
│ ├── cluster_management_zone.png
│ ├── cluster_monitoring_dashboard.png
│ ├── cluster_nodes.png
│ ├── config_token.png
│ ├── cpu_saturation_problems.png
│ ├── cr_yaml.png
│ ├── create-keypair.png
│ ├── create_management_zone.png
│ ├── create_management_zone_enter_name.png
│ ├── custom_PG_naming_rule.png
│ ├── custom_service_naming_rule.png
│ ├── cw_app_logs.png
│ ├── cw_log_groups.png
│ ├── cw_metrics_container_insights.png
│ ├── cw_metrics_graph.png
│ ├── cw_select_metrics.png
│ ├── deploy-dt.png
│ ├── deployment_status.png
│ ├── deployments.png
│ ├── drill_down_to_PurePaths.png
│ ├── dt-capabilities.png
│ ├── dt-problem.png
│ ├── dt-topology.png
│ ├── dt-trial.png
│ ├── dt.png
│ ├── dynatrace_pods.png
│ ├── edit_application.png
│ ├── email_notification_cpu.png
│ ├── enable_session_replay.png
│ ├── event-engine-aws-console.png
│ ├── event-engine-dashboard.png
│ ├── event-engine-initial-screen.png
│ ├── extend_management_zone_rule.png
│ ├── favicon.png
│ ├── filter_by_tag.png
│ ├── generate-paas-token-two.png
│ ├── generate-paas-token.png
│ ├── generate_api_token.png
│ ├── generate_paas_token.png
│ ├── gh_deploy_key.png
│ ├── gh_repo_init.png
│ ├── gopher-404.jpg
│ ├── guestbook_app.png
│ ├── guestbook_dt_services.png
│ ├── guestbook_services.png
│ ├── host_consuming_processes.png
│ ├── host_cpu_usage.png
│ ├── host_view.png
│ ├── hosts.png
│ ├── iam-1-create-user.png
│ ├── iam-2-attach-policy.png
│ ├── iam-3-create-user.png
│ ├── iam-4-save-url.png
│ ├── install_ActiveGate.png
│ ├── invitation_email.png
│ ├── invite_new_user.png
│ ├── k8-dashboard.png
│ ├── k8-log.png
│ ├── k8-pod-metadata.png
│ ├── k8-tracing.png
│ ├── k8s_infra_resource_alert_rule.png
│ ├── k8s_team_notification_setup.png
│ ├── keep_calm.png
│ ├── keypair-menu.png
│ ├── keypair.png
│ ├── kubernetes_node_analysis.png
│ ├── kubernetes_problematic_nodes.png
│ ├── management_zone_rule_guestbook.png
│ ├── management_zone_rule_namespace.png
│ ├── management_zone_rule_sockshop.png
│ ├── management_zones.png
│ ├── management_zones_filter.png
│ ├── new_user_group.png
│ ├── node_analysis_filter.png
│ ├── oneagent-operator.png
│ ├── opa-gatekeeper.png
│ ├── operator_pod.png
│ ├── paas_token.png
│ ├── paas_token_value.png
│ ├── pg_labels_annotations.png
│ ├── pod_describe.png
│ ├── podinfo_app_mesh.png
│ ├── podinfo_screen.png
│ ├── preview_management_zone_rule_infra.png
│ ├── preview_management_zone_rule_services.png
│ ├── problem_notification_setup.png
│ ├── promo_socks.png
│ ├── route53-eks-1.png
│ ├── save-environment.png
│ ├── save_tag_rule.png
│ ├── service.png
│ ├── service_naming_rule_preview.png
│ ├── service_naming_rules.png
│ ├── service_naming_validation.png
│ ├── services.png
│ ├── services_filtered_by_management_zone.png
│ ├── services_filtered_dev_namespace.png
│ ├── slack_carts_dev_problem_open.png
│ ├── slack_carts_dev_problem_resolved.png
│ ├── slack_carts_dev_test_run.png
│ ├── slack_carts_support_ops_problem_open.png
│ ├── slack_carts_support_ops_problem_resolved.png
│ ├── slack_channels.png
│ ├── sockshop-topology.png
│ ├── sockshop.png
│ ├── super_search_box_tag.png
│ ├── synthetic.png
│ ├── user_group_assignation.png
│ ├── user_session_replay.png
│ ├── user_sessions.png
│ ├── validate.png
│ ├── workshop.png
│ └── workshop02_gitops-operating-model.png
├── js
│ ├── auto-complete.js
│ ├── clipboard.min.js
│ ├── featherlight.min.js
│ ├── highlight.pack.js
│ ├── hugo-learn.js
│ ├── jquery-3.3.1.min.js
│ ├── jquery.sticky.js
│ ├── learn.js
│ ├── lunr.min.js
│ ├── modernizr.custom-3.6.0.js
│ ├── perfect-scrollbar.jquery.min.js
│ ├── perfect-scrollbar.min.js
│ └── search.js
├── mermaid
│ ├── mermaid.css
│ ├── mermaid.dark.css
│ ├── mermaid.forest.css
│ └── mermaid.js
└── webfonts
│ ├── fa-brands-400.eot
│ ├── fa-brands-400.svg
│ ├── fa-brands-400.ttf
│ ├── fa-brands-400.woff
│ ├── fa-brands-400.woff2
│ ├── fa-regular-400.eot
│ ├── fa-regular-400.svg
│ ├── fa-regular-400.ttf
│ ├── fa-regular-400.woff
│ ├── fa-regular-400.woff2
│ ├── fa-solid-900.eot
│ ├── fa-solid-900.svg
│ ├── fa-solid-900.ttf
│ ├── fa-solid-900.woff
│ └── fa-solid-900.woff2
├── static
├── css
│ └── theme-mine.css
└── images
│ ├── ActiveGate_linux_installation.png
│ ├── Deck_Arrows2.png
│ ├── Kubernetes_menu.png
│ ├── PG_naming_rule_preview.png
│ ├── PG_naming_rules.png
│ ├── PG_naming_validation.png
│ ├── account_settings.png
│ ├── add_tag_rule.png
│ ├── alerting_profile_carts_dev.png
│ ├── alerting_profile_carts_ops.png
│ ├── alerting_profile_k8s_infra.png
│ ├── api_token.png
│ ├── api_token_value.png
│ ├── app_urls.png
│ ├── application_view.png
│ ├── applications.png
│ ├── aws_console_appmesh.png
│ ├── blue-green-deployment-ww.png
│ ├── built-in_service_naming_rules.png
│ ├── c9after.png
│ ├── c9attachrole.png
│ ├── c9before.png
│ ├── c9disableiam.png
│ ├── c9instancerole.png
│ ├── c9open.png
│ ├── canary-deployment-ww.png
│ ├── carts_dev_method_hotspots.png
│ ├── carts_dev_problem.png
│ ├── carts_dev_purepath.png
│ ├── carts_dev_response_time_analysis.png
│ ├── carts_dev_rollout_history.png
│ ├── carts_promo_failure_analysis.png
│ ├── carts_promo_problem.png
│ ├── cf_confirm.png
│ ├── cf_create.png
│ ├── cf_done.png
│ ├── chrome_extension.png
│ ├── ci_app_mesh.png
│ ├── ci_perf_monitoring.png
│ ├── cloud9_new_terminal.png
│ ├── cluster_connection_error.png
│ ├── cluster_connection_setup.png
│ ├── cluster_management_zone.png
│ ├── cluster_monitoring_dashboard.png
│ ├── cluster_nodes.png
│ ├── config_token.png
│ ├── cpu_saturation_problems.png
│ ├── cr_yaml.png
│ ├── create-keypair.png
│ ├── create-policy-json.png
│ ├── create-policy-save.png
│ ├── create-policy.png
│ ├── create-role-create.png
│ ├── create-role-policy.png
│ ├── create-role-service.png
│ ├── create-role.png
│ ├── create_management_zone.png
│ ├── create_management_zone_enter_name.png
│ ├── custom_PG_naming_rule.png
│ ├── custom_service_naming_rule.png
│ ├── cw_app_logs.png
│ ├── cw_log_groups.png
│ ├── cw_metrics_container_insights.png
│ ├── cw_metrics_graph.png
│ ├── cw_select_metrics.png
│ ├── deploy-dt.png
│ ├── deployment_status.png
│ ├── deployments.png
│ ├── drill_down_to_PurePaths.png
│ ├── dt-capabilities.png
│ ├── dt-problem.png
│ ├── dt-topology.png
│ ├── dt-trial.png
│ ├── dt.png
│ ├── dynatrace_pods.png
│ ├── ebs-mod.png
│ ├── ebs1.png
│ ├── edit_application.png
│ ├── email_notification_cpu.png
│ ├── enable_session_replay.png
│ ├── event-engine-aws-console.png
│ ├── event-engine-dashboard.png
│ ├── event-engine-initial-screen.png
│ ├── extend_management_zone_rule.png
│ ├── favicon.png
│ ├── filter_by_tag.png
│ ├── generate-paas-token-two.png
│ ├── generate-paas-token.png
│ ├── generate_api_token.png
│ ├── generate_paas_token.png
│ ├── gh_deploy_key.png
│ ├── gh_repo_init.png
│ ├── guestbook_app.png
│ ├── guestbook_dt_services.png
│ ├── guestbook_services.png
│ ├── hello-kubernetes.png
│ ├── host_consuming_processes.png
│ ├── host_cpu_usage.png
│ ├── host_view.png
│ ├── hosts.png
│ ├── iam-1-create-user.png
│ ├── iam-2-attach-policy.png
│ ├── iam-3-create-user.png
│ ├── iam-4-save-url.png
│ ├── install_ActiveGate.png
│ ├── invitation_email.png
│ ├── invite_new_user.png
│ ├── k8-dashboard.png
│ ├── k8-log.png
│ ├── k8-pod-metadata.png
│ ├── k8-tracing.png
│ ├── k8s_infra_resource_alert_rule.png
│ ├── k8s_team_notification_setup.png
│ ├── keep_calm.png
│ ├── keypair-menu.png
│ ├── keypair.png
│ ├── kubernetes_node_analysis.png
│ ├── kubernetes_problematic_nodes.png
│ ├── management_zone_rule_guestbook.png
│ ├── management_zone_rule_namespace.png
│ ├── management_zone_rule_sockshop.png
│ ├── management_zones.png
│ ├── management_zones_filter.png
│ ├── module_8-add-security-groups.png
│ ├── module_8-clusters.png
│ ├── module_8-modify-security-groups.png
│ ├── new_user_group.png
│ ├── node_analysis_filter.png
│ ├── oneagent-operator.png
│ ├── opa-gatekeeper.png
│ ├── operator_pod.png
│ ├── paas_token.png
│ ├── paas_token_value.png
│ ├── personal_token_scopes.png
│ ├── pg_labels_annotations.png
│ ├── pod_describe.png
│ ├── podinfo_app_mesh.png
│ ├── podinfo_screen.png
│ ├── preview_management_zone_rule_infra.png
│ ├── preview_management_zone_rule_services.png
│ ├── problem_notification_setup.png
│ ├── promo_socks.png
│ ├── route53-eks-1.png
│ ├── save-environment.png
│ ├── save_tag_rule.png
│ ├── service.png
│ ├── service_naming_rule_preview.png
│ ├── service_naming_rules.png
│ ├── service_naming_validation.png
│ ├── services.png
│ ├── services_filtered_by_management_zone.png
│ ├── services_filtered_dev_namespace.png
│ ├── slack_carts_dev_problem_open.png
│ ├── slack_carts_dev_problem_resolved.png
│ ├── slack_carts_dev_test_run.png
│ ├── slack_carts_support_ops_problem_open.png
│ ├── slack_carts_support_ops_problem_resolved.png
│ ├── slack_channels.png
│ ├── sockshop-topology.png
│ ├── sockshop.png
│ ├── super_search_box_tag.png
│ ├── synthetic.png
│ ├── user_group_assignation.png
│ ├── user_session_replay.png
│ ├── user_sessions.png
│ ├── validate.png
│ ├── workshop.png
│ ├── workshop02_gitops-operating-model.png
│ └── workshop7-management-cluster.svg
└── webspec.yml
/.github/workflows/release.yaml:
--------------------------------------------------------------------------------
1 | name: publish
2 | on: push
3 |
4 | jobs:
5 | deploy:
6 | runs-on: ubuntu-latest
7 |
8 | steps:
9 | - name: checkout
10 | uses: actions/checkout@v2
11 | with:
12 | submodules: true
13 | fetch-depth: 0
14 |
15 | - name: get hugo
16 | uses: peaceiris/actions-hugo@v2
17 | with:
18 | hugo-version: "0.70.0"
19 |
20 | - name: clean output
21 | run: rm -rf public
22 |
23 | - name: build
24 | run: hugo
25 |
26 | - name: deploy
27 | uses: peaceiris/actions-gh-pages@v3
28 | with:
29 | github_token: ${{ secrets.GITHUB_TOKEN }}
30 | publish_dir: ./public
31 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | *.*~
3 | project.lock.json
4 | .DS_Store
5 | *.pyc
6 |
7 | # User-specific files
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | build/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 | msbuild.log
25 | msbuild.err
26 | msbuild.wrn
27 |
28 | # Visual Studio
29 | .vs/
30 | .vscode/
31 |
32 | # JetBrains IDEs
33 | .idea
34 |
35 | # Node Modules
36 | node_modules/
37 | dynatrace-k8s/
38 | notes.txt
39 | *.pptx
40 | public/
41 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "themes/hugo-theme-learn"]
2 | path = themes/hugo-theme-learn
3 | url = https://github.com/matcornic/hugo-theme-learn.git
4 | branch = master
5 |
6 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | ## Code of Conduct
2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
4 | opensource-codeofconduct@amazon.com with any additional questions or comments.
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | This repo contains the content for a workshop that shows how Weaveworks helps DevOps and AppDev gain end-to-end visibility and immediate insight to identify root cases to problems when managing EKS.
4 |
5 | This workshop is available at https://weaveworks-gitops.awsworkshop.io/
6 |
7 | # To view this content locally
8 |
9 | * install [hugo](https://gohugo.io/)
10 | * macOS: `brew install hugo`
11 | * Windows: `choco install hugo -confirm`
12 | * clone this repo
13 | * execute in the root folder:
14 | * `git submodule init`
15 | * `git submodule update --recursive --remote`
16 | * run ```hugo server```
17 | * open website
18 |
19 | # Reference
20 |
21 | * [AWS workshop content documentation guide](https://aws-samples.github.io/aws-modernization-workshop-sample/)
22 | * [AWS sample workshop](https://github.com/aws-samples/aws-modernization-workshop-sample)
23 |
--------------------------------------------------------------------------------
/archetypes/default.md:
--------------------------------------------------------------------------------
1 | ---
2 | title = "{{ replace .Name "-" " " | title }}"
3 | date: {{ .Date }}
4 | draft: true
5 | ---
6 |
7 |
--------------------------------------------------------------------------------
/content/10_aws_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Start the Workshop"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | # Getting Started
8 |
9 | To start the workshop, you first need an AWS account and to provision the resources for the workshop. Please choose the link from one of the following options:
10 |
11 | **Option 1:**
12 | [Running the workshop on your own (in your own AWS account)](/10_aws_prerequisites/20_self_paced.html)
13 |
14 | **Option 2:**
15 | [Attending an AWS hosted event (using AWS provided hashes)](/10_aws_prerequisites/10_aws_event.html)
16 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/11_install_eksctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install eksctl"
3 | chapter = false
4 | weight = 11
5 |
6 | +++
7 |
8 | For this workshop you will use [eksctl](https://eksctl.io/introduction/#installation). Once you install eksctl, you will be ready to get started.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```
13 | curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
14 | ```
15 |
16 | ```
17 | sudo mv /tmp/eksctl /usr/local/bin
18 | ```
19 |
20 | This will install `eksctl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
21 |
22 | ```
23 | eksctl get cluster
24 | ```
25 |
26 | You should get a "No clusters found" message. Running the following command will indicate which version of the command line tool you have installed:
27 |
28 | ```
29 | eksctl version
30 | ```
31 |
32 | For the current workshop, we will be using `eksctl` **0.53** or newer. Please verify the version, as some features are only available in the **0.53** version of `eksctl` and newer.
33 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/12_install_kubectl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kubectl"
3 | chapter = false
4 | weight = 12
5 |
6 | +++
7 |
8 | The Kubernetes command-line tool, [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux), allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```
13 | curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
14 | ```
15 |
16 | ```
17 | chmod +x ./kubectl
18 | ```
19 |
20 | ```
21 | sudo mv ./kubectl /usr/local/bin/kubectl
22 | ```
23 |
24 | This will install `kubectl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
25 |
26 | ```
27 | kubectl version --client
28 | ```
29 |
30 | You should see the `kubectl` version message.
31 |
32 |
33 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/14_install_fluxctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install Required CLIs"
3 | chapter = false
4 | weight = 14
5 | +++
6 |
7 | # Install the required CLIs
8 |
9 | Throughout the workshops you may need one of the following two products, both built by Weaveworks.
10 |
11 | ## Install Fluxctl
12 |
13 | [Flux CLI](https://fluxcd.io/docs/installation/) is a CLI tool that is able to talk to [Weave Flux](https://github.com/fluxcd/flux2).
14 |
15 | Install by running this command:
16 |
17 | ```sh
18 | curl -s https://fluxcd.io/install.sh | sudo bash
19 | ```
20 |
21 | Verify the installation:
22 |
23 | ```sh
24 | flux -v
25 | ```
26 |
27 | ## Install Weave GitOps
28 |
29 | Weave GitOps Core is the latest product from Weaveworks, and enables a streamlined and effective GitOps Workflow.
30 |
31 | ```sh
32 | curl -L https://github.com/weaveworks/weave-gitops/releases/download/v0.2.1/wego-$(uname)-$(uname -m) -o wego
33 | chmod +x wego
34 | sudo mv ./wego /usr/local/bin/wego
35 | ```
36 |
37 | Verify the installation:
38 |
39 | ```sh
40 | wego version
41 | ```
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/15_install_kustomize.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kustomize"
3 | chapter = false
4 | weight = 15
5 |
6 | +++
7 |
8 | ## Install Kustomize
9 |
10 | [Kustomize](https://github.com/kubernetes-sigs/kustomize) lets you customize raw, template-free YAML files for multiple purposes, leaving the original YAML untouched and usable as is.
11 |
12 | Install kustomize for Linux:
13 |
14 | ```sh
15 | curl --silent --location --remote-name \
16 | "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.2.3/kustomize_kustomize.v3.2.3_linux_amd64" && \
17 | chmod a+x kustomize_kustomize.v3.2.3_linux_amd64 && \
18 | sudo mv kustomize_kustomize.v3.2.3_linux_amd64 /usr/local/bin/kustomize
19 | ```
20 |
21 | Verify the install with:
22 |
23 | ```sh
24 | kustomize version
25 | ```
26 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/16_install_aws-iam.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install AWS IAM Authenticator"
3 | chapter = false
4 | weight = 16
5 |
6 | +++
7 |
8 | Amazon EKS uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM authenticator for Kubernetes. You can configure the stock kubectl client to work with Amazon EKS by installing the AWS IAM authenticator for Kubernetes and modifying your kubectl configuration file to use it for authentication.
9 |
10 | To install `aws-iam-authenticator` on Cloud9
11 |
12 | Download the Amazon EKS-vended `aws-iam-authenticator binary` from Amazon S3:
13 |
14 | ```
15 | curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/linux/amd64/aws-iam-authenticator
16 | ```
17 |
18 | Make the downloaded binary executable:
19 |
20 | ```
21 | chmod +x ./aws-iam-authenticator
22 | ```
23 |
24 | And move it into a common directory:
25 |
26 | ```
27 | sudo mv ./aws-iam-authenticator /usr/local/bin
28 | ```
29 |
30 | Test that the aws-iam-authenticator binary works:
31 |
32 | ```
33 | aws-iam-authenticator help
34 | ```
35 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/17_create_iam_policy_and_role.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Grant permissions to role"
3 | chapter = false
4 | weight = 17
5 | +++
6 |
7 | Your event engine seat has been pre-provisioned with an IAM role with basic access rights, for the purpose of the workshop and considering you are running in a sandboxed environment, we will grant wider privileges to the precreated role.
8 |
9 | {{% notice warning %}}
10 | Granting full privileges to a role is **not** something to do in any scenario outside of sandboxed and ephemeral event engine use cases.
11 | {{% /notice %}}
12 |
13 | - Navigate to the Identity and Access Management (IAM) service in AWS.
14 | - Click on `Roles` and look for a role that begins with `mod-` with `AWS Service: ec2` for Trusted Entities.
15 | - Click on the Role and then click on `Attach policies`
16 | - Select `AdministratorAccess` and click on `Attach policy`
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/18_attach_the_role.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Attach Role to instance"
3 | chapter = false
4 | weight = 18
5 | +++
6 |
7 | Now, we need to attach the IAM role we created in the previous step, to the Cloud9 Instance that you will be working on:
8 |
9 | - Switch to the **AWS Console** (You can open the console from the "Team Dashboard")
10 | - Under **Services**, select **EC2**
11 | - Click **Running Instances**
12 | - Select the instance named "aws-cloud9-..." by clicking the check box to the left of the name
13 | - On **Actions** pull down, select **Security -> Modify IAM Role**
14 | - In the **IAM role** pull down, select the role that starts with `mod-`
15 | - Click **Save**
16 |
--------------------------------------------------------------------------------
/content/20_weaveworks_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Prerequisites for all GitOps Workshop Modules"
3 | chapter = true
4 | weight = 20
5 | +++
6 |
7 | # Setup All the Required Tools & Permissions
8 |
9 | To complete these workshop modules, you will first need to install eksctl. Instructions for doing this can be found at [eksctl.io](https://eksctl.io/introduction/#installation). eksctl (pronounced "eks control") is a simple CLI tool for creating clusters on EKS. It is written in Go, uses CloudFormation, was created by [Weaveworks](https://weave.works) and it welcomes contributions from the community.
10 |
11 | {{% notice warning %}}
12 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
13 | {{% /notice %}}
14 |
15 |
--------------------------------------------------------------------------------
/content/22_workshop_1/10_setup_gitops_prequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Setup Prerequisites"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | ## Getting ready for gitops
8 |
9 | [gitops](https://www.weave.works/technologies/gitops/) is a way to do Kubernetes application delivery. It works by using Git as a single source of truth for Kubernetes resources and everything else. With Git at the center of your delivery pipelines, you and your team can make pull requests to accelerate and simplify application deployments and operations tasks to Kubernetes.
10 |
--------------------------------------------------------------------------------
/content/22_workshop_1/20_create_cluster/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create a Cluster"
3 | chapter = true
4 | weight = 21
5 | +++
6 |
7 | # eksctl Setup
8 |
9 | To complete the workshop, you first need to install eksctl v0.53.0 or newer. Instructions for doing this can be found at [eksctl.io](https://eksctl.io/introduction/#installation). eksctl (pronounced "eks control") is a simple CLI tool for creating clusters on EKS. It is written in Go, uses CloudFormation, was created by [Weaveworks](https://weave.works) and it welcomes contributions from the community.
10 |
11 | {{% notice warning %}}
12 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
13 | {{% /notice %}}
14 |
15 |
--------------------------------------------------------------------------------
/content/22_workshop_1/30_gitops_enable/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Doing GitOps with Flux v2"
3 | chapter = true
4 | weight = 30
5 | +++
6 |
7 | ## GitOps and Flux v2
8 |
9 | [gitops](https://www.weave.works/technologies/gitops/) is a way to do Kubernetes application delivery and cluster management. It works by using Git as a single source of truth for Kubernetes resources and everything else.
10 |
11 | With Git at the center of your delivery pipelines, you and your team can make pull requests to accelerate and simplify application deployments and operations tasks to Kubernetes.
12 |
13 | Flux v2 runs in your EKS cluster and tracks changes to one or more Git repositories. These repositories store all manifests that define the desired state of your cluster, Flux will continuously and automatically reconcile the running state of the cluster with the state declared in code.
14 |
--------------------------------------------------------------------------------
/content/22_workshop_1/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Workshop Module 1: Introduction to GitOps on EKS"
3 | chapter = true
4 | weight = 22
5 | +++
6 |
7 | # Workshop Module 1: Introduction to GitOps on EKS
8 |
9 | In this module we'll introduce you to the concepts of GitOps and how to create and operate an EKS cluster using the eksctl tool. This workshop is a prerequisite for all other workshops in this series.
10 |
11 |
12 | {{% notice warning %}}
13 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
14 | {{% /notice %}}
15 |
16 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/01_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Workshop Prerequisites"
3 | chapter = true
4 | weight = 5
5 | +++
6 |
7 | # Prerequisites
8 |
9 | Please note that in order to complete this workshop, you should have completed [Prerequisites for all GitOps Workshops](/20_weaveworks_prerequisites.html). Once you have completed the Introduction to GitOps Workshop, please return to perform this workshop.
10 |
11 |
12 | {{% notice warning %}}
13 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
14 | {{% /notice %}}
15 |
16 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/40_gitops_enable_clusters/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "GitOps Enable Clusters"
3 | chapter = true
4 | weight = 40
5 | +++
6 |
7 | # GitOps Enable the Two EKS Clusters
8 |
9 | Having created two clusters, you will now have two different contexts available for `kubectl`, you should be careful with selecting the right context as you proceed enabling GitOps on each of them.
10 |
11 | Running the command `kubectl config get-contexts` will show you the available contexts and which is currently active, as marked by the `*` in the first column.
12 |
13 |
14 | AdministratorAccess:~/environment $ kubectl config get-contexts
15 | CURRENT NAME CLUSTER AUTHINFO NAMESPACE
16 | * i-041b36df51a73d3da@aws-workshop-cluster.us-east-2.eksctl.io aws-workshop-cluster.us-east-2.eksctl.io i-041b36df51a73d3da@aws-workshop-cluster.us-east-2.eksctl.io
17 | i-041b36df51a73d3da@aws-workshop-cluster.us-west-1.eksctl.io aws-workshop-cluster.us-west-1.eksctl.io i-041b36df51a73d3da@aws-workshop-cluster.us-west-1.eksctl.io
18 |
19 |
20 | You should always make sure you are paying attention to which cluster you are interacting with when using `kubectl` or the `flux` CLI.
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/50_add_yamls/20_hello_kubernetes_introduction.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Introducing Hello Kubernetes"
3 | chapter = false
4 | weight = 20
5 | +++
6 |
7 | `Hello Kubernetes` is a very simple web application created by Paul Bouwer, open source and [available in GitHub](https://github.com/paulbouwer/hello-kubernetes).
8 |
9 | For our workshop, we will be using `Hello Kubernetes` to quickly demonstrate how load balancing and high availability can be simply implemented with ingresses and Kubernetes.
10 |
11 | Our configuration will enable internal Kubernetes load balancing and scaling. Optionally, AWS **Route 53** can be used to balance between your actual clusters in different regions.
12 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/50_add_yamls/22_hello_kubernetes_hpa.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Enable Hello Kubernetes to Scale Automatically"
3 | chapter = false
4 | weight = 22
5 | +++
6 |
7 | A very useful feature in Kubernetes is to enable auto-scaling. This is accomplished by created a Horizontal Pod Autoscaler (HPA) object that is targeted at a specific pod. Each HPA has criteria that Kubernetes uses in order add pods to the running deployment. This HPA will scale the podinfo deployment to a minimum of 2 replicas, and a maximum of 4 replicas.
8 |
9 | Create a file called `clusters/eks-ha/hello-kubernetes/hpa.yaml` in your git repository:
10 |
11 | ```yaml
12 | apiVersion: autoscaling/v2beta1
13 | kind: HorizontalPodAutoscaler
14 | metadata:
15 | name: hello-kubernetes-eks-ha
16 | namespace: hello-kubernetes
17 | spec:
18 | scaleTargetRef:
19 | apiVersion: apps/v1
20 | kind: Deployment
21 | name: hello-kubernetes-eks-ha
22 | minReplicas: 2
23 | maxReplicas: 4
24 | metrics:
25 | - type: Resource
26 | resource:
27 | name: cpu
28 | targetAverageUtilization: 99
29 | ```
30 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/50_add_yamls/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Manage your cluster using GitOps"
3 | chapter = true
4 | weight = 50
5 | +++
6 |
7 | # Modify the desired state of your cluster using GitOps
8 |
9 | In this section, we will be modifying the desired state of our clusters, by adding Kubernetes manifests to your git repository. Each one of the manifests installs specific features and applications.
10 |
11 | You can either edit these files directly in your git repository using the "Create File" function in the web user interface of your Git service provider of choice, or you can clone the repository into your **Cloud9** development environment, and edit them there.
12 |
13 | If you use the `git clone` method, do not forget to `git add .` and `git commit -m "add commit message"` your changes, and `git push` them to the repository.
14 |
15 | The software agent, `flux`, will check for new commits to the git repository, and apply any changes automatically to your cluster.
16 |
17 | You must pay attention to the directory structure in the repository. When running the Flux CLI previously, you specified a `--path` option, this defines the root path where all manifests will be stored.
18 |
19 | You will find a `flux-system/` sub-directory, this is where we will be adding the various manifests in the following sections.
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/60_test_ingresses/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Test Ingress Settings"
3 | chapter = true
4 | weight = 60
5 | +++
6 | In each of your terminal windows, execute:
7 | ```
8 | kubectl get ingress -A
9 | ```
10 | You should see output similar to this:
11 |
12 |
13 | NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
14 | hello-kubernetes hello-kubernetes-ingress * a94ff1031fbaf4a7e98124de4f1cfe48-541c97dd6045340c.elb.us-east-2.amazonaws.com 80 11h
15 |
16 |
17 | Now, using your browser, access each of you ingresses with HTTP. From the above, the URL would be:
18 |
19 |
20 | http://a94ff1031fbaf4a7e98124de4f1cfe48-541c97dd6045340c.elb.us-east-2.amazonaws.com
21 |
22 |
23 | You should see the `Hello Kubernetes` status page. Refreshing the browser several times will show you that the `Pod` value will change as Kubernetes routes between your two `hello-kubernetes` pods.
24 |
25 | 
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/70_adjust_hpa/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Adjust HPA Settings"
3 | chapter = true
4 | weight = 70
5 | +++
6 | A Horizontal Pod Autoscaler would normally be triggered by the thresholds set in the manifest. However, there are times when you know that the minimum (or maximum) number of pods should be adjusted. This is done very easily by editing the `clusters/eks-ha/hello-kubernetes/hpa.yaml` file you created earlier.
7 |
8 | Edit the file, and change the number of replicas to something different:
9 |
10 |
11 | minReplicas: 3
12 | maxReplicas: 6
13 |
14 |
15 | Don't forget to commit and push the changes. After a few minutes, check the clusters to see your changes reflected.
16 |
17 | ```
18 | kubectl get pods -n hello-kubernetes
19 | ```
20 |
21 | If you can generate enough traffic, you should also be able to see the number of replicas scale up.
22 |
--------------------------------------------------------------------------------
/content/25_workshop_2_HA-DR/80_configure_route53/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Configure Route53 (Optional)"
3 | chapter = true
4 | weight = 80
5 | +++
6 | To see what your ingress controller and cluster look like, head to the console -> EC2 -> LoadBalancers.
7 |
8 | You'll see that there is a load balancer between the nodes of your kubernetes cluster, and it is assigned a host name. That is the same host name that appears s output from this command:
9 | ```
10 | kubectl get ingress -A
11 | ```
12 |
13 | To finish a complete HA solution, you could add a **Route 53** DNS round robin (Simple) or a `Failover` type of entry, using one cluster's `Ingress` for `primary` and the other cluster's for `secondary`. This would complete the simplest high availability configuration for EKS.
14 |
15 | There are other ingress available for EKS that provide additional features.
16 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/010_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Workshop Prerequsites"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | # Prerequisites
8 |
9 | Please note that in order to complete this workshop, you should have completed [Workshop 1: Introduction to GitOps on EKS](/22_workshop_1/). Once you have completed the Introduction to GitOps Workshop, please return to perform this workshop.
10 |
11 |
12 | {{% notice warning %}}
13 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
14 | {{% /notice %}}
15 |
16 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/120_deploy_opa_gatekeeper/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deploy OPA gatekeeper"
3 | chapter = true
4 | weight = 120
5 | +++
6 |
7 | ### Manage Policies and Compliance using OPA Gatekeeper
8 |
9 |
10 | This workshop will run through the following:
11 |
12 | - **Intro to OPA**
13 | - what is OPA?
14 | - How does Kubernetes controls what is created.
15 | - How can we extend this with OPA.
16 | - Overview of OPA gatekeeper
17 |
18 | - **Deploying OPA Gatekeeper**
19 | - Download and install OPA Gatekeeper
20 | - A run thorugh of its componnents and whats installed
21 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/120_deploy_opa_gatekeeper/deploy.files/allowed-repos-policy.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: constraints.gatekeeper.sh/v1beta1
2 | kind: K8sAllowedRepos
3 | metadata:
4 | name: prod-repo-is-openpolicyagent
5 | spec:
6 | match:
7 | kinds:
8 | - apiGroups: [""]
9 | kinds: ["Pod"]
10 | namespaces:
11 | - "production"
12 | parameters:
13 | repos:
14 | - "only-this-repo"
15 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/120_deploy_opa_gatekeeper/deploy.files/bad-namespace-example.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: test-namespace
5 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/120_deploy_opa_gatekeeper/deploy.files/pod-aunauthorized-repo-example.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: opa
5 | namespace: production
6 | labels:
7 | owner: me.agilebank.demo
8 | spec:
9 | containers:
10 | - name: opa
11 | image: openpolicyagent/opa:0.9.2
12 | args:
13 | - "run"
14 | - "--server"
15 | - "--addr=localhost:8080"
16 | resources:
17 | limits:
18 | cpu: "100m"
19 | memory: "30Mi"
20 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/120_deploy_opa_gatekeeper/deploy.files/required-labels-policy.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: constraints.gatekeeper.sh/v1beta1
2 | kind: K8sRequiredLabels
3 | metadata:
4 | name: all-must-have-owner
5 | spec:
6 | match:
7 | kinds:
8 | - apiGroups: [""]
9 | kinds: ["Namespace"]
10 | parameters:
11 | message: "All namespaces must have an `owner` label that points to your company username"
12 | labels:
13 | - key: owner
14 | allowedRegex: "^[a-zA-Z]+.agilebank.demo$"
15 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/125_create_policy_templates/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create Policy Constraint Templates"
3 | chapter = true
4 | weight = 125
5 | +++
6 |
7 | ### Manage Policies and Compliance using OPA Gatekeeper
8 |
9 |
10 | This workshop will run through how to create Constraint Templates to use with OPA Gatekeeper. We will run how to write a template, what component of a template does and also run through some example`rego` policies.
11 |
12 | All policies are written in rego, for detailed information on how this works please visit [here](https://www.openpolicyagent.org/docs/latest/policy-language/).
13 |
14 | Rego is a declaritive query language that can be used to support document models such as JSON. Making it a great fit for Kubernetes!
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/130_create_policy_contraints/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create Policy Constraints"
3 | chapter = true
4 | weight = 130
5 | +++
6 |
7 | # Create Policy Constraints
8 |
9 | We will now run through how to use the CRDs we defined in the `ContraintTemplates` to create policies in our cluster.
10 |
11 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/140_test-policy-contraints/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Test Policy Constraints"
3 | chapter = true
4 | weight = 140
5 | +++
6 |
7 | In this workshop we are going to create some resources and attempt to deploy them in to our cluster.
8 |
9 | {{% notice info %}}
10 | These will be intentially violating policies we defined in our previous workshop.
11 | {{% /notice %}}
12 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/150_iam-groups/10_intro.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kubernetes Authentication"
3 | date: 2020-05-12T18:00:00-00:00
4 | draft: false
5 | weight: 10
6 | ---
7 |
8 | In this workshop we will run through how to map IAM roles to rbac.
9 |
10 | If you have different teams which needs different kind of cluster access, it would be difficult to manually add or remove access for each EKS clusters you want them to give or remove access from.
11 |
12 | We can leverage on AWS [IAM Groups](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) to easilly add or remove users and give them permission to whole cluster, or just part of it depending on which groups they belong to.
13 |
14 | In this lesson, we will create 3 IAM roles that we will map to 3 IAM groups.
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/150_iam-groups/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Using IAM Groups to manage Kubernetes access"
3 | chapter = true
4 | weight = 150
5 | +++
6 | In this chapter, we'll learn about how to simplify access to different parts of the kubernetes clusters
7 | depending on IAM Groups
8 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/150_iam-groups/deploy.files/development-ns.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: development
5 | labels:
6 | owner: me.agilebank.demo
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/150_iam-groups/deploy.files/integration-ns.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: integration
5 | labels:
6 | owner: me.agilebank.demo
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/allowed-repos-policy.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: constraints.gatekeeper.sh/v1beta1
2 | kind: K8sAllowedRepos
3 | metadata:
4 | name: prod-repo-is-openpolicyagent
5 | spec:
6 | match:
7 | kinds:
8 | - apiGroups: [""]
9 | kinds: ["Pod"]
10 | namespaces:
11 | - "production"
12 | parameters:
13 | repos:
14 | - "only-this-repo"
15 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/allowed-repos-template.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: templates.gatekeeper.sh/v1beta1
2 | kind: ConstraintTemplate
3 | metadata:
4 | name: k8sallowedrepos
5 | spec:
6 | crd:
7 | spec:
8 | names:
9 | kind: K8sAllowedRepos
10 | validation:
11 | # Schema for the `parameters` field
12 | openAPIV3Schema:
13 | properties:
14 | repos:
15 | type: array
16 | items:
17 | type: string
18 | targets:
19 | - target: admission.k8s.gatekeeper.sh
20 | rego: |
21 | package k8sallowedrepos
22 |
23 | violation[{"msg": msg}] {
24 | container := input.review.object.spec.containers[_]
25 | satisfied := [good | repo = input.parameters.repos[_] ; good = startswith(container.image, repo)]
26 | not any(satisfied)
27 | msg := sprintf("container <%v> has an invalid image repo <%v>, allowed repos are %v", [container.name, container.image, input.parameters.repos])
28 | }
29 |
30 | violation[{"msg": msg}] {
31 | container := input.review.object.spec.initContainers[_]
32 | satisfied := [good | repo = input.parameters.repos[_] ; good = startswith(container.image, repo)]
33 | not any(satisfied)
34 | msg := sprintf("container <%v> has an invalid image repo <%v>, allowed repos are %v", [container.name, container.image, input.parameters.repos])
35 | }
36 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/bad-namespace-example.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: test-namespace
5 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/development-ns.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: development
5 | labels:
6 | owner: me.agilebank.demo
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/integration-ns.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: integration
5 | labels:
6 | owner: me.agilebank.demo
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/pod-aunauthorized-repo-example.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: opa
5 | namespace: production
6 | labels:
7 | owner: me.agilebank.demo
8 | spec:
9 | containers:
10 | - name: opa
11 | image: openpolicyagent/opa:0.9.2
12 | args:
13 | - "run"
14 | - "--server"
15 | - "--addr=localhost:8080"
16 | resources:
17 | limits:
18 | cpu: "100m"
19 | memory: "30Mi"
20 |
--------------------------------------------------------------------------------
/content/30_workshop_03_grc/deploy.files/required-labels-policy.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: constraints.gatekeeper.sh/v1beta1
2 | kind: K8sRequiredLabels
3 | metadata:
4 | name: all-must-have-owner
5 | spec:
6 | match:
7 | kinds:
8 | - apiGroups: [""]
9 | kinds: ["Namespace"]
10 | parameters:
11 | message: "All namespaces must have an `owner` label that points to your company username"
12 | labels:
13 | - key: owner
14 | allowedRegex: "^[a-zA-Z]+.agilebank.demo$"
15 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/01_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Workshop Prerequisites"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | # Prerequisites
8 |
9 | Please note that in order to complete this workshop, you should have:
10 |
11 | * Completed [Workshop 1: Introduction to GitOps on EKS](/22_workshop_1/)
12 | * Setup you environment using [Prerequisites for all GitOps Workshops](/20_weaveworks_prerequisites.html)
13 |
14 | Once you have completed both of these, please return here and run the following command in the **Cloud9** terminal:
15 |
16 | ```bash
17 | aws sts get-caller-identity --query Arn | grep TeamRole -q && echo "IAM role valid" || echo "IAM role NOT valid"
18 | ```
19 |
20 | If the IAM role is not valid, **DO NOT PROCEED** . Go back and confirm the steps on this page.
21 |
22 | {{% notice warning %}}
23 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
24 | {{% /notice %}}
25 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/30_gitops_enable_clusters/40_verify_flux_op.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Verify Flux and Helm are Operational"
3 | chapter = false
4 | weight = 40
5 | +++
6 |
7 | Now we have installed Flux and Helm Operator we need to verify that they are both operational.
8 |
9 | Run the following command in your **Cloud9** terminal:
10 |
11 | ```bash
12 | kubectl get pods -n flux
13 | ```
14 |
15 | You should see that there are 3 pods and the status should be **Running**:
16 |
17 | ```bash
18 | NAME READY STATUS RESTARTS AGE
19 | flux-5884545b8c-thfxh 1/1 Running 0 22m
20 | flux-memcached-97fc488-zwn8w 1/1 Running 0 22m
21 | helm-operator-6489b5cc6b-5pdvl 1/1 Running 0 7m21s
22 | ```
23 |
24 | {{% notice warning %}}
25 | If the status isn't running then don't proceed with the workshop until it's fixed. Please ask for help.
26 | {{% /notice %}}
27 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/30_gitops_enable_clusters/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "GitOps Enable Clusters"
3 | chapter = true
4 | weight = 30
5 | +++
6 |
7 | # GitOps Enable Your EKS Cluster
8 |
9 | [gitops](https://www.weave.works/technologies/gitops/) is a way to do Kubernetes application delivery. It works by using Git as a single source of truth for Kubernetes resources and everything else. With Git at the center of your delivery pipelines, you and your team can make pull requests to accelerate and simplify application deployments and operations tasks to Kubernetes.
10 |
11 | It's assumed that you have already completed [Workshop 1: Introduction to GitOps on EKS](/22_workshop_1/) and as such we will be speeding through some of the base Flux commands.
12 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/40_install-app-mesh/90_verify_mesh.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Verify the Service Mesh is Active"
3 | chapter = false
4 | weight = 90
5 | +++
6 |
7 | When we installed the App Mesh Injector we asked it to create a new service mesh called **apps**. A service mesh is a logical boundary for network traffic between the services that reside within it.
8 |
9 | To check that the mesh has been created we can use the AWS CLI. Run the following command:
10 |
11 | ```bash
12 | aws appmesh list-meshes
13 | ```
14 |
15 | The output should be similar to below and you should see **apps** listed:
16 |
17 | ```json
18 | {
19 | "meshes": [
20 | {
21 | "arn": "arn:aws:appmesh:us-west-2:1234567890:mesh/apps",
22 | "meshName": "apps",
23 | "meshOwner": "1234567890",
24 | "resourceOwner": "1234567890"
25 | }
26 | ]
27 | }
28 | ```
29 |
30 | You can also check by going to the AWS Console and choosing **AWS App Mesh** from the **Services** menu:
31 |
32 | 
33 |
34 | And we need to check out out cluster by running:
35 |
36 | ```bash
37 | kubectl get meshes -A
38 | ```
39 |
40 | You should see output similar to:
41 |
42 | ```bash
43 | NAME AGE
44 | apps 51m
45 | ```
46 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/50_install_container_insights/30_verify_container_insights.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Verify metric collection"
3 | chapter = false
4 | weight = 20
5 | +++
6 |
7 | Now that Container Insights with additional Prometheus metrics collection is setup we should start to see metrics appear in CloudWatch.
8 |
9 | Go to the **AWS Console** and open **CloudWatch**.
10 |
11 | Now click **Metrics** on the left pane. On the right portion of the page you should now see **ContainerInsights** and **ContainerInsights/Prometheus** listed:
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/50_install_container_insights/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install Container Insights"
3 | chapter = true
4 | weight = 50
5 | +++
6 |
7 | # Install Container Insights
8 |
9 | In the previous section we setup Prometheus to collect the metrics from App Mesh. Ideally we want to have the metrics available in Cloudwatch. We can use the [Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) which recently [added support for collecting prometheus metrics](https://aws.amazon.com/blogs/containers/using-prometheus-metrics-in-amazon-cloudwatch/).
10 |
11 | We will follow a GitOps methodology to install Container Insights.
12 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/10_about_podinfo.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Introducing Podinfo"
3 | chapter = false
4 | weight = 10
5 | +++
6 |
7 | Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. It provides a simple web interface that allows you verify the operation of ingresses and/or service meshes. Podinfo was written by Stefan Prodan of Weaveworks, and is freely available on **github.** There are many options, and URLs are available to provide a wealth of information. [More information on Podinfo is available here.](https://github.com/stefanprodan/podinfo)
8 |
9 | For our workshop, we will be using `podinfo` to show how to use App Mesh and the observability it gives us.
10 |
11 | We will be deploying podinfo in the following logical architecture:
12 |
13 | 
14 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/70_update_routing.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Update the routing"
3 | chapter = false
4 | weight = 70
5 | +++
6 |
7 | We are happy that **v2** of the backend service is behaving as expected and want to switch 100% of the traffic to it.
8 |
9 | Edit the `apps/3-podinfo-virtual-services.yaml` file so it looks like this:
10 |
11 | ```bash
12 | apiVersion: appmesh.k8s.aws/v1beta1
13 | kind: VirtualService
14 | metadata:
15 | name: backend-podinfo.apps.svc.cluster.local
16 | namespace: apps
17 | spec:
18 | meshName: apps
19 | virtualRouter:
20 | name: backend-podinfo-router
21 | routes:
22 | - name: podinfo-route
23 | http:
24 | match:
25 | prefix: /
26 | action:
27 | weightedTargets:
28 | - virtualNodeName: backend-podinfo-v2
29 | weight: 100
30 | ```
31 |
32 | {{% notice note %}}
33 | We have removed the target for **v1** and updated the target for **v2** to be 100.
34 | {{% /notice %}}
35 |
36 | Open a new terminal window in **Cloud9** (make sure you leave the other terminal window running the query).
37 |
38 | Use the second terminal window to add and then commit **3-podinfo-virtual-services.yaml**. Push the the changes to your GitHub repo. Flux will pick this change up and apply it.
39 |
40 | Go back to the original terminal window. In about a minutes you will see the output change and the **hostname** will always show **v2**.
41 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/80_revert_routing.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Revert the routing"
3 | chapter = false
4 | weight = 80
5 | +++
6 |
7 | The support department is receiving calls from customers about errors they are getting after the new release. You want to put the routing back to a 50:50 split.
8 |
9 | This can be done in 2 ways:
10 |
11 | * Revert the last commit and force push - rewrites history
12 | * Fix forward - by updating the file and committing/push
13 |
14 | If you revert the change you will lose the history of the routing changes. Many companies prefer a **Fix Forward** approach because of this.
15 |
16 | We will revert the change and push just to demonstrate this approach. Run the following commands from your second terminal window (make sure you leave the other terminal window running the query):
17 |
18 | ```bash
19 | # Undo last commit and don't keep the changes
20 | git reset --hard HEAD~1
21 |
22 | # Force push the changes so Flux picks them up
23 | git push -f
24 | ```
25 |
26 | Go back to the original terminal window. In about a minutes you will see the output change and the **hostname** will show **v1** and **v2**.
27 |
28 | Once you happy boht version are being called go back to the second terminal window and enter the following command:
29 |
30 | ```bash
31 | git log --oneline
32 | ```
33 |
34 | You will see that there is no history of the change where 100% traffic went to **v2**.
35 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/90_app_mesh_perf.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Performance Monitoring"
3 | chapter = false
4 | weight = 90
5 | +++
6 |
7 | As we've made some request using App Mesh lets return to **Container Insights** to have a look at the App Mesh performnace monitoring.
8 |
9 | In the **AWS Console** make sure you are in **CloudWatch**.
10 |
11 | On the left navigation pane click **Performance Monitoring** under **Container Insights**.
12 |
13 | In the left most dropdown box choose **Prometheus AppMesh** and then in the dropdown box next to this select our cluster **gitopsworkshop**.
14 |
15 | When you do this you will see perforamne metrics that are specific to App Mesh. For example:
16 |
17 | 
18 |
19 | This will show useful metrics such as request per second, number of meshed pods, error codes.
20 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install Sample App (PodInfo)"
3 | chapter = true
4 | weight = 60
5 | +++
6 |
7 | # Install a sample app (PodInfo)
8 |
9 | This this section, we will be deploying a sample application called PodInfo.
10 | We will be adding Kubernetes manifests to your git repository. Each one of the manifests installs specific features and applications.
11 |
12 | You can either edit these files directly in your git repository using the "Create File" function in the git repository web user interface, or you can clone the repository into one of your **Cloud9** terminal sessions, and edit them there. If you use the `git clone` method, do not forget to add, commit, and push your changes to the repository.
13 |
14 | The software agent, `flux`, will check for new commits to the git repository, and apply the changes to the manifests automatically to each of your clusters.
15 |
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/deploy.files/3-podinfo-virtual-services.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: appmesh.k8s.aws/v1beta1
2 | kind: VirtualService
3 | metadata:
4 | name: backend-podinfo.apps.svc.cluster.local
5 | namespace: apps
6 | spec:
7 | meshName: apps
8 | virtualRouter:
9 | name: backend-podinfo-router
10 | routes:
11 | - name: podinfo-route
12 | http:
13 | match:
14 | prefix: /
15 | action:
16 | weightedTargets:
17 | - virtualNodeName: backend-podinfo-v1
18 | weight: 50
19 | - virtualNodeName: backend-podinfo-v2
20 | weight: 50
--------------------------------------------------------------------------------
/content/40_workshop_4_hipo-teams/60_install-pod-info/deploy.files/4-podinfo-placeholder-services.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: backend-podinfo
5 | namespace: apps
6 | labels:
7 | app: backend-podinfo
8 | spec:
9 | ports:
10 | - port: 9898
11 | name: http
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/10_install_eksctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install eksctl"
3 | chapter = false
4 | weight = 10
5 |
6 | +++
7 |
8 | For this workshop you will use [eksctl](https://eksctl.io/introduction/#installation). Once you install eksctl, you will be ready to get started.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```sh
13 | curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp && \
14 | sudo mv /tmp/eksctl /usr/local/bin
15 | ```
16 |
17 | This will install `eksctl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
18 |
19 | ```sh
20 | eksctl get cluster
21 | ```
22 |
23 | You should get a "No clusters found" message.
24 |
25 | ```sh
26 | eksctl version
27 | ```
28 |
29 | For the current workshops, we will be using `eksctl` **0.19-rc.1** or newer. Please verify the version, as some features are only available in the **0.19** version of `eksctl`
30 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/20_install_kubectl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kubectl"
3 | chapter = false
4 | weight = 20
5 |
6 | +++
7 |
8 | The Kubernetes command-line tool, [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux), allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```sh
13 | curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && \
14 | chmod +x ./kubectl && \
15 | sudo mv ./kubectl /usr/local/bin/kubectl
16 | ```
17 |
18 | This will install `kubectl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
19 |
20 | ```sh
21 | kubectl version --client
22 | ```
23 |
24 | You should see the `kubectl` version message.
25 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/30_install_fluxctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install fluxctl"
3 | chapter = false
4 | weight = 30
5 |
6 | +++
7 |
8 | We will be using [Fluxctl](https://docs.fluxcd.io/en/1.17.1/references/fluxctl.html), a CLI tool that is able to talk to [Weave Flux](https://github.com/fluxcd/flux) to immediately apply and deploy changes we make to our repository.
9 |
10 | ```sh
11 | curl -Ls https://fluxcd.io/install | sh && \
12 | sudo mv $HOME/.fluxcd/bin/fluxctl /usr/local/bin/fluxctl
13 | ```
14 |
15 | Verify the installation:
16 |
17 | ```sh
18 | fluxctl version
19 | ```
20 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/40_install_kustomize.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kustomize"
3 | chapter = false
4 | weight = 40
5 |
6 | +++
7 |
8 | [Kustomize](https://github.com/kubernetes-sigs/kustomize) lets you customize raw, template-free YAML files for multiple purposes, leaving the original YAML untouched and usable as is.
9 |
10 | We will be using kustomize to create more targeted patches that make our code easier to factor, understand, and reuse.
11 |
12 | Install kustomize for Linux:
13 |
14 | ```sh
15 | curl --silent --location --remote-name \
16 | "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.2.3/kustomize_kustomize.v3.2.3_linux_amd64" && \
17 | chmod a+x kustomize_kustomize.v3.2.3_linux_amd64 && \
18 | sudo mv kustomize_kustomize.v3.2.3_linux_amd64 /usr/local/bin/kustomize
19 | ```
20 |
21 | Verify the install with:
22 |
23 | ```sh
24 | kustomize version
25 | ```
26 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/50_install_aws_iam_auth.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install aws iam authenticator"
3 | chapter = false
4 | weight = 50
5 |
6 | +++
7 |
8 | Amazon EKS uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM authenticator for Kubernetes. You can configure the stock kubectl client to work with Amazon EKS by installing the AWS IAM authenticator for Kubernetes and modifying your kubectl configuration file to use it for authentication.
9 |
10 | To install aws-iam-authenticator on Cloud9
11 |
12 | Download the Amazon EKS-vended aws-iam-authenticator binary from Amazon S3:
13 |
14 | ```sh
15 | curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/linux/amd64/aws-iam-authenticator
16 | ```
17 |
18 | Apply execute permissions to the binary:
19 |
20 | ```sh
21 | chmod +x ./aws-iam-authenticator
22 | ```
23 |
24 | And move it into a common directory:
25 |
26 | ```sh
27 | sudo mv ./aws-iam-authenticator /usr/local/bin
28 | ```
29 |
30 | Test that the aws-iam-authenticator binary works:
31 |
32 | ```sh
33 | aws-iam-authenticator help
34 | ```
35 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/60_add_iam_role.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Add the Required IAM Role"
3 | chapter = false
4 | weight = 60
5 |
6 | +++
7 |
8 | Creating and using EKS clusters in AWS requires specific IAM roles for the user creating and accessing EKS clusters.
9 |
10 | - Click the **A** button next to the `Share` button in the upper right hand corner of your Cloud9 workspace
11 | - Click **Manage EC2 Instance**
12 | - Make sure your `aws-cloud9-*` instance is selected
13 | - On **Actions** pull down, select **Instance Settings -> Attach/Replace IAM Role**
14 | - In the **IAM role** pull down, select **TeamRoleInstanceProfile**
15 | - To the right, click **Apply**
16 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/00_prerequisites.md/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Prerequisites"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | ## Prerequisites
8 |
9 | Before proceeding through this workshop, please ensure that you have installed the following to your Cloud9 environment:
10 |
11 | * [Cloud9 Workspace](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/01_create_workspace.html)
12 | * [Eksctl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/10_install_eksctl.html)
13 | * [Kubectl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/20_install_kubectl.html)
14 | * [Fluxctl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/30_install_fluxctl.html)
15 | * [Kustomize](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/40_install_kustomize.html)
16 | * [AWS IAM Authenticator](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/50_install_aws_iam_auth.html)
17 | * [Add IAM role](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/60_add_iam_role.html)
18 | * [Workspace IAM](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/70_workspace_iam.html)
19 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/10_create_cluster/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create Cluster"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | ## Create the EKS Cluster
8 |
9 | We will be creating our EKS cluster using `eksctl`.
10 |
11 | [eksctl](https://github.com/weaveworks/eksctl) is the official CLI tool for creating clusters on Amazon EKS. It is an open source project created by Weaveworks in partnership with AWS.
12 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/15_deployment_strategies/03_blue_green.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Blue / Green"
3 | chapter = false
4 | weight = 503
5 | +++
6 |
7 | In Blue / Green deployments, you will have two nearly identical environments, one of which is serving live traffic (Blue). New versions of your applications can be deployed as Green. Once any testing or quality assurance has been performed on the upgraded Green environment, traffic can be routed to the Green, and the blue will eventually be scaled down.
8 |
9 | 
10 |
11 | ### Benefits of Blue/Green Deployment
12 |
13 | * Avoids versioning issues
14 | * Instant rollout and rollback (while the blue deployment still exists)
15 |
16 | ### Drawbacks of Blue/Green Deployment
17 |
18 | * Requires resource duplication
19 | * Data synchronization between the two environments can lead to partial service interruption
20 |
21 | ### Suitable Use Cases
22 |
23 | * Monolithic legacy applications
24 | * Autonomous microservices
25 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/15_deployment_strategies/04_canary.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Canary"
3 | chapter = false
4 | weight = 504
5 | +++
6 |
7 | In Canary deployments, you will incrementally introduce upgraded versions of your services. Upgraded versions of your service are introduced as Canary deployments, where percentages of live traffic are routed to the upgraded services. Depending on the success / failure threshold, the rollout of the upgraded service will continue through to accepting 100% of live traffic in the instance of successful metrics / requests, or rolled back in the instance of failed requests.
8 |
9 | 
10 |
11 | ## Benefits of Canary Deployments
12 |
13 | * Low impact as the new version is released only to a subset of users
14 | * Controlled rollout with no downtime
15 | * Fast rollback
16 |
17 | ## Drawbacks of Canary Deployments
18 |
19 | * Typically requires a traffic management solution / service mesh (Envoy, Istio, Linkerd, App Mesh)
20 | * Requires backwards compatibility between API versions and database migrations
21 |
22 | ## Suitable Use Cases
23 |
24 | * User facing applications
25 | * Stateless microservices
26 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/15_deployment_strategies/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deployment Strategies"
3 | chapter = true
4 | weight = 15
5 | +++
6 |
7 | ## Deployment Strategies
8 |
9 | In this section, we will visit some deployment strategies. They include:
10 |
11 | * [Recreate](/50_workshop_5_accelerating_sdlc/15_deployment_strategies/01_recreate.html)
12 | * [Rolling Update](/50_workshop_5_accelerating_sdlc/15_deployment_strategies/02_rolling_update.html)
13 | * [Blue / Green](/50_workshop_5_accelerating_sdlc/15_deployment_strategies/03_blue_green.html)
14 | * [Canary](/50_workshop_5_accelerating_sdlc/15_deployment_strategies/04_canary.html)
15 |
16 | Today's workshop will focus on Canary deployments.
17 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/20_enable_gitops/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Enable GitOps"
3 | chapter = true
4 | weight = 20
5 | +++
6 |
7 | ## Create Workshop Git Repository
8 |
9 | A GitOps workflow requires several components, including a Git repository that acts as the source of truth for your Kubernetes resources.
10 |
11 | We will be using [`eksctl enable repo`](https://eksctl.io/usage/experimental/gitops/) on our newly-built cluster to install GitOps operator components.
12 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/30_install_appmesh/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install App Mesh"
3 | chapter = true
4 | weight = 30
5 | +++
6 |
7 | ## Install App Mesh
8 |
9 | In this section, we will be using an experimental feature of `eksctl` to install App Mesh.
10 |
11 | The [eksctl appmesh profile](https://github.com/weaveworks/eks-appmesh-profile) will deploy the App Mesh Kubernetes components along with monitoring and progressive delivery tooling on an EKS cluster.
12 |
13 | Components that this profile will install include:
14 |
15 | * Kubernetes custom resources: mesh, virtual nodes and virtual services
16 | * CRD controller: keeps the custom resources in sync with the App Mesh control plane
17 | * Admission controller: injects the Envoy sidecar and assigns pods to App Mesh virtual nodes
18 | * Telemetry service: Prometheus instance that collects and stores Envoy's metrics
19 | * Progressive delivery operator: [Flagger](https://flagger.app) instance that automates canary releases on top of App Mesh
20 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/40_progressive_delivery/01_install_podinfo.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install Podinfo demo app"
3 | chapter = false
4 | weight = 401
5 | +++
6 |
7 | In the `/base/demo` folder, you will find several components that will help us deploy our sample `podinfo` application.
8 |
9 | Install the demo app by setting `fluxcd.io/ignore` to `false` in base/demo/namespace.yaml:
10 |
11 | ```sh
12 | cat << EOF | tee base/demo/namespace.yaml
13 | apiVersion: v1
14 | kind: Namespace
15 | metadata:
16 | name: demo
17 | annotations:
18 | fluxcd.io/ignore: "false"
19 | labels:
20 | appmesh.k8s.aws/sidecarInjectorWebhook: enabled
21 | EOF
22 | ```
23 |
24 | Push the changes to your git repository and apply using `fluxctl`:
25 |
26 | ```sh
27 | git add -A && \
28 | git commit -m "init demo" && \
29 | git push origin master && \
30 | fluxctl sync --k8s-fwd-ns flux
31 | ```
32 |
33 | Wait for Flagger to initialize the canary:
34 |
35 | ```sh
36 | kubectl get canary -n demo
37 | ```
38 |
39 | Find the ingress public address with:
40 |
41 | ```sh
42 | export URL="http://$(kubectl -n demo get svc/appmesh-gateway -ojson | jq -r ".status.loadBalancer.ingress[].hostname")"
43 | echo $URL
44 | ```
45 |
46 | In a few minutes or so, podinfo will be accessible via the public URL.
47 |
48 | While we wait for podinfo to be accessible, let's review some of the components that Flagger creates / uses in order to canary your deployments on the next page.
49 |
--------------------------------------------------------------------------------
/content/50_workshop_5_accelerating_sdlc/40_progressive_delivery/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Progressive Delivery"
3 | chapter = true
4 | weight = 40
5 | +++
6 |
7 | ## Progressive Delivery
8 |
9 | In this section, we will create a Canary deployment using [Flagger](https://github.com/weaveworks/flagger) to incrementally introduce traffic to new versions of your services. Documentation for Flagger can be found [here](https://docs.flagger.app).
10 |
11 | We will demonstrate a successful Canary deployment and how an unsuccessful Canary deployment automatically gets rolled back without impacting application uptime.
12 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/10_install_eksctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install eksctl"
3 | chapter = false
4 | weight = 10
5 |
6 | +++
7 |
8 | For this workshop you will use [eksctl](https://eksctl.io/introduction/#installation). Once you install eksctl, you will be ready to get started.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```sh
13 | curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp && \
14 | sudo mv /tmp/eksctl /usr/local/bin
15 | ```
16 |
17 | This will install `eksctl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
18 |
19 | ```sh
20 | eksctl get cluster
21 | ```
22 |
23 | You should get a "No clusters found" message.
24 |
25 | ```sh
26 | eksctl version
27 | ```
28 |
29 | For the current workshops, we will be using `eksctl` **0.19-rc.1** or newer. Please verify the version, as some features are only available in the **0.19** version of `eksctl`
30 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/20_install_kubectl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kubectl"
3 | chapter = false
4 | weight = 20
5 |
6 | +++
7 |
8 | The Kubernetes command-line tool, [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux), allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```sh
13 | curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && \
14 | chmod +x ./kubectl && \
15 | sudo mv ./kubectl /usr/local/bin/kubectl
16 | ```
17 |
18 | This will install `kubectl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
19 |
20 | ```sh
21 | kubectl version --client
22 | ```
23 |
24 | You should see the `kubectl` version message.
25 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/30_install_fluxctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install fluxctl"
3 | chapter = false
4 | weight = 30
5 |
6 | +++
7 |
8 | We will be using [Fluxctl](https://docs.fluxcd.io/en/1.17.1/references/fluxctl.html), a CLI tool that is able to talk to [Weave Flux](https://github.com/fluxcd/flux) to immediately apply and deploy changes we make to our repository.
9 |
10 | ```sh
11 | curl -Ls https://fluxcd.io/install | sh && \
12 | sudo mv $HOME/.fluxcd/bin/fluxctl /usr/local/bin/fluxctl
13 | ```
14 |
15 | Verify the installation:
16 |
17 | ```sh
18 | fluxctl version
19 | ```
20 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/40_install_kustomize.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kustomize"
3 | chapter = false
4 | weight = 40
5 |
6 | +++
7 |
8 | [Kustomize](https://github.com/kubernetes-sigs/kustomize) lets you customize raw, template-free YAML files for multiple purposes, leaving the original YAML untouched and usable as is.
9 |
10 | We will be using kustomize to create more targeted patches that make our code easier to factor, understand, and reuse.
11 |
12 | Install kustomize for Linux:
13 |
14 | ```sh
15 | curl --silent --location --remote-name \
16 | "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.2.3/kustomize_kustomize.v3.2.3_linux_amd64" && \
17 | chmod a+x kustomize_kustomize.v3.2.3_linux_amd64 && \
18 | sudo mv kustomize_kustomize.v3.2.3_linux_amd64 /usr/local/bin/kustomize
19 | ```
20 |
21 | Verify the install with:
22 |
23 | ```sh
24 | kustomize version
25 | ```
26 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/50_install_aws_iam_auth.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install aws iam authenticator"
3 | chapter = false
4 | weight = 50
5 |
6 | +++
7 |
8 | Amazon EKS uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM authenticator for Kubernetes. You can configure the stock kubectl client to work with Amazon EKS by installing the AWS IAM authenticator for Kubernetes and modifying your kubectl configuration file to use it for authentication.
9 |
10 | To install aws-iam-authenticator on Cloud9
11 |
12 | Download the Amazon EKS-vended aws-iam-authenticator binary from Amazon S3:
13 |
14 | ```sh
15 | curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/linux/amd64/aws-iam-authenticator
16 | ```
17 |
18 | Apply execute permissions to the binary:
19 |
20 | ```sh
21 | chmod +x ./aws-iam-authenticator
22 | ```
23 |
24 | And move it into a common directory:
25 |
26 | ```sh
27 | sudo mv ./aws-iam-authenticator /usr/local/bin
28 | ```
29 |
30 | Test that the aws-iam-authenticator binary works:
31 |
32 | ```sh
33 | aws-iam-authenticator help
34 | ```
35 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/60_add_iam_role.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Add the Required IAM Role"
3 | chapter = false
4 | weight = 60
5 |
6 | +++
7 |
8 | Creating and using EKS clusters in AWS requires specific IAM roles for the user creating and accessing EKS clusters.
9 |
10 | - Click the **A** button next to the `Share` button in the upper right hand corner of your Cloud9 workspace
11 | - Click **Manage EC2 Instance**
12 | - Make sure your `aws-cloud9-*` instance is selected
13 | - On **Actions** pull down, select **Instance Settings -> Attach/Replace IAM Role**
14 | - In the **IAM role** pull down, select **modernization-admin**
15 | - To the right, click **Apply**
16 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/00_prerequisites.md/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Prerequisites"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | ## Prerequisites
8 |
9 | Before proceeding through this workshop, please ensure that you have installed the following to your Cloud9 environment:
10 |
11 | * [Cloud9 Workspace](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/01_create_workspace.html)
12 | * [Eksctl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/10_install_eksctl.html)
13 | * [Kubectl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/20_install_kubectl.html)
14 | * [Fluxctl](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/30_install_fluxctl.html)
15 | * [Kustomize](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/40_install_kustomize.html)
16 | * [AWS IAM Authenticator](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/50_install_aws_iam_auth.html)
17 | * [Add IAM role](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/60_add_iam_role.html)
18 | * [Workspace IAM](/50_workshop_5_accelerating_sdlc/00_prerequisites.md/70_workspace_iam.html)
19 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/05_setup/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cloud9 Setup"
3 | chapter = true
4 | weight = 5
5 | +++
6 |
7 | ## Cloud9 Setup
8 | We will be setting up our git client environment on cloud9 and resizing the cloud9 instance filesystem
9 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/10_create_cluster/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create Cluster"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | ## Create the EKS Cluster
8 |
9 | We will be creating our EKS cluster using `eksctl`.
10 |
11 | [eksctl](https://github.com/weaveworks/eksctl) is the official CLI tool for creating clusters on Amazon EKS. It is an open source project created by Weaveworks in partnership with AWS.
12 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/20_enable_gitops/02_eksctl_enable_repo.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Eksctl Enable Repo"
3 | chapter = false
4 | weight = 202
5 | +++
6 |
7 | Ensure you are in the root of your Cloud9 Environment and clone your repository.
8 |
9 | ```sh
10 | GITHUB_DIR=$PWD/src/github.com
11 | GIT_EMAIL=$(git config -f ~/.gitconfig --get user.email)
12 | GIT_ORG=$(git config -f ~/.gitconfig --get user.name)
13 |
14 | eksctl enable repo \
15 | --git-url git@github.com:$GIT_ORG/${EKS_CLUSTER_NAME}-config \
16 | --git-email $GIT_EMAIL \
17 | --cluster $EKS_CLUSTER_NAME \
18 | --region "$AWS_DEFAULT_REGION"
19 | ```
20 |
21 | `eksctl enable repo` will install FluxCD and the Helm Operator (with support for Helm v3).
22 |
23 | When the command finishes, you will be prompted to add Flux's SSH public key to your GitHub repository.
24 |
25 | Copy the public key and create a deploy key with write access to your GitHub repository.
26 |
27 | You can add a deploy key to your repository by going to: **Settings > Deploy keys**. Click on **Add deploy key**, and check **Allow write access**. Then paste the Flux public key and click **Add key**.
28 |
29 | Once you have added the deploy key, Flux will pick up the changes in the repository and deploy them to the cluster.
30 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/20_enable_gitops/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Enable GitOps"
3 | chapter = true
4 | weight = 20
5 | +++
6 |
7 | ## Create Workshop Git Repository
8 |
9 | A GitOps workflow requires several components, including a Git repository that acts as the source of truth for your Kubernetes resources.
10 |
11 | We will be using [`eksctl enable repo`](https://eksctl.io/usage/experimental/gitops/) on our newly-built cluster to install GitOps operator components.
12 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/30_deploy_appdev_profile/01_app_dev.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deploy app-dev profile"
3 | chapter = false
4 | weight = 301
5 | +++
6 |
7 | ```sh
8 | EKSCTL_EXPERIMENTAL=true eksctl enable profile app-dev \
9 | --git-url git@github.com:$GIT_ORG/${EKS_CLUSTER_NAME}-config \
10 | --git-email $GIT_EMAIL \
11 | --cluster $EKS_CLUSTER_NAME \
12 | --region "$AWS_DEFAULT_REGION"
13 |
14 | mkdir -p $GITHUB_DIR/$GIT_ORG
15 | cd $GITHUB_DIR/$GIT_ORG
16 | git clone git@github.com:$GIT_ORG/${EKS_CLUSTER_NAME}-config.git
17 | cd ${EKS_CLUSTER_NAME}-config
18 | ```
19 | Wait a minute or two for flux to deploy applications, verify with 'kubectl get pods -A'
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/30_deploy_appdev_profile/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deploy Application Development Profile"
3 | chapter = true
4 | weight = 30
5 | +++
6 |
7 | ## Deploy Application Development Profile
8 |
9 | Add [app-dev](https://eksctl.io/gitops-quickstart/) profile
10 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/40_kubeflow/01_install_kubeflow.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deploy Kubeflow"
3 | chapter = false
4 | weight = 401
5 | +++
6 |
7 | Install the kubeflow:
8 |
9 | ```sh
10 | cd $GITHUB_DIR/$GIT_ORG
11 | wget https://github.com/kubeflow/kfctl/releases/download/v1.0.2/kfctl_v1.0.2-0-ga476281_linux.tar.gz
12 | tar -zxvf kfctl_v1.0.2-0-ga476281_linux.tar.gz
13 | sudo mv kfctl /usr/bin
14 | rm kfctl_v1.0.2-0-ga476281_linux.tar.gz
15 |
16 | export AWS_CLUSTER_NAME=$EKS_CLUSTER_NAME
17 | export KF_NAME=${AWS_CLUSTER_NAME}
18 | export BASE_DIR=$GITHUB_DIR/$GIT_ORG/kubeflow-config
19 | export KF_DIR=${BASE_DIR}/${KF_NAME}
20 | mkdir -p ${KF_DIR}
21 | cd ${KF_DIR}
22 | export CONFIG_URI=https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_aws.v1.0.2.yaml
23 | wget -O kfctl_aws.yaml $CONFIG_URI
24 |
25 | grep -v eksctl kfctl_aws.yaml > kfctl.yaml
26 | sed -i s/kubeflow-aws/${AWS_CLUSTER_NAME}/ kfctl.yaml
27 | sed -i s/roles:/enablePodIamPolicy\:\ true/ kfctl.yaml
28 | sed -i s/us-west-2/${AWS_DEFAULT_REGION}/ kfctl.yaml
29 | sed -i s/roles:/enablePodIamPolicy\:\ true/ kfctl.yaml
30 |
31 | export CONFIG_FILE=${KF_DIR}/kfctl.yaml
32 | kfctl apply -V -f ${CONFIG_FILE}
33 | ```
34 |
35 | In a few minutes or so you will see deployments in 'kubeflow' namespace, verify using 'kubectl get all -n kubeflow'
36 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/40_kubeflow/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Kubeflow"
3 | chapter = true
4 | weight = 40
5 | +++
6 |
7 | In this section, we will deploy [Kubeflow](https://github.com/kubeflow/kubeflow)
8 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/50_titanic_sample_application/02_kubeflow_ui.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Kubeflow UI"
3 | chapter = false
4 | weight = 502
5 | +++
6 |
7 | To enable the mlops-user to do a kubectl port-forward:
8 |
9 | ```sh
10 | # This repo no longer works. Removed a potential security flaw.
11 | aws iam attach-user-policy --user-name mlops-user --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
12 | eksctl create iamidentitymapping --cluster $EKS_CLUSTER_NAME --group system:masters --username mlops-user --arn $(aws iam get-user --user-name mlops-user | jq -r '."User"["Arn"]')
13 | ```
14 |
15 | A shell script is provided to generate the commands required to run kubectl port-forward on workstation
16 |
17 | ```sh
18 | aws-titanic/get-port-forward-cmds.sh $EKS_CLUSTER_NAME
19 | ```
20 |
21 | Run the commands generated on a terminal on your workstation (not cloud9 session)
22 |
23 | Access UI via: http://127.0.0.1:8080/
24 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/50_titanic_sample_application/03_build model.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Build Model"
3 | chapter = false
4 | weight = 503
5 | +++
6 |
7 |
8 | ## Install sbt
9 |
10 | ```sh
11 | curl -s "https://get.sdkman.io" | bash
12 | source "$HOME/.sdkman/bin/sdkman-init.sh"
13 | sdk install java
14 | sdk install sbt
15 | ```
16 |
17 | ## Build Spark Jars
18 |
19 | ```sh
20 | sbt clean package
21 | aws s3api put-object --bucket $BUCKET_NAME --key emr/titanic/titanic-survivors-prediction_2.11-1.0.jar --body target/scala-2.11/titanic-survivors-prediction_2.11-1.0.jar
22 | ```
23 |
24 | > Note: EMR has all spark libariries and this project doesn't reply on third-party library. We don't need to build fat jars.
25 |
26 | ## The dataset
27 |
28 | Check Kaggle [Titanic: Machine Learning from Disaster](https://www.kaggle.com/c/titanic) for more details about this problem. 70% training dataset is used to train model and rest 30% for validation.
29 |
30 | A copy of train.csv is included in this repository, it needs to be uploaded to S3.
31 |
32 | ```sh
33 | aws s3api put-object --bucket $BUCKET_NAME --key emr/titanic/train.csv --body train.csv
34 | ```
35 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/50_titanic_sample_application/04_build pipeline.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Build Pipeline"
3 | chapter = false
4 | weight = 504
5 | +++
6 |
7 | ## Install
8 |
9 | See [building a pipeline](https://www.kubeflow.org/docs/guides/pipelines/build-pipeline/) to install the Kubeflow Pipelines SDK.
10 | The following command will install the tools required
11 |
12 | ```sh
13 | wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
14 | bash Miniconda3-latest-Linux-x86_64.sh
15 | ```
16 |
17 | ```sh
18 | source /home/ec2-user/.bashrc
19 | conda create --name mlpipeline python=3.7
20 | ```
21 |
22 | ```sh
23 | pip3 install --user kfp --upgrade
24 | rm Miniconda3-latest-Linux-x86_64.sh
25 | ```
26 |
27 | ## Compiling the pipeline template
28 |
29 | ```sh
30 | cd aws-titanic
31 | mkdir -p build
32 | sed s/mlops-kubeflow-pipeline-data/$BUCKET_NAME/g titanic-survival-prediction.py | sed s/aws-region/$EMR_REGION/ > build/titanic-survival-prediction.py
33 | dsl-compile --py build/titanic-survival-prediction.py --output build/titanic-survival-prediction.tar.gz
34 | aws s3api put-object --bucket $BUCKET_NAME --key emr/titanic/titanic-survival-prediction.tar.gz --body build/titanic-survival-prediction.tar.gz
35 | ```
36 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/50_titanic_sample_application/05_run.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Run Pipeline"
3 | chapter = false
4 | weight = 505
5 | +++
6 |
7 | ## Download the pipeline tar to workstation
8 |
9 | Using the portforward access to the Kubeflow UI the upload from URL option does not work so it is necessary to download the file to your workstation.
10 | A shell script is provided to generate the commands required.
11 | ```sh
12 | ./get-tar-cmds.sh
13 | ```
14 |
15 | ## Run experiment
16 |
17 | Now use the kubeflow UI to upload the pipeline file and run an experiment.
18 |
19 | ## Check results
20 |
21 | Open the Kubeflow pipelines UI. Create a new pipeline, and then upload the compiled specification (`.tar.gz` file) as a new pipeline template.
22 |
23 | Once the pipeline done, you can go to the S3 path specified in `output` to check your prediction results. There're three columes, `PassengerId`, `prediction`, `Survived` (Ground True value)
24 |
25 | ```
26 | ...
27 | 4,1,1
28 | 5,0,0
29 | 6,0,0
30 | 7,0,0
31 | ...
32 | ```
33 |
34 | Find the result file name:
35 |
36 | ```sh
37 | aws s3api list-objects --bucket $BUCKET_NAME --prefix emr/titanic/output
38 | ```
39 |
40 | Download it and analyse:
41 |
42 | ```sh
43 | export RESULT_FILE=
44 | aws s3api get-object --bucket $BUCKET_NAME --key emr/titanic/output/$RESULT_FILE $HOME/$RESULT_FILE
45 | grep ",1,1\|,0,0" $HOME/$RESULT_FILE | wc -l # To count correct results
46 | wc -l $RESULT_FILE # To count items in file
47 | ```
48 |
--------------------------------------------------------------------------------
/content/60_workshop_6_ml/50_titanic_sample_application/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Example application - Titanic Survival Prediction"
3 | chapter = true
4 | weight = 50
5 | +++
6 |
7 | ## Titanic Survival Prediction
8 |
9 | In this section, we will build and deploy a sample application [Titanic Survival Prediction](https://github.com/paulcarlton-ww/mlops-titanic)
10 |
11 | The sample runs a Spark ML pipeline to train a classfication model using random forest on AWS Elastic Map Reduce(EMR).
12 |
13 | [Titanic: Machine Learning from Disaster](https://www.kaggle.com/c/titanic)
14 | copy of [Jeffwan's code](https://github.com/Jeffwan/aws-emr-titanic-ml-example) for gitops workshop
15 | Also pipeline sample from [kubeflow/pipeline](https://github.com/kubeflow/pipelines/tree/master/samples/contrib/aws-samples/titanic-survival-prediction)
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/11_add_the_role.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Add the Required IAM Role"
3 | chapter = false
4 | weight = 11
5 |
6 | +++
7 |
8 | Creating and using EKS clusters in AWS requires specific IAM roles for the user creating and accessing EKS clusters.
9 |
10 | ## Attach to cloud9 instance
11 |
12 | - Switch to the **AWS Console** (You can open the console from the "Team Dashboard")
13 | - Under **Services**, select **EC2**
14 | - Click **Running Instances**
15 | - Select the instance named "aws-cloud9-..." by clicking the check box to the left of the name
16 | - On **Actions** pull down, select **Instance Settings -> Attach/Replace IAM Role**
17 | - In the **IAM role** pull down, select **eksworkshop-admin**
18 | - To the right, click **Apply**
19 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/12_install_aws-iam.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install AWS IAM"
3 | chapter = false
4 | weight = 12
5 |
6 | +++
7 |
8 | Amazon EKS uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM authenticator for Kubernetes. You can configure the stock kubectl client to work with Amazon EKS by installing the AWS IAM authenticator for Kubernetes and modifying your kubectl configuration file to use it for authentication.
9 |
10 | To install aws-iam-authenticator on Cloud9
11 |
12 | Download the Amazon EKS-vended aws-iam-authenticator binary from Amazon S3:
13 |
14 | ```
15 | curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/linux/amd64/aws-iam-authenticator
16 | chmod +x ./aws-iam-authenticator
17 | sudo mv ./aws-iam-authenticator /usr/local/bin
18 | ```
19 |
20 | Test that the aws-iam-authenticator binary works:
21 |
22 | ```
23 | aws-iam-authenticator help
24 | ```
25 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/14_install_eksctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install eksctl"
3 | chapter = false
4 | weight = 14
5 |
6 | +++
7 |
8 | For this workshop you will use a [eksctl](https://eksctl.io/introduction/#installation). Once you install eksctl, you will be ready to get started.
9 |
10 | At the terminal command prompt, enter the following two commands:
11 |
12 | ```
13 | curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
14 | sudo mv /tmp/eksctl /usr/local/bin
15 | ```
16 |
17 | This will install `eksctl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
18 |
19 | ```
20 | eksctl version
21 | ```
22 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/15_create_eks_cluster.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Create EKS cluster"
3 | chapter = false
4 | weight = 15
5 | +++
6 |
7 | # Create EKS Cluster
8 |
9 | - In a seperate terminal, run
10 |
11 | ```sh
12 | eksctl create cluster --version 1.17 --nodes 1 -t t3.large my-management-cluster
13 | ```
14 |
15 | This will save us time while we go through next steps
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/16_install_kubectl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install kubectl"
3 | chapter = false
4 | weight = 16
5 | +++
6 |
7 | The Kubernetes command-line tool, [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux), allows you to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
8 |
9 | At the terminal command prompt, enter the following two commands:
10 |
11 | ```
12 | curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
13 | chmod +x ./kubectl
14 | sudo mv ./kubectl /usr/local/bin/kubectl
15 | ```
16 |
17 | This will install `kubectl` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
18 |
19 | ```
20 | kubectl version --client
21 | ```
22 |
23 | You should see the `kubectl` version message.
24 |
25 |
26 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/17_install_helm.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install helm"
3 | chapter = false
4 | weight = 17
5 | +++
6 |
7 | [Helm](https://helm.sh/) describes itself as a 'package manager for kubernetes' and can be used to deploy resources to Kubernetes.
8 |
9 | You package your application as a **chart** which can contain templated files (usually Kubernetes resources) and default configuration **values** too use when rendering the template. Charts are reusable and values can be overriden for specific environments.
10 |
11 | {{% notice tip %}}
12 | We are using Helm v3 in the workshops. So there is no `tiller`. If you are using your own environment and not the workshops **Cloud9** environment and you have Helm v2 the commands should work ok.
13 | {{% /notice %}}
14 |
15 | At the terminal command prompt, enter the following command to download Helm:
16 |
17 | ```bash
18 | curl -L https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz -o helm.tar.gz
19 | tar xvfz helm.tar.gz linux-amd64/helm
20 | chmod +x ./linux-amd64/helm
21 | sudo mv ./linux-amd64/helm /usr/local/bin
22 | rm -rf ./linux-amd64
23 | rm helm.tar.gz
24 | ```
25 |
26 | This will install `helm` in your **Cloud9** environment. To test to make sure the command is installed properly, execute the command:
27 |
28 | ```bash
29 | helm version
30 | ```
31 |
32 | You should see the `helm` version message.
33 |
34 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/18_install_fluxctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install fluxctl"
3 | chapter = false
4 | weight = 18
5 |
6 | +++
7 |
8 | ## Install Fluxctl
9 |
10 | [Fluxctl](https://docs.fluxcd.io/en/1.17.1/references/fluxctl.html) is a CLI tool that is able to talk to [Weave Flux](https://github.com/fluxcd/flux).
11 |
12 | Install by running this command:
13 |
14 | ```sh
15 | curl -Ls https://fluxcd.io/install | sh && \
16 | sudo mv $HOME/.fluxcd/bin/fluxctl /usr/local/bin/fluxctl
17 | ```
18 |
19 | Verify the installation:
20 |
21 | ```sh
22 | fluxctl version
23 | ```
24 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/19_direnv.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install direnv"
3 | chapter = false
4 | weight = 19
5 | +++
6 |
7 | [direnv](https://direnv.net) takes care of exporting environment variables automatically based on the directory we're in.
8 |
9 | To install direnv, run the following commands.
10 |
11 | ```sh
12 | curl -sfL https://direnv.net/install.sh | bash
13 | echo "eval '$(direnv hook bash)'" >> ~/.bashrc
14 | source ~/.bashrc
15 | ```
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/20_clusterctl.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install clusterctl"
3 | chapter = false
4 | weight = 20
5 | +++
6 |
7 | The CluserAPI (CAPI) is a project of SIG Cluster Lifecycle to bring declarative, Kubernetes-style APIs to cluster creation, configuration, and management.
8 |
9 | [cluserctl](https://cluster-api.sigs.k8s.io/) is the cli that we'll use to bootstrap the CAPI controllers.
10 |
11 | ```sh
12 | curl -L https://github.com/kubernetes-sigs/cluster-api/releases/download/v0.3.6/clusterctl-linux-amd64 -o clusterctl
13 | chmod +x ./clusterctl
14 | sudo mv ./clusterctl /usr/local/bin/clusterctl
15 | ```
16 |
17 | Validate that it's working
18 |
19 | ```sh
20 | clusterctl version
21 | ```
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/10_prerequisites/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Prerequisites for Workshop"
3 | chapter = true
4 | weight = 10
5 | +++
6 |
7 | # Setup All the Required Tools & Permissions
8 |
9 | To complete these workshops, you will first need to install eksctl. Instructions for doing this can be found at [eksctl.io](https://eksctl.io/introduction/#installation). eksctl (pronounced "eks control") is a simple CLI tool for creating clusters on EKS. It is written in Go, uses CloudFormation, was created by [Weaveworks](https://weave.works) and it welcomes contributions from the community.
10 |
11 | {{% notice warning %}}
12 | If you are using your own AWS account, you will need permissions to create EKS clusters plus admin rights within your EKS cluster to configure configuration rules and install agents. Ensure you have authority within your organization to do this in your tenant.
13 | {{% /notice %}}
14 |
15 |
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/15_setup_git_repo/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Set up git repo"
3 | chapter = true
4 | weight = 15
5 | +++
6 |
7 | # Set up Git repo
8 |
9 | ## Github SSH key
10 |
11 | * Add ssh key to your Github account
12 | * On Cloud9, run: `ssh-keygen -t rsa -b 4096` and accept defaults
13 | * Run `cat ~/.ssh/id_rsa.pub` and copy the output
14 | * Go to [Github > Settings > SSH Keys > New SSH key](https://github.com/settings/ssh/new) and paste your public key
15 |
16 | ## Create git repo
17 |
18 | * Create new repo Github called `aws-gitops-multicloud` and turn on "Initialize this repository with a README"
19 | * Init the repo
20 |
21 | ```sh
22 | mkdir aws-gitops-multicloud
23 | cd aws-gitops-multicloud
24 | echo "# aws-gitops-multicloud" >> README.md
25 | git init
26 | git add README.md
27 | git commit -m "first commit"
28 | ```
29 |
30 | * Push the changes. Make sure you set the url correctly
31 |
32 | ```sh
33 | git remote add origin
34 | git push -u origin master
35 | ```
36 |
37 | * Create two directories in the repo: `mkdir flux-mgmt` and `mkdir flux-ec2`
38 |
39 | ## Clone Workshop Repo to use examples
40 |
41 | We'll use some examples from the below repo
42 |
43 | * Clone the [workshop repo](https://github.com/saada/gitops-cluster-management)
44 |
45 | ```sh
46 | cd ..
47 | git clone git@github.com:saada/gitops-cluster-management.git
48 | ```
--------------------------------------------------------------------------------
/content/70_workshop_7_multicloud/50_cleanup/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cleanup"
3 | chapter = true
4 | weight = 50
5 | +++
6 |
7 |
8 |
9 | # Cleanup
10 |
11 | * Delete the [ssh key](https://github.com/settings/keys) we added to your github
12 | * Delete the deploy key in https://github.com/YOURUSERNAME/gitops-cluster-management/settings/keys we added to your github
--------------------------------------------------------------------------------
/content/80_workshop_8_hybrid_ssp/05_architecture/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cluster Architecture"
3 | chapter = true
4 | weight = 5
5 | +++
6 |
7 | # Create Clusters
8 |
9 | For this workshop we will simulate a three cluster architecture, running in fully isolated environments. One AWS account will be used for our Development workloads, a separate AWS Account will be used for Integration workloads, and lastly EKS-Distro will be running on a set of virtual machines deployed on premises.
10 |
11 | {{% notice info %}}
12 | To keep the scope of the workshop within the available time and resources, some of the architecture detailed above will be simulated by using namespacess as well a minimal version of EKS-Distro running in an EC2 instance in AWS.
13 | {{% /notice %}}
14 |
15 | 
--------------------------------------------------------------------------------
/content/95_workshop_hybrid_eks/00_install_flux/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Install Flux and Bootstrap your Cluster"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | # Install Flux and Bootstrap your Cluster
8 |
9 | ## Create a GitHub Personal Access Token
10 |
11 | Follow the official GitHub Instructions on how to [create a Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token). Make sure to grant `repo` scope to your token.
12 |
13 | Note that you will only be able to see this token once at the time of creation, make sure to copy it and keep it safe. You should delete the token at the end of this workshop.
14 |
15 | ## Install Flux
16 |
17 | ```shell
18 | curl -s https://fluxcd.io/install.sh | sudo bash
19 | ```
20 |
21 | ## Export your PAT to the environment
22 |
23 | ```shell
24 | export GITHUB_TOKEN={your PAT}
25 | ```
26 |
27 | ## Make sure you can talk to your EKS cluster
28 |
29 | ```shell
30 | kubectl get nodes
31 | ```
32 |
33 | ## Bootstrap your cluster
34 |
35 | ```shell
36 | flux bootstrap github --owner={your GitHub Username} --repository=workshop-devops --path=clusters/workshop --personal --private=false
37 | ```
38 |
39 | ## Clone the Repo created to your Cloud9 Instance
40 |
41 | ```shell
42 | git clone https://github.com/{your GitHub Username}/workshop-devops
43 | cd workshop-devops
44 | ```
--------------------------------------------------------------------------------
/content/95_workshop_hybrid_eks/25_upgrade_your_cluster/_index.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Upgrade your Cluster"
3 | chapter = true
4 | weight = 25
5 | +++
6 |
7 | # Upgrade your Cluster
8 |
9 | ## Modify your cluster manifest to a newer K8s version
10 |
11 | Open `capi-quickstart.yaml` and look for the two references to `version: v1.21.5`, change those to `version: v1.22.6`
12 |
13 | ## Push the change to your repository
14 |
15 | ```shell
16 | git commit -am "Moving version of cluster to 1.22.6"
17 | git push
18 | ```
19 |
20 | ## Watch as the cluster upgrades
21 |
22 | ```shell
23 | clusterctl describe cluster capi-quickstart
24 | ```
--------------------------------------------------------------------------------
/layouts/partials/menu-footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Privacy | Site Terms | © 2020, Amazon Web Services, Inc. or its
5 | affiliates. All rights reserved.
6 |
7 |
8 |
--------------------------------------------------------------------------------
/modules/EKS-workshop-stack.yaml:
--------------------------------------------------------------------------------
1 | AWSTemplateFormatVersion: '2010-09-09'
2 |
3 | Description: AWS EKS Workshop
4 |
5 | Resources:
6 |
7 | EKS:
8 | Type: AWS::CloudFormation::Stack
9 | Properties:
10 | TemplateURL: https://s3.amazonaws.com/aws-quickstart/quickstart-amazon-eks/templates/amazon-eks-master.template.yaml
11 | Parameters:
12 | RemoteAccessCIDR: 0.0.0.0/0
13 | NodeInstanceType: m5.2xlarge
14 | AvailabilityZones: us-west-2a, us-west-2b, us-west-2c
15 | KeyPairName: eksworkshop
16 |
17 | Outputs: {}
--------------------------------------------------------------------------------
/modules/webhosting/README.md:
--------------------------------------------------------------------------------
1 | ## Webhosting and Pipeline Setup
2 |
3 | **Purpose:** Instructions for hosting the website and creating a pipeline that automatically builds new static html files and uploads them to the appropriate S3 Bucket.
4 |
5 | 1. Edit and deploy the CloudFront site in cloudfront-s3-website.yaml. You should only need to change the parameter for WorkshopHostname. Once that is complete run a command similar to the following but change the stackname
6 |
7 | > Stack takes about 20 minutes
8 | ```
9 | ### DO NOT FORGET TO CHANGE THE STACK NAME
10 | aws cloudformation create-stack --stack-name MY-Workshop --template-body file://cloudfront-s3-website.yaml
11 | ```
12 |
13 | 2. Edit and deploy the pipeline in pipeline.yaml. In this one you will probably want to change the first 4 parameters. ProjectName should match whatever you put for WorkshopHostname in the cloudfront-s3-website.yaml.
14 |
15 | > Stack completes in about 1-2 minutes
16 | ```
17 | ### DO NOT FORGET TO CHANGE THE STACK NAME
18 | aws cloudformation create-stack --stack-name MY-Website-Pipeline --template-body file://pipeline.yaml --capabilities CAPABILITY_NAMED_IAM
19 | ```
20 |
21 | If you check the Build Pipeline and Build logs you should see files successfully copied to your S3 bucket.
--------------------------------------------------------------------------------
/public/css/auto-complete.css:
--------------------------------------------------------------------------------
1 | .autocomplete-suggestions {
2 | text-align: left;
3 | cursor: default;
4 | border: 1px solid #ccc;
5 | border-top: 0;
6 | background: #fff;
7 | box-shadow: -1px 1px 3px rgba(0,0,0,.1);
8 |
9 | /* core styles should not be changed */
10 | position: absolute;
11 | display: none;
12 | z-index: 9999;
13 | max-height: 254px;
14 | overflow: hidden;
15 | overflow-y: auto;
16 | box-sizing: border-box;
17 |
18 | }
19 | .autocomplete-suggestion {
20 | position: relative;
21 | cursor: pointer;
22 | padding: 7px;
23 | line-height: 23px;
24 | white-space: nowrap;
25 | overflow: hidden;
26 | text-overflow: ellipsis;
27 | color: #333;
28 | }
29 |
30 | .autocomplete-suggestion b {
31 | font-weight: normal;
32 | color: #1f8dd6;
33 | }
34 |
35 | .autocomplete-suggestion.selected {
36 | background: #333;
37 | color: #fff;
38 | }
39 |
40 | .autocomplete-suggestion:hover {
41 | background: #444;
42 | color: #fff;
43 | }
44 |
45 | .autocomplete-suggestion > .context {
46 | font-size: 12px;
47 | }
48 |
--------------------------------------------------------------------------------
/public/css/tags.css:
--------------------------------------------------------------------------------
1 | /* Tags */
2 |
3 | #head-tags{
4 | margin-left:1em;
5 | margin-top:1em;
6 | }
7 |
8 | #body .tags a.tag-link {
9 | display: inline-block;
10 | line-height: 2em;
11 | font-size: 0.8em;
12 | position: relative;
13 | margin: 0 16px 8px 0;
14 | padding: 0 10px 0 12px;
15 | background: #8451a1;
16 |
17 | -webkit-border-bottom-right-radius: 3px;
18 | border-bottom-right-radius: 3px;
19 | -webkit-border-top-right-radius: 3px;
20 | border-top-right-radius: 3px;
21 |
22 | -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2);
23 | box-shadow: 0 1px 2px rgba(0,0,0,0.2);
24 | color: #fff;
25 | }
26 |
27 | #body .tags a.tag-link:before {
28 | content: "";
29 | position: absolute;
30 | top:0;
31 | left: -1em;
32 | width: 0;
33 | height: 0;
34 | border-color: transparent #8451a1 transparent transparent;
35 | border-style: solid;
36 | border-width: 1em 1em 1em 0;
37 | }
38 |
39 | #body .tags a.tag-link:after {
40 | content: "";
41 | position: absolute;
42 | top: 10px;
43 | left: 1px;
44 | width: 5px;
45 | height: 5px;
46 | -webkit-border-radius: 50%;
47 | border-radius: 100%;
48 | background: #fff;
49 | }
50 |
--------------------------------------------------------------------------------
/public/fonts/Inconsolata.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Inconsolata.eot
--------------------------------------------------------------------------------
/public/fonts/Inconsolata.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Inconsolata.ttf
--------------------------------------------------------------------------------
/public/fonts/Inconsolata.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Inconsolata.woff
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-Normal-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-Normal-webfont.eot
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-Normal-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-Normal-webfont.ttf
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-Normal-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-Normal-webfont.woff
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-Normal-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-Normal-webfont.woff2
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-UltraLight-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-UltraLight-webfont.eot
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-UltraLight-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-UltraLight-webfont.ttf
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-UltraLight-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-UltraLight-webfont.woff
--------------------------------------------------------------------------------
/public/fonts/Novecentosanswide-UltraLight-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Novecentosanswide-UltraLight-webfont.woff2
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_200.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_200.eot
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_200.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_200.ttf
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_200.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_200.woff
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_200.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_200.woff2
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_300.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_300.eot
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_300.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_300.ttf
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_300.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_300.woff
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_300.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_300.woff2
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_500.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_500.eot
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_500.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_500.ttf
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_500.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_500.woff
--------------------------------------------------------------------------------
/public/fonts/Work_Sans_500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/fonts/Work_Sans_500.woff2
--------------------------------------------------------------------------------
/public/images/ActiveGate_linux_installation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/ActiveGate_linux_installation.png
--------------------------------------------------------------------------------
/public/images/Deck_Arrows2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/Deck_Arrows2.png
--------------------------------------------------------------------------------
/public/images/Kubernetes_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/Kubernetes_menu.png
--------------------------------------------------------------------------------
/public/images/PG_naming_rule_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/PG_naming_rule_preview.png
--------------------------------------------------------------------------------
/public/images/PG_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/PG_naming_rules.png
--------------------------------------------------------------------------------
/public/images/PG_naming_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/PG_naming_validation.png
--------------------------------------------------------------------------------
/public/images/account_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/account_settings.png
--------------------------------------------------------------------------------
/public/images/add_tag_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/add_tag_rule.png
--------------------------------------------------------------------------------
/public/images/alerting_profile_carts_dev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/alerting_profile_carts_dev.png
--------------------------------------------------------------------------------
/public/images/alerting_profile_carts_ops.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/alerting_profile_carts_ops.png
--------------------------------------------------------------------------------
/public/images/alerting_profile_k8s_infra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/alerting_profile_k8s_infra.png
--------------------------------------------------------------------------------
/public/images/api_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/api_token.png
--------------------------------------------------------------------------------
/public/images/api_token_value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/api_token_value.png
--------------------------------------------------------------------------------
/public/images/app_urls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/app_urls.png
--------------------------------------------------------------------------------
/public/images/application_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/application_view.png
--------------------------------------------------------------------------------
/public/images/applications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/applications.png
--------------------------------------------------------------------------------
/public/images/aws_console_appmesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/aws_console_appmesh.png
--------------------------------------------------------------------------------
/public/images/blue-green-deployment-ww.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/blue-green-deployment-ww.png
--------------------------------------------------------------------------------
/public/images/built-in_service_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/built-in_service_naming_rules.png
--------------------------------------------------------------------------------
/public/images/c9after.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9after.png
--------------------------------------------------------------------------------
/public/images/c9attachrole.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9attachrole.png
--------------------------------------------------------------------------------
/public/images/c9before.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9before.png
--------------------------------------------------------------------------------
/public/images/c9disableiam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9disableiam.png
--------------------------------------------------------------------------------
/public/images/c9instancerole.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9instancerole.png
--------------------------------------------------------------------------------
/public/images/c9open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/c9open.png
--------------------------------------------------------------------------------
/public/images/canary-deployment-ww.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/canary-deployment-ww.png
--------------------------------------------------------------------------------
/public/images/carts_dev_method_hotspots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_dev_method_hotspots.png
--------------------------------------------------------------------------------
/public/images/carts_dev_problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_dev_problem.png
--------------------------------------------------------------------------------
/public/images/carts_dev_purepath.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_dev_purepath.png
--------------------------------------------------------------------------------
/public/images/carts_dev_response_time_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_dev_response_time_analysis.png
--------------------------------------------------------------------------------
/public/images/carts_dev_rollout_history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_dev_rollout_history.png
--------------------------------------------------------------------------------
/public/images/carts_promo_failure_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_promo_failure_analysis.png
--------------------------------------------------------------------------------
/public/images/carts_promo_problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/carts_promo_problem.png
--------------------------------------------------------------------------------
/public/images/cf_confirm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cf_confirm.png
--------------------------------------------------------------------------------
/public/images/cf_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cf_create.png
--------------------------------------------------------------------------------
/public/images/cf_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cf_done.png
--------------------------------------------------------------------------------
/public/images/chrome_extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/chrome_extension.png
--------------------------------------------------------------------------------
/public/images/ci_app_mesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/ci_app_mesh.png
--------------------------------------------------------------------------------
/public/images/ci_perf_monitoring.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/ci_perf_monitoring.png
--------------------------------------------------------------------------------
/public/images/clippy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/cloud9_new_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cloud9_new_terminal.png
--------------------------------------------------------------------------------
/public/images/cluster_connection_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cluster_connection_error.png
--------------------------------------------------------------------------------
/public/images/cluster_connection_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cluster_connection_setup.png
--------------------------------------------------------------------------------
/public/images/cluster_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cluster_management_zone.png
--------------------------------------------------------------------------------
/public/images/cluster_monitoring_dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cluster_monitoring_dashboard.png
--------------------------------------------------------------------------------
/public/images/cluster_nodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cluster_nodes.png
--------------------------------------------------------------------------------
/public/images/config_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/config_token.png
--------------------------------------------------------------------------------
/public/images/cpu_saturation_problems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cpu_saturation_problems.png
--------------------------------------------------------------------------------
/public/images/cr_yaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cr_yaml.png
--------------------------------------------------------------------------------
/public/images/create-keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/create-keypair.png
--------------------------------------------------------------------------------
/public/images/create_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/create_management_zone.png
--------------------------------------------------------------------------------
/public/images/create_management_zone_enter_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/create_management_zone_enter_name.png
--------------------------------------------------------------------------------
/public/images/custom_PG_naming_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/custom_PG_naming_rule.png
--------------------------------------------------------------------------------
/public/images/custom_service_naming_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/custom_service_naming_rule.png
--------------------------------------------------------------------------------
/public/images/cw_app_logs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cw_app_logs.png
--------------------------------------------------------------------------------
/public/images/cw_log_groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cw_log_groups.png
--------------------------------------------------------------------------------
/public/images/cw_metrics_container_insights.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cw_metrics_container_insights.png
--------------------------------------------------------------------------------
/public/images/cw_metrics_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cw_metrics_graph.png
--------------------------------------------------------------------------------
/public/images/cw_select_metrics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/cw_select_metrics.png
--------------------------------------------------------------------------------
/public/images/deploy-dt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/deploy-dt.png
--------------------------------------------------------------------------------
/public/images/deployment_status.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/deployment_status.png
--------------------------------------------------------------------------------
/public/images/deployments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/deployments.png
--------------------------------------------------------------------------------
/public/images/drill_down_to_PurePaths.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/drill_down_to_PurePaths.png
--------------------------------------------------------------------------------
/public/images/dt-capabilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dt-capabilities.png
--------------------------------------------------------------------------------
/public/images/dt-problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dt-problem.png
--------------------------------------------------------------------------------
/public/images/dt-topology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dt-topology.png
--------------------------------------------------------------------------------
/public/images/dt-trial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dt-trial.png
--------------------------------------------------------------------------------
/public/images/dt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dt.png
--------------------------------------------------------------------------------
/public/images/dynatrace_pods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/dynatrace_pods.png
--------------------------------------------------------------------------------
/public/images/edit_application.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/edit_application.png
--------------------------------------------------------------------------------
/public/images/email_notification_cpu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/email_notification_cpu.png
--------------------------------------------------------------------------------
/public/images/enable_session_replay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/enable_session_replay.png
--------------------------------------------------------------------------------
/public/images/event-engine-aws-console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/event-engine-aws-console.png
--------------------------------------------------------------------------------
/public/images/event-engine-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/event-engine-dashboard.png
--------------------------------------------------------------------------------
/public/images/event-engine-initial-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/event-engine-initial-screen.png
--------------------------------------------------------------------------------
/public/images/extend_management_zone_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/extend_management_zone_rule.png
--------------------------------------------------------------------------------
/public/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/favicon.png
--------------------------------------------------------------------------------
/public/images/filter_by_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/filter_by_tag.png
--------------------------------------------------------------------------------
/public/images/generate-paas-token-two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/generate-paas-token-two.png
--------------------------------------------------------------------------------
/public/images/generate-paas-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/generate-paas-token.png
--------------------------------------------------------------------------------
/public/images/generate_api_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/generate_api_token.png
--------------------------------------------------------------------------------
/public/images/generate_paas_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/generate_paas_token.png
--------------------------------------------------------------------------------
/public/images/gh_deploy_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/gh_deploy_key.png
--------------------------------------------------------------------------------
/public/images/gh_repo_init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/gh_repo_init.png
--------------------------------------------------------------------------------
/public/images/gopher-404.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/gopher-404.jpg
--------------------------------------------------------------------------------
/public/images/guestbook_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/guestbook_app.png
--------------------------------------------------------------------------------
/public/images/guestbook_dt_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/guestbook_dt_services.png
--------------------------------------------------------------------------------
/public/images/guestbook_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/guestbook_services.png
--------------------------------------------------------------------------------
/public/images/host_consuming_processes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/host_consuming_processes.png
--------------------------------------------------------------------------------
/public/images/host_cpu_usage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/host_cpu_usage.png
--------------------------------------------------------------------------------
/public/images/host_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/host_view.png
--------------------------------------------------------------------------------
/public/images/hosts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/hosts.png
--------------------------------------------------------------------------------
/public/images/iam-1-create-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/iam-1-create-user.png
--------------------------------------------------------------------------------
/public/images/iam-2-attach-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/iam-2-attach-policy.png
--------------------------------------------------------------------------------
/public/images/iam-3-create-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/iam-3-create-user.png
--------------------------------------------------------------------------------
/public/images/iam-4-save-url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/iam-4-save-url.png
--------------------------------------------------------------------------------
/public/images/install_ActiveGate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/install_ActiveGate.png
--------------------------------------------------------------------------------
/public/images/invitation_email.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/invitation_email.png
--------------------------------------------------------------------------------
/public/images/invite_new_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/invite_new_user.png
--------------------------------------------------------------------------------
/public/images/k8-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8-dashboard.png
--------------------------------------------------------------------------------
/public/images/k8-log.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8-log.png
--------------------------------------------------------------------------------
/public/images/k8-pod-metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8-pod-metadata.png
--------------------------------------------------------------------------------
/public/images/k8-tracing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8-tracing.png
--------------------------------------------------------------------------------
/public/images/k8s_infra_resource_alert_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8s_infra_resource_alert_rule.png
--------------------------------------------------------------------------------
/public/images/k8s_team_notification_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/k8s_team_notification_setup.png
--------------------------------------------------------------------------------
/public/images/keep_calm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/keep_calm.png
--------------------------------------------------------------------------------
/public/images/keypair-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/keypair-menu.png
--------------------------------------------------------------------------------
/public/images/keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/keypair.png
--------------------------------------------------------------------------------
/public/images/kubernetes_node_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/kubernetes_node_analysis.png
--------------------------------------------------------------------------------
/public/images/kubernetes_problematic_nodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/kubernetes_problematic_nodes.png
--------------------------------------------------------------------------------
/public/images/management_zone_rule_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/management_zone_rule_guestbook.png
--------------------------------------------------------------------------------
/public/images/management_zone_rule_namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/management_zone_rule_namespace.png
--------------------------------------------------------------------------------
/public/images/management_zone_rule_sockshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/management_zone_rule_sockshop.png
--------------------------------------------------------------------------------
/public/images/management_zones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/management_zones.png
--------------------------------------------------------------------------------
/public/images/management_zones_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/management_zones_filter.png
--------------------------------------------------------------------------------
/public/images/new_user_group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/new_user_group.png
--------------------------------------------------------------------------------
/public/images/node_analysis_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/node_analysis_filter.png
--------------------------------------------------------------------------------
/public/images/oneagent-operator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/oneagent-operator.png
--------------------------------------------------------------------------------
/public/images/opa-gatekeeper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/opa-gatekeeper.png
--------------------------------------------------------------------------------
/public/images/operator_pod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/operator_pod.png
--------------------------------------------------------------------------------
/public/images/paas_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/paas_token.png
--------------------------------------------------------------------------------
/public/images/paas_token_value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/paas_token_value.png
--------------------------------------------------------------------------------
/public/images/pg_labels_annotations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/pg_labels_annotations.png
--------------------------------------------------------------------------------
/public/images/pod_describe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/pod_describe.png
--------------------------------------------------------------------------------
/public/images/podinfo_app_mesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/podinfo_app_mesh.png
--------------------------------------------------------------------------------
/public/images/podinfo_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/podinfo_screen.png
--------------------------------------------------------------------------------
/public/images/preview_management_zone_rule_infra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/preview_management_zone_rule_infra.png
--------------------------------------------------------------------------------
/public/images/preview_management_zone_rule_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/preview_management_zone_rule_services.png
--------------------------------------------------------------------------------
/public/images/problem_notification_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/problem_notification_setup.png
--------------------------------------------------------------------------------
/public/images/promo_socks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/promo_socks.png
--------------------------------------------------------------------------------
/public/images/route53-eks-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/route53-eks-1.png
--------------------------------------------------------------------------------
/public/images/save-environment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/save-environment.png
--------------------------------------------------------------------------------
/public/images/save_tag_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/save_tag_rule.png
--------------------------------------------------------------------------------
/public/images/service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/service.png
--------------------------------------------------------------------------------
/public/images/service_naming_rule_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/service_naming_rule_preview.png
--------------------------------------------------------------------------------
/public/images/service_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/service_naming_rules.png
--------------------------------------------------------------------------------
/public/images/service_naming_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/service_naming_validation.png
--------------------------------------------------------------------------------
/public/images/services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/services.png
--------------------------------------------------------------------------------
/public/images/services_filtered_by_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/services_filtered_by_management_zone.png
--------------------------------------------------------------------------------
/public/images/services_filtered_dev_namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/services_filtered_dev_namespace.png
--------------------------------------------------------------------------------
/public/images/slack_carts_dev_problem_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_carts_dev_problem_open.png
--------------------------------------------------------------------------------
/public/images/slack_carts_dev_problem_resolved.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_carts_dev_problem_resolved.png
--------------------------------------------------------------------------------
/public/images/slack_carts_dev_test_run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_carts_dev_test_run.png
--------------------------------------------------------------------------------
/public/images/slack_carts_support_ops_problem_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_carts_support_ops_problem_open.png
--------------------------------------------------------------------------------
/public/images/slack_carts_support_ops_problem_resolved.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_carts_support_ops_problem_resolved.png
--------------------------------------------------------------------------------
/public/images/slack_channels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/slack_channels.png
--------------------------------------------------------------------------------
/public/images/sockshop-topology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/sockshop-topology.png
--------------------------------------------------------------------------------
/public/images/sockshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/sockshop.png
--------------------------------------------------------------------------------
/public/images/super_search_box_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/super_search_box_tag.png
--------------------------------------------------------------------------------
/public/images/synthetic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/synthetic.png
--------------------------------------------------------------------------------
/public/images/user_group_assignation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/user_group_assignation.png
--------------------------------------------------------------------------------
/public/images/user_session_replay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/user_session_replay.png
--------------------------------------------------------------------------------
/public/images/user_sessions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/user_sessions.png
--------------------------------------------------------------------------------
/public/images/validate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/validate.png
--------------------------------------------------------------------------------
/public/images/workshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/workshop.png
--------------------------------------------------------------------------------
/public/images/workshop02_gitops-operating-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/images/workshop02_gitops-operating-model.png
--------------------------------------------------------------------------------
/public/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/public/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/public/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/public/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/public/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/public/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/public/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/public/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/public/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/public/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/public/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/public/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/public/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/static/images/ActiveGate_linux_installation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/ActiveGate_linux_installation.png
--------------------------------------------------------------------------------
/static/images/Deck_Arrows2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/Deck_Arrows2.png
--------------------------------------------------------------------------------
/static/images/Kubernetes_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/Kubernetes_menu.png
--------------------------------------------------------------------------------
/static/images/PG_naming_rule_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/PG_naming_rule_preview.png
--------------------------------------------------------------------------------
/static/images/PG_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/PG_naming_rules.png
--------------------------------------------------------------------------------
/static/images/PG_naming_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/PG_naming_validation.png
--------------------------------------------------------------------------------
/static/images/account_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/account_settings.png
--------------------------------------------------------------------------------
/static/images/add_tag_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/add_tag_rule.png
--------------------------------------------------------------------------------
/static/images/alerting_profile_carts_dev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/alerting_profile_carts_dev.png
--------------------------------------------------------------------------------
/static/images/alerting_profile_carts_ops.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/alerting_profile_carts_ops.png
--------------------------------------------------------------------------------
/static/images/alerting_profile_k8s_infra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/alerting_profile_k8s_infra.png
--------------------------------------------------------------------------------
/static/images/api_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/api_token.png
--------------------------------------------------------------------------------
/static/images/api_token_value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/api_token_value.png
--------------------------------------------------------------------------------
/static/images/app_urls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/app_urls.png
--------------------------------------------------------------------------------
/static/images/application_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/application_view.png
--------------------------------------------------------------------------------
/static/images/applications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/applications.png
--------------------------------------------------------------------------------
/static/images/aws_console_appmesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/aws_console_appmesh.png
--------------------------------------------------------------------------------
/static/images/blue-green-deployment-ww.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/blue-green-deployment-ww.png
--------------------------------------------------------------------------------
/static/images/built-in_service_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/built-in_service_naming_rules.png
--------------------------------------------------------------------------------
/static/images/c9after.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9after.png
--------------------------------------------------------------------------------
/static/images/c9attachrole.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9attachrole.png
--------------------------------------------------------------------------------
/static/images/c9before.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9before.png
--------------------------------------------------------------------------------
/static/images/c9disableiam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9disableiam.png
--------------------------------------------------------------------------------
/static/images/c9instancerole.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9instancerole.png
--------------------------------------------------------------------------------
/static/images/c9open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/c9open.png
--------------------------------------------------------------------------------
/static/images/canary-deployment-ww.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/canary-deployment-ww.png
--------------------------------------------------------------------------------
/static/images/carts_dev_method_hotspots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_dev_method_hotspots.png
--------------------------------------------------------------------------------
/static/images/carts_dev_problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_dev_problem.png
--------------------------------------------------------------------------------
/static/images/carts_dev_purepath.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_dev_purepath.png
--------------------------------------------------------------------------------
/static/images/carts_dev_response_time_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_dev_response_time_analysis.png
--------------------------------------------------------------------------------
/static/images/carts_dev_rollout_history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_dev_rollout_history.png
--------------------------------------------------------------------------------
/static/images/carts_promo_failure_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_promo_failure_analysis.png
--------------------------------------------------------------------------------
/static/images/carts_promo_problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/carts_promo_problem.png
--------------------------------------------------------------------------------
/static/images/cf_confirm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cf_confirm.png
--------------------------------------------------------------------------------
/static/images/cf_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cf_create.png
--------------------------------------------------------------------------------
/static/images/cf_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cf_done.png
--------------------------------------------------------------------------------
/static/images/chrome_extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/chrome_extension.png
--------------------------------------------------------------------------------
/static/images/ci_app_mesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/ci_app_mesh.png
--------------------------------------------------------------------------------
/static/images/ci_perf_monitoring.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/ci_perf_monitoring.png
--------------------------------------------------------------------------------
/static/images/cloud9_new_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cloud9_new_terminal.png
--------------------------------------------------------------------------------
/static/images/cluster_connection_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cluster_connection_error.png
--------------------------------------------------------------------------------
/static/images/cluster_connection_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cluster_connection_setup.png
--------------------------------------------------------------------------------
/static/images/cluster_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cluster_management_zone.png
--------------------------------------------------------------------------------
/static/images/cluster_monitoring_dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cluster_monitoring_dashboard.png
--------------------------------------------------------------------------------
/static/images/cluster_nodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cluster_nodes.png
--------------------------------------------------------------------------------
/static/images/config_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/config_token.png
--------------------------------------------------------------------------------
/static/images/cpu_saturation_problems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cpu_saturation_problems.png
--------------------------------------------------------------------------------
/static/images/cr_yaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cr_yaml.png
--------------------------------------------------------------------------------
/static/images/create-keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-keypair.png
--------------------------------------------------------------------------------
/static/images/create-policy-json.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-policy-json.png
--------------------------------------------------------------------------------
/static/images/create-policy-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-policy-save.png
--------------------------------------------------------------------------------
/static/images/create-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-policy.png
--------------------------------------------------------------------------------
/static/images/create-role-create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-role-create.png
--------------------------------------------------------------------------------
/static/images/create-role-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-role-policy.png
--------------------------------------------------------------------------------
/static/images/create-role-service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-role-service.png
--------------------------------------------------------------------------------
/static/images/create-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create-role.png
--------------------------------------------------------------------------------
/static/images/create_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create_management_zone.png
--------------------------------------------------------------------------------
/static/images/create_management_zone_enter_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/create_management_zone_enter_name.png
--------------------------------------------------------------------------------
/static/images/custom_PG_naming_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/custom_PG_naming_rule.png
--------------------------------------------------------------------------------
/static/images/custom_service_naming_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/custom_service_naming_rule.png
--------------------------------------------------------------------------------
/static/images/cw_app_logs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cw_app_logs.png
--------------------------------------------------------------------------------
/static/images/cw_log_groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cw_log_groups.png
--------------------------------------------------------------------------------
/static/images/cw_metrics_container_insights.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cw_metrics_container_insights.png
--------------------------------------------------------------------------------
/static/images/cw_metrics_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cw_metrics_graph.png
--------------------------------------------------------------------------------
/static/images/cw_select_metrics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/cw_select_metrics.png
--------------------------------------------------------------------------------
/static/images/deploy-dt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/deploy-dt.png
--------------------------------------------------------------------------------
/static/images/deployment_status.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/deployment_status.png
--------------------------------------------------------------------------------
/static/images/deployments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/deployments.png
--------------------------------------------------------------------------------
/static/images/drill_down_to_PurePaths.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/drill_down_to_PurePaths.png
--------------------------------------------------------------------------------
/static/images/dt-capabilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dt-capabilities.png
--------------------------------------------------------------------------------
/static/images/dt-problem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dt-problem.png
--------------------------------------------------------------------------------
/static/images/dt-topology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dt-topology.png
--------------------------------------------------------------------------------
/static/images/dt-trial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dt-trial.png
--------------------------------------------------------------------------------
/static/images/dt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dt.png
--------------------------------------------------------------------------------
/static/images/dynatrace_pods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/dynatrace_pods.png
--------------------------------------------------------------------------------
/static/images/ebs-mod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/ebs-mod.png
--------------------------------------------------------------------------------
/static/images/ebs1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/ebs1.png
--------------------------------------------------------------------------------
/static/images/edit_application.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/edit_application.png
--------------------------------------------------------------------------------
/static/images/email_notification_cpu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/email_notification_cpu.png
--------------------------------------------------------------------------------
/static/images/enable_session_replay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/enable_session_replay.png
--------------------------------------------------------------------------------
/static/images/event-engine-aws-console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/event-engine-aws-console.png
--------------------------------------------------------------------------------
/static/images/event-engine-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/event-engine-dashboard.png
--------------------------------------------------------------------------------
/static/images/event-engine-initial-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/event-engine-initial-screen.png
--------------------------------------------------------------------------------
/static/images/extend_management_zone_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/extend_management_zone_rule.png
--------------------------------------------------------------------------------
/static/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/favicon.png
--------------------------------------------------------------------------------
/static/images/filter_by_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/filter_by_tag.png
--------------------------------------------------------------------------------
/static/images/generate-paas-token-two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/generate-paas-token-two.png
--------------------------------------------------------------------------------
/static/images/generate-paas-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/generate-paas-token.png
--------------------------------------------------------------------------------
/static/images/generate_api_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/generate_api_token.png
--------------------------------------------------------------------------------
/static/images/generate_paas_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/generate_paas_token.png
--------------------------------------------------------------------------------
/static/images/gh_deploy_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/gh_deploy_key.png
--------------------------------------------------------------------------------
/static/images/gh_repo_init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/gh_repo_init.png
--------------------------------------------------------------------------------
/static/images/guestbook_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/guestbook_app.png
--------------------------------------------------------------------------------
/static/images/guestbook_dt_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/guestbook_dt_services.png
--------------------------------------------------------------------------------
/static/images/guestbook_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/guestbook_services.png
--------------------------------------------------------------------------------
/static/images/hello-kubernetes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/hello-kubernetes.png
--------------------------------------------------------------------------------
/static/images/host_consuming_processes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/host_consuming_processes.png
--------------------------------------------------------------------------------
/static/images/host_cpu_usage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/host_cpu_usage.png
--------------------------------------------------------------------------------
/static/images/host_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/host_view.png
--------------------------------------------------------------------------------
/static/images/hosts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/hosts.png
--------------------------------------------------------------------------------
/static/images/iam-1-create-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/iam-1-create-user.png
--------------------------------------------------------------------------------
/static/images/iam-2-attach-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/iam-2-attach-policy.png
--------------------------------------------------------------------------------
/static/images/iam-3-create-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/iam-3-create-user.png
--------------------------------------------------------------------------------
/static/images/iam-4-save-url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/iam-4-save-url.png
--------------------------------------------------------------------------------
/static/images/install_ActiveGate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/install_ActiveGate.png
--------------------------------------------------------------------------------
/static/images/invitation_email.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/invitation_email.png
--------------------------------------------------------------------------------
/static/images/invite_new_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/invite_new_user.png
--------------------------------------------------------------------------------
/static/images/k8-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8-dashboard.png
--------------------------------------------------------------------------------
/static/images/k8-log.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8-log.png
--------------------------------------------------------------------------------
/static/images/k8-pod-metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8-pod-metadata.png
--------------------------------------------------------------------------------
/static/images/k8-tracing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8-tracing.png
--------------------------------------------------------------------------------
/static/images/k8s_infra_resource_alert_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8s_infra_resource_alert_rule.png
--------------------------------------------------------------------------------
/static/images/k8s_team_notification_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/k8s_team_notification_setup.png
--------------------------------------------------------------------------------
/static/images/keep_calm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/keep_calm.png
--------------------------------------------------------------------------------
/static/images/keypair-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/keypair-menu.png
--------------------------------------------------------------------------------
/static/images/keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/keypair.png
--------------------------------------------------------------------------------
/static/images/kubernetes_node_analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/kubernetes_node_analysis.png
--------------------------------------------------------------------------------
/static/images/kubernetes_problematic_nodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/kubernetes_problematic_nodes.png
--------------------------------------------------------------------------------
/static/images/management_zone_rule_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/management_zone_rule_guestbook.png
--------------------------------------------------------------------------------
/static/images/management_zone_rule_namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/management_zone_rule_namespace.png
--------------------------------------------------------------------------------
/static/images/management_zone_rule_sockshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/management_zone_rule_sockshop.png
--------------------------------------------------------------------------------
/static/images/management_zones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/management_zones.png
--------------------------------------------------------------------------------
/static/images/management_zones_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/management_zones_filter.png
--------------------------------------------------------------------------------
/static/images/module_8-add-security-groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/module_8-add-security-groups.png
--------------------------------------------------------------------------------
/static/images/module_8-clusters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/module_8-clusters.png
--------------------------------------------------------------------------------
/static/images/module_8-modify-security-groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/module_8-modify-security-groups.png
--------------------------------------------------------------------------------
/static/images/new_user_group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/new_user_group.png
--------------------------------------------------------------------------------
/static/images/node_analysis_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/node_analysis_filter.png
--------------------------------------------------------------------------------
/static/images/oneagent-operator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/oneagent-operator.png
--------------------------------------------------------------------------------
/static/images/opa-gatekeeper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/opa-gatekeeper.png
--------------------------------------------------------------------------------
/static/images/operator_pod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/operator_pod.png
--------------------------------------------------------------------------------
/static/images/paas_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/paas_token.png
--------------------------------------------------------------------------------
/static/images/paas_token_value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/paas_token_value.png
--------------------------------------------------------------------------------
/static/images/personal_token_scopes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/personal_token_scopes.png
--------------------------------------------------------------------------------
/static/images/pg_labels_annotations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/pg_labels_annotations.png
--------------------------------------------------------------------------------
/static/images/pod_describe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/pod_describe.png
--------------------------------------------------------------------------------
/static/images/podinfo_app_mesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/podinfo_app_mesh.png
--------------------------------------------------------------------------------
/static/images/podinfo_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/podinfo_screen.png
--------------------------------------------------------------------------------
/static/images/preview_management_zone_rule_infra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/preview_management_zone_rule_infra.png
--------------------------------------------------------------------------------
/static/images/preview_management_zone_rule_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/preview_management_zone_rule_services.png
--------------------------------------------------------------------------------
/static/images/problem_notification_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/problem_notification_setup.png
--------------------------------------------------------------------------------
/static/images/promo_socks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/promo_socks.png
--------------------------------------------------------------------------------
/static/images/route53-eks-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/route53-eks-1.png
--------------------------------------------------------------------------------
/static/images/save-environment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/save-environment.png
--------------------------------------------------------------------------------
/static/images/save_tag_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/save_tag_rule.png
--------------------------------------------------------------------------------
/static/images/service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/service.png
--------------------------------------------------------------------------------
/static/images/service_naming_rule_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/service_naming_rule_preview.png
--------------------------------------------------------------------------------
/static/images/service_naming_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/service_naming_rules.png
--------------------------------------------------------------------------------
/static/images/service_naming_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/service_naming_validation.png
--------------------------------------------------------------------------------
/static/images/services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/services.png
--------------------------------------------------------------------------------
/static/images/services_filtered_by_management_zone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/services_filtered_by_management_zone.png
--------------------------------------------------------------------------------
/static/images/services_filtered_dev_namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/services_filtered_dev_namespace.png
--------------------------------------------------------------------------------
/static/images/slack_carts_dev_problem_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_carts_dev_problem_open.png
--------------------------------------------------------------------------------
/static/images/slack_carts_dev_problem_resolved.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_carts_dev_problem_resolved.png
--------------------------------------------------------------------------------
/static/images/slack_carts_dev_test_run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_carts_dev_test_run.png
--------------------------------------------------------------------------------
/static/images/slack_carts_support_ops_problem_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_carts_support_ops_problem_open.png
--------------------------------------------------------------------------------
/static/images/slack_carts_support_ops_problem_resolved.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_carts_support_ops_problem_resolved.png
--------------------------------------------------------------------------------
/static/images/slack_channels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/slack_channels.png
--------------------------------------------------------------------------------
/static/images/sockshop-topology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/sockshop-topology.png
--------------------------------------------------------------------------------
/static/images/sockshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/sockshop.png
--------------------------------------------------------------------------------
/static/images/super_search_box_tag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/super_search_box_tag.png
--------------------------------------------------------------------------------
/static/images/synthetic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/synthetic.png
--------------------------------------------------------------------------------
/static/images/user_group_assignation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/user_group_assignation.png
--------------------------------------------------------------------------------
/static/images/user_session_replay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/user_session_replay.png
--------------------------------------------------------------------------------
/static/images/user_sessions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/user_sessions.png
--------------------------------------------------------------------------------
/static/images/validate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/validate.png
--------------------------------------------------------------------------------
/static/images/workshop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/workshop.png
--------------------------------------------------------------------------------
/static/images/workshop02_gitops-operating-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-modernization-gitops-with-weaveworks/699c6ab5e71fc4e7b6593fd4802f79b65794976b/static/images/workshop02_gitops-operating-model.png
--------------------------------------------------------------------------------
/webspec.yml:
--------------------------------------------------------------------------------
1 | version: 0.2
2 |
3 | phases:
4 | install:
5 | runtime-versions:
6 | docker: 18
7 | dotnet: 2.2
8 | python: 3.7
9 | ruby: 2.6
10 | pre_build:
11 | commands:
12 | - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
13 | - IMAGE_TAG=${COMMIT_HASH:=latest}
14 | - echo Initializing Git Repo
15 | - git init
16 | - git remote add origin $FULL_REPO_URL
17 | - git fetch
18 | - git checkout -f "$CODEBUILD_RESOLVED_SOURCE_VERSION"
19 | - git submodule init
20 | - git submodule update --recursive
21 | - echo Install Hugo
22 | - wget https://github.com/gohugoio/hugo/releases/download/v0.71.0/hugo_extended_0.71.0_Linux-64bit.tar.gz -O hugo_extended_0.71.0_Linux-64bit.tar.gz
23 | - HUGO_TAR="$(find . -name "*Linux-64bit.tar.gz")"
24 | - tar -xzf $HUGO_TAR
25 | - chmod +x hugo
26 |
27 | build:
28 | commands:
29 | - echo Build Website
30 | - ./hugo -D
31 | - echo Deploy Copy Website to S3 Bucket
32 | - aws s3 cp public/ s3://${WEB_SITE_BUCKET}/ --recursive
33 |
34 |
--------------------------------------------------------------------------------