Skip to content

Instantly share code, notes, and snippets.

@kelvintaywl
Created May 17, 2023 04:00
Show Gist options
  • Save kelvintaywl/4b27fe7d547858aaef4eaec65c2848e9 to your computer and use it in GitHub Desktop.
Save kelvintaywl/4b27fe7d547858aaef4eaec65c2848e9 to your computer and use it in GitHub Desktop.
Preflight Check for CircleCI Server (4.0.x)
apiVersion: troubleshoot.sh/v1beta2
kind: Preflight
metadata:
name: circleci-server
spec:
analyzers:
- clusterVersion:
outcomes:
- fail:
when: "< 1.22.0"
message: CircleCI Server requires at least k8s v1.22.0.
uri: https://circleci.com/docs/server/installation/phase-1-prerequisites/#supported-kubernetes-versions
- warn:
when: ">= 1.24.0"
message: CircleCI Server is not tested against k8s >= v1.24.0.
uri: https://circleci.com/docs/server/installation/phase-1-prerequisites/#supported-kubernetes-versions
- pass:
message: Your cluster meets the recommended and required k8s version for CircleCI Server.
- distribution:
checkName: Supported Kubernetes Distribution
outcomes:
- pass:
when: "== gke"
message: GCP GKE is a supported platform.
- pass:
when: "== eks"
message: AWS EKS is a supported platform.
- warn:
message: The k8s distribution chosen is not tested nor supported officially for CircleCI Server.
uri: https://circleci.com/docs/server/installation/phase-1-prerequisites/
- nodeResources:
checkName: Minimum nodes required in the k8s cluster
outcomes:
- fail:
when: "count() < 3"
message: CircleCI Server requires at least 3 k8s nodes.
uri: https://circleci.com/docs/server/installation/phase-1-prerequisites/#create-a-kubernetes-cluster
- pass:
message: This cluster has enough nodes (>= 3) for CircleCI Server.
- nodeResources:
checkName: Recommended resources for k8s nodes
filters:
allocatableMemory: 32Gi
cpuCapacity: "12"
outcomes:
- warn:
when: count() < 3
message: Recommended to have 3 or more nodes with 32GB memory and 12 CPU cores each.
uri: https://circleci.com/docs/server/installation/phase-1-prerequisites/#create-a-kubernetes-cluster
- pass:
message: Sufficient CPU and memory is available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment