Skip to content

Commit

Permalink
update all the image references (#112)
Browse files Browse the repository at this point in the history
  • Loading branch information
jessebot authored Dec 4, 2023
1 parent 6e42ecf commit b1c4a91
Show file tree
Hide file tree
Showing 12 changed files with 37 additions and 13 deletions.
4 changes: 3 additions & 1 deletion docs/k8s_apps/bitwarden_eso_provider.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
We use the Bitwarden ESO Provider along side the [external-secrets-operator](/k8s_apps/external-secrets-operator.md) to pull secret data from your Bitwarden vault, into the cluster as [Kubernetes Secrets](https://kubernetes.io/docs/concepts/configuration/secret/).

<img src="/assets/images/screenshots/bweso_screenshot.png" alt="a screenshot of the Argo CD web interface showing the bitwarden-eso-provider application in tree view mode. it shows the following children of bitwarden-eso-provider: test-connection configmap, bitwarden-eso-provider service,bitwarden-eso-provider service account, bitwarden-eso-provider deployment, bitwarden-fields cluster secret store, bitwarden-login cluster secret store. the deployment then points to additonal replica sets which point to a single pod">
<a href="../../assets/images/screenshots/bweso_screenshot.png">
<img src="../../assets/images/screenshots/bweso_screenshot.png" alt="a screenshot of the Argo CD web interface showing the bitwarden-eso-provider application in tree view mode. it shows the following children of bitwarden-eso-provider: test-connection configmap, bitwarden-eso-provider service,bitwarden-eso-provider service account, bitwarden-eso-provider deployment, bitwarden-fields cluster secret store, bitwarden-login cluster secret store. the deployment then points to additonal replica sets which point to a single pod">
</a>

`smol-k8s-lab` stores any sensitive user specific data about applications in your Bitwarden vault. Some examples include admin credentials, database credentials, and OIDC credentials.

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/cert_manager.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
We use [cert-manager](https://cert-manager.io) to generate TLS certs for the web frontends of any apps we install.

<img src="/assets/images/screenshots/certmanager_screenshot.png" alt="Argo CD web interface screenshot of cert manager in tree view mode showing cert-manager-helm-chart with three of its children. The screenshot does not show the entire Argo CD application because it contains well over 10 different roles and cluster roles and does not fit on one page, so instead we've chosen to show only the deployment children which are cert-manager, cert-manager-caininjector, and cert-manager-webhook each with their own replicasets and pods.">
<a href="../../assets/images/screenshots/certmanager_screenshot.png">
<img src="../..//assets/images/screenshots/certmanager_screenshot.png" alt="Argo CD web interface screenshot of cert manager in tree view mode showing cert-manager-helm-chart with three of its children. The screenshot does not show the entire Argo CD application because it contains well over 10 different roles and cluster roles and does not fit on one page, so instead we've chosen to show only the deployment children which are cert-manager, cert-manager-caininjector, and cert-manager-webhook each with their own replicasets and pods.">
</a>

By default, we install two cluster issuers:

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/cnpg_operator.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
We use the Cloud Native PostgeSQL Operator to create postgresql clusters and manage backups to S3.

<img src="/assets/images/cnpg_operator_screenshot.png" alt="Screenshot of Argo CD's web interface showing the CNPG Operator Application in tree view mode. This includes configmap s for monitoring and manager config, webhook-service, cnpg-validating-webhook-config, backups CRD, clusters CRD, poolers CRD, scheduledBackups CRD, operator deployment, and 3 cluster roles. the cnpg-webhook-service is branching to the cnpg-webhook-service endpoint. The cnpg-validating-webhook-config is branching to an endpoint slice of the same name. the deployment has two children: cnpg-webhook-cert and cnpg-operator replicaset. the replicaset feeds into a single pod called cnpg-operator">
<a href="../../assets/images/cnpg_operator_screenshot.png">
<img src="../../assets/images/cnpg_operator_screenshot.png" alt="Screenshot of Argo CD's web interface showing the CNPG Operator Application in tree view mode. This includes configmap s for monitoring and manager config, webhook-service, cnpg-validating-webhook-config, backups CRD, clusters CRD, poolers CRD, scheduledBackups CRD, operator deployment, and 3 cluster roles. the cnpg-webhook-service is branching to the cnpg-webhook-service endpoint. The cnpg-validating-webhook-config is branching to an endpoint slice of the same name. the deployment has two children: cnpg-webhook-cert and cnpg-operator replicaset. the replicaset feeds into a single pod called cnpg-operator">
</a>

In the CloudNative PostgeSQL Operator Backups for S3 are done to local s3 endpoints consistently and to a configurable remote endpoint.

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/external-secrets-operator.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ The [External Secrets Operator](https://external-secrets.io/latest/) (abbreviate

The goal of External Secrets Operator is to synchronize secrets from external APIs into Kubernetes. ESO is a collection of custom API resources - ExternalSecret, SecretStore and ClusterSecretStore that provide a user-friendly abstraction for the external API that stores and manages the lifecycle of the secrets for you.

<img src="/assets/images/screenshots/eso_screenshot.png" alt="a screenshot of the Argo CD web interface showing the External Secrets Operator app of apps which shows two child apps: external-secrets-operator-helm and external-secrets-provider-appset. the external-secrets-provider-appset has one child called bitwarden-provider-app">
<a href="../../assets/images/screenshots/eso_screenshot.png">
<img src="../../assets/images/screenshots/eso_screenshot.png" alt="a screenshot of the Argo CD web interface showing the External Secrets Operator app of apps which shows two child apps: external-secrets-operator-helm and external-secrets-provider-appset. the external-secrets-provider-appset has one child called bitwarden-provider-app">
</a>

`smol-k8s-lab` default makes heavy use of ESO in conjunction with the [Bitwarden ESO Provider](/k8s_apps/bitwarden_eso_provider.md) to ensure no credentials or sensitive data is stored as plain text in our git repos or in any helm values we provide. We accomplish this goal by always biasing towards using Kubernetes Secrets as sources of truth for helm charts, and those secrets come from Bitwarden by default.

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/ingress_nginx.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) needs no introduction, but that won't stop us! ingress-nginx is an Ingress controller for Kubernetes using [NGINX](https://nginx.org/) as a reverse proxy and load balancer. We use it, instead of traefik, because we know nginx, you know nginx, and none of us have time to learn traefik (but that could change in the future 🤷).

<img src="/assets/images/screenshots/ingress_nginx_screenshot.png" alt="screenshot of the Argo CD web interface for the ingress-nginx-helm application in tree view mode. it's children include a configmap, service, and deployment all named ingress-nginx-controller, and then a service account, cluster role, cluster role binding, and role binding all called ingress-nginx. There's a lot of children, so bare with me. There's also a service called ingress-nginx-controller-admission, a validating web hook configuration called ingress-nginx-admission, and an ingress class called nginx. the deployment has two replica sets as children with one of them having a single pod as it's child. Sorry to those using screenreaders having to digest this.">
<a href="../../assets/images/screenshots/ingress_nginx_screenshot.png">
<img src="../../assets/images/screenshots/ingress_nginx_screenshot.png" alt="screenshot of the Argo CD web interface for the ingress-nginx-helm application in tree view mode. it's children include a configmap, service, and deployment all named ingress-nginx-controller, and then a service account, cluster role, cluster role binding, and role binding all called ingress-nginx. There's a lot of children, so bare with me. There's also a service called ingress-nginx-controller-admission, a validating web hook configuration called ingress-nginx-admission, and an ingress class called nginx. the deployment has two replica sets as children with one of them having a single pod as it's child. Sorry to those using screenreaders having to digest this.">
</a>

`smol-k8s-lab` will install ingress-nginx by default with no special options. If you're using kind, we install it initially via manifests, and if you're using k3d/k3s, we initially install it via helm.

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/k8up.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

`smol-k8s-lab` optionally installs K8up as one of it's supported Kubernetes applications using [Argo CD repo with K8up template](https://gitlab.com/small-hack/argocd-apps/blob/main/k8up).

<img src="/assets/images/screenshots/k8up_screenshot.png" alt="screenshot of the Argo CD web interface showing the k8up app of apps in tree view mode with two children: k8up-crd and k8up-helm-appset. k8up-helm-appset has one child: k8up-helm-release">
<a href="../../assets/images/screenshots/k8up_screenshot.png">
<img src="../../assets/images/screenshots/k8up_screenshot.png" alt="screenshot of the Argo CD web interface showing the k8up app of apps in tree view mode with two children: k8up-crd and k8up-helm-appset. k8up-helm-appset has one child: k8up-helm-release">
</a>

One of the most important template values we require for our default Argo CD ApplicationSet is `timezone`, which should be a timezone from the [TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) (in the wikipedia list, you want the second column, TZ Identifier).

Expand Down
8 changes: 6 additions & 2 deletions docs/k8s_apps/mastodon.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

We are mostly stable for running Mastodon on Kubernetes. Check out our [Mastodon Argo CD ApplicationSet](https://github.com/small-hack/argocd-apps/tree/main/mastodon/small-hack):

<img src="/assets/images/screenshots/mastodon_screenshot.png" alt="screenshot of the mastodon applicationset in Argo CD's web interface using the tree mode view. the main mastodon app has 6 child apps: mastodon-redis, mastodon-app-set with child mastodon-web-app, mastodon-external-secrets-appset with child mastodon-external-secrets, mastodon-postgres-app-set with child mastodon-postgres-cluster, mastodon-s3-provider-app-set with child mastodon-seaweedfs, and mastodon-s3-pvc-appset with child mastodon-s3-pvc.">
<a href="../../assets/images/screenshots/mastodon_screenshot.png">
<img src="../../assets/images/screenshots/mastodon_screenshot.png" alt="screenshot of the mastodon applicationset in Argo CD's web interface using the tree mode view. the main mastodon app has 6 child apps: mastodon-redis, mastodon-app-set with child mastodon-web-app, mastodon-external-secrets-appset with child mastodon-external-secrets, mastodon-postgres-app-set with child mastodon-postgres-cluster, mastodon-s3-provider-app-set with child mastodon-seaweedfs, and mastodon-s3-pvc-appset with child mastodon-s3-pvc.">
</a>

This is the networking view in Argo CD:

<img src="/assets/images/screenshots/mastodon_networking_screenshot.png" alt="screenshot of the mastodon applicationset in Argo CD's web interface using the networking tree mode view. it shows the flow of cloud to ip address to mastodon-web-app ingress to two services mastodon-web-app-streaming and mastodon-web-app-web which each go to their respective pods. There's also additional services and pods outside of that flow. pods masotdon-web-app-media and masotdon-web-app-sidekiq have no children. 2 elastic search services have the same elastic search pod child. and then there's an additional 3 matching elastic search service and pod pairs">
<a href="../../assets/images/screenshots/mastodon_networking_screenshot.png">
<img src="../../assets/images/screenshots/mastodon_networking_screenshot.png" alt="screenshot of the mastodon applicationset in Argo CD's web interface using the networking tree mode view. it shows the flow of cloud to ip address to mastodon-web-app ingress to two services mastodon-web-app-streaming and mastodon-web-app-web which each go to their respective pods. There's also additional services and pods outside of that flow. pods masotdon-web-app-media and masotdon-web-app-sidekiq have no children. 2 elastic search services have the same elastic search pod child. and then there's an additional 3 matching elastic search service and pod pairs">
</a>

## Required Init Values

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

`smol-k8s-lab` deploys a matrix synapse server, element (a web frontend), and a turn server (voice server).

<img src="/assets/images/screenshots/matrix_screenshot.png" alt="screenshot of the Argo CD web interface showing the matrix app of apps in tree view mode, which shows the following children: persistence app, external secrets appset, postgres appset, s3 provider appset, s3 pvc app set, and matrix web app set.">
<a href="../../assets/images/screenshots/matrix_screenshot.png">
<img src="../../assets/images/screenshots/matrix_screenshot.png" alt="screenshot of the Argo CD web interface showing the matrix app of apps in tree view mode, which shows the following children: persistence app, external secrets appset, postgres appset, s3 provider appset, s3 pvc app set, and matrix web app set.">
</a>

The main variable you need to worry about when setting up matrix is your `hostname`.

Expand Down
2 changes: 1 addition & 1 deletion docs/k8s_apps/metallb.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ apps:
TUI example:
[<img src="/assets/images/screenshots/metallb_example.svg" alt="terminal screenshot of smol-k8s-lab on the apps screen showing the app list on the left with metallb highlighted. On the right, there is a config panel for metallb with initialization enabled switch set to True and one init field titled address pool. The input field has the following text: 192.168.20.23/32, 192.168.20.24/32. below is the rest of the normal apps screen which is details further in the tui docs.">](/assets/images/screenshots/metallb_example.svg)
[<img src="../../assets/images/screenshots/metallb_example.svg" alt="terminal screenshot of smol-k8s-lab on the apps screen showing the app list on the left with metallb highlighted. On the right, there is a config panel for metallb with initialization enabled switch set to True and one init field titled address pool. The input field has the following text: 192.168.20.23/32, 192.168.20.24/32. below is the rest of the normal apps screen which is details further in the tui docs.">](../../assets/images/screenshots/metallb_example.svg)
To dig a bit deeper on how we deploy the MetalLB Argo CD app, head over to [small-hack/argocd-apps](https://github.com/small-hack/argocd-apps/tree/main/metallb).
Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

You can see an overview of the whole Prometheus Stack Argo CD Application at [small-hack/argocd-apps/prometheus](https://github.com/small-hack/argocd-apps/tree/main/prometheus).

<img src="/assets/images/screenshots/prometheus_screenshot.png" alt="screenshot of the Argo CD web interface showing the prometheus app of apps which includes the following children: loki, prometheus-crd, prometheus-appset, prometheus-pushgateway-appset">
<a href="../../assets/images/screenshots/prometheus_screenshot.png">
<img src="../../assets/images/screenshots/prometheus_screenshot.png" alt="screenshot of the Argo CD web interface showing the prometheus app of apps which includes the following children: loki, prometheus-crd, prometheus-appset, prometheus-pushgateway-appset">
</a>
4 changes: 3 additions & 1 deletion docs/k8s_apps/vouch.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

`smol-k8s-lab` supports a custom initialization of Vouch using [Zitadel](/k8s_apps/zitadel.md).

<img src="/assets/images/screenshots/vouch_screenshot.png" alt="Screenshot of the Argo CD web interface showing the vouch app of apps in tree view mode. It has two children: vouch-appset which has a children of vouch-helm, and vouch-external-secrets-appset which has a child of vouch-external-secrets">
<a href="../../assets/images/screenshots/vouch_screenshot.png">
<img src="../../assets/images/screenshots/vouch_screenshot.png" alt="Screenshot of the Argo CD web interface showing the vouch app of apps in tree view mode. It has two children: vouch-appset which has a children of vouch-helm, and vouch-external-secrets-appset which has a child of vouch-external-secrets">
</a>

Learn more about our:

Expand Down
4 changes: 3 additions & 1 deletion docs/k8s_apps/zitadel.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[Zitadel](https://zitadel.com/) is an Identity Management solution that includes acting as an OIDC provider.

<img src="/assets/images/screenshots/zitadel_screenshot.png" alt="screenshot of the Argo CD web interface showing the Zitadel app of apps in tree view mode. The zitadel app of apps has 5 children: zitadel-bitwarden-eso, zitadel-postgres-app-set, zitadel-s3-provider-app-set, zitadel-s3-pvc-app-set, and zitadel-web-app-set">
<a href="../../assets/images/screenshots/zitadel_screenshot.png">
<img src="../../assets/images/screenshots/zitadel_screenshot.png" alt="screenshot of the Argo CD web interface showing the Zitadel app of apps in tree view mode. The zitadel app of apps has 5 children: zitadel-bitwarden-eso, zitadel-postgres-app-set, zitadel-s3-provider-app-set, zitadel-s3-pvc-app-set, and zitadel-web-app-set">
</a>

Zitadel is one of the more complex apps that `smol-k8s-lab` supports out of the box. For initialization, you need to pass in the following info:

Expand Down

0 comments on commit b1c4a91

Please sign in to comment.