diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..a0f41c35d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 + +[yaml] +quote_type = double diff --git a/.github/actions/setup-environment/action.yml b/.github/actions/setup-environment/action.yml index 8c50a57aa..eb8190971 100644 --- a/.github/actions/setup-environment/action.yml +++ b/.github/actions/setup-environment/action.yml @@ -1,39 +1,39 @@ -name: 'Setup Environment' -description: 'Sets up Node.js, PNPM, Go, and Rust conditionally for building Kubetail' +name: "Setup Environment" +description: "Sets up Node.js, PNPM, Go, and Rust conditionally for building Kubetail" inputs: go-version: - description: 'Go version to install' + description: "Go version to install" required: false - default: '1.24.4' + default: "1.24.4" node-version: - description: 'Node.js version to install' + description: "Node.js version to install" required: false - default: '22' + default: "22" pnpm-version: - description: 'PNPM version to install' + description: "PNPM version to install" required: false - default: '10' + default: "10" setup-rust: - description: 'Whether to set up Rust' + description: "Whether to set up Rust" required: false - default: 'false' + default: "false" rust-toolchain: - description: 'Rust toolchain to install' + description: "Rust toolchain to install" required: false - default: '1.87.0' + default: "1.87.0" setup-protoc: - description: 'Whether to set up Protoc' + description: "Whether to set up Protoc" required: false - default: 'false' + default: "false" setup-go: - description: 'Whether to set up Go' + description: "Whether to set up Go" required: false - default: 'false' + default: "false" setup-node: - description: 'Whether to set up Node.js and PNPM' + description: "Whether to set up Node.js and PNPM" required: false - default: 'false' + default: "false" runs: using: "composite" @@ -66,8 +66,8 @@ runs: uses: actions/setup-node@v4 with: node-version: ${{ inputs.node-version }} - cache: 'pnpm' - cache-dependency-path: '**/pnpm-lock.yaml' + cache: "pnpm" + cache-dependency-path: "**/pnpm-lock.yaml" - name: Set up Go if: inputs.setup-go == 'true' @@ -76,4 +76,4 @@ runs: go-version: ${{ inputs.go-version }} cache-dependency-path: | modules/**/go.sum - go.work.sum \ No newline at end of file + go.work.sum diff --git a/.github/workflows/publish-winget.yml b/.github/workflows/publish-winget.yml index 50fcaae9c..f283e2b16 100644 --- a/.github/workflows/publish-winget.yml +++ b/.github/workflows/publish-winget.yml @@ -53,7 +53,7 @@ jobs: - name: Copy manifests template to winget-pkgs run: | NEW_FOLDER='./winget-pkgs/manifests/k/Kubetail/Kubetail/${{ steps.meta.outputs.tag }}' - mkdir -p "$NEW_FOLDER" + mkdir -p "$NEW_FOLDER" cp ./winget-manifests/.github/ci-config/winget/* "$NEW_FOLDER"/ diff --git a/.github/workflows/release-cluster-agent.yml b/.github/workflows/release-cluster-agent.yml index e70a96ed9..fc7e3d1d5 100644 --- a/.github/workflows/release-cluster-agent.yml +++ b/.github/workflows/release-cluster-agent.yml @@ -6,7 +6,7 @@ permissions: on: push: tags: - - 'cluster-agent/v*' + - "cluster-agent/v*" jobs: build-and-publish-amd64: @@ -20,7 +20,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -45,7 +45,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -58,7 +58,7 @@ jobs: file: build/package/Dockerfile.cluster-agent push: true tags: kubetail/kubetail-cluster-agent:${{ steps.tagName.outputs.tag }}-arm64 - + create-and-publish-manifest: runs-on: ubuntu-24.04 needs: [build-and-publish-amd64, build-and-publish-arm64] @@ -68,10 +68,10 @@ jobs: id: tagName with: tagRegex: "cluster-agent/v(.*)" - - name: 'Setup jq' + - name: "Setup jq" uses: dcarbone/install-jq-action@f0e10f4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: diff --git a/.github/workflows/release-cluster-api.yml b/.github/workflows/release-cluster-api.yml index d2f96c1b1..3645d1357 100644 --- a/.github/workflows/release-cluster-api.yml +++ b/.github/workflows/release-cluster-api.yml @@ -6,7 +6,7 @@ permissions: on: push: tags: - - 'cluster-api/v*' + - "cluster-api/v*" jobs: build-and-publish-amd64: @@ -20,7 +20,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -45,7 +45,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -58,7 +58,7 @@ jobs: file: build/package/Dockerfile.cluster-api push: true tags: kubetail/kubetail-cluster-api:${{ steps.tagName.outputs.tag }}-arm64 - + create-and-publish-manifest: runs-on: ubuntu-24.04 needs: [build-and-publish-amd64, build-and-publish-arm64] @@ -68,10 +68,10 @@ jobs: id: tagName with: tagRegex: "cluster-api/v(.*)" - - name: 'Setup jq' + - name: "Setup jq" uses: dcarbone/install-jq-action@f0e10f4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: diff --git a/.github/workflows/release-dashboard.yml b/.github/workflows/release-dashboard.yml index 453fcc032..e5f68d881 100644 --- a/.github/workflows/release-dashboard.yml +++ b/.github/workflows/release-dashboard.yml @@ -6,7 +6,7 @@ permissions: on: push: tags: - - 'dashboard/v*' + - "dashboard/v*" jobs: build-and-publish-amd64: @@ -20,7 +20,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -45,7 +45,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -58,7 +58,7 @@ jobs: file: build/package/Dockerfile.dashboard push: true tags: kubetail/kubetail-dashboard:${{ steps.tagName.outputs.tag }}-arm64 - + create-and-publish-manifest: runs-on: ubuntu-24.04 needs: [build-and-publish-amd64, build-and-publish-arm64] @@ -68,10 +68,10 @@ jobs: id: tagName with: tagRegex: "dashboard/v(.*)" - - name: 'Setup jq' + - name: "Setup jq" uses: dcarbone/install-jq-action@f0e10f4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: diff --git a/.github/workflows/yaml-lint.yml b/.github/workflows/yaml-lint.yml new file mode 100644 index 000000000..6d3a75f5b --- /dev/null +++ b/.github/workflows/yaml-lint.yml @@ -0,0 +1,21 @@ +--- +name: YAML Lint + +on: + pull_request: + paths: + - "**.yml" + - "**.yaml" + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install yamllint + run: pip install yamllint + + - name: Run yamllint + run: yamllint --config-file .yamllint.yml . diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..de3d69627 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,6 @@ +--- +extends: default + +rules: + line-length: disable + document-start: disable diff --git a/hack/manifests/multi-container.yaml b/hack/manifests/multi-container.yaml index 0ccd3debe..15fc0d531 100644 --- a/hack/manifests/multi-container.yaml +++ b/hack/manifests/multi-container.yaml @@ -21,10 +21,10 @@ spec: app.kubernetes.io/instance: kubetail-dev spec: containers: - - name: loggen - image: docker.io/kubetail/loggen:0.1.2 - resources: {} - - name: loggen-ansi - image: docker.io/kubetail/loggen:0.1.2 - args: ["-ansi"] - resources: {} + - name: loggen + image: docker.io/kubetail/loggen:0.1.2 + resources: {} + - name: loggen-ansi + image: docker.io/kubetail/loggen:0.1.2 + args: ["-ansi"] + resources: {} diff --git a/hack/manifests/statefulset-example.yaml b/hack/manifests/statefulset-example.yaml index 477d3c251..5520212c5 100644 --- a/hack/manifests/statefulset-example.yaml +++ b/hack/manifests/statefulset-example.yaml @@ -29,6 +29,6 @@ spec: app.kubernetes.io/instance: kubetail-dev spec: containers: - - name: loggen - image: docker.io/kubetail/loggen:0.1.2 - resources: {} + - name: loggen + image: docker.io/kubetail/loggen:0.1.2 + resources: {} diff --git a/hack/tilt/chaoskube.yaml b/hack/tilt/chaoskube.yaml index 3dc7030cb..940e29589 100644 --- a/hack/tilt/chaoskube.yaml +++ b/hack/tilt/chaoskube.yaml @@ -12,12 +12,12 @@ kind: ClusterRole metadata: name: chaoskube rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["list"] -- apiGroups: [""] - resources: ["events"] - verbs: ["create"] + - apiGroups: [""] + resources: ["pods"] + verbs: ["list"] + - apiGroups: [""] + resources: ["events"] + verbs: ["create"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -28,9 +28,9 @@ roleRef: kind: ClusterRole name: chaoskube subjects: -- kind: ServiceAccount - name: chaoskube - namespace: default + - kind: ServiceAccount + name: chaoskube + namespace: default --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 @@ -40,9 +40,9 @@ metadata: labels: app.kubernetes.io/name: chaoskube rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["delete"] + - apiGroups: [""] + resources: ["pods"] + verbs: ["delete"] --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 @@ -52,9 +52,9 @@ metadata: labels: app.kubernetes.io/name: chaoskube subjects: -- kind: ServiceAccount - name: chaoskube - namespace: default + - kind: ServiceAccount + name: chaoskube + namespace: default roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -80,18 +80,17 @@ spec: spec: serviceAccountName: chaoskube containers: - - name: chaoskube - image: ghcr.io/linki/chaoskube:v0.31.0 - args: - - --interval=2m - - --labels=app.kubernetes.io/name=loggen - - --namespaces=default - - --minimum-age=4m - - --no-dry-run - securityContext: - runAsNonRoot: true - runAsUser: 65534 - readOnlyRootFilesystem: true - capabilities: - drop: ["ALL"] ---- + - name: chaoskube + image: ghcr.io/linki/chaoskube:v0.31.0 + args: + - --interval=2m + - --labels=app.kubernetes.io/name=loggen + - --namespaces=default + - --minimum-age=4m + - --no-dry-run + securityContext: + runAsNonRoot: true + runAsUser: 65534 + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] diff --git a/hack/tilt/cronjob.yaml b/hack/tilt/cronjob.yaml index f6265a8d2..f10fc4890 100644 --- a/hack/tilt/cronjob.yaml +++ b/hack/tilt/cronjob.yaml @@ -13,10 +13,10 @@ spec: template: spec: containers: - - name: hello - image: busybox:1.28 - command: - - /bin/sh - - -c - - date; echo Hello from the Kubernetes cluster + - name: hello + image: busybox:1.28 + command: + - /bin/sh + - -c + - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailure diff --git a/hack/tilt/echoserver.yaml b/hack/tilt/echoserver.yaml index a56dc3e63..ae2587fc7 100644 --- a/hack/tilt/echoserver.yaml +++ b/hack/tilt/echoserver.yaml @@ -20,11 +20,11 @@ spec: app.kubernetes.io/instance: kubetail-dev spec: containers: - - name: echoserver - image: kubetail/echoserver:0.1.1 - ports: - - name: http - containerPort: 8080 - - name: https - containerPort: 8443 - resources: {} + - name: echoserver + image: kubetail/echoserver:0.1.1 + ports: + - name: http + containerPort: 8080 + - name: https + containerPort: 8443 + resources: {} diff --git a/hack/tilt/loggen-ansi.yaml b/hack/tilt/loggen-ansi.yaml index fbda8c710..aee57b391 100644 --- a/hack/tilt/loggen-ansi.yaml +++ b/hack/tilt/loggen-ansi.yaml @@ -22,7 +22,7 @@ spec: app.kubernetes.io/version: "0.1.3" spec: containers: - - name: loggen - image: docker.io/kubetail/loggen:0.1.2 - args: ["-ansi"] - resources: {} + - name: loggen + image: docker.io/kubetail/loggen:0.1.2 + args: ["-ansi"] + resources: {} diff --git a/hack/tilt/loggen.yaml b/hack/tilt/loggen.yaml index 0efdc3a98..783f79897 100644 --- a/hack/tilt/loggen.yaml +++ b/hack/tilt/loggen.yaml @@ -22,6 +22,6 @@ spec: app.kubernetes.io/version: "0.1.3" spec: containers: - - name: loggen - image: docker.io/kubetail/loggen:0.1.2 - resources: {} + - name: loggen + image: docker.io/kubetail/loggen:0.1.2 + resources: {} diff --git a/modules/cluster-api/gqlgen.yml b/modules/cluster-api/gqlgen.yml index 306df9d14..39dbc52e3 100644 --- a/modules/cluster-api/gqlgen.yml +++ b/modules/cluster-api/gqlgen.yml @@ -101,7 +101,7 @@ models: model: github.com/kubetail-org/kubetail/modules/shared/clusteragentpb.LogMetadataSpec LogMetadataWatchEvent: - model: github.com/kubetail-org/kubetail/modules/shared/clusteragentpb.LogMetadataWatchEvent + model: github.com/kubetail-org/kubetail/modules/shared/clusteragentpb.LogMetadataWatchEvent # -- Logs --- LogRecord: