diff --git a/.editorconfig b/.editorconfig index 60160ca..61835bd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,6 +8,10 @@ indent_style = space insert_final_newline = true max_line_length = 120 +[Makefile] +indent_size = 4 +indent_style = tab + [*.{yml,yaml}] indent_size = 2 indent_style = space diff --git a/.gitignore b/.gitignore index fe4fce9..98cf294 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ charts temp site +!base/charts diff --git a/Makefile b/Makefile index 87d222e..443e7a8 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ # More info on the awk command: # http://linuxcommand.org/lc3_adv_awk.php - help: ## Display this help. @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) @@ -21,75 +20,101 @@ up: k3d-create olm-install ## Create a local k3d development cluster with operat down: k3d-delete ## Delete the local k3d development cluster. olm-install: ## Install the Operator Framework Lifecycle Manager. - operator-sdk olm install + @operator-sdk olm install olm-uninstall: ## Uninstall the Operator Framework Lifecycle Manager. - operator-sdk olm uninstall + @operator-sdk olm uninstall k3d-create: ## Create a local K3D development cluster. - k3d cluster create fcos-dev --config ci/k3d-fcos-dev.yaml + @k3d cluster create fcos-dev --config ci/k3d-fcos-dev.yaml k3d-delete: ## Delete the local K3D development cluster - k3d cluster delete fcos-dev + @k3d cluster delete fcos-dev ##@ Lint lint: yaml-lint markdown-lint ## Lint all input files. yaml-lint: ## Lint all YAML files. - yamllint -f auto . + @yamllint -f auto . markdown-lint: ## Lint all Markdown files. - mdl . + @mdl . manifest-lint: ## Lint the Kubenetes manifest. - kubectl kustomize overlays/dev --enable-helm | kubeconform -ignore-missing-schemas -strict + @kubectl kustomize overlays/dev --enable-helm | kubeconform -ignore-missing-schemas -strict ##@ Test conftest: ## Test the Kubernetes manifest against the policies. - kubectl kustomize overlays/dev --enable-helm | conftest test -p test - + @kubectl kustomize overlays/dev --enable-helm | conftest test -p test - ##@ Build +doc: ## Build the documentation using mkdocs. + mkdocs build + manifest: ## Build Kubernetes manifest using Kustomize and Helm. - kubectl kustomize overlays/dev --enable-helm + @kubectl kustomize overlays/dev --enable-helm deploy: ## Apply the manifest to the local Kubernetes development cluster. - kubectl kustomize overlays/dev/ --enable-helm | kubectl apply --server-side=true -f - + @kubectl kustomize overlays/dev/ --enable-helm | kubectl apply --server-side=true -f - clean: down up ## Clean the local Kubernetes development cluster. ##@ Show +get: ## Get specific Kubernetes resources from all namespaces. + @kubectl get --all-namespaces $(filter-out $@, $(MAKECMDGOALS)) + get-all: ## Get the state of all Kubernetes resources. - kubectl get all --all-namespaces + @kubectl get all --all-namespaces get-ns: ## Get all Kubernetes namespaces. - kubectl get namespaces + @kubectl get namespaces get-api: ## Get all Kubernetes api resources. - kubectl api-resources + @kubectl api-resources + +get-crd: ## Get all Kubernetes api resources. + @kubectl get crd + +get-node: ## Get all Kubernetes nodes. + @kubectl get nodes -o wide watch-all: ## Watch the state of all Kubernetes resources. - watch -n 1 kubectl get all --all-namespaces + @watch -n 1 kubectl get all --all-namespaces get-olm-status: ## Get the state of the Operator Framework Lifecycle Manager. - operator-sdk olm status + @operator-sdk olm status get-olm-cat: ## Get the catalog sources of the Operator Framework Lifecycle Manager. - kubectl get catalogsources.operators.coreos.com --all-namespaces + @kubectl get catalogsources.operators.coreos.com --all-namespaces get-olm-subs: ## Get the catalog subscriptions of the Operator Framework Lifecycle Manager. - kubectl get subscriptions.operators.coreos.com --all-namespaces + @kubectl get subscriptions.operators.coreos.com --all-namespaces get-olm-pkgs: ## Get the package manifest of the Operator Framework Lifecycle Manager. - kubectl get packagemanifest --all-namespaces + @kubectl get packagemanifest --all-namespaces get-olm-ip: ## Get the install plans of the Operator Framework Lifecycle Manager. - kubectl get installplans.operators.coreos.com --all-namespaces + @kubectl get installplans.operators.coreos.com --all-namespaces -##@ Logs +##@ Log -logs-oml-op: ## Show logs of the Operator Framework Lifecycle Manager. - kubectl logs -f deployment.apps/olm-operator --all-containers -n olm +olm: ## Show logs of the Operator Framework Lifecycle Manager. + @kubectl logs -f deployment.apps/olm-operator --all-containers -n olm + +events: ## Show all Kubernetes cluster events. + @kubectl get events --watch --all-namespaces + +##@ Tools + +nav: ## Start K9s to view and manage your Kubernetes clusters. + @k9s --all-namespaces --headless + +lens: ## Start Lens to view and manage your Kubernetes clusters. + @nohup lens > /dev/null 2>&1& + +%: + @true diff --git a/ci/k3d-fcos-dev.yaml b/ci/k3d-fcos-dev.yaml index 6adda2f..217e304 100644 --- a/ci/k3d-fcos-dev.yaml +++ b/ci/k3d-fcos-dev.yaml @@ -4,7 +4,6 @@ kind: Simple image: docker.io/rancher/k3s:v1.23.8-k3s1 servers: 1 agents: 2 -subnet: "172.23.0.0/16" ports: - port: 80:80 nodeFilters: diff --git a/shell.nix b/shell.nix index 85d5759..40023c3 100644 --- a/shell.nix +++ b/shell.nix @@ -11,6 +11,7 @@ mkShell { gnumake hadolint k9s + krew kube-score kube3d kubeconform @@ -23,6 +24,7 @@ mkShell { lens mdl mdsh + minio nix-linter nixpkgs-fmt open-policy-agent @@ -36,6 +38,7 @@ mkShell { yamale yaml-language-server yamllint + yq ]; postInstall = ''