├── .github ├── renovate.json5 ├── renovate │ ├── customManagers.json5 │ ├── grafanaDashboards.json5 │ ├── groups.json5 │ └── labels.json5 └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── ansible-runner ├── Dockerfile ├── Makefile ├── ansible-runner.sh ├── build │ ├── ansible_runner_setup.yml │ ├── requirements.txt │ └── requirements.yml ├── certbot │ ├── config │ │ └── .gitignore │ ├── log │ │ └── .gitignore │ └── work │ │ └── .gitignore ├── docker-compose.yaml └── runner │ ├── .gnupg │ └── .gitignore │ ├── .kube │ └── .gitignore │ ├── .secrets │ └── .gitignore │ ├── .ssh │ └── .gitignore │ ├── .vault │ └── .gitignore │ ├── artifacts │ └── .gitignore │ ├── env │ └── scripts │ ├── generate_gpg_key.sh │ └── generate_vault_password.sh ├── ansible ├── .vault │ └── vault_pass.sh ├── .yamllint ├── ansible.cfg ├── backup_configuration.yml ├── configure_dns_authoritative.yml ├── configure_pxe_server.yml ├── configure_static_ip_address.yml ├── create_vault_credentials.yml ├── deploy_monitoring_agent.yml ├── external_services.yml ├── generate_gateway_tls_certificate.yml ├── group_vars │ ├── all.yml │ ├── control.yml │ ├── external.yml │ ├── k3s_cluster.yml │ └── k3s_master.yml ├── host_vars │ ├── node-hp-1.yml │ ├── node-hp-2.yml │ ├── node-hp-3.yml │ └── node1.yml ├── install_utilities_localhost.yml ├── inventory.yml ├── k3s_bootstrap.yml ├── k3s_install.yml ├── k3s_reset.yml ├── k3s_start.yml ├── k3s_stop.yml ├── kubernetes_vault_config.yml ├── patch_grafana_dashboards.yml ├── requirements.yml ├── reset_external_services.yml ├── roles │ ├── basic_setup │ │ ├── defaults │ │ │ └── main.yaml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── scripts │ │ │ ├── pi_temp │ │ │ └── pi_throttling │ │ └── tasks │ │ │ ├── files │ │ │ └── multipath.conf │ │ │ ├── load_kernel_modules.yml │ │ │ ├── main.yaml │ │ │ ├── multipath_blacklist.yml │ │ │ ├── raspberrypi_tasks.yml │ │ │ ├── remove_snap.yaml │ │ │ └── remove_snap_packages.yml │ ├── certbot │ │ ├── defaults │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── certbot-wrapper.sh.j2 │ │ │ ├── certbot.sh.j2 │ │ │ └── ionos-credentials.ini.j2 │ │ └── tests │ │ │ └── install_certbot.yml │ ├── dns │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── fluxcd-cli │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── install_fluxcd_cli.yml │ │ │ └── main.yml │ ├── haproxy │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── haproxy.cfg.j2 │ ├── istio-cli │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── install_istio_cli.yml │ │ │ └── main.yml │ ├── k3s │ │ ├── master │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ ├── installation.yml │ │ │ │ ├── k3s_install.yml │ │ │ │ ├── main.yml │ │ │ │ ├── pre_configuration.yml │ │ │ │ ├── wait_for_master_node.yml │ │ │ │ └── wait_for_primary_master.yml │ │ │ ├── templates │ │ │ │ ├── config.yml.j2 │ │ │ │ └── registry.yml.j2 │ │ │ └── vars │ │ │ │ └── main.yml │ │ ├── prereq │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ └── tasks │ │ │ │ ├── disable_swap.yml │ │ │ │ └── main.yml │ │ └── worker │ │ │ ├── defaults │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ ├── main.yml │ │ │ └── pre_configuration.yml │ │ │ ├── templates │ │ │ ├── config.yml.j2 │ │ │ └── registry.yml.j2 │ │ │ └── vars │ │ │ └── main.yml │ ├── linkerd-cli │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── install_linkerd_cli.yml │ │ │ └── main.yml │ ├── logging │ │ └── external_node │ │ │ ├── tasks │ │ │ └── main.yml │ │ │ └── templates │ │ │ └── adjust_ts.lua │ ├── longhorn-cli │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ ├── install_longhorn_cli.yml │ │ │ └── main.yml │ ├── longhorn-util │ │ ├── defaults │ │ │ └── main.yml │ │ ├── files │ │ │ └── check_lh.sh │ │ ├── tasks │ │ │ └── main.yml │ │ └── tests │ │ │ ├── cleanup_test_longhorn.yml │ │ │ ├── templates │ │ │ └── testing_longhorn_manifest.yml │ │ │ └── test_longhorn.yml │ ├── pxe-server │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ ├── create_auto_install_files.yml │ │ │ ├── create_pxe_config_files.yml │ │ │ ├── install_ks_http_server.yml │ │ │ ├── install_tftp_server.yml │ │ │ └── main.yml │ │ └── templates │ │ │ ├── cloud-init-autoinstall.yml.j2 │ │ │ ├── cloud-init-metadata.yml.j2 │ │ │ ├── grub.conf.j2 │ │ │ ├── ks-server.conf.j2 │ │ │ └── pxelinux.conf.j2 │ └── velero-cli │ │ ├── defaults │ │ └── main.yml │ │ ├── tasks │ │ ├── configure_velero_cli.yml │ │ ├── install_velero_cli.yml │ │ └── main.yml │ │ └── tests │ │ ├── cleaning_testing.yml │ │ ├── files │ │ └── nginx_test_application.yml │ │ └── testing_velero.yml ├── setup_picluster.yml ├── shutdown.yml ├── tasks │ ├── argocd_bootstrap.yml │ ├── cilium_config.yml │ ├── cilium_install.yml │ ├── clean_cilium.yml │ ├── cleaning.yml │ ├── configure_vault_integration.yml │ ├── crds_install.yml │ ├── create_basic_auth_credentials.yml │ ├── create_minio_bearer_token.yml │ ├── fluxcd_bootstrap.yml │ ├── generate_ca_signed_cert.yml │ ├── generate_custom_ca.yml │ ├── generate_selfsigned_cert.yml │ ├── install_cli_utils.yml │ ├── load_ddns_key_into_vault.yml │ ├── load_vault_credentials.yml │ ├── patch_grafana_dashboard.yml │ └── vault_kubernetes_auth_method_config.yml ├── templates │ ├── argocd_root_app.yml.j2 │ ├── ionos-credentials.ini.j2 │ └── netplan.yml.j2 ├── update.yml └── vars │ ├── centralized_san │ ├── centralized_san_initiator.yml │ └── centralized_san_target.yml │ ├── picluster.yml │ ├── selfsigned-certificates.yml │ ├── vault.yml │ └── vault.yml.j2 ├── design ├── istio-architecture.drawio ├── k3s-ha.drawio ├── picluster-architecture.drawio ├── picluster-dev-env.drawio ├── picluster-sso.drawio ├── picluster-stack.drawio └── pxe-boot-flow.drawio ├── dev ├── Makefile ├── create_cluster.sh ├── helmfile.yaml └── k3d-cluster │ └── k3d-cluster.yaml.tmpl ├── docs ├── CNAME ├── Gemfile ├── README.md ├── _config.yml ├── _data │ ├── alerts.yml │ ├── docs.yml │ ├── icons.yml │ └── navbar.yml ├── _docs │ ├── ansible-instructions.md │ ├── architecture.md │ ├── argocd.md │ ├── backup.md │ ├── basic-os-configuration.md │ ├── certmanager.md │ ├── cilium.md │ ├── databases.md │ ├── dev.md │ ├── dns.md │ ├── elasticsearch.md │ ├── external.md │ ├── fluxcd.md │ ├── gateway.md │ ├── hardware.md │ ├── index.md │ ├── installing-k3s.md │ ├── installing-ubuntu.md │ ├── ip_ss_commands.md │ ├── iscsiadm-commands.md │ ├── istio.md │ ├── k3s-networking.md │ ├── k8s-commands.md │ ├── k8s-networking-basics.md │ ├── kafka.md │ ├── kube-dns.md │ ├── logging-forwarder-aggregator.md │ ├── logging.md │ ├── loki.md │ ├── longhorn.md │ ├── metallb.md │ ├── metrics-server.md │ ├── minio-baremetal.md │ ├── minio.md │ ├── monitoring.md │ ├── nginx.md │ ├── node.md │ ├── observability.md │ ├── openwrt.md │ ├── pimaster.md │ ├── preparing-raspberrypi.md │ ├── pxe-server.md │ ├── raspberrypi.md │ ├── san-installation.md │ ├── service-mesh.md │ ├── sso.md │ ├── tracing.md │ ├── traefik.md │ ├── vault.md │ └── x86-autoinstall-ubuntu.md ├── _includes │ ├── analytics.html │ ├── docs_nav.html │ ├── docs_toc.html │ ├── footer.html │ ├── giscus.html │ ├── head.html │ ├── js_files.html │ ├── off_canvas.html │ ├── remark42.html │ ├── section_nav.html │ ├── toc.html │ └── topnav.html ├── _layouts │ ├── default.html │ ├── docs.html │ └── post.html ├── _posts │ ├── 2022-01-31-welcome-to-pi-cluster.md │ ├── 2022-04-05-announcing-relase-1.3.md │ ├── 2022-08-04-announcing-relase-1.4.md │ ├── 2022-10-12-announcing-relase-1.5.md │ ├── 2023-01-29-announcing-release-1.6.md │ ├── 2023-03-26-new-comments-platform.md │ ├── 2023-06-24-announcing-release-1.7.md │ ├── 2024-01-04-announcing-release-1.8.md │ ├── 2024-10-07-announcing-release-1.9.md │ └── 2025-01-16-announcing-release-1.10.md ├── _sass │ ├── _picluster.scss │ ├── _rouge-base16-dark.scss │ ├── _rouge-github.scss │ ├── _syntax-highlighting.scss │ ├── bootstrap │ │ ├── _accordion.scss │ │ ├── _alert.scss │ │ ├── _badge.scss │ │ ├── _breadcrumb.scss │ │ ├── _button-group.scss │ │ ├── _buttons.scss │ │ ├── _card.scss │ │ ├── _carousel.scss │ │ ├── _close.scss │ │ ├── _containers.scss │ │ ├── _dropdown.scss │ │ ├── _forms.scss │ │ ├── _functions.scss │ │ ├── _grid.scss │ │ ├── _helpers.scss │ │ ├── _images.scss │ │ ├── _list-group.scss │ │ ├── _mixins.scss │ │ ├── _modal.scss │ │ ├── _nav.scss │ │ ├── _navbar.scss │ │ ├── _offcanvas.scss │ │ ├── _pagination.scss │ │ ├── _placeholders.scss │ │ ├── _popover.scss │ │ ├── _progress.scss │ │ ├── _reboot.scss │ │ ├── _root.scss │ │ ├── _spinners.scss │ │ ├── _tables.scss │ │ ├── _toasts.scss │ │ ├── _tooltip.scss │ │ ├── _transitions.scss │ │ ├── _type.scss │ │ ├── _utilities.scss │ │ ├── _variables.scss │ │ ├── bootstrap-grid.scss │ │ ├── bootstrap-reboot.scss │ │ ├── bootstrap-utilities.scss │ │ ├── bootstrap.scss │ │ ├── forms │ │ │ ├── _floating-labels.scss │ │ │ ├── _form-check.scss │ │ │ ├── _form-control.scss │ │ │ ├── _form-range.scss │ │ │ ├── _form-select.scss │ │ │ ├── _form-text.scss │ │ │ ├── _input-group.scss │ │ │ ├── _labels.scss │ │ │ └── _validation.scss │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _colored-links.scss │ │ │ ├── _position.scss │ │ │ ├── _ratio.scss │ │ │ ├── _stacks.scss │ │ │ ├── _stretched-link.scss │ │ │ ├── _text-truncation.scss │ │ │ ├── _visually-hidden.scss │ │ │ └── _vr.scss │ │ ├── mixins │ │ │ ├── _alert.scss │ │ │ ├── _backdrop.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _box-shadow.scss │ │ │ ├── _breakpoints.scss │ │ │ ├── _buttons.scss │ │ │ ├── _caret.scss │ │ │ ├── _clearfix.scss │ │ │ ├── _color-scheme.scss │ │ │ ├── _container.scss │ │ │ ├── _deprecate.scss │ │ │ ├── _forms.scss │ │ │ ├── _gradients.scss │ │ │ ├── _grid.scss │ │ │ ├── _image.scss │ │ │ ├── _list-group.scss │ │ │ ├── _lists.scss │ │ │ ├── _pagination.scss │ │ │ ├── _reset-text.scss │ │ │ ├── _resize.scss │ │ │ ├── _table-variants.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _transition.scss │ │ │ ├── _utilities.scss │ │ │ └── _visually-hidden.scss │ │ ├── utilities │ │ │ └── _api.scss │ │ └── vendor │ │ │ └── _rfs.scss │ ├── bootswatch │ │ ├── cerulean │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── cosmo │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── cyborg │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── darkly │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── flatly │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── journal │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── litera │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── lumen │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── lux │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── materia │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── minty │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── morph │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── pulse │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── quartz │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── sandstone │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── simplex │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── sketchy │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── slate │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── solar │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── spacelab │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── superhero │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── united │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── vapor │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── yeti │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ └── zephyr │ │ │ ├── _bootswatch.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ └── fontawesome │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _shims.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ ├── brands.scss │ │ ├── fontawesome.scss │ │ ├── regular.scss │ │ ├── solid.scss │ │ └── v4-shims.scss ├── assets │ ├── 404.html │ ├── allposts.html │ ├── css │ │ └── main.scss │ ├── img │ │ ├── Creating_LUNs_using_LVM.png │ │ ├── RaspberryPiCluster_HW.png │ │ ├── RaspberryPiCluster_HW_storage.png │ │ ├── RaspberryPiCluster_architecture.png │ │ ├── benchmarking_random_i_o.png │ │ ├── benchmarking_random_i_o_iozone.png │ │ ├── benchmarking_score.png │ │ ├── benchmarking_sequential_i_o.png │ │ ├── bg.jpg │ │ ├── bg.png │ │ ├── cert-manager.png │ │ ├── cicd-gitops-architecture.png │ │ ├── core-dns-architecture.png │ │ ├── dlink-dgs-1016S.png │ │ ├── efk-loki-logging-architecture.png │ │ ├── efk_logging_architecture.png │ │ ├── emojivoto-logs.png │ │ ├── emojivoto-loki-tempo.png │ │ ├── emojivoto.png │ │ ├── external-dns-architecture.png │ │ ├── flannel.png │ │ ├── flux-bootstrap-repo-commits.png │ │ ├── flux-crds.png │ │ ├── flux-helmchart-app.png │ │ ├── fluxcd-architecture.png │ │ ├── gateway-dns-dhcp-config.png │ │ ├── giscus-app.png │ │ ├── glinet-xlate-plus.png │ │ ├── grafana-client-5.png │ │ ├── grafana-client-6.png │ │ ├── grafana-client-7.png │ │ ├── grafana-client-8.png │ │ ├── grafana-keycloak-1.png │ │ ├── grafana-keycloak-2.png │ │ ├── grafana-keycloak-3.png │ │ ├── grafana-keycloak-4.png │ │ ├── how-it-works-k3s-revised.svg │ │ ├── hp-elite-secure-boot.jpg │ │ ├── hp-elite-uefi-bootorder.jpg │ │ ├── hp-elitedesk-800-g3.png │ │ ├── hpelitedesk800g3mini.png │ │ ├── istio-architecture-ambient-L4.png │ │ ├── istio-architecture-ambient-L7.png │ │ ├── istio-architecture-sidecar.png │ │ ├── istio_sidecar_vs_ambient.jpg │ │ ├── k3s-HA-configuration.png │ │ ├── k3s-single-master.png │ │ ├── keycloak-sso.png │ │ ├── kiali-keycloak-1.png │ │ ├── kiali-keycloak-2.png │ │ ├── kiali-keycloak-3.png │ │ ├── kiali-keycloak-4.png │ │ ├── kibana-setup-1.png │ │ ├── kibana-setup-2.png │ │ ├── kibana-setup-3.png │ │ ├── kustomize-base-overlay.png │ │ ├── kustomize-components.png │ │ ├── linkerd-architecture.png │ │ ├── logging-forwarder-aggregator.png │ │ ├── logging-forwarder-only.png │ │ ├── logonav.png │ │ ├── logos │ │ │ ├── OAuth2-proxy.svg │ │ │ ├── ansible.svg │ │ │ ├── apache_kafka.svg │ │ │ ├── argocd.svg │ │ │ ├── cert-manager.svg │ │ │ ├── cilium.svg │ │ │ ├── cloud-init.svg │ │ │ ├── cloudnative-pg.png │ │ │ ├── containerd.svg │ │ │ ├── coredns.svg │ │ │ ├── elastic.svg │ │ │ ├── external-dns.png │ │ │ ├── external-secrets.svg │ │ │ ├── flannel.svg │ │ │ ├── fluentbit.svg │ │ │ ├── fluentd.svg │ │ │ ├── flux-cd.png │ │ │ ├── grafana.svg │ │ │ ├── haproxy.svg │ │ │ ├── hp.svg │ │ │ ├── ionos.png │ │ │ ├── istio-icon-color.svg │ │ │ ├── k3s.svg │ │ │ ├── keycloak.svg │ │ │ ├── kibana.svg │ │ │ ├── kubernetes.svg │ │ │ ├── letsencrypt.svg │ │ │ ├── linkerd.svg │ │ │ ├── loki.png │ │ │ ├── longhorn.svg │ │ │ ├── metallb.svg │ │ │ ├── minio.svg │ │ │ ├── mongodb.svg │ │ │ ├── nginx.svg │ │ │ ├── openwrt-icon.png │ │ │ ├── prometheus.svg │ │ │ ├── raspberry.svg │ │ │ ├── restic.png │ │ │ ├── tempo.svg │ │ │ ├── traefik.svg │ │ │ ├── ubuntu.svg │ │ │ ├── vault.svg │ │ │ └── velero.svg │ │ ├── logs_loki_es.png │ │ ├── loki-architecture.png │ │ ├── loki_architecture_components.svg │ │ ├── longhorn_backup_settings.png │ │ ├── longhorn_volume_test.png │ │ ├── longhorn_volume_test_replicas.png │ │ ├── metallb_architecture.png │ │ ├── netgear-gs105E.png │ │ ├── netgear-gs108e.jpg │ │ ├── oauth2-proxy-client-1.png │ │ ├── oauth2-proxy-client-2.png │ │ ├── oauth2-proxy-client-3.png │ │ ├── oauth2-proxy-client-4.png │ │ ├── oauth2-proxy-client-5.png │ │ ├── oauth2-proxy-client-6.png │ │ ├── oauth2-proxy-client-7.png │ │ ├── oauth2-proxy-client-8.png │ │ ├── observability-architecture.png │ │ ├── openwrt-allow-dns-traffic-to-device.png │ │ ├── openwrt-allow-https-traffic-to-device.png │ │ ├── openwrt-backup-restore.png │ │ ├── openwrt-default-route.png │ │ ├── openwrt-dns-forwarders.png │ │ ├── openwrt-dns-local-domain.png │ │ ├── openwrt-dns-rebind-whitelist.png │ │ ├── openwrt-firewall-added-rules.png │ │ ├── openwrt-firewall-allow-ssh-device.png │ │ ├── openwrt-firewall-http-from-wan.png │ │ ├── openwrt-firewall-kube-api-from-wan.png │ │ ├── openwrt-firewall-ssh-traffic-from-wan.png │ │ ├── openwrt-firmware-selector-gl-inet-a1300.png │ │ ├── openwrt-firmware-selector-rpi4.png │ │ ├── openwrt-firmware-upgrade.png │ │ ├── openwrt-gl-a1300-uboot-firmware.png │ │ ├── openwrt-hostname.png │ │ ├── openwrt-https-access.png │ │ ├── openwrt-lan-dhcp.png │ │ ├── openwrt-lan-disable-dhcpv6.png │ │ ├── openwrt-lan-interface-config.png │ │ ├── openwrt-ntp-server.png │ │ ├── openwrt-ntp.png │ │ ├── openwrt-rpi4-luci-first-login.png │ │ ├── openwrt-ssh-access-key.png │ │ ├── openwrt-ssh-disable-password-access.png │ │ ├── openwrt-wireless-client-connection.png │ │ ├── openwrt-wireless-interfaces-rpi4.png │ │ ├── openwrt-wireless-interfaces.png │ │ ├── openwrt-wireless-join-network.png │ │ ├── openwrt-wireless-joining-network-config.png │ │ ├── openwrt-wwan-interface.png │ │ ├── pi-cluster-2.0.png │ │ ├── pi-cluster-3.0.png │ │ ├── pi-cluster-architecture.png │ │ ├── pi-cluster-backup-architecture.png │ │ ├── pi-cluster-dev-k3d-architecture.png │ │ ├── pi-cluster-dns-architecture.png │ │ ├── pi-cluster-icons.png │ │ ├── pi-cluster-rpi4-storage.png │ │ ├── pi-cluster-tech-stack.png │ │ ├── pi-cluster.png │ │ ├── pi-logo-reduced.png │ │ ├── picluster-architecture.png │ │ ├── picluster-logo.png │ │ ├── picluster-sso.png │ │ ├── prometheus-custom-metrics-elements-1024x555.png │ │ ├── prometheus-stack-architecture.png │ │ ├── pxe-boot-flow.png │ │ ├── raspberrypi4b.png │ │ ├── raspi-config-window-1.png │ │ ├── raspi-config-window-2.png │ │ ├── raspi-config-window-3.png │ │ ├── rpi-imager-1.png │ │ ├── rpi-imager-2.png │ │ ├── rpi-imager-3.png │ │ ├── rpi-imager-4.png │ │ ├── rpi-imager-5.png │ │ ├── rpi-imager-6.png │ │ ├── rpi-imager-7.png │ │ ├── rpi-imager-8.png │ │ ├── rpi-imager-9.png │ │ ├── rpi-imager-openwrt-1.png │ │ ├── rpi-imager-openwrt-2.png │ │ ├── schema-registry-and-kafka.png │ │ ├── schema-registry-ecosystem.jpg │ │ ├── tempo_arch.png │ │ ├── tracing-architecture.png │ │ ├── ubuntu-network-manager-ipv4-settings.png │ │ ├── ubuntu-partitioning-schema.png │ │ ├── ubuntu-user-SSH-key-generation.png │ │ ├── vault-externalsecrets.png │ │ └── velero-backup-process.png │ ├── js │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── lunr.min.js │ │ ├── search.js │ │ └── search.min.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 ├── favicon.ico ├── index.html └── search.html ├── giscus.json ├── kubernetes ├── apps │ ├── book-info │ │ └── app │ │ │ ├── base │ │ │ ├── ingress.yaml │ │ │ ├── kustomization.yaml │ │ │ └── ns.yaml │ │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ └── mongodb-cluster │ │ └── app │ │ ├── base │ │ ├── kustomization.yaml │ │ ├── mongodb-certificate.yaml │ │ ├── mongodb-cluster.yaml │ │ └── mongodb-secret.yaml │ │ └── overlays │ │ ├── dev │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml ├── clusters │ ├── bootstrap │ │ ├── flux │ │ │ └── helmfile-flux.yaml │ │ ├── helmfile.yaml │ │ └── vault │ │ │ ├── base │ │ │ ├── kustomization.yaml │ │ │ ├── ns.yaml │ │ │ └── vault-auth-serviceaccount.yaml │ │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ ├── dev │ │ ├── config │ │ │ ├── cluster-settings.yaml │ │ │ ├── cluster.yaml │ │ │ └── kustomization.yaml │ │ ├── infra │ │ │ ├── cilium-app.yaml │ │ │ ├── coredns-app.yaml │ │ │ ├── flux-app.yaml │ │ │ ├── metrics-server-app.yaml │ │ │ └── nginx-app.yaml │ │ └── repositories │ │ │ ├── helm │ │ │ ├── bitnami-helmrepo.yaml │ │ │ ├── cilium-helmrepo.yaml │ │ │ ├── cloudnative-pg-helmrepo.yaml │ │ │ ├── controlplane-helmrepo.yaml │ │ │ ├── coredns-helmrepo.yaml │ │ │ ├── elastic-helmrepo.yaml │ │ │ ├── external-dns-helmrepo.yaml │ │ │ ├── external-secrets-helmrepo.yaml │ │ │ ├── fluent-helmrepo.yaml │ │ │ ├── grafana-helmrepo.yaml │ │ │ ├── ingress-nginx-helmrepo.yaml │ │ │ ├── istio-helmrepo.yaml │ │ │ ├── jetstack-helmrepo.yaml │ │ │ ├── kiali-helmrepo.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── longhorn-helmrepo.yaml │ │ │ ├── metrics-server-helmrepo.yaml │ │ │ ├── minio-helmrepo.yaml │ │ │ ├── mongodb-helmrepo.yaml │ │ │ ├── oauth2-proxy-helmrepo.yaml │ │ │ ├── prometheus-community-helmrepo.yaml │ │ │ ├── ricsanfre-helmrepo.yaml │ │ │ ├── strimzi-helmrepo.yaml │ │ │ └── vmware-tanzu-helmrepo.yaml │ │ │ ├── kustomization.yaml │ │ │ └── oci │ │ │ └── kustomization.yaml │ └── prod │ │ ├── apps │ │ ├── book-info-app.yaml │ │ └── kustomization.yaml │ │ ├── config │ │ ├── cluster-settings.yaml │ │ └── kustomization.yaml │ │ ├── infra │ │ ├── cert-manager-app.yaml │ │ ├── cilium-app.yaml │ │ ├── cloudnative-pg-app.yaml │ │ ├── coredns-app.yaml │ │ ├── csi-external-snapshotter-app.yaml │ │ ├── elastic-stack-app.yaml │ │ ├── external-dns-app.yaml │ │ ├── external-secrets-app.yaml │ │ ├── fluent-app.yaml │ │ ├── flux-app.yaml │ │ ├── grafana-app.yaml │ │ ├── istio-app.yaml │ │ ├── kafka-app.yaml │ │ ├── keycloak-app.yaml │ │ ├── kiali-app.yaml │ │ ├── kube-prometheus-stack-app.yaml │ │ ├── kustomization.yaml │ │ ├── loki-app.yaml │ │ ├── longhorn-app.yaml │ │ ├── metrics-server-app.yaml │ │ ├── minio-app.yaml │ │ ├── mongodb-operator-app.yaml │ │ ├── nginx-app.yaml │ │ ├── oauth2-proxy-app.yaml │ │ ├── system-upgrade-app.yaml │ │ ├── tempo-app.yaml │ │ └── velero-app.yaml │ │ └── repositories │ │ ├── helm │ │ ├── bitnami-helmrepo.yaml │ │ ├── cilium-helmrepo.yaml │ │ ├── cloudnative-pg-helmrepo.yaml │ │ ├── controlplane-helmrepo.yaml │ │ ├── coredns-helmrepo.yaml │ │ ├── elastic-helmrepo.yaml │ │ ├── external-dns-helmrepo.yaml │ │ ├── external-secrets-helmrepo.yaml │ │ ├── fluent-helmrepo.yaml │ │ ├── grafana-helmrepo.yaml │ │ ├── ingress-nginx-helmrepo.yaml │ │ ├── istio-helmrepo.yaml │ │ ├── jetstack-helmrepo.yaml │ │ ├── kiali-helmrepo.yaml │ │ ├── kustomization.yaml │ │ ├── longhorn-helmrepo.yaml │ │ ├── metrics-server-helmrepo.yaml │ │ ├── minio-helmrepo.yaml │ │ ├── mongodb-helmrepo.yaml │ │ ├── oauth2-proxy-helmrepo.yaml │ │ ├── prometheus-community-helmrepo.yaml │ │ ├── ricsanfre-helmrepo.yaml │ │ ├── strimzi-helmrepo.yaml │ │ └── vmware-tanzu-helmrepo.yaml │ │ ├── kustomization.yaml │ │ └── oci │ │ └── kustomization.yaml ├── fluxcd-app-template │ ├── app.yaml │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ ├── ns.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ └── componentX │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ ├── boilerplate.yml │ ├── config │ │ ├── base │ │ │ └── kustomization.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ └── helmrepo.yaml └── platform │ ├── cert-manager │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ ├── ns.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ ├── config │ │ ├── base │ │ │ ├── ca-issuer.yaml │ │ │ ├── kustomization.yaml │ │ │ └── self-signed-issuer.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ ├── ionos-externalsecret.yaml │ │ │ ├── ionos-issuer.yaml │ │ │ └── kustomization.yaml │ └── webhook-ionos │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── cilium │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ ├── hubble │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ ├── istio-config │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ └── monitoring │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── config │ │ ├── base │ │ ├── cilium-l2-announcement-policy.yaml │ │ ├── ip-pool-lb.yaml │ │ └── kustomization.yaml │ │ ├── components │ │ └── istio-config │ │ │ ├── cilium-istio-network-policy.yaml │ │ │ └── kustomization.yaml │ │ └── overlays │ │ ├── dev │ │ ├── ip-pool-lb.yaml │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml │ ├── cloudnative-pg │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ └── monitor │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── coredns │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── csi-external-snapshotter │ └── app │ │ ├── base │ │ └── kustomization.yaml │ │ └── overlays │ │ ├── dev │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml │ ├── eck-operator │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── elastic-stack │ ├── app │ │ ├── base │ │ │ ├── elasticsearch.yaml │ │ │ ├── kibana.yaml │ │ │ └── kustomization.yaml │ │ ├── components │ │ │ ├── authentication │ │ │ │ ├── elasticsearch-admin-externalsecret.yaml │ │ │ │ ├── elasticsearch-fluentd-externalsecret.yaml │ │ │ │ ├── elasticsearch-fluentd-role.yaml │ │ │ │ ├── elasticsearch-patch.yaml │ │ │ │ ├── elasticsearch-prometheus-externalsecret.yaml │ │ │ │ ├── elasticsearch-prometheus-role.yaml │ │ │ │ └── kustomization.yaml │ │ │ ├── ingress │ │ │ │ ├── elasticsearch-ingress.yaml │ │ │ │ ├── elasticsearch-patch.yaml │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kibana-ingress.yaml │ │ │ │ └── kustomization.yaml │ │ │ ├── istio │ │ │ │ ├── elasticsearch-patch.yaml │ │ │ │ ├── kibana-patch.yaml │ │ │ │ └── kustomization.yaml │ │ │ └── kibana-config │ │ │ │ ├── kibana-configuration-cm.yaml │ │ │ │ ├── kibana-configuration-job.yaml │ │ │ │ └── kustomization.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ └── prometheus-elasticsearch-exporter │ │ ├── base │ │ ├── elasticsearch-exporter-externalsecret.yaml │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── servicemonitor.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── external-dns │ └── app │ │ ├── base │ │ ├── external-dns-externalsecret.yaml │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── external-secrets │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ ├── ns.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── config │ │ ├── base │ │ ├── cluster-secret-store.yaml │ │ └── kustomization.yaml │ │ └── overlays │ │ ├── dev │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml │ ├── fluent │ ├── common │ │ ├── base │ │ │ ├── fluent-certificate.yaml │ │ │ ├── fluent-externalsecret.yaml │ │ │ ├── fluentd-extservice.yaml │ │ │ ├── kustomization.yaml │ │ │ └── ns.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ ├── fluent-bit │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ ├── servicemonitor.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ └── componentX │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── fluentd │ │ ├── base │ │ ├── fluentd-elastic-templates-cm.yaml │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── servicemonitor.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── flux-operator │ ├── instance │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── operator │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ └── monitoring │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── grafana │ └── app │ │ ├── base │ │ ├── grafana-externalsecret.yaml │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ ├── dashboards │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ ├── ingress │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── sso │ │ │ ├── grafana-env-externalsecret.yaml │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── istio │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── istio-base-values.yaml │ │ │ ├── istio-cni-values.yaml │ │ │ ├── istio-istiod-values.yaml │ │ │ ├── istio-ztunnel-values.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── ns.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── istio-base-values.yaml │ │ │ ├── istio-cni-values.yaml │ │ │ ├── istio-istiod-values.yaml │ │ │ ├── istio-ztunnel-values.yaml │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ ├── istio-base-values.yaml │ │ │ ├── istio-cni-values.yaml │ │ │ ├── istio-istiod-values.yaml │ │ │ ├── istio-ztunnel-values.yaml │ │ │ └── kustomization.yaml │ └── gateway │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── kafka │ ├── cluster │ │ ├── base │ │ │ ├── kafka-cluster.yaml │ │ │ ├── kafka-node-pool.yaml │ │ │ └── kustomization.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ ├── kafdrop │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ └── componentX │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ ├── schema-registry │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── strimzi-kafka-operator │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── keycloak │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── keycloak-externalsecret.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ ├── external-db │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ ├── ingress │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ └── realm-config │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── keycloak-env-externalsecret.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ ├── picluster-realm.json │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ └── db │ │ ├── base │ │ ├── keycloak-db-external-secret.yaml │ │ ├── keycloak-db-minio-external-secret.yaml │ │ ├── keycloak-db.yaml │ │ ├── kustomization.yaml │ │ └── ns.yaml │ │ └── overlays │ │ ├── dev │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml │ ├── kiali │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── kube-prometheus-stack │ ├── app │ │ ├── base │ │ │ ├── helm.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── kustomizeconfig.yaml │ │ │ ├── ns.yaml │ │ │ └── values.yaml │ │ ├── components │ │ │ ├── disable-grafana │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ ├── ingress │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ │ └── k3s │ │ │ │ ├── helm-patch.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ └── values.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ │ └── prod │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ ├── externalnodes-monitoring │ │ ├── base │ │ │ ├── external-nodes-scrapeconfig.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── minio-bearer-externalsecret.yaml │ │ │ └── minio-ext-scrapeconfig.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ ├── k3s-mixins │ │ ├── base │ │ │ ├── dashboards │ │ │ │ ├── grafana-dashboard-apiserver.yaml │ │ │ │ ├── grafana-dashboard-cluster-total.yaml │ │ │ │ ├── grafana-dashboard-controller-manager.yaml │ │ │ │ ├── grafana-dashboard-coredns.yaml │ │ │ │ ├── grafana-dashboard-etcd.yaml │ │ │ │ ├── grafana-dashboard-grafana-overview.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-cluster.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-namespace.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-node.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-pod.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-windows-cluster.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-windows-namespace.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-windows-pod.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-workload.yaml │ │ │ │ ├── grafana-dashboard-k8s-resources-workloads-namespace.yaml │ │ │ │ ├── grafana-dashboard-k8s-windows-cluster-rsrc-use.yaml │ │ │ │ ├── grafana-dashboard-k8s-windows-node-rsrc-use.yaml │ │ │ │ ├── grafana-dashboard-kubelet.yaml │ │ │ │ ├── grafana-dashboard-namespace-by-pod.yaml │ │ │ │ ├── grafana-dashboard-namespace-by-workload.yaml │ │ │ │ ├── grafana-dashboard-node-cluster-rsrc-use.yaml │ │ │ │ ├── grafana-dashboard-node-rsrc-use.yaml │ │ │ │ ├── grafana-dashboard-nodes-aix.yaml │ │ │ │ ├── grafana-dashboard-nodes-darwin.yaml │ │ │ │ ├── grafana-dashboard-nodes.yaml │ │ │ │ ├── grafana-dashboard-persistentvolumesusage.yaml │ │ │ │ ├── grafana-dashboard-pod-total.yaml │ │ │ │ ├── grafana-dashboard-prometheus-remote-write.yaml │ │ │ │ ├── grafana-dashboard-prometheus.yaml │ │ │ │ ├── grafana-dashboard-proxy.yaml │ │ │ │ ├── grafana-dashboard-scheduler.yaml │ │ │ │ ├── grafana-dashboard-workload-total.yaml │ │ │ │ └── kustomization.yaml │ │ │ ├── kustomization.yaml │ │ │ └── rules │ │ │ │ ├── coredns-mixin-rules.yaml │ │ │ │ ├── etcd-mixin-rules.yaml │ │ │ │ ├── grafana-mixin-rules.yaml │ │ │ │ ├── kubernetes-mixin-rules.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ ├── node-exporter-mixin-rules.yaml │ │ │ │ ├── prometheus-mixin-rules.yaml │ │ │ │ └── prometheus-operator-mixin-rules.yaml │ │ ├── build │ │ │ ├── Dockerfile │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ └── src │ │ │ │ ├── generate.sh │ │ │ │ └── main.jsonnet │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ └── prometheus-operator-crds │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── loki │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── loki-externalsecret.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── longhorn │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ ├── backup │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── minio-externalsecret.yaml │ │ │ ├── values.yaml │ │ │ └── volume-snapshot-class.yaml │ │ ├── ingress │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── monitor │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── metrics-server │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── minio │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── minio-root-external-secret.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ ├── config │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ ├── minio-users-external-secret.yaml │ │ │ └── values.yaml │ │ ├── ingress │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── monitor │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── mongodb-community-operator │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── nginx │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ └── values.yaml │ │ ├── components │ │ ├── loadbalancer │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── opentelemetry │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── oauth2-proxy │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ ├── oauth2-proxy-external-secret.yaml │ │ └── values.yaml │ │ ├── components │ │ └── ingress │ │ │ ├── helm-patch.yaml │ │ │ ├── kustomization.yaml │ │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ ├── system-upgrade │ ├── app │ │ ├── base │ │ │ └── kustomization.yaml │ │ └── overlays │ │ │ ├── dev │ │ │ └── kustomization.yaml │ │ │ └── prod │ │ │ └── kustomization.yaml │ └── config │ │ ├── base │ │ ├── k3s-agent.yaml │ │ ├── k3s-server.yaml │ │ └── kustomization.yaml │ │ └── overlays │ │ ├── dev │ │ └── kustomization.yaml │ │ └── prod │ │ └── kustomization.yaml │ ├── tempo │ └── app │ │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ ├── tempo-externalsecret.yaml │ │ └── values.yaml │ │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ └── velero │ ├── app │ ├── base │ │ ├── helm.yaml │ │ ├── kustomization.yaml │ │ ├── kustomizeconfig.yaml │ │ ├── ns.yaml │ │ ├── values.yaml │ │ └── velero-external-secret.yaml │ └── overlays │ │ ├── dev │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ │ └── prod │ │ ├── helm-patch.yaml │ │ ├── kustomization.yaml │ │ └── values.yaml │ └── config │ ├── base │ ├── backup-schedule.yaml │ ├── kustomization.yaml │ ├── longhorn-volume-snapshot-class.yaml │ └── service-monitor.yaml │ └── overlays │ ├── dev │ └── kustomization.yaml │ └── prod │ └── kustomization.yaml ├── metal ├── rpi │ ├── Makefile │ ├── cloud-init │ │ ├── gateway │ │ │ ├── network-config │ │ │ └── user-data │ │ ├── node1 │ │ │ ├── network-config │ │ │ ├── user-data │ │ │ └── user-data-centralizedSAN │ │ └── nodes │ │ │ ├── network-config │ │ │ ├── user-data │ │ │ └── user-data-SSD-partition │ └── img │ │ └── .gitignore └── x86 │ ├── Makefile │ ├── build │ └── Dockerfile │ └── pxe-files │ ├── boot │ └── .gitignore │ └── img │ └── .gitignore └── scripts ├── get_argocd_admin_pass.sh └── get_elastic_pass.sh /.gitignore: -------------------------------------------------------------------------------- 1 | /ansible/roles/ricsanfre.* 2 | /ansible/ansible_collections 3 | /certbot 4 | /certificates 5 | /docs/_site 6 | /docs/Gemfile.lock 7 | -------------------------------------------------------------------------------- /ansible-runner/ansible-runner.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Execute ansible-runner command using bash shell with loging option 4 | # runner user profile is loaded 5 | 6 | CMD="docker exec -it ansible-runner \ 7 | /bin/bash -lic" 8 | 9 | # Execute docker run command 10 | $CMD "$(printf ' %q' "$@")" -------------------------------------------------------------------------------- /ansible-runner/build/requirements.txt: -------------------------------------------------------------------------------- 1 | kubernetes 2 | hvac 3 | certbot 4 | certbot-dns-ionos -------------------------------------------------------------------------------- /ansible-runner/certbot/config/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/certbot/log/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/certbot/work/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/.gnupg/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/.kube/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/.secrets/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/.ssh/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/.vault/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/artifacts/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /ansible-runner/runner/env: -------------------------------------------------------------------------------- 1 | DOCKER_IMG=ansible-runner 2 | RUNNER_CONTAINER=ansible-runner 3 | BUILD_ARGS= 4 | GPG_EMAIL=vault-ansible@picluster 5 | GPG_NAME=Vault-Ansible -------------------------------------------------------------------------------- /ansible-runner/runner/scripts/generate_vault_password.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # GPG_EMAIL expected as environment variable 4 | pwgen -n 71 -C | head -n1 | gpg --armor --recipient ${GPG_EMAIL} -e -o ~/.vault/vault_passphrase.gpg 5 | -------------------------------------------------------------------------------- /ansible/.vault/vault_pass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | gpg --batch --use-agent --decrypt $HOME/.vault/vault_passphrase.gpg 3 | -------------------------------------------------------------------------------- /ansible/.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | 4 | ignore: | 5 | ansible_collections/ 6 | vars/vault.yml 7 | roles/ricsanfre.*/ 8 | docs/ 9 | 10 | rules: 11 | line-length: 12 | max: 180 13 | level: warning 14 | -------------------------------------------------------------------------------- /ansible/configure_dns_authoritative.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Configure DNS authoritative 3 | hosts: dns 4 | gather_facts: true 5 | tags: [dns] 6 | become: true 7 | pre_tasks: 8 | - name: Include vault variables 9 | ansible.builtin.include_vars: "vars/vault.yml" 10 | tags: ["always"] 11 | roles: 12 | # DNS configuration 13 | - role: ricsanfre.bind9 14 | -------------------------------------------------------------------------------- /ansible/configure_pxe_server.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Configure PXE server 3 | hosts: pxe 4 | gather_facts: true 5 | tags: [pxe] 6 | become: true 7 | pre_tasks: 8 | - name: Include vault variables 9 | ansible.builtin.include_vars: "vars/vault.yml" 10 | tags: ["always"] 11 | roles: 12 | - role: pxe-server 13 | -------------------------------------------------------------------------------- /ansible/group_vars/external.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Remote user name 3 | ansible_user: ubuntu 4 | -------------------------------------------------------------------------------- /ansible/group_vars/k3s_cluster.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # k3s_cluster group variables 3 | 4 | #################### 5 | # ntp role variables 6 | #################### 7 | 8 | ntp_servers: 9 | - server: 10.0.0.1 10 | type: server 11 | -------------------------------------------------------------------------------- /ansible/group_vars/k3s_master.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # k3s_master group variables 3 | 4 | 5 | ################################## 6 | # ricsanfre.k8s_cli role variables 7 | ################################## 8 | 9 | install_helm: true 10 | helm_version: 'v3.9.4' 11 | install_kubectl: false 12 | 13 | # OS and hardware architectire 14 | k8s_platform: linux 15 | k8s_arch: arm64 16 | -------------------------------------------------------------------------------- /ansible/roles/basic_setup/defaults/main.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | common_packages: 4 | - curl 5 | - bridge-utils 6 | # Longhorn requirements 7 | - open-iscsi 8 | - nfs-common 9 | - cryptsetup 10 | - dmsetup 11 | 12 | rpi_packages: 13 | - libraspberrypi-bin 14 | - linux-modules-extra-raspi 15 | - fake-hwclock 16 | - bridge-utils 17 | -------------------------------------------------------------------------------- /ansible/roles/basic_setup/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: reboot 3 | reboot: 4 | 5 | - name: restart multipath 6 | service: 7 | name: multipathd 8 | state: restarted 9 | -------------------------------------------------------------------------------- /ansible/roles/basic_setup/scripts/pi_temp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Display the ARM CPU and GPU temperature of Raspberry Pi 3 | 4 | cpu=$( $(vcgencmd measure_temp)" 8 | echo "CPU => $((cpu/1000))'C" -------------------------------------------------------------------------------- /ansible/roles/basic_setup/tasks/files/multipath.conf: -------------------------------------------------------------------------------- 1 | defaults { 2 | user_friendly_names yes 3 | } 4 | blacklist { 5 | devnode "^sd[a-z0-9]+" 6 | } -------------------------------------------------------------------------------- /ansible/roles/basic_setup/tasks/remove_snap.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Remove Snap Packages 3 | ansible.builtin.include_tasks: remove_snap_packages.yml 4 | 5 | - name: Remove snapd package 6 | ansible.builtin.apt: 7 | name: snapd 8 | update_cache: true 9 | autoremove: true 10 | state: absent 11 | -------------------------------------------------------------------------------- /ansible/roles/certbot/templates/certbot-wrapper.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # certbot-wrapper script 4 | # Need to be copied to venv_cerbot/bin 5 | 6 | BASEDIR=$(dirname "$0") 7 | 8 | $BASEDIR/certbot \ 9 | --config-dir $BASEDIR/../config \ 10 | --work-dir $BASEDIR/.. \ 11 | --logs-dir $BASEDIR/../logs \ 12 | $@ -------------------------------------------------------------------------------- /ansible/roles/certbot/templates/ionos-credentials.ini.j2: -------------------------------------------------------------------------------- 1 | dns_ionos_prefix = {{ dns_ionos_prefix }} 2 | dns_ionos_secret = {{ dns_ionos_secret }} 3 | dns_ionos_endpoint = {{ dns_ionos_api_endpoint }} -------------------------------------------------------------------------------- /ansible/roles/certbot/tests/install_certbot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install certbot 4 | hosts: localhost 5 | gather_facts: true 6 | roles: 7 | - role: certbot 8 | vars: 9 | - certbot_venv: /home/ricsanfre/letsencrypt 10 | -------------------------------------------------------------------------------- /ansible/roles/dns/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart systemd-resolved 3 | service: 4 | name: systemd-resolved 5 | state: restarted 6 | -------------------------------------------------------------------------------- /ansible/roles/fluxcd-cli/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Version 3 | fluxcd_version: "v2.4.0" 4 | -------------------------------------------------------------------------------- /ansible/roles/fluxcd-cli/tasks/install_fluxcd_cli.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install flux-cd cli 4 | ansible.builtin.shell: | 5 | set -o pipefail 6 | FLUX_VERSION={{ fluxcd_version }} curl -s https://fluxcd.io/install.sh | sudo bash 7 | args: 8 | executable: /bin/bash 9 | changed_when: true 10 | -------------------------------------------------------------------------------- /ansible/roles/fluxcd-cli/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install Flux CD CLI 4 | ansible.builtin.include_tasks: install_fluxcd_cli.yml 5 | args: 6 | apply: 7 | become: true 8 | -------------------------------------------------------------------------------- /ansible/roles/haproxy/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | haproxy_user: haproxy 4 | haproxy_group: haproxy 5 | -------------------------------------------------------------------------------- /ansible/roles/haproxy/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for haproxy 3 | - name: restart haproxy 4 | systemd: 5 | state: 'restarted' 6 | name: 'haproxy' 7 | -------------------------------------------------------------------------------- /ansible/roles/istio-cli/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Version 3 | istio_version: "1.24.2" 4 | -------------------------------------------------------------------------------- /ansible/roles/istio-cli/tasks/install_istio_cli.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install istio cli 4 | ansible.builtin.shell: | 5 | ISTIO_VERSION={{ istio_version }} curl -sL https://istio.io/downloadIstioctl | sh - 6 | changed_when: true 7 | -------------------------------------------------------------------------------- /ansible/roles/istio-cli/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install Istio CLI 4 | ansible.builtin.include_tasks: install_istio_cli.yml 5 | args: 6 | apply: 7 | become: true 8 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Run pre-configuration tasks 4 | include_tasks: pre_configuration.yml 5 | 6 | - name: Run installation tasks 7 | include_tasks: installation.yml 8 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/tasks/wait_for_master_node.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: "Wait for master node to be ready" 4 | command: 5 | cmd: "kubectl get nodes {{ item }}" 6 | register: nodes 7 | until: 8 | - '" Ready " in nodes.stdout' 9 | retries: 10 10 | delay: 5 11 | with_items: "{{ inventory_hostname }}" 12 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/tasks/wait_for_primary_master.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Check that the control plane is available to accept connections 4 | ansible.builtin.wait_for: 5 | port: '6443' 6 | host: "{{ hostvars[groups['k3s_master'][0]].ansible_host }}" 7 | delay: 5 8 | sleep: 5 9 | timeout: 300 10 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/templates/config.yml.j2: -------------------------------------------------------------------------------- 1 | {% if k3s_build_cluster and k3s_primary_control_node %} 2 | cluster-init: true 3 | {% else %} 4 | server: https://{{ k3s_registration_ip }}:6443 5 | {% endif %} 6 | token-file: {{ k3s_token_file }} 7 | {% if 'k3s_master' in group_names %} 8 | {{ k3s_server_config | to_nice_yaml }} 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/templates/registry.yml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | {{ k3s_registries | to_nice_yaml(indent=2) }} 3 | -------------------------------------------------------------------------------- /ansible/roles/k3s/master/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # HA configuration 3 | k3s_build_cluster: false 4 | k3s_primary_control_node: false 5 | 6 | 7 | # Config directory location for k3s 8 | k3s_config_dir: "/etc/rancher/k3s" 9 | 10 | # Directory for gathering the k3s token for clustering. 11 | k3s_token_file: "{{ k3s_config_dir }}/cluster-token" 12 | -------------------------------------------------------------------------------- /ansible/roles/k3s/prereq/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: reboot 3 | reboot: 4 | -------------------------------------------------------------------------------- /ansible/roles/k3s/worker/templates/config.yml.j2: -------------------------------------------------------------------------------- 1 | server: https://{{ k3s_registration_ip }}:6443 2 | 3 | token-file: {{ k3s_token_file }} 4 | {{ k3s_agent_config | to_nice_yaml }} 5 | -------------------------------------------------------------------------------- /ansible/roles/k3s/worker/templates/registry.yml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | {{ k3s_registries | to_nice_yaml(indent=2) }} 3 | -------------------------------------------------------------------------------- /ansible/roles/k3s/worker/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Config directory location for k3s 4 | k3s_config_dir: "/etc/rancher/k3s" 5 | 6 | # Directory for gathering the k3s token for clustering. 7 | k3s_token_file: "{{ k3s_config_dir }}/cluster-token" 8 | -------------------------------------------------------------------------------- /ansible/roles/linkerd-cli/tasks/install_linkerd_cli.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install linkerd cli 4 | get_url: 5 | url: "{{ linkerd_package_url }}" 6 | dest: "{{ linkerd_bin }}" 7 | owner: root 8 | group: root 9 | mode: '0755' 10 | # checksum: "{{ linkerd_checksum }}" 11 | -------------------------------------------------------------------------------- /ansible/roles/linkerd-cli/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Check Linkerd CLI installation status 4 | stat: 5 | path: "{{ linkerd_bin }}" 6 | register: _linkerd_bin 7 | 8 | - name: Install linkerd CLI 9 | include_tasks: install_linkerd_cli.yml 10 | args: 11 | apply: 12 | become: true 13 | when: 14 | - not _linkerd_bin.stat.exists 15 | -------------------------------------------------------------------------------- /ansible/roles/logging/external_node/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Deploy fluentbit 3 | - name: Deploy fluentbit. 4 | include_role: 5 | name: ricsanfre.fluentbit 6 | vars: 7 | # lua scripts 8 | fluentbit_lua_scripts: 9 | - name: adjust_ts.lua 10 | content: "{{ lookup('template','templates/adjust_ts.lua') }}" 11 | -------------------------------------------------------------------------------- /ansible/roles/logging/external_node/templates/adjust_ts.lua: -------------------------------------------------------------------------------- 1 | function local_timestamp_to_UTC(tag, timestamp, record) 2 | local utcdate = os.date("!*t", ts) 3 | local localdate = os.date("*t", ts) 4 | localdate.isdst = false -- this is the trick 5 | utc_time_diff = os.difftime(os.time(localdate), os.time(utcdate)) 6 | return 1, timestamp - utc_time_diff, record 7 | end -------------------------------------------------------------------------------- /ansible/roles/longhorn-cli/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | longhorn_version: v1.7.2 3 | longhorn_arch: amd64 4 | -------------------------------------------------------------------------------- /ansible/roles/longhorn-cli/tasks/install_longhorn_cli.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Download Longhorn CLI 4 | ansible.builtin.get_url: 5 | url: https://github.com/longhorn/cli/releases/download/{{ longhorn_version }}/longhornctl-linux-{{ longhorn_arch }} 6 | dest: /usr/local/bin/longhornctl 7 | mode: '0755' 8 | -------------------------------------------------------------------------------- /ansible/roles/longhorn-cli/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install longhorn client 4 | ansible.builtin.include_tasks: install_longhorn_cli.yml 5 | args: 6 | apply: 7 | become: true 8 | -------------------------------------------------------------------------------- /ansible/roles/longhorn-util/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /ansible/roles/longhorn-util/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Copy longhorn health check script 3 | copy: 4 | src: "files/{{ item }}" 5 | dest: "/usr/local/bin/{{ item }}" 6 | owner: "root" 7 | group: "root" 8 | mode: "u=rwx,g=rx,o=rx" 9 | become: true 10 | with_items: 11 | - check_lh.sh 12 | -------------------------------------------------------------------------------- /ansible/roles/pxe-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # ISO file 3 | ubuntu_live_server_iso_file: ubuntu-22.04.5-live-server-amd64.iso 4 | 5 | # Kick-start server (http server) 6 | apache_package_list: 7 | - apache2 8 | kick_start_server: "{{ hostvars[groups['pxe'][0]].ip }}" 9 | ks_http_conf: ks-server.conf 10 | 11 | # tftp server 12 | tftp_package_list: 13 | - tftpd-hpa 14 | -------------------------------------------------------------------------------- /ansible/roles/pxe-server/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart-apache 3 | ansible.builtin.service: 4 | name: apache2 5 | state: restarted 6 | -------------------------------------------------------------------------------- /ansible/roles/pxe-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install Apache server 3 | - name: Install Kick-start HTTP server 4 | ansible.builtin.include_tasks: install_ks_http_server.yml 5 | 6 | # Install TFTP server 7 | - name: Install TFTP server 8 | ansible.builtin.include_tasks: install_tftp_server.yml 9 | -------------------------------------------------------------------------------- /ansible/roles/pxe-server/templates/cloud-init-metadata.yml.j2: -------------------------------------------------------------------------------- 1 | instance-id: {{ x86_host }} -------------------------------------------------------------------------------- /ansible/roles/velero-cli/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | velero_version: v1.14.0 3 | velero_arch: amd64 4 | 5 | velero_namespace: velero 6 | -------------------------------------------------------------------------------- /ansible/roles/velero-cli/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install velero client 4 | ansible.builtin.include_tasks: install_velero_cli.yml 5 | args: 6 | apply: 7 | become: true 8 | 9 | - name: Configure velero CLI 10 | ansible.builtin.include_tasks: configure_velero_cli.yml 11 | -------------------------------------------------------------------------------- /ansible/roles/velero-cli/tests/cleaning_testing.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Cleaning velero testing pod. 3 | hosts: k3s_master 4 | 5 | tasks: 6 | - name: Cleaning testing 7 | kubernetes.core.k8s: 8 | definition: "{{ lookup('file', 'files/' + item ) }}" 9 | state: absent 10 | with_items: 11 | - nginx_test_application.yml 12 | -------------------------------------------------------------------------------- /ansible/roles/velero-cli/tests/testing_velero.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Testing velero backup. 3 | hosts: k3s_master 4 | 5 | tasks: 6 | - name: Create PVC and testing pod 7 | kubernetes.core.k8s: 8 | definition: "{{ lookup('file', 'files/' + item ) }}" 9 | state: present 10 | with_items: 11 | - nginx_test_application.yml 12 | -------------------------------------------------------------------------------- /ansible/shutdown.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: picluster 3 | become: true 4 | gather_facts: false 5 | tasks: 6 | - name: Shutdown 7 | command: shutdown -h 1 min 8 | ignore_errors: true 9 | 10 | - hosts: gateway 11 | become: true 12 | gather_facts: false 13 | tasks: 14 | - name: Shutdown 15 | command: shutdown -h 1 min 16 | ignore_errors: true 17 | -------------------------------------------------------------------------------- /ansible/tasks/install_cli_utils.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Execute roles to install cli and utils 3 | - name: Use role in loop 4 | ansible.builtin.include_role: 5 | name: '{{ role }}' 6 | loop_control: 7 | loop_var: role 8 | loop: 9 | - longhorn-util 10 | - velero-cli 11 | -------------------------------------------------------------------------------- /ansible/templates/ionos-credentials.ini.j2: -------------------------------------------------------------------------------- 1 | dns_ionos_prefix = {{ ionos_public_prefix }} 2 | dns_ionos_secret = {{ ionos_secret }} 3 | dns_ionos_endpoint = {{ ionos_api_endpoint }} -------------------------------------------------------------------------------- /ansible/vars/selfsigned-certificates.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Self-signed certificate generation variables 3 | ssl_key_size: 4096 4 | ssl_certificate_provider: selfsigned 5 | key_type: RSA 6 | country_name: ES 7 | email_address: admin@ricsanfre.com 8 | organization_name: Ricsanfre 9 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | picluster.ricsanfre.com -------------------------------------------------------------------------------- /docs/_data/icons.yml: -------------------------------------------------------------------------------- 1 | github: '' -------------------------------------------------------------------------------- /docs/_data/navbar.yml: -------------------------------------------------------------------------------- 1 | - name: Docs 2 | link: /docs/home/ 3 | sectionid: docs 4 | - name: ' Repo' 5 | link: https://github.com/ricsanfre/pi-cluster 6 | sectionid: github 7 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/_forms.scss: -------------------------------------------------------------------------------- 1 | @import "forms/labels"; 2 | @import "forms/form-text"; 3 | @import "forms/form-control"; 4 | @import "forms/form-select"; 5 | @import "forms/form-check"; 6 | @import "forms/form-range"; 7 | @import "forms/floating-labels"; 8 | @import "forms/input-group"; 9 | @import "forms/validation"; 10 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/stacks"; 6 | @import "helpers/visually-hidden"; 7 | @import "helpers/stretched-link"; 8 | @import "helpers/text-truncation"; 9 | @import "helpers/vr"; 10 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_stacks.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start stacks 2 | .hstack { 3 | display: flex; 4 | flex-direction: row; 5 | align-items: center; 6 | align-self: stretch; 7 | } 8 | 9 | .vstack { 10 | display: flex; 11 | flex: 1 1 auto; 12 | flex-direction: column; 13 | align-self: stretch; 14 | } 15 | // scss-docs-end stacks 16 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::#{$stretched-link-pseudo-element} { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: $stretched-link-z-index; 13 | content: ""; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus):not(:focus-within) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/helpers/_vr.scss: -------------------------------------------------------------------------------- 1 | .vr { 2 | display: inline-block; 3 | align-self: stretch; 4 | width: 1px; 5 | min-height: 1em; 6 | background-color: currentColor; 7 | opacity: $hr-opacity; 8 | } 9 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start alert-variant-mixin 2 | @mixin alert-variant($background, $border, $color) { 3 | color: $color; 4 | @include gradient-bg($background); 5 | border-color: $border; 6 | 7 | .alert-link { 8 | color: shade-color($color, 20%); 9 | } 10 | } 11 | // scss-docs-end alert-variant-mixin 12 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_color-scheme.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start mixin-color-scheme 2 | @mixin color-scheme($name) { 3 | @media (prefers-color-scheme: #{$name}) { 4 | @content; 5 | } 6 | } 7 | // scss-docs-end mixin-color-scheme 8 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_container.scss: -------------------------------------------------------------------------------- 1 | // Container mixins 2 | 3 | @mixin make-container($gutter: $container-padding-x) { 4 | width: 100%; 5 | padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter}); 6 | padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter}); 7 | margin-right: auto; 8 | margin-left: auto; 9 | } 10 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /docs/_sass/bootstrap/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /docs/_sass/fontawesome/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | text-align: center; 5 | width: $fa-fw-width; 6 | } 7 | -------------------------------------------------------------------------------- /docs/_sass/fontawesome/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only; } 5 | .sr-only-focusable { @include sr-only-focusable; } 6 | -------------------------------------------------------------------------------- /docs/_sass/fontawesome/v4-shims.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @import 'variables'; 6 | @import 'shims'; 7 | -------------------------------------------------------------------------------- /docs/assets/404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | permalink: 404.html 4 | --- 5 | 6 |
7 |

The page you are looking for cannot be found.

8 |

404

9 |
-------------------------------------------------------------------------------- /docs/assets/img/Creating_LUNs_using_LVM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/Creating_LUNs_using_LVM.png -------------------------------------------------------------------------------- /docs/assets/img/RaspberryPiCluster_HW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/RaspberryPiCluster_HW.png -------------------------------------------------------------------------------- /docs/assets/img/RaspberryPiCluster_HW_storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/RaspberryPiCluster_HW_storage.png -------------------------------------------------------------------------------- /docs/assets/img/RaspberryPiCluster_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/RaspberryPiCluster_architecture.png -------------------------------------------------------------------------------- /docs/assets/img/benchmarking_random_i_o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/benchmarking_random_i_o.png -------------------------------------------------------------------------------- /docs/assets/img/benchmarking_random_i_o_iozone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/benchmarking_random_i_o_iozone.png -------------------------------------------------------------------------------- /docs/assets/img/benchmarking_score.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/benchmarking_score.png -------------------------------------------------------------------------------- /docs/assets/img/benchmarking_sequential_i_o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/benchmarking_sequential_i_o.png -------------------------------------------------------------------------------- /docs/assets/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/bg.jpg -------------------------------------------------------------------------------- /docs/assets/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/bg.png -------------------------------------------------------------------------------- /docs/assets/img/cert-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/cert-manager.png -------------------------------------------------------------------------------- /docs/assets/img/cicd-gitops-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/cicd-gitops-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/core-dns-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/core-dns-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/dlink-dgs-1016S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/dlink-dgs-1016S.png -------------------------------------------------------------------------------- /docs/assets/img/efk-loki-logging-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/efk-loki-logging-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/efk_logging_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/efk_logging_architecture.png -------------------------------------------------------------------------------- /docs/assets/img/emojivoto-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/emojivoto-logs.png -------------------------------------------------------------------------------- /docs/assets/img/emojivoto-loki-tempo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/emojivoto-loki-tempo.png -------------------------------------------------------------------------------- /docs/assets/img/emojivoto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/emojivoto.png -------------------------------------------------------------------------------- /docs/assets/img/external-dns-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/external-dns-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/flannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/flannel.png -------------------------------------------------------------------------------- /docs/assets/img/flux-bootstrap-repo-commits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/flux-bootstrap-repo-commits.png -------------------------------------------------------------------------------- /docs/assets/img/flux-crds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/flux-crds.png -------------------------------------------------------------------------------- /docs/assets/img/flux-helmchart-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/flux-helmchart-app.png -------------------------------------------------------------------------------- /docs/assets/img/fluxcd-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/fluxcd-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/gateway-dns-dhcp-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/gateway-dns-dhcp-config.png -------------------------------------------------------------------------------- /docs/assets/img/giscus-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/giscus-app.png -------------------------------------------------------------------------------- /docs/assets/img/glinet-xlate-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/glinet-xlate-plus.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-client-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-client-5.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-client-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-client-6.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-client-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-client-7.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-client-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-client-8.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-keycloak-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-keycloak-1.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-keycloak-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-keycloak-2.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-keycloak-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-keycloak-3.png -------------------------------------------------------------------------------- /docs/assets/img/grafana-keycloak-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/grafana-keycloak-4.png -------------------------------------------------------------------------------- /docs/assets/img/hp-elite-secure-boot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/hp-elite-secure-boot.jpg -------------------------------------------------------------------------------- /docs/assets/img/hp-elite-uefi-bootorder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/hp-elite-uefi-bootorder.jpg -------------------------------------------------------------------------------- /docs/assets/img/hp-elitedesk-800-g3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/hp-elitedesk-800-g3.png -------------------------------------------------------------------------------- /docs/assets/img/hpelitedesk800g3mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/hpelitedesk800g3mini.png -------------------------------------------------------------------------------- /docs/assets/img/istio-architecture-ambient-L4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/istio-architecture-ambient-L4.png -------------------------------------------------------------------------------- /docs/assets/img/istio-architecture-ambient-L7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/istio-architecture-ambient-L7.png -------------------------------------------------------------------------------- /docs/assets/img/istio-architecture-sidecar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/istio-architecture-sidecar.png -------------------------------------------------------------------------------- /docs/assets/img/istio_sidecar_vs_ambient.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/istio_sidecar_vs_ambient.jpg -------------------------------------------------------------------------------- /docs/assets/img/k3s-HA-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/k3s-HA-configuration.png -------------------------------------------------------------------------------- /docs/assets/img/k3s-single-master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/k3s-single-master.png -------------------------------------------------------------------------------- /docs/assets/img/keycloak-sso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/keycloak-sso.png -------------------------------------------------------------------------------- /docs/assets/img/kiali-keycloak-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kiali-keycloak-1.png -------------------------------------------------------------------------------- /docs/assets/img/kiali-keycloak-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kiali-keycloak-2.png -------------------------------------------------------------------------------- /docs/assets/img/kiali-keycloak-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kiali-keycloak-3.png -------------------------------------------------------------------------------- /docs/assets/img/kiali-keycloak-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kiali-keycloak-4.png -------------------------------------------------------------------------------- /docs/assets/img/kibana-setup-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kibana-setup-1.png -------------------------------------------------------------------------------- /docs/assets/img/kibana-setup-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kibana-setup-2.png -------------------------------------------------------------------------------- /docs/assets/img/kibana-setup-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kibana-setup-3.png -------------------------------------------------------------------------------- /docs/assets/img/kustomize-base-overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kustomize-base-overlay.png -------------------------------------------------------------------------------- /docs/assets/img/kustomize-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/kustomize-components.png -------------------------------------------------------------------------------- /docs/assets/img/linkerd-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/linkerd-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/logging-forwarder-aggregator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logging-forwarder-aggregator.png -------------------------------------------------------------------------------- /docs/assets/img/logging-forwarder-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logging-forwarder-only.png -------------------------------------------------------------------------------- /docs/assets/img/logonav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logonav.png -------------------------------------------------------------------------------- /docs/assets/img/logos/cloudnative-pg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/cloudnative-pg.png -------------------------------------------------------------------------------- /docs/assets/img/logos/containerd.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/assets/img/logos/external-dns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/external-dns.png -------------------------------------------------------------------------------- /docs/assets/img/logos/flux-cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/flux-cd.png -------------------------------------------------------------------------------- /docs/assets/img/logos/ionos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/ionos.png -------------------------------------------------------------------------------- /docs/assets/img/logos/loki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/loki.png -------------------------------------------------------------------------------- /docs/assets/img/logos/openwrt-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/openwrt-icon.png -------------------------------------------------------------------------------- /docs/assets/img/logos/restic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logos/restic.png -------------------------------------------------------------------------------- /docs/assets/img/logs_loki_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/logs_loki_es.png -------------------------------------------------------------------------------- /docs/assets/img/loki-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/loki-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/longhorn_backup_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/longhorn_backup_settings.png -------------------------------------------------------------------------------- /docs/assets/img/longhorn_volume_test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/longhorn_volume_test.png -------------------------------------------------------------------------------- /docs/assets/img/longhorn_volume_test_replicas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/longhorn_volume_test_replicas.png -------------------------------------------------------------------------------- /docs/assets/img/metallb_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/metallb_architecture.png -------------------------------------------------------------------------------- /docs/assets/img/netgear-gs105E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/netgear-gs105E.png -------------------------------------------------------------------------------- /docs/assets/img/netgear-gs108e.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/netgear-gs108e.jpg -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-1.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-2.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-3.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-4.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-5.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-6.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-7.png -------------------------------------------------------------------------------- /docs/assets/img/oauth2-proxy-client-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/oauth2-proxy-client-8.png -------------------------------------------------------------------------------- /docs/assets/img/observability-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/observability-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-allow-dns-traffic-to-device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-allow-dns-traffic-to-device.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-allow-https-traffic-to-device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-allow-https-traffic-to-device.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-backup-restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-backup-restore.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-default-route.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-default-route.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-dns-forwarders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-dns-forwarders.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-dns-local-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-dns-local-domain.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-dns-rebind-whitelist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-dns-rebind-whitelist.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firewall-added-rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firewall-added-rules.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firewall-allow-ssh-device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firewall-allow-ssh-device.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firewall-http-from-wan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firewall-http-from-wan.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firewall-kube-api-from-wan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firewall-kube-api-from-wan.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firewall-ssh-traffic-from-wan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firewall-ssh-traffic-from-wan.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firmware-selector-gl-inet-a1300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firmware-selector-gl-inet-a1300.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firmware-selector-rpi4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firmware-selector-rpi4.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-firmware-upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-firmware-upgrade.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-gl-a1300-uboot-firmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-gl-a1300-uboot-firmware.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-hostname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-hostname.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-https-access.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-https-access.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-lan-dhcp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-lan-dhcp.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-lan-disable-dhcpv6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-lan-disable-dhcpv6.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-lan-interface-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-lan-interface-config.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-ntp-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-ntp-server.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-ntp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-ntp.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-rpi4-luci-first-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-rpi4-luci-first-login.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-ssh-access-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-ssh-access-key.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-ssh-disable-password-access.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-ssh-disable-password-access.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wireless-client-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wireless-client-connection.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wireless-interfaces-rpi4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wireless-interfaces-rpi4.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wireless-interfaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wireless-interfaces.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wireless-join-network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wireless-join-network.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wireless-joining-network-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wireless-joining-network-config.png -------------------------------------------------------------------------------- /docs/assets/img/openwrt-wwan-interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/openwrt-wwan-interface.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-2.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-2.0.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-3.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-3.0.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-backup-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-backup-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-dev-k3d-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-dev-k3d-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-dns-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-dns-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-icons.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-rpi4-storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-rpi4-storage.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster-tech-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster-tech-stack.png -------------------------------------------------------------------------------- /docs/assets/img/pi-cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-cluster.png -------------------------------------------------------------------------------- /docs/assets/img/pi-logo-reduced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pi-logo-reduced.png -------------------------------------------------------------------------------- /docs/assets/img/picluster-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/picluster-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/picluster-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/picluster-logo.png -------------------------------------------------------------------------------- /docs/assets/img/picluster-sso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/picluster-sso.png -------------------------------------------------------------------------------- /docs/assets/img/prometheus-custom-metrics-elements-1024x555.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/prometheus-custom-metrics-elements-1024x555.png -------------------------------------------------------------------------------- /docs/assets/img/prometheus-stack-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/prometheus-stack-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/pxe-boot-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/pxe-boot-flow.png -------------------------------------------------------------------------------- /docs/assets/img/raspberrypi4b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/raspberrypi4b.png -------------------------------------------------------------------------------- /docs/assets/img/raspi-config-window-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/raspi-config-window-1.png -------------------------------------------------------------------------------- /docs/assets/img/raspi-config-window-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/raspi-config-window-2.png -------------------------------------------------------------------------------- /docs/assets/img/raspi-config-window-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/raspi-config-window-3.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-1.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-2.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-3.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-4.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-5.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-6.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-7.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-8.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-9.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-openwrt-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-openwrt-1.png -------------------------------------------------------------------------------- /docs/assets/img/rpi-imager-openwrt-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/rpi-imager-openwrt-2.png -------------------------------------------------------------------------------- /docs/assets/img/schema-registry-and-kafka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/schema-registry-and-kafka.png -------------------------------------------------------------------------------- /docs/assets/img/schema-registry-ecosystem.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/schema-registry-ecosystem.jpg -------------------------------------------------------------------------------- /docs/assets/img/tempo_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/tempo_arch.png -------------------------------------------------------------------------------- /docs/assets/img/tracing-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/tracing-architecture.png -------------------------------------------------------------------------------- /docs/assets/img/ubuntu-network-manager-ipv4-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/ubuntu-network-manager-ipv4-settings.png -------------------------------------------------------------------------------- /docs/assets/img/ubuntu-partitioning-schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/ubuntu-partitioning-schema.png -------------------------------------------------------------------------------- /docs/assets/img/ubuntu-user-SSH-key-generation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/ubuntu-user-SSH-key-generation.png -------------------------------------------------------------------------------- /docs/assets/img/vault-externalsecrets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/vault-externalsecrets.png -------------------------------------------------------------------------------- /docs/assets/img/velero-backup-process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/img/velero-backup-process.png -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /docs/assets/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/assets/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ricsanfre/pi-cluster/e6b519d1c133a15acede8fa8641d90af25c61216/docs/favicon.ico -------------------------------------------------------------------------------- /giscus.json: -------------------------------------------------------------------------------- 1 | { 2 | "origins": [ 3 | "https://picluster.ricsanfre.com" 4 | ], 5 | "defaultCommentOrder": "newest" 6 | } -------------------------------------------------------------------------------- /kubernetes/apps/book-info/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: book-info -------------------------------------------------------------------------------- /kubernetes/apps/book-info/app/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/apps/book-info/app/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/apps/mongodb-cluster/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - mongodb-secret.yaml 5 | - mongodb-certificate.yaml 6 | - mongodb-cluster.yaml 7 | 8 | 9 | -------------------------------------------------------------------------------- /kubernetes/apps/mongodb-cluster/app/base/mongodb-secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: admin-user 5 | namespace: mongodb 6 | type: Opaque 7 | stringData: 8 | password: s1cret0 -------------------------------------------------------------------------------- /kubernetes/apps/mongodb-cluster/app/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: mongodb 4 | 5 | resources: 6 | - ../../base 7 | -------------------------------------------------------------------------------- /kubernetes/apps/mongodb-cluster/app/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: mongodb 4 | 5 | resources: 6 | - ../../base 7 | -------------------------------------------------------------------------------- /kubernetes/clusters/bootstrap/vault/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ns.yaml 6 | - vault-auth-serviceaccount.yaml 7 | 8 | -------------------------------------------------------------------------------- /kubernetes/clusters/bootstrap/vault/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: vault 5 | -------------------------------------------------------------------------------- /kubernetes/clusters/bootstrap/vault/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/clusters/bootstrap/vault/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/clusters/dev/config/cluster-settings.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: cluster-settings 6 | namespace: flux-system 7 | data: 8 | CLUSTER_DOMAIN: dev.homelab.ricsanfre.com 9 | NGINX_LOAD_BALANCER_IP: 172.30.200.1 10 | -------------------------------------------------------------------------------- /kubernetes/clusters/dev/config/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ./cluster-settings.yaml 5 | - ./cluster.yaml -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/bitnami-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: bitnami 6 | namespace: flux-system 7 | spec: 8 | type: oci 9 | url: oci://registry-1.docker.io/bitnamicharts 10 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/cilium-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: cilium 6 | namespace: flux-system 7 | spec: 8 | url: https://helm.cilium.io/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/cloudnative-pg-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: cloudnative-pg 6 | namespace: flux-system 7 | spec: 8 | url: https://cloudnative-pg.github.io/charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/controlplane-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: controlplane 6 | namespace: flux-system 7 | spec: 8 | type: oci 9 | url: oci://ghcr.io/controlplaneio-fluxcd/charts 10 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/coredns-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: coredns 6 | namespace: flux-system 7 | spec: 8 | url: https://coredns.github.io/helm 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/elastic-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: elastic 6 | namespace: flux-system 7 | spec: 8 | url: https://helm.elastic.co 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/external-dns-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: external-dns 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes-sigs.github.io/external-dns 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/external-secrets-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: external-secrets 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.external-secrets.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/fluent-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: fluent 6 | namespace: flux-system 7 | spec: 8 | url: https://fluent.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/grafana-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: grafana 6 | namespace: flux-system 7 | spec: 8 | url: https://grafana.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/ingress-nginx-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: ingress-nginx 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes.github.io/ingress-nginx 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/istio-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: istio 6 | namespace: flux-system 7 | spec: 8 | url: https://istio-release.storage.googleapis.com/charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/jetstack-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: jetstack 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.jetstack.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/kiali-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: kiali 6 | namespace: flux-system 7 | spec: 8 | url: https://kiali.org/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/longhorn-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: longhorn 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.longhorn.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/metrics-server-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: metrics-server 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes-sigs.github.io/metrics-server 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/minio-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: minio 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.min.io/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/mongodb-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: mongodb 6 | namespace: flux-system 7 | spec: 8 | url: https://mongodb.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/oauth2-proxy-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: oauth2-proxy 6 | namespace: flux-system 7 | spec: 8 | url: https://oauth2-proxy.github.io/manifests 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/prometheus-community-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: prometheus-community 6 | namespace: flux-system 7 | spec: 8 | url: https://prometheus-community.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/ricsanfre-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: ricsanfre 6 | namespace: flux-system 7 | spec: 8 | url: https://ricsanfre.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/strimzi-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: strimzi 6 | namespace: flux-system 7 | spec: 8 | url: https://strimzi.io/charts/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/helm/vmware-tanzu-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: vmware-tanzu 6 | namespace: flux-system 7 | spec: 8 | url: https://vmware-tanzu.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ./helm 5 | - ./oci 6 | -------------------------------------------------------------------------------- /kubernetes/clusters/dev/repositories/oci/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: [] 4 | -------------------------------------------------------------------------------- /kubernetes/clusters/prod/apps/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - book-info-app.yaml -------------------------------------------------------------------------------- /kubernetes/clusters/prod/config/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ./cluster-settings.yaml 5 | -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/bitnami-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: bitnami 6 | namespace: flux-system 7 | spec: 8 | type: oci 9 | url: oci://registry-1.docker.io/bitnamicharts 10 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/cilium-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: cilium 6 | namespace: flux-system 7 | spec: 8 | url: https://helm.cilium.io/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/cloudnative-pg-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: cloudnative-pg 6 | namespace: flux-system 7 | spec: 8 | url: https://cloudnative-pg.github.io/charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/controlplane-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: controlplane 6 | namespace: flux-system 7 | spec: 8 | type: oci 9 | url: oci://ghcr.io/controlplaneio-fluxcd/charts 10 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/coredns-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: coredns 6 | namespace: flux-system 7 | spec: 8 | url: https://coredns.github.io/helm 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/elastic-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: elastic 6 | namespace: flux-system 7 | spec: 8 | url: https://helm.elastic.co 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/external-dns-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: external-dns 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes-sigs.github.io/external-dns 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/external-secrets-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: external-secrets 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.external-secrets.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/fluent-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: fluent 6 | namespace: flux-system 7 | spec: 8 | url: https://fluent.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/grafana-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: grafana 6 | namespace: flux-system 7 | spec: 8 | url: https://grafana.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/ingress-nginx-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: ingress-nginx 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes.github.io/ingress-nginx 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/istio-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: istio 6 | namespace: flux-system 7 | spec: 8 | url: https://istio-release.storage.googleapis.com/charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/jetstack-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: jetstack 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.jetstack.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/kiali-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: kiali 6 | namespace: flux-system 7 | spec: 8 | url: https://kiali.org/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/longhorn-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: longhorn 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.longhorn.io 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/metrics-server-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: metrics-server 6 | namespace: flux-system 7 | spec: 8 | url: https://kubernetes-sigs.github.io/metrics-server 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/minio-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: minio 6 | namespace: flux-system 7 | spec: 8 | url: https://charts.min.io/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/mongodb-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: mongodb 6 | namespace: flux-system 7 | spec: 8 | url: https://mongodb.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/oauth2-proxy-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: oauth2-proxy 6 | namespace: flux-system 7 | spec: 8 | url: https://oauth2-proxy.github.io/manifests 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/prometheus-community-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: prometheus-community 6 | namespace: flux-system 7 | spec: 8 | url: https://prometheus-community.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/ricsanfre-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: ricsanfre 6 | namespace: flux-system 7 | spec: 8 | url: https://ricsanfre.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/strimzi-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: strimzi 6 | namespace: flux-system 7 | spec: 8 | url: https://strimzi.io/charts/ 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/helm/vmware-tanzu-helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: vmware-tanzu 6 | namespace: flux-system 7 | spec: 8 | url: https://vmware-tanzu.github.io/helm-charts 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ./helm 5 | - ./oci 6 | -------------------------------------------------------------------------------- /kubernetes/clusters/prod/repositories/oci/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: [] 4 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: {{ .app_name }}-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: {{ .app_namespace }} 5 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # {{ .app_name }} helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/components/componentX/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: {{ .app_name }}-helm-values 6 | valuesKey: componentX-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/components/componentX/values.yaml: -------------------------------------------------------------------------------- 1 | # {{ .app_name }} helm values (componentX) 2 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: {{ .app_name }}-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # {{ .app_name }} helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: {{ .app_name }}-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # {{ .app_name }} helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: {{ .app_namespace }} 4 | 5 | resources: [] -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: {{ .app_namespace }} 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: {{ .app_namespace }} 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/fluxcd-app-template/helmrepo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: source.toolkit.fluxcd.io/v1 3 | kind: HelmRepository 4 | metadata: 5 | name: {{ .app_name }} 6 | namespace: flux-system 7 | spec: 8 | url: {{ .chart_repo_url }} 9 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: cert-manager-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: cert-manager 5 | -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cert-manager-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # cert-manager helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cert-manager-helm-values 6 | valuesKey: overlay-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # cert-manager helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: cert-manager 4 | 5 | resources: 6 | - ca-issuer.yaml 7 | - self-signed-issuer.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/config/base/self-signed-issuer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cert-manager.io/v1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: self-signed-issuer 5 | namespace: cert-manager 6 | annotations: 7 | argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true 8 | spec: 9 | selfSigned: {} -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: cert-manager 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: cert-manager 4 | 5 | resources: 6 | - ../../base 7 | - ionos-externalsecret.yaml 8 | - ionos-issuer.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: cert-manager 4 | resources: 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: webhook-ionos-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/base/values.yaml: -------------------------------------------------------------------------------- 1 | # webhook-ionos helm values (base) 2 | groupName: acme.ricsanfre.com 3 | -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: webhook-ionos-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # webhook-ionos helm values (dev overlay) -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: webhook-ionos-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cert-manager/webhook-ionos/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # webhook-ionos helm values (prod overlay) -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: cilium-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/components/hubble/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cilium-helm-values 6 | valuesKey: hubble-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/components/istio-config/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cilium-helm-values 6 | valuesKey: istio-config-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/components/monitoring/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cilium-helm-values 6 | valuesKey: monitoring-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cilium-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # cilium helm values (dev overlay) 2 | 3 | # cgroup v2 filesystem is already mounted by k3d entrypoint script 4 | cgroup: 5 | autoMount: 6 | enabled: false 7 | hostRoot: /run/cilium/cgroupv2 8 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cilium-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cilium/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # cilium helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/base/cilium-l2-announcement-policy.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: cilium.io/v2alpha1 2 | kind: CiliumL2AnnouncementPolicy 3 | metadata: 4 | name: default-l2-announcement-policy 5 | namespace: kube-system 6 | spec: 7 | externalIPs: true 8 | loadBalancerIPs: true -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/base/ip-pool-lb.yaml: -------------------------------------------------------------------------------- 1 | # ip-pool.yaml 2 | apiVersion: "cilium.io/v2alpha1" 3 | kind: CiliumLoadBalancerIPPool 4 | metadata: 5 | name: "first-pool" 6 | namespace: kube-system 7 | spec: 8 | blocks: 9 | - cidr: 10.0.0.64/26 -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - cilium-l2-announcement-policy.yaml 6 | - ip-pool-lb.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/components/istio-config/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1alpha1 2 | kind: Component 3 | 4 | resources: 5 | - cilium-istio-network-policy.yaml 6 | -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/overlays/dev/ip-pool-lb.yaml: -------------------------------------------------------------------------------- 1 | # ip-pool.yaml 2 | apiVersion: "cilium.io/v2alpha1" 3 | kind: CiliumLoadBalancerIPPool 4 | metadata: 5 | name: "first-pool" 6 | namespace: kube-system 7 | spec: 8 | blocks: 9 | - start: "172.30.200.1" 10 | stop: "172.30.200.254" -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | 7 | patches: 8 | - path: ip-pool-lb.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cilium/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | 7 | # components: 8 | # - ../../components/istio-config 9 | 10 | -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: cloudnative-pg-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: cnpg-system 5 | -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # cloudnative-pg helm values (base) 2 | 3 | crds: 4 | create: true -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/components/monitor/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cloudnative-pg-helm-values 6 | valuesKey: monitor-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/components/monitor/values.yaml: -------------------------------------------------------------------------------- 1 | # cloudnative-pg helm values (monitor) 2 | 3 | monitoring: 4 | podMonitorEnabled: false 5 | grafanaDashboard: 6 | create: true -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cloudnative-pg-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # cloudnative-pg helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: cloudnative-pg-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/cloudnative-pg/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # cloudnative-pg helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: coredns-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: coredns-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # coredns helm values (dev overlay) 2 | 3 | replicaCount: 1 -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: coredns-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/coredns/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # coredns helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/csi-external-snapshotter/app/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/platform/csi-external-snapshotter/app/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base 6 | -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: eck-operator-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: elastic 5 | -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # eck-operator helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: eck-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # eck-operator helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: eck-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/eck-operator/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # eck-operator helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: elastic 4 | 5 | resources: 6 | - elasticsearch.yaml 7 | - kibana.yaml -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/components/ingress/elasticsearch-patch.yaml: -------------------------------------------------------------------------------- 1 | # Disable TLS endpoints 2 | - op: add 3 | path: /spec/http 4 | value: 5 | tls: 6 | selfSignedCertificate: 7 | disabled: true 8 | -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/components/istio/kibana-patch.yaml: -------------------------------------------------------------------------------- 1 | # Disable TLS endpoints 2 | - op: add 3 | path: /spec/http 4 | value: 5 | tls: 6 | selfSignedCertificate: 7 | disabled: true 8 | # Enabling service account token 9 | - op: add 10 | path: /spec/podTemplate/spec/automountServiceAccountToken 11 | value: 12 | true -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/components/kibana-config/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1alpha1 2 | kind: Component 3 | 4 | resources: 5 | - kibana-configuration-cm.yaml 6 | - kibana-configuration-job.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: elastic 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/app/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: elastic 4 | 5 | resources: 6 | - ../../base 7 | 8 | components: 9 | - ../../components/authentication 10 | - ../../components/ingress 11 | - ../../components/istio 12 | - ../../components/kibana-config -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/prometheus-elasticsearch-exporter/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/prometheus-elasticsearch-exporter/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: prometheus-elasticsearch-exporter-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/prometheus-elasticsearch-exporter/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # prometheus-elasticsearch-exporter helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/prometheus-elasticsearch-exporter/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: prometheus-elasticsearch-exporter-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/elastic-stack/prometheus-elasticsearch-exporter/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # prometheus-elasticsearch-exporter helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: external-dns 5 | -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: external-dns-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # external-dns helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: external-dns-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-dns/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # external-dns helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: external-secrets-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: external-secrets 5 | -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: external-secrets-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # external-secrets helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: external-secrets-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # external-secrets helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: external-secrets 4 | 5 | resources: 6 | - cluster-secret-store.yaml -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: external-secrets 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/external-secrets/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: external-secrets 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/fluent/common/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - fluent-certificate.yaml 6 | - fluentd-extservice.yaml 7 | - fluent-externalsecret.yaml 8 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/common/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: fluent 5 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/common/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: fluent 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/fluent/common/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: fluent 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/components/componentX/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: fluent-bit-helm-values 6 | valuesKey: componentX-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/components/componentX/values.yaml: -------------------------------------------------------------------------------- 1 | # fluent-bit helm values (componentX) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: fluent-bit-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # fluent-bit helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: fluent-bit-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluent-bit/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # fluent-bit helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluentd/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluentd/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: fluentd-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluentd/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # fluentd helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluentd/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: fluentd-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/fluent/fluentd/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # fluentd helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/instance/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: flux-instance-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/instance/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/instance/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: flux-instance-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/instance/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # flux-instance helm values (dev overlay) 2 | instance: 3 | sync: 4 | kind: GitRepository 5 | url: https://github.com/ricsanfre/pi-cluster 6 | ref: refs/heads/master 7 | path: kubernetes/cluster/dev 8 | interval: 1h -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/instance/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: flux-instance-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: flux-operator-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: flux-system 5 | -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/base/values.yaml: -------------------------------------------------------------------------------- 1 | # flux-operator helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/components/monitoring/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: flux-operator-helm-values 6 | valuesKey: componentX-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/components/monitoring/values.yaml: -------------------------------------------------------------------------------- 1 | # flux-operator helm values (monitoring) 2 | serviceMonitor: 3 | create: true -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: flux-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # flux-operator helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: flux-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/flux-operator/operator/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # flux-operator helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - grafana-externalsecret.yaml 6 | - helm.yaml 7 | 8 | configMapGenerator: 9 | - name: grafana-helm-values 10 | files: 11 | - base-values.yaml=values.yaml 12 | configurations: 13 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: grafana 5 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/components/dashboards/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: grafana-helm-values 6 | valuesKey: dashboards-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: grafana-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/components/sso/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: grafana-helm-values 6 | valuesKey: sso-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: grafana-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # grafana helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: grafana-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/grafana/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # grafana helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/istio-base-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-base helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/istio-cni-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-cni helm values (base) 2 | profile: ambient 3 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/istio-istiod-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-istiod helm values (base) 2 | profile: ambient 3 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/istio-ztunnel-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-ztunnel helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: istio-system 5 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/dev/istio-base-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-base helm values (dev patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/dev/istio-cni-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-cni helm values (dev patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/dev/istio-istiod-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-istiod helm values (dev patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/dev/istio-ztunnel-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-ztunnel helm values (dev patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/prod/istio-base-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-base helm values (prod patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/prod/istio-cni-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-cni helm values (prod patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/prod/istio-istiod-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-istiod helm values (prod patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/app/overlays/prod/istio-ztunnel-values.yaml: -------------------------------------------------------------------------------- 1 | # istio-ztunnel helm values (prod patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: istio-gateway-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: istio-ingress 5 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/base/values.yaml: -------------------------------------------------------------------------------- 1 | # istio-gateway helm values (base) 2 | service: 3 | annotations: 4 | io.cilium/lb-ipam-ips: ${ISTIO_GATEWAY_LOAD_BALANCER_IP} -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: istio-gateway-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # istio-gateway helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: istio-gateway-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/istio/gateway/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # istio-gateway helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/cluster/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - kafka-node-pool.yaml 6 | - kafka-cluster.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/cluster/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kafka 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kafka/cluster/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kafka 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: kafdrop-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/components/componentX/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kafdrop-helm-values 6 | valuesKey: componentX-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/components/componentX/values.yaml: -------------------------------------------------------------------------------- 1 | # kafdrop helm values (componentX) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kafdrop-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # kafdrop helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kafdrop-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/kafdrop/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # kafdrop helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: schema-registry-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: schema-registry-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # schema-registry helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: schema-registry-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/schema-registry/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # schema-registry helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: strimzi-kafka-operator-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: kafka 5 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/base/values.yaml: -------------------------------------------------------------------------------- 1 | # strimzi-kafka-operator helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: strimzi-kafka-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # strimzi-kafka-operator helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: strimzi-kafka-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kafka/strimzi-kafka-operator/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # strimzi-kafka-operator helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - keycloak-externalsecret.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: keycloak-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/components/external-db/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: keycloak-helm-values 6 | valuesKey: external-db-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: keycloak-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/components/realm-config/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: keycloak-helm-values 6 | valuesKey: realm-config-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: keycloak-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # keycloak helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: keycloak-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # keycloak helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/db/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: keycloak 4 | 5 | resources: 6 | - ns.yaml 7 | - keycloak-db-external-secret.yaml 8 | - keycloak-db-minio-external-secret.yaml 9 | - keycloak-db.yaml -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/db/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: keycloak -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/db/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: keycloak 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/keycloak/db/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: keycloak 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: kiali-operator-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: kiali-operator 5 | -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kiali-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # kiali-operator helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kiali-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kiali/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # kiali-operator helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: kube-prometheus-stack-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: kube-prom-stack 5 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/components/disable-grafana/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kube-prometheus-stack-helm-values 6 | valuesKey: disable-grafana-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/components/disable-grafana/values.yaml: -------------------------------------------------------------------------------- 1 | # kube-prometheus-stack helm values (disable-grafana) 2 | # Disabling instalation of Grafana sub-chart 3 | grafana: 4 | enabled: false 5 | # Disable deployment of kube-prometheus-stack grafana dashboards 6 | forceDeployDashboards: false 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kube-prometheus-stack-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/components/k3s/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kube-prometheus-stack-helm-values 6 | valuesKey: k3s-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kube-prometheus-stack-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # kube-prometheus-stack helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: kube-prometheus-stack-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # kube-prometheus-stack helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/externalnodes-monitoring/base/external-nodes-scrapeconfig.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: monitoring.coreos.com/v1alpha1 2 | kind: ScrapeConfig 3 | metadata: 4 | name: node-exporter 5 | spec: 6 | staticConfigs: 7 | - targets: 8 | - node1.${CLUSTER_DOMAIN}:9100 9 | metricsPath: /metrics -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/externalnodes-monitoring/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: monitoring 4 | 5 | resources: 6 | - external-nodes-scrapeconfig.yaml 7 | - minio-bearer-externalsecret.yaml 8 | - minio-ext-scrapeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/externalnodes-monitoring/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kube-prom-stack 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/externalnodes-monitoring/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kube-prom-stack 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/k3s-mixins/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ./dashboards 6 | - ./rules 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/k3s-mixins/base/rules/coredns-mixin-rules.yaml: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/k3s-mixins/build/Makefile: -------------------------------------------------------------------------------- 1 | 2 | .PHONY: k3s-mixins 3 | 4 | k3s-mixins: 5 | docker build --no-cache --target mixins --output out/ . 6 | mv out/*-rules.yaml ../base/rules/. 7 | mv out/*.yaml ../base/dashboards/. 8 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/k3s-mixins/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kube-prom-stack 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/k3s-mixins/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: kube-prom-stack 4 | 5 | resources: 6 | - ../../base 7 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: prometheus-operator-crds-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/base/values.yaml: -------------------------------------------------------------------------------- 1 | # prometheus-operator-crds helm values (base) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: prometheus-operator-crds-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # prometheus-operator-crds helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: prometheus-operator-crds-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/kube-prometheus-stack/prometheus-operator-crds/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # prometheus-operator-crds helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - loki-externalsecret.yaml 6 | - helm.yaml 7 | 8 | configMapGenerator: 9 | - name: loki-helm-values 10 | files: 11 | - base-values.yaml=values.yaml 12 | configurations: 13 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: loki 5 | -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: loki-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # loki helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: loki-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/loki/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # loki helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: longhorn-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: longhorn-system 5 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # longhorn helm values (base) 2 | 3 | # Storage path 4 | defaultSettings: 5 | defaultDataPath: "/storage" -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/components/backup/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: backup-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/components/backup/values.yaml: -------------------------------------------------------------------------------- 1 | # longhorn helm values (backup) 2 | 3 | defaultSettings: 4 | # Backup S3 configuration 5 | backupTarget: "s3://k3s-longhorn@eu-west-1/" 6 | backupTargetCredentialSecret: longhorn-minio-secret 7 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/components/monitor/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: monitoring-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/components/monitor/values.yaml: -------------------------------------------------------------------------------- 1 | # longhorn helm values (monitoring) 2 | 3 | # Enabling creation of ServiceMonitor object 4 | metrics: 5 | serviceMonitor: 6 | enabled: true 7 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # longhorn helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: longhorn-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/longhorn/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # longhorn helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - helm.yaml 5 | 6 | configMapGenerator: 7 | - name: metrics-server-helm-values 8 | files: 9 | - base-values.yaml=values.yaml 10 | configurations: 11 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # metrics-server helm values (base) 2 | 3 | metrics: 4 | enabled: true 5 | serviceMonitor: 6 | enabled: true -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: metrics-server-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # metrics-server helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: metrics-server-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/metrics-server/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # metrics-server helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - minio-root-external-secret.yaml 6 | - helm.yaml 7 | 8 | configMapGenerator: 9 | - name: minio-helm-values 10 | files: 11 | - base-values.yaml=values.yaml 12 | configurations: 13 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: minio 5 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/components/config/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: minio-helm-values 6 | valuesKey: config-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: minio-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/components/monitor/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: minio-helm-values 6 | valuesKey: monitor-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/components/monitor/values.yaml: -------------------------------------------------------------------------------- 1 | # minio helm values (ingress) 2 | 3 | # Service Monitor 4 | metrics: 5 | serviceMonitor: 6 | enabled: true 7 | includeNode: true -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: minio-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # minio helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/minio/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: minio-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: mongodb-community-operator-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: mongodb 5 | -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # mongodb-community-operator helm values (base) 2 | 3 | # Enabling creating of MongoDB resources in any namespace 4 | operator: 5 | watchNamespace: "*" -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: mongodb-community-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # mongodb-community-operator helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: mongodb-community-operator-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/mongodb-community-operator/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # mongodb-community-operator helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - helm.yaml 6 | 7 | configMapGenerator: 8 | - name: ingress-nginx-helm-values 9 | files: 10 | - base-values.yaml=values.yaml 11 | configurations: 12 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: nginx 5 | -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/base/values.yaml: -------------------------------------------------------------------------------- 1 | # nginx helm values (base) 2 | 3 | controller: 4 | replicaCount: 1 5 | -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/components/loadbalancer/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: ingress-nginx-helm-values 6 | valuesKey: loadbalancer-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/components/loadbalancer/values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | # Set specific LoadBalancer IP address for Ingress service 3 | service: 4 | annotations: 5 | io.cilium/lb-ipam-ips: ${NGINX_LOAD_BALANCER_IP} -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/components/opentelemetry/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: ingress-nginx-helm-values 6 | valuesKey: otel-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: ingress-nginx-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # nginx helm values (dev patch) 2 | controller: 3 | autoscaling: 4 | maxReplicas: 5 -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: ingress-nginx-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/nginx/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # nginx helm values (prod patch) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: oauth2-proxy 5 | -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/components/ingress/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: oauth2-proxy-helm-values 6 | valuesKey: ingress-values.yaml 7 | -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: oauth2-proxy-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # oauth2-proxy helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: oauth2-proxy-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/oauth2-proxy/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # oauth2-proxy helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/system-upgrade/app/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: system-upgrade 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/system-upgrade/app/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: system-upgrade 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/system-upgrade/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - k3s-server.yaml 6 | - k3s-agent.yaml -------------------------------------------------------------------------------- /kubernetes/platform/system-upgrade/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/system-upgrade/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | 4 | resources: 5 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - tempo-externalsecret.yaml 6 | - helm.yaml 7 | 8 | configMapGenerator: 9 | - name: tempo-helm-values 10 | files: 11 | - base-values.yaml=values.yaml 12 | configurations: 13 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: tempo 5 | -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: tempo-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # tempo helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: tempo-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/tempo/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # tempo helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - ns.yaml 5 | - velero-external-secret.yaml 6 | - helm.yaml 7 | 8 | configMapGenerator: 9 | - name: velero-helm-values 10 | files: 11 | - base-values.yaml=values.yaml 12 | configurations: 13 | - kustomizeconfig.yaml -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/base/kustomizeconfig.yaml: -------------------------------------------------------------------------------- 1 | nameReference: 2 | - kind: ConfigMap 3 | version: v1 4 | fieldSpecs: 5 | - path: spec/valuesFrom/name 6 | kind: HelmRelease 7 | - kind: Secret 8 | version: v1 9 | fieldSpecs: 10 | - path: spec/valuesFrom/name 11 | kind: HelmRelease -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/base/ns.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: velero 5 | -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/overlays/dev/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: velero-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/overlays/dev/values.yaml: -------------------------------------------------------------------------------- 1 | # velero helm values (dev overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/overlays/prod/helm-patch.yaml: -------------------------------------------------------------------------------- 1 | - op: add 2 | path: /spec/valuesFrom/- 3 | value: 4 | kind: ConfigMap 5 | name: velero-helm-values 6 | valuesKey: overlay-values.yaml -------------------------------------------------------------------------------- /kubernetes/platform/velero/app/overlays/prod/values.yaml: -------------------------------------------------------------------------------- 1 | # velero helm values (prod overlay) 2 | -------------------------------------------------------------------------------- /kubernetes/platform/velero/config/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: velero 4 | 5 | resources: 6 | - longhorn-volume-snapshot-class.yaml 7 | - backup-schedule.yaml -------------------------------------------------------------------------------- /kubernetes/platform/velero/config/overlays/dev/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: velero 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /kubernetes/platform/velero/config/overlays/prod/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | namespace: velero 4 | 5 | resources: 6 | - ../../base -------------------------------------------------------------------------------- /metal/rpi/img/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /metal/x86/pxe-files/boot/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /metal/x86/pxe-files/img/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /scripts/get_argocd_admin_pass.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Getting ArgoCD admin password:" >&2 4 | export KUBECONFIG=./ansible-runner/runner/.kube/config 5 | kubectl get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' -n argocd | base64 -d;echo -------------------------------------------------------------------------------- /scripts/get_elastic_pass.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Getting Elastic admin password:" >&2 4 | export KUBECONFIG=./ansible-runner/runner/.kube/config 5 | kubectl get secret efk-es-elastic-user -o jsonpath='{.data.elastic}' -n logging | base64 -d;echo --------------------------------------------------------------------------------