diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index 181a61894d6ecf2cc5b45ae0177aee551746055e..1d7c9b049cdf79f234aa35e31b132c3443cb5ae4 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -175,10 +175,8 @@
   - ".gitlab/ci/workhorse.gitlab-ci.yml"
 
 .yaml-lint-patterns: &yaml-lint-patterns
-  - ".gitlab-ci.yml"
-  - ".gitlab/ci/**/*.yml"
-  - "data/**/*.yml"
-  - "lib/gitlab/ci/templates/**/*.yml"
+  - "*.yml"
+  - "**/*.yml"
 
 .docs-patterns: &docs-patterns
   - ".gitlab/route-map.yml"
diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml
index ac32e4226e28f66f14c8c68f1e47a453291f1231..a0665d712dc60418821f71cf024a5de1b5a9f363 100644
--- a/.gitlab/ci/yaml.gitlab-ci.yml
+++ b/.gitlab/ci/yaml.gitlab-ci.yml
@@ -1,6 +1,21 @@
-# Yamllint of CI-related yaml.
+# Yamllint of yaml files.
+
 # This uses rules from project root `.yamllint`.
 lint-yaml:
+  extends:
+    - .default-retry
+    - .yaml-lint:rules
+  image: pipelinecomponents/yamllint:latest
+  stage: lint
+  needs: []
+  script:
+    - yamllint --strict -f colored .
+
+# The jobs below will not use the configuration present in `.yamllint` (it's because of the -d option)
+#
+# Docs: https://yamllint.readthedocs.io/en/stable/configuration.html#custom-configuration-without-a-config-file
+
+lint-pipeline-yaml:
   extends:
     - .default-retry
     - .yaml-lint:rules
@@ -10,7 +25,7 @@ lint-yaml:
   variables:
     LINT_PATHS: .gitlab-ci.yml .gitlab/ci lib/gitlab/ci/templates data/deprecations data/removals data/whats_new
   script:
-    - yamllint --strict -f colored $LINT_PATHS
+    - 'yamllint -d "{extends: default, rules: {line-length: disable, document-start: disable}}" $LINT_PATHS'
 
 lint-metrics-yaml:
   extends:
diff --git a/.yamllint b/.yamllint
index df7cdf404bcdc60bee082fd004259a79cbaf8619..2fddf9ee3c46ab19d15851d6c09f92234b7e234c 100644
--- a/.yamllint
+++ b/.yamllint
@@ -2,6 +2,44 @@
 
 extends: default
 
+# Ideally, we should have nothing in this ignore section.
+#
+# Please consider removing entries below by fixing them.
+ignore: |
+  #### Files ####
+
+  # Contains ruby code
+  config/mail_room.yml
+  generator_templates/snowplow_event_definition/event_definition.yml
+  generator_templates/usage_metric_definition/metric_definition.yml
+
+  # Has some special indentation
+  doc/user/project/integrations/samples/cloudwatch.yml
+
+  # Broken on purpose (for testing)
+  spec/fixtures/lib/gitlab/metrics/dashboard/broken_yml_syntax.yml
+
+  #### Folders ####
+  node_modules/
+  tmp/
+
+# Why disabling all of those rules?
+#
+# For the scope of https://gitlab.com/gitlab-org/gitlab/-/issues/359968,
+# we would like to catch syntax errors as soon as possible.
+# Style "errors" are not as important right now, but they should ideally be added later on.
+#
+# Please consider enabling a rule, and fixing the issues you'll see in an MR.
 rules:
-  line-length: disable
+  braces: disable
+  colons: disable
+  comments-indentation: disable
+  comments: disable
   document-start: disable
+  empty-lines: disable
+  indentation: disable
+  key-duplicates: disable
+  line-length: disable
+  new-line-at-end-of-file: disable
+  trailing-spaces: disable
+  truthy: disable