diff --git a/docs/docs/how-tos/deploy.mdx b/docs/docs/how-tos/deploy.mdx deleted file mode 100644 index c9db8502..00000000 --- a/docs/docs/how-tos/deploy.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Deploy lifecycle -slug: /how-tos/deploy -description: Common GitOps setup, deploy, verify, update, and destroy steps shared by all NIC-managed providers. ---- - -:::note -Start on your provider's page — it walks you through the full deployment and links here for the shared steps. This page links to the one-time setup and the deploy-and-verify steps, and covers DNS, first sign-in, updating, and tearing down. -::: - -Provider-specific prerequisites, configuration, and cost notes are on each [provider's page](/docs/how-tos/providers). - -## What every deployment includes - -Regardless of provider, when `nic deploy` finishes your cluster will have: - -- **Automatic TLS** for every service you publish ([cert-manager](https://cert-manager.io/) + Let's Encrypt). -- **Single sign-on** across all services ([Keycloak](https://www.keycloak.org/)). -- **Ingress routing** for any service you expose ([Envoy Gateway](https://gateway.envoyproxy.io/)). -- **GitOps-driven updates:** roll out or roll back apps by committing to your GitOps repo — ArgoCD reconciles the cluster to match ([ArgoCD](https://argo-cd.readthedocs.io/)). - -Each provider adds storage and cluster-type specifics — see the provider pages for details. - -## Set up your repository and credentials - -Before deploying, create your GitOps repository and `.env` credentials: see [Prepare to deploy](/docs/how-tos/prepare-to-deploy). - -## Deploy and verify - -Download a starter config, validate it, provision the cluster, retrieve a kubeconfig, and confirm the cluster is healthy: see [Deploy a cluster](/docs/how-tos/deploy-cluster). - -## DNS - -After deploy completes, your cluster needs DNS records to be reachable: see [Cloudflare DNS](/docs/how-tos/cloudflare-dns). - -## First sign-in - -`nic` does not create an end-user account, so create one in Keycloak before you can sign in: see [Keycloak authentication](/docs/how-tos/keycloak-auth). - -## Update an existing deployment - -To change a running cluster, edit your config and re-run `nic deploy`: see [Update a cluster](/docs/how-tos/update-cluster). - -## Destroy - -When you're done with the cluster, tear it down with `nic destroy`: see [Destroy a cluster](/docs/how-tos/destroy-cluster). diff --git a/docs/docs/how-tos/providers/aws.mdx b/docs/docs/how-tos/providers/aws.mdx index 65430d68..6be844b5 100644 --- a/docs/docs/how-tos/providers/aws.mdx +++ b/docs/docs/how-tos/providers/aws.mdx @@ -8,9 +8,10 @@ This guide walks through deploying NKP on AWS with `nic` (the Nebari Infrastruct ## What your team gets -When `nic deploy` finishes, your team will have all [standard NKP services](/docs/how-tos/deploy#what-every-deployment-includes) plus: +When `nic deploy` finishes, your team will have: -- **A managed Kubernetes cluster** ready for workloads (AWS EKS, multi-AZ by default). +- **Single sign-on, automatic TLS, and ingress**, all configured. +- **A managed Kubernetes cluster** (AWS EKS, multi-AZ by default) running it. - **Optional shared storage** ([EFS](https://aws.amazon.com/efs/)) that pods on any node can mount when enabled in your config. ## Prerequisites diff --git a/docs/docs/how-tos/providers/hetzner.mdx b/docs/docs/how-tos/providers/hetzner.mdx index c256b225..349b832e 100644 --- a/docs/docs/how-tos/providers/hetzner.mdx +++ b/docs/docs/how-tos/providers/hetzner.mdx @@ -10,9 +10,10 @@ Hetzner is the recommended starting point for most teams: it is the cheapest pro ## What your team gets -When `nic deploy` finishes, your team will have all [standard NKP services](/docs/how-tos/deploy#what-every-deployment-includes) plus: +When `nic deploy` finishes, your team will have: -- **A k3s Kubernetes cluster** ready for workloads (single-node or multi-node, your choice). +- **Single sign-on, automatic TLS, and ingress**, all configured. +- **A k3s Kubernetes cluster** (single-node or multi-node, your choice) running it. - **Shared RWX storage** that pods on any node can mount ([Longhorn](https://longhorn.io/), installed automatically — Hetzner's native CSI is read-write-once only). ## Prerequisites @@ -120,7 +121,7 @@ For the full schema (autoscaling, `persist_data`, Longhorn options), see the [NI ## Deploy -Run the deploy commands as described in [Deploy and verify](/docs/how-tos/deploy#deploy-and-verify) in the deploy lifecycle guide. Allow 10–15 minutes for the first deployment — k3s cluster creation followed by ArgoCD syncing foundational services. +Run the deploy commands as described in [Deploy a cluster](/docs/how-tos/deploy-cluster). Allow 10–15 minutes for the first deployment — k3s cluster creation followed by ArgoCD syncing foundational services. See [Cloudflare DNS](/docs/how-tos/cloudflare-dns) for DNS setup (Cloudflare or manual A record). @@ -133,7 +134,7 @@ See [Cloudflare DNS](/docs/how-tos/cloudflare-dns) for DNS setup (Cloudflare or export KUBECONFIG=~/.cache/nic/hetzner-k3s//kubeconfig ``` -Then follow the [Deploy and verify](/docs/how-tos/deploy#deploy-and-verify) steps in the deploy lifecycle guide to check the cluster and ArgoCD applications. +Then follow the [Verify](/docs/how-tos/deploy-cluster#verify) steps in the Deploy a cluster guide to check the cluster and ArgoCD applications. ## First sign-in @@ -150,7 +151,7 @@ Changing `location` or `project_name` triggers destructive resource recreation. ## Destroy -Run the destroy commands as described in [Destroy](/docs/how-tos/deploy#destroy) in the deploy lifecycle guide. +Run the destroy commands as described in [Destroy a cluster](/docs/how-tos/destroy-cluster). `nic destroy` removes the k3s cluster (all servers), the Hetzner load balancer, and automatically cleans up orphaned Longhorn/CSI block volumes and any load balancers left behind by in-cluster controllers. diff --git a/docs/sidebars.js b/docs/sidebars.js index 6be21d5b..3ac661f2 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -43,7 +43,6 @@ module.exports = { link: { type: "doc", id: "how-tos/index" }, items: [ "how-tos/prepare-to-deploy", - "how-tos/deploy", "how-tos/deploy-cluster", "how-tos/cloudflare-dns", "how-tos/update-cluster",