├── .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
--------------------------------------------------------------------------------