From 89cbd4b45a91b28eab27abd8ab217b3b2968e7f5 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Thu, 17 Aug 2023 12:39:37 +0300 Subject: [PATCH] Fix and normalise internal links Co-authored-by: Kingdon Barrett Co-authored-by: mehak151 <66996176+mehak151@users.noreply.github.com> Signed-off-by: Stefan Prodan --- content/en/blog/2021-01-06-january-update.md | 2 +- .../index.md | 2 +- .../en/blog/2021-04-29-may-update/index.md | 4 +- .../en/blog/2021-05-31-june-update/index.md | 2 +- .../en/blog/2021-08-02-august-update/index.md | 2 +- .../blog/2021-08-30-september-update/index.md | 6 +-- .../blog/2021-10-29-november-update/index.md | 2 +- .../blog/2021-11-30-december-update/index.md | 6 +-- .../blog/2022-01-31-january-update/index.md | 4 +- .../index.md | 2 +- .../en/blog/2022-02-22-security-fuzzing.md | 2 +- .../blog/2022-03-01-february-update/index.md | 2 +- ...-03-09-pod-security-standard-restricted.md | 2 +- .../index.md | 2 +- .../en/blog/2022-08-02-july-update/index.md | 2 +- .../index.md | 8 ++-- .../en/blog/2022-09-05-august-update/index.md | 20 ++++----- .../index.md | 4 +- .../blog/2022-10-04-september-update/index.md | 10 ++--- .../index.md | 2 +- .../blog/2022-10-19-kubecon-2022-na/index.md | 2 +- .../blog/2022-11-01-november-update/index.md | 4 +- .../index.md | 2 +- .../blog/2022-12-01-november-update/index.md | 4 +- content/en/blog/2023-02-01-january-update.md | 2 +- .../blog/2023-03-01-february-update/index.md | 4 +- .../en/blog/2023-04-01-march-update/index.md | 2 +- .../en/blog/2023-05-02-april-update/index.md | 6 +-- .../en/blog/2023-06-06-may-update/index.md | 4 +- .../en/blog/2023-07-17-june-update/index.md | 2 +- .../en/contributing/docs/proposing-changes.md | 4 +- content/en/contributing/docs/style-guide.md | 7 ++-- content/en/contributing/flux-adopters.md | 2 +- .../tutorials/osm-progressive-delivery.md | 2 +- content/en/flagger/usage/how-it-works.md | 2 +- content/en/flagger/usage/webhooks.md | 2 +- content/en/flux/cheatsheets/oci-artifacts.md | 29 +++++++++++++ .../en/flux/cheatsheets/troubleshooting.md | 2 +- content/en/flux/concepts.md | 2 +- content/en/flux/faq.md | 32 ++++++++------ content/en/flux/flux-e2e.md | 41 ++++++++++++++---- content/en/flux/get-started.md | 8 ++-- content/en/flux/guides/cron-job-image-auth.md | 2 +- content/en/flux/guides/helmreleases.md | 2 +- content/en/flux/guides/image-update.md | 2 +- content/en/flux/guides/mozilla-sops.md | 14 +++---- content/en/flux/guides/notifications.md | 4 +- content/en/flux/guides/webhook-receivers.md | 10 ++--- .../migration/flux-v1-automation-migration.md | 8 ++-- .../flux/migration/helm-operator-migration.md | 42 +++++++++---------- content/en/flux/security/_index.md | 4 +- content/en/flux/security/best-practices.md | 2 +- .../flux/security/contextual-authorization.md | 30 ++++++------- .../en/flux/security/secrets-management.md | 2 +- .../use-cases/gh-actions-helm-promotion.md | 8 ++-- .../gh-actions-manifest-generation.md | 4 +- content/en/flux/use-cases/helm.md | 4 +- content/en/flux/use-cases/karmada.md | 2 +- content/en/roadmap.md | 4 +- 59 files changed, 227 insertions(+), 168 deletions(-) diff --git a/content/en/blog/2021-01-06-january-update.md b/content/en/blog/2021-01-06-january-update.md index c645ea537..08f64a4b6 100644 --- a/content/en/blog/2021-01-06-january-update.md +++ b/content/en/blog/2021-01-06-january-update.md @@ -112,7 +112,7 @@ Azure DevOps users will have to specify to use libgit2 in their GitRepository resources. Follow [the generic git server -guide](/flux/installation/#generic-git-server) +guide](/flux/installation/bootstrap/generic-git-server/) for further instructions in how to use Flux with Azure DevOps. Upcoming events diff --git a/content/en/blog/2021-03-08-flux-is-a-cncf-incubation-project/index.md b/content/en/blog/2021-03-08-flux-is-a-cncf-incubation-project/index.md index bfeee32ee..8498b1675 100644 --- a/content/en/blog/2021-03-08-flux-is-a-cncf-incubation-project/index.md +++ b/content/en/blog/2021-03-08-flux-is-a-cncf-incubation-project/index.md @@ -70,7 +70,7 @@ users migrate to Flux v2. Now is the perfect time to familiarise yourself with [Flux v2](/) - the Get Started guide only takes a couple of minutes to complete. -If you prefer a video, check out [our resources section](/#resources). +If you prefer a video, check out [our resources section](/resources/). Migrating from v1 will require some work, but it will definitely be worth it: in this iteration you are going to get diff --git a/content/en/blog/2021-04-29-may-update/index.md b/content/en/blog/2021-04-29-may-update/index.md index 8dc53c094..f9d5e7082 100644 --- a/content/en/blog/2021-04-29-may-update/index.md +++ b/content/en/blog/2021-04-29-may-update/index.md @@ -67,7 +67,7 @@ The Flux v2 CLI and the GitOps Toolkit controllers are now CII Best Practices certified. Checkout the [new bootstrap -procedure](/flux/installation/_index.md#generic-git-server). +procedure](/flux/installation/bootstrap/generic-git-server/). 0.13 comes with **breaking changes to image automation** and has the following highlights: @@ -95,7 +95,7 @@ Please follow the [upgrade procedure for image automation](https://github.com/fluxcd/flux2/discussions/1333). Checkout the [new bootstrap customisation -feature](/flux/installation/_index.md#customize-flux-manifests). +feature](/flux/installation/configuration/boostrap-customization/). The [Image automation guide](/flux/guides/image-update/) has been updated to the new APIs, and also includes a reference to a diff --git a/content/en/blog/2021-05-31-june-update/index.md b/content/en/blog/2021-05-31-june-update/index.md index 8dd57b11b..1a3127f06 100644 --- a/content/en/blog/2021-05-31-june-update/index.md +++ b/content/en/blog/2021-05-31-june-update/index.md @@ -37,7 +37,7 @@ The highlights are: Docs: - ๐Ÿ“” [GitRepository include - documentation](/flux/components/source/gitrepositories/#including-gitrepository) + documentation](/flux/components/source/gitrepositories/#include) - ๐ŸŽ Checkout the new [guide on ways of structuring your repositories](/flux/guides/repository-structure/) diff --git a/content/en/blog/2021-08-02-august-update/index.md b/content/en/blog/2021-08-02-august-update/index.md index f7af540fc..b2ee6badb 100644 --- a/content/en/blog/2021-08-02-august-update/index.md +++ b/content/en/blog/2021-08-02-august-update/index.md @@ -165,7 +165,7 @@ scheduling information available on the [CNCF Flux Dev Calendar](https://lists.cncf.io/g/cncf-flux-dev/calendar), usually scheduled opposite the CNCF Flux Project Meeting. You can [subscribe to the -calendar](/community/#subscribing-to-the-flux-dev-calendar) +calendar](/community/#subscribing-to-the-flux-calendar) to receive notifications about upcoming events and schedule changes. The Bug Scrub is an opportunity to meet with other Flux contributors in another setting besides the Dev meeting, where we try to identify "Good diff --git a/content/en/blog/2021-08-30-september-update/index.md b/content/en/blog/2021-08-30-september-update/index.md index ba575df64..3d8786390 100644 --- a/content/en/blog/2021-08-30-september-update/index.md +++ b/content/en/blog/2021-08-30-september-update/index.md @@ -76,7 +76,7 @@ Some of the highlights in this release are: Prometheus Operator and others. - The Notification controller can now send alerts to Telegram, Lark and Matrix in addition to [many - others](/flux/components/notification/provider/#specification). + others](/flux/components/notification/provider/#writing-a-provider-spec). - Kustomize controller has been updated to on a par with the latest Kustomize release v4.3.0. @@ -167,7 +167,7 @@ accessible than ever before. The Zoom link is broadcast via Slack a few minutes before the meeting start time. For more event details, subscribe to the [CNCF Flux Dev -calendar](/community/#subscribing-to-the-flux-dev-calendar). +calendar](/community/#subscribing-to-the-flux-calendar). Attendees all are asked to RSVP in advance, which can be done by posting on the Slack thread for Bug Scrub, and introducing yourself briefly in case you are new to the Flux contributor team. @@ -201,7 +201,7 @@ section - directly on the home page: For this we re-use Flux's calendar that is provided by CNCF infrastructure, so if you [subscribed to -it](/community/#subscribing-to-the-flux-dev-calendar) +it](/community/#subscribing-to-the-flux-calendar) in the past, you will continue to receive all the information there. **๐Ÿค Thanks everyone!** In the last month, 15 people contributed to the diff --git a/content/en/blog/2021-10-29-november-update/index.md b/content/en/blog/2021-10-29-november-update/index.md index 6afcc5a92..c08059d98 100644 --- a/content/en/blog/2021-10-29-november-update/index.md +++ b/content/en/blog/2021-10-29-november-update/index.md @@ -234,7 +234,7 @@ Here is an update from Kingdon and the rest of the Flux team: > calendar](/#calendar), which has the Zoom > link and is in UTC time, or get reminded in your own time zone by > [subscribing to the flux-dev -> calendar](/community/#subscribing-to-the-flux-dev-calendar). +> calendar](/community/#subscribing-to-the-flux-calendar). > > Hope to see you there! diff --git a/content/en/blog/2021-11-30-december-update/index.md b/content/en/blog/2021-11-30-december-update/index.md index 0093425f5..712e787a8 100644 --- a/content/en/blog/2021-11-30-december-update/index.md +++ b/content/en/blog/2021-11-30-december-update/index.md @@ -74,14 +74,14 @@ And finally **0.24** comes with security updates for Alpine CVEs. We are also happy to bring you - New bootstrap command for [Bitbucket Server and Data - Center](/flux/installation/#bitbucket-server-and-data-center) + Center](/flux/installation/bootstrap/bitbucket/) repositories (CLI). - Add support for self-signed certificates when bootstrapping Flux with on-prem GitHub, GitLab and BitBucket servers (CLI). - Improved performance when building Helm charts and introduced limits for Helm index and chart files. (source-controller). - Add support for [Slack Apps - bot](/flux/components/notification/provider/#slack-app) + bot](/flux/components/notification/provider/#slack) alerting provider (notification-controller). Please note that this version comes with breaking changes to Helm users. @@ -98,7 +98,7 @@ Big shout-out to Soulรฉ Ba for adding Bitbucket support to Flux. This will make lots of Flux users happy. Thank you very much! To find out how to bootstrap Flux on Bitbucket Server, please review -[our documentation](/flux/installation/#bitbucket-server-and-data-center). +[our documentation](/flux/installation/bootstrap/bitbucket/). We love feedback, so please reach out if you have any questions or are missing anything. We are also working on support for BitBucket Cloud, for which we might need some help testing, documentation or wherever diff --git a/content/en/blog/2022-01-31-january-update/index.md b/content/en/blog/2022-01-31-january-update/index.md index 1f87060f7..797c8d447 100644 --- a/content/en/blog/2022-01-31-january-update/index.md +++ b/content/en/blog/2022-01-31-january-update/index.md @@ -39,7 +39,7 @@ previously the controllers ignored the service account. #### :lock: Security enhancements - Platform admins have the option to [lock down Flux on multi-tenant - clusters](/flux/installation/#multi-tenancy-lockdown) + clusters](/flux/installation/configuration/multitenancy/) and enforce tenant isolation at namespace level without having to use a 3rd party admission controller. - The Flux installation conforms to the Kubernetes [restricted pod @@ -289,7 +289,7 @@ are less random and we can attract more interest. Look to the schedule for information about how to join at [https://fluxcd.io/\#calendar](/#calendar) or [add the Flux events to your own -calendar](/community/#subscribing-to-the-flux-dev-calendar) +calendar](/community/#subscribing-to-the-flux-calendar) if you want to participate, and be sure you don't miss out on the new Flux Bug Scrub, Special Edition! diff --git a/content/en/blog/2022-02-09-security-the-value-of-sboms/index.md b/content/en/blog/2022-02-09-security-the-value-of-sboms/index.md index 96ea57a64..c60d4bf78 100644 --- a/content/en/blog/2022-02-09-security-the-value-of-sboms/index.md +++ b/content/en/blog/2022-02-09-security-the-value-of-sboms/index.md @@ -14,7 +14,7 @@ resources: You don't get to re-architect a successful project very often, but we did about two years ago. The Flux project was already off to a great -start and had [many happy adopters](/adopters/#flux-v1) and many of +start and had [many happy adopters](/adopters/#flux-legacy) and many of its design principles we kept at the forefront of our mind: - Pull vs Push: if you haven't read this [great blog diff --git a/content/en/blog/2022-02-22-security-fuzzing.md b/content/en/blog/2022-02-22-security-fuzzing.md index 4f6c88ea3..3ef5d96c1 100644 --- a/content/en/blog/2022-02-22-security-fuzzing.md +++ b/content/en/blog/2022-02-22-security-fuzzing.md @@ -40,7 +40,7 @@ fuzzing for open source software](https://github.com/google/oss-fuzz). ## How we got here When we [announced the results of the security -audit](/blog/2021-11-10-flux-security-audit/#flux-coming-to-oss-fuzz) +audit](/blog/2021/11/flux-security-audit/#flux-coming-to-oss-fuzz) back in November, we already shared that the team at [ADA Logics](https://adalogics.com/) had helped put together an initial implementation of Fuzzing for some of the Flux controllers. In this diff --git a/content/en/blog/2022-03-01-february-update/index.md b/content/en/blog/2022-03-01-february-update/index.md index 8736b8bb3..11999502b 100644 --- a/content/en/blog/2022-03-01-february-update/index.md +++ b/content/en/blog/2022-03-01-february-update/index.md @@ -50,7 +50,7 @@ and improvements using the Alert API `spec.eventSources[].matchLabels` field. - Add support to `kustomize-controller` for making the Kubernetes `Secrets` and `ConfigMaps` referenced in `postBuild.substituteFrom` - [optional](/flux/components/kustomize/kustomization/#variable-substitution). + [optional](/flux/components/kustomize/kustomization/#post-build-variable-substitution). - Allow dot-prefixed paths to be used for bootstrap e.g. `flux bootstrap --path=".flux/clusters/my-cluster"`. - All Flux controllers and libraries are now tested by Google's diff --git a/content/en/blog/2022-03-09-pod-security-standard-restricted.md b/content/en/blog/2022-03-09-pod-security-standard-restricted.md index 08ec44d6d..e0653c9c7 100644 --- a/content/en/blog/2022-03-09-pod-security-standard-restricted.md +++ b/content/en/blog/2022-03-09-pod-security-standard-restricted.md @@ -83,7 +83,7 @@ issue](https://github.com/fluxcd/source-controller/issues/582) ([related upstream report](https://github.com/openshift/cluster-kube-apiserver-operator/issues/1325)). The work-around right now is to remove the seccomp profile as -described in [these instructions](/flux/use-cases/openshift/#flux-installation-with-cli). +described in [these instructions](/flux/use-cases/openshift/). {{% /note %}} ## `seccomp` and `RuntimeDefault` diff --git a/content/en/blog/2022-03-25-putting-the-git-into-gitops/index.md b/content/en/blog/2022-03-25-putting-the-git-into-gitops/index.md index 1ade5dfd1..b9ac7a68a 100644 --- a/content/en/blog/2022-03-25-putting-the-git-into-gitops/index.md +++ b/content/en/blog/2022-03-25-putting-the-git-into-gitops/index.md @@ -77,7 +77,7 @@ shortcomings. Things which "just work" in the Git CLI, any of the implementations get subtly wrong, as they work on the ["plumbing" level](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain) of Git. In the end we chose to make `gitImplementation` a [configurable -setting](/flux/components/source/gitrepositories/#git-implementation). +setting](/flux/components/source/api/v1beta2/#source.toolkit.fluxcd.io/v1beta2.GitRepository). Just to illustrate what happens when you try to do things just right, here's a couple of pieces of work we needed to get done along diff --git a/content/en/blog/2022-08-02-july-update/index.md b/content/en/blog/2022-08-02-july-update/index.md index 71e580435..f96a502c0 100644 --- a/content/en/blog/2022-08-02-july-update/index.md +++ b/content/en/blog/2022-08-02-july-update/index.md @@ -300,7 +300,7 @@ couple of small things we landed recently: this document shows how to do just that. - We expanded our documentation on Azure to include [Using Helm OCI with Azure Container - Registry](/flux/use-cases/azure/#using-helm-oci-with-azure-container-registry). + Registry](/flux/components/source/helmrepositories/#provider). - Flagger news! We updated the docs on our website to match the newest version of Flagger (1.22). This adds a tutorial for how to do [Canary analysis with KEDA diff --git a/content/en/blog/2022-09-01-manage-kyverno-policies-as-ocirepositories/index.md b/content/en/blog/2022-09-01-manage-kyverno-policies-as-ocirepositories/index.md index 33a59fa8f..4e278cc0c 100644 --- a/content/en/blog/2022-09-01-manage-kyverno-policies-as-ocirepositories/index.md +++ b/content/en/blog/2022-09-01-manage-kyverno-policies-as-ocirepositories/index.md @@ -27,7 +27,7 @@ The Flux CLI generates a single layer OCI image for storing things. As you can u Today, weโ€™ll leverage the OCI Repositories feature to apply Kyverno policies stored in an OCI registry into the Kubernetes cluster. -First, we need to install Flux CLI, please see the [installation](/docs/installation/) page for more details. +First, we need to install Flux CLI, please see the [installation](/flux/installation/) page for more details. Next, we should have a Kubernetes cluster running. Weโ€™ll be using [KinD](https://kind.sigs.k8s.io/docs/user/quick-start#configuring-your-kind-cluster) for this purpose. @@ -156,11 +156,11 @@ spec: kind: ClusterPolicy ``` -I'd like to highlight some key points about the resources above. Here in `OCIRepository` resource, we are using [SemVer](/docs/components/source/ocirepositories/#semver-example) to select the policies that we want to apply. `.spec.ref` is an optional field to specify the OCI reference to resolve and watch for changes. If not specified, the latest version of the repository will be used. You can reach out to the complete list of references supported in Flux, here is the [link](/docs/components/source/ocirepositories/#reference) for you. +I'd like to highlight some key points about the resources above. Here in `OCIRepository` resource, we are using [SemVer](/flux/components/source/ocirepositories/#semver-example) to select the policies that we want to apply. `.spec.ref` is an optional field to specify the OCI reference to resolve and watch for changes. If not specified, the latest version of the repository will be used. You can reach out to the complete list of references supported in Flux, here is the [link](/flux/components/source/ocirepositories/#reference) for you. -Also, in the `Kustomization` resource, we are using `.spec.patches` to apply patches to the policies that we want to enforce. We are using `op: replace` to replace the existing value of the field with the new one. `path` is the path to the field that we want to replace. `value` is the value of the field that we want to replace. To get more detail about the `Patches`, please see the [link](/docs/components/kustomize/kustomization/#patches). +Also, in the `Kustomization` resource, we are using `.spec.patches` to apply patches to the policies that we want to enforce. We are using `op: replace` to replace the existing value of the field with the new one. `path` is the path to the field that we want to replace. `value` is the value of the field that we want to replace. To get more detail about the `Patches`, please see the [link](/flux/components/kustomize/kustomization/#patches). -Last but not least, we are specifying an explicit dependencies for the `Kustomization` resource by using `dependsOn` keyword that ensures the Kyverno deployment is ready before applying the policies. This is important because Kyverno needs to be installed before applying the policies. Otherwise, the policies won't be used because CRD (Custom Resource Definitions) won't exist until Kyverno works. You can learn more about the dependencies of `Kustomization` resource, [here](/flux/components/kustomize/kustomization/#kustomization-dependencies). +Last but not least, we are specifying an explicit dependencies for the `Kustomization` resource by using `dependsOn` keyword that ensures the Kyverno deployment is ready before applying the policies. This is important because Kyverno needs to be installed before applying the policies. Otherwise, the policies won't be used because CRD (Custom Resource Definitions) won't exist until Kyverno works. You can learn more about the dependencies of `Kustomization` resource, [here](/flux/components/kustomize/kustomization/#dependencies). Now, we can apply these manifests by committing and pushing them to the repository and letting Flux take care of the rest but still, one little step left that we need to do, which is authentication. diff --git a/content/en/blog/2022-09-05-august-update/index.md b/content/en/blog/2022-09-05-august-update/index.md index 9ab9307de..a28034669 100644 --- a/content/en/blog/2022-09-05-august-update/index.md +++ b/content/en/blog/2022-09-05-august-update/index.md @@ -31,7 +31,7 @@ Let's go through the major changes one by one. - Enable contextual login to container registries when pulling Helm charts from Amazon Elastic Container Registry, Azure Container Registry and Google Artifact Registry using - [`HelmRepository.spec.provider`](/docs/components/source/helmrepositories/#provider). + [`HelmRepository.spec.provider`](/flux/components/source/helmrepositories/#provider). - Select which layer contains the Kubernetes configs by specifying a matching OCI media type using [`OCIRepository.spec.layerSelector`](/flux/components/source/ocirepositories/#layer-selector). @@ -51,7 +51,7 @@ Let's go through the major changes one by one. The big news was of course that we added support for distributing Kubernetes manifests, Kustomize overlays and Terraform code as OCI artifacts. For more information on OCI support please see the [Flux -documentation](/docs/cheatsheets/oci-artifacts/). +documentation](/flux/cheatsheets/oci-artifacts/). Big thanks to the Flux contributors that helped us along the way. It took us almost 4 months, from the first RFC version to shipping OCI @@ -244,20 +244,20 @@ We are constantly improving our documentation and website - here are a couple of small things we landed recently: - New security docs on [Secrets - Management](/docs/security/secrets-management/) + Management](/flux/security/secrets-management/) and [Contextual - Authorization](/docs/security/contextual-authorization/). + Authorization](/flux/security/contextual-authorization/). - New blog post: [Managing Kyverno Policies as OCI Artifacts with OCIRepository Sources](/blog/2022/08/manage-kyverno-policies-as-ocirepositories) - Cheatsheet news - [OCI - Artifacts](/docs/cheatsheets/oci-artifacts/) + Artifacts](/flux/cheatsheets/oci-artifacts/) - Bootstrap: [Git repository access via SOCKS5 ssh - proxy](/docs/cheatsheets/bootstrap/#git-repository-access-via-socks5-ssh-proxy) + proxy](/flux/cheatsheets/bootstrap/#git-repository-access-via-socks5-ssh-proxy) - Bootstrap: [Enable notifications for third party - controllers](/docs/cheatsheets/bootstrap/#enable-notifications-for-third-party-controllers) -- [Flux's Work Well With section](/docs/#flux-works-well-with): find out + controllers](/flux/cheatsheets/bootstrap/#enable-notifications-for-third-party-controllers) +- [Flux's Work Well With section](/flux/#flux-works-well-with): find out how to make Flux work with your favourite other OSS software - Lots of new videos from GitOpsCon / KubeCon on [our resources page](/resources/) @@ -341,7 +341,7 @@ some Flux facts - they are sort of our mission statement with Flux. assessments, alerting to external systems and external events handling. Just "git push", and get notified on Slack and [other chat - systems](https://github.com/fluxcd/notification-controller/blob/main/docs/spec/v1beta1/provider.md). + systems](https://github.com/fluxcd/notification-controller/blob/main/docs/spec/v1beta1/providers.md). 1. ๐Ÿ‘ Users trust Flux: Flux is a CNCF Incubating project and was categorised as \"Adopt\" on the [CNCF CI/CD Tech Radar](https://radar.cncf.io/2020-06-continuous-delivery) @@ -364,7 +364,7 @@ good ways to do that: - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the diff --git a/content/en/blog/2022-09-28-gitops-without-leaving-your-ide/index.md b/content/en/blog/2022-09-28-gitops-without-leaving-your-ide/index.md index 32d671409..7985e4061 100644 --- a/content/en/blog/2022-09-28-gitops-without-leaving-your-ide/index.md +++ b/content/en/blog/2022-09-28-gitops-without-leaving-your-ide/index.md @@ -11,7 +11,7 @@ resources: --- Welcome to the second [blog post in our Flux Ecosystem category](/tags/ecosystem/)! -This time we are talking about one of the [Flux UIs](/ecosystem/#flux-uis): it's +This time we are talking about one of the [Flux UIs](/ecosystem/#flux-uis--guis): it's the [VS Code GitOps Extension](https://github.com/weaveworks/vscode-gitops-tools). If you already use VS Code, this extension will be straight up your alley: it @@ -32,7 +32,7 @@ the Install button away. Additionally, you will need to - [Install Kubectl](https://kubectl.docs.kubernetes.io/installation/kubectl/) -- [Install Flux CLI](/docs/installation/#install-the-flux-cli) +- [Install Flux CLI](/flux/installation/#install-the-flux-cli) - [Install git](https://git-scm.com/downloads) Optionally, if available, the extension will make use of the `az` tool diff --git a/content/en/blog/2022-10-04-september-update/index.md b/content/en/blog/2022-10-04-september-update/index.md index cd669591f..3f6621446 100644 --- a/content/en/blog/2022-10-04-september-update/index.md +++ b/content/en/blog/2022-10-04-september-update/index.md @@ -40,7 +40,7 @@ features and improvements: - Verify OCI artifacts signed by Cosign (including `keyless` - currently still experimental and only supporting GCP and GHCR) with - [OCIRepository.spec.verify](/docs/components/source/ocirepositories/#verification). + [OCIRepository.spec.verify](/flux/components/source/ocirepositories/#verification). Note this supports contextual login, but not insecure registries. - Allow pulling Helm charts dependencies from HTTPS repositories with mixed self-signed TLS and public CAs. @@ -53,7 +53,7 @@ features and improvements: - The controllers and the Flux CLI are now built with Go 1.19. - Allow pulling artifacts from an in-cluster Docker Registry over plain HTTP with - [`OCIRepository.spec.insecure`](/docs/components/source/ocirepositories/#insecure). + [`OCIRepository.spec.insecure`](/flux/components/source/ocirepositories/#insecure). - Allow defining OCI sources for non-TLS container registries with `flux create source oci --insecure`. - Enable contextual login when publishing OCI artifacts from a Cloud @@ -72,7 +72,7 @@ features and improvements: DockerHub container registries under `fluxcd/flux-manifests`. For more information on OCI and Cosign support please see the [Flux -documentation](/docs/cheatsheets/oci-artifacts/#signing-and-verification). +documentation](/flux/cheatsheets/oci-artifacts/#signing-and-verification). It took us six months to debate, design and implement OCI support in Flux. Big thanks to all the Flux contributors that helped us reach this @@ -443,7 +443,7 @@ couple of small things we landed recently: - We simplified the build process of the website. We are on a very recent version of the Docsy theme again! -- Our [Bootstrap Cheatsheet](/docs/cheatsheets/bootstrap/) +- Our [Bootstrap Cheatsheet](/flux/cheatsheets/bootstrap/) now contains instructions on how to enable notifications for third party controllers. - [Flux End-To-End documentation](/flux/flux-e2e/) was @@ -516,7 +516,7 @@ good ways to do that: - Talk to us in the \#flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2022-10-17-prove-the-authenticity-of-oci-artifacts/index.md b/content/en/blog/2022-10-17-prove-the-authenticity-of-oci-artifacts/index.md index d0d5d64b8..1d18b39aa 100644 --- a/content/en/blog/2022-10-17-prove-the-authenticity-of-oci-artifacts/index.md +++ b/content/en/blog/2022-10-17-prove-the-authenticity-of-oci-artifacts/index.md @@ -30,7 +30,7 @@ But this only covered the first stage of the entire implementation. There is mor One of the most exciting features of this RFC is the [verification of artifacts](https://github.com/fluxcd/flux2/tree/main/rfcs/0003-kubernetes-oci#verify-artifacts). But why, what is it, is it really necessary or just a hype thing? This is a long topic that we need to discuss. Suppose you store the cluster desired state as OCI artifacts in a container registry. How can you be one hundred percent sure that the resources that Flux reconciles are the same as the resources that you've pushed to the OCI registry? This is where the verification of artifacts comes into play. But, how can we do that? ๐Ÿค” -Thanks to the [Sigstore](https://www.sigstore.dev) community we have a great set of services and tools for signing and verifying authenticity. One of the tools is [cosign](https://docs.sigstore.dev/cosign/overview) which can be used for container signing, verification, and storage in an OCI registry. We will use it to verify the authenticity of the OCI Artifacts in Flux. Starting with [v0.35](https://github.com/fluxcd/flux2/releases/tag/v0.35.0), Flux comes with support for verifying OCI artifacts signed with Sigstore Cosign. Documentation for setting it up can be found [here](flux/cheatsheets/oci-artifacts/#signing-and-verification). +Thanks to the [Sigstore](https://www.sigstore.dev) community we have a great set of services and tools for signing and verifying authenticity. One of the tools is [cosign](https://docs.sigstore.dev/cosign/overview) which can be used for container signing, verification, and storage in an OCI registry. We will use it to verify the authenticity of the OCI Artifacts in Flux. Starting with [v0.35](https://github.com/fluxcd/flux2/releases/tag/v0.35.0), Flux comes with support for verifying OCI artifacts signed with Sigstore Cosign. Documentation for setting it up can be found [here](/flux/cheatsheets/oci-artifacts/#signing-and-verification). Let's jump right into the details of how we can actually use it. diff --git a/content/en/blog/2022-10-19-kubecon-2022-na/index.md b/content/en/blog/2022-10-19-kubecon-2022-na/index.md index add8a810b..7a2f93d52 100644 --- a/content/en/blog/2022-10-19-kubecon-2022-na/index.md +++ b/content/en/blog/2022-10-19-kubecon-2022-na/index.md @@ -14,7 +14,7 @@ resources: {{< /imgproc >}} Everybody in Team Flux is busy with [the run-up to Flux -GA](/roadmap/#the-road-to-flux-v2-ga), but -- with the help of +GA](/roadmap/#flux-gitops-ga-completed-in-july-2023), but -- with the help of the great folks in our Community and Ecosystem -- we also managed to put together quite a number of talks, tutorials and sessions for you at KubeCon / CloudNativeCon! diff --git a/content/en/blog/2022-11-01-november-update/index.md b/content/en/blog/2022-11-01-november-update/index.md index 20386fca3..aade3c04b 100644 --- a/content/en/blog/2022-11-01-november-update/index.md +++ b/content/en/blog/2022-11-01-november-update/index.md @@ -27,7 +27,7 @@ features further into Flux. Here is a list of features and improvements that were added in the last release: - Verify OCI Helm charts signed by Cosign (including keyless) with - [`HelmChart.spec.verify`](/docs/cheatsheets/oci-artifacts/#verify-helm-charts). + [`HelmChart.spec.verify`](/flux/cheatsheets/oci-artifacts/#verify-helm-charts). - Allow publishing a single YAML file to OCI with `flux push artifact --path=deploy/install.yaml`. - Detect changes to local files before pushing to OCI with @@ -511,7 +511,7 @@ good ways to do that: - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the diff --git a/content/en/blog/2022-11-30-flux-is-a-cncf-graduated-project/index.md b/content/en/blog/2022-11-30-flux-is-a-cncf-graduated-project/index.md index b999e8027..4cf9a4e93 100644 --- a/content/en/blog/2022-11-30-flux-is-a-cncf-graduated-project/index.md +++ b/content/en/blog/2022-11-30-flux-is-a-cncf-graduated-project/index.md @@ -93,7 +93,7 @@ these days, a lot of this is based on Flux as a technology and the learnings we made until today. We are extremely pleased to have this [huge ecosystem](/ecosystem/) built on top of and around Flux, including recent [Flux -UIs](/ecosystem/#flux-uis)! +UIs](/ecosystem/#flux-uis--guis)! ## Next up: Flux going GA diff --git a/content/en/blog/2022-12-01-november-update/index.md b/content/en/blog/2022-12-01-november-update/index.md index 75ca5b2cc..f844c3bef 100644 --- a/content/en/blog/2022-12-01-november-update/index.md +++ b/content/en/blog/2022-12-01-november-update/index.md @@ -79,7 +79,7 @@ Check out these new pieces of documentation: - Guide: [AWS CodeCommit bootstrap](/flux/use-cases/aws-codecommit/) - Guide: [Azure DevOps - bootstrap](/flux/use-cases/azure/#flux-installation-for-azure-devops) + bootstrap](/flux/installation/bootstrap/azure-devops/) ๐Ÿ’– Big thanks to all the Flux contributors that helped us with this release! @@ -427,7 +427,7 @@ good ways to do that: - Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2023-02-01-january-update.md b/content/en/blog/2023-02-01-january-update.md index d684d4987..ef2a7647e 100644 --- a/content/en/blog/2023-02-01-january-update.md +++ b/content/en/blog/2023-02-01-january-update.md @@ -440,7 +440,7 @@ good ways to do that: - Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2023-03-01-february-update/index.md b/content/en/blog/2023-03-01-february-update/index.md index 2b7fa1bed..c837d325c 100644 --- a/content/en/blog/2023-03-01-february-update/index.md +++ b/content/en/blog/2023-03-01-february-update/index.md @@ -99,7 +99,7 @@ Features and improvements include: Documentation - Security: [Software Bill of Materials](/flux/security/#software-bill-of-materials) -- Security: [SLSA Provenance Attestations](/flux/security/#slsa-provenance-attestations) +- Security: [SLSA Provenance Attestations](/flux/security/#slsa-provenance) - Security: [Scanning Flux images for CVEs](/flux/security/#scanning-for-cves) Big thanks to all the Flux contributors that helped us with this release! @@ -428,7 +428,7 @@ good ways to do that: - Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2023-04-01-march-update/index.md b/content/en/blog/2023-04-01-march-update/index.md index 7ba94b31f..2cf2b0f5f 100644 --- a/content/en/blog/2023-04-01-march-update/index.md +++ b/content/en/blog/2023-04-01-march-update/index.md @@ -440,7 +440,7 @@ good ways to do that: - Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2023-05-02-april-update/index.md b/content/en/blog/2023-05-02-april-update/index.md index f6ff80ac8..0c417a2c8 100644 --- a/content/en/blog/2023-05-02-april-update/index.md +++ b/content/en/blog/2023-05-02-april-update/index.md @@ -35,7 +35,7 @@ In addition, RC.1 comes with support for auth with Azure Workload Identity when pulling OCI artifacts from ACR and when decrypting secret with Azure Vault. Also, Bootstrap for GitLab was extended with support for generating [GitLab Deploy -Tokens](/flux/installation/#gitlab-and-gitlab-enterprise). +Tokens](/flux/installation/bootstrap/gitlab/). Big thanks to all the Flux contributors that helped us with this release! @@ -73,7 +73,7 @@ reconciliation of multiple resources using `.spec.resources.matchLabels`. The v1 API is backwards compatible with v1beta2, no fields were removed. To upgrade Flux from `v0.x` to `v2.0.0-rc-1` you can either rerun -[flux bootstrap](/flux/installation/#bootstrap-upgrade) +[flux bootstrap](/flux/installation/upgrade/#flux-controllers-upgrade) or use the [Flux GitHub Action](https://github.com/fluxcd/flux2/tree/main/action). To upgrade the APIs from v1beta2, after deploying the new CRDs and controllers, @@ -503,7 +503,7 @@ good ways to do that: - Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/) - Join the [planning discussions](https://github.com/fluxcd/flux2/discussions) - And if you are completely new to Flux, take a look at our [Get - Started guide](/docs/get-started/) and give us feedback + Started guide](/flux/get-started/) and give us feedback - Social media: Follow [Flux on Twitter](https://twitter.com/fluxcd), join the discussion in the [Flux LinkedIn group](https://www.linkedin.com/groups/8985374/). diff --git a/content/en/blog/2023-06-06-may-update/index.md b/content/en/blog/2023-06-06-may-update/index.md index bcddfeb77..24a3ec924 100644 --- a/content/en/blog/2023-06-06-may-update/index.md +++ b/content/en/blog/2023-06-06-may-update/index.md @@ -242,8 +242,8 @@ The next dates are going to be: - 2023-06-08 17:00 UTC, 19:00 CEST [The Flux Bug Scrub](/#calendar) - 2023-06-13 22:00 UTC, 00:00 CEST [The Flux Bug Scrub (AEST)](/#calendar) - 2023-06-14 12:00 UTC, 14:00 CEST [The Flux Bug Scrub](/#calendar) -- 2023-06-15 15:00 UTC, 17:00 CEST [CNCF Flux Project Meeting (late)](#calendar) -- 2023-06-21 12:00 UTC, 19:00 CEST [CNCF Flux Project Meeting (early)](#calendar) +- 2023-06-15 15:00 UTC, 17:00 CEST [CNCF Flux Project Meeting (late)](/#calendar) +- 2023-06-21 12:00 UTC, 19:00 CEST [CNCF Flux Project Meeting (early)](/#calendar) - 2023-06-22 17:00 UTC, 19:00 CEST [The Flux Bug Scrub](/#calendar) - 2023-06-27 22:00 UTC, 14:00 CEST [The Flux Bug Scrub (AEST): playing with ChatGPT!](/#calendar) - 2023-06-28 12:00 UTC, 00:00 CEST [The Flux Bug Scrub: playing with ChatGPT!](/#calendar) diff --git a/content/en/blog/2023-07-17-june-update/index.md b/content/en/blog/2023-07-17-june-update/index.md index 2737f9954..c024dac91 100644 --- a/content/en/blog/2023-07-17-june-update/index.md +++ b/content/en/blog/2023-07-17-june-update/index.md @@ -138,7 +138,7 @@ For more details on the release procedure, take a look at https://fluxcd.io/flux - Watch our [CNCF webinar on Flux 2.0](https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-flux-20-what-you-need-to-know/), which has an intro to GitOps for newcomers and Flux 2.0-specific updates for existing users. - Need extra support for Flux and Flagger? Check out the - [Flux support page](https://fluxcd.io/support/#my-employer-needs-additional-help) and this + [Flux support page](/support/#commercial-support) and this [August 2 webinar](https://go.weave.works/Webinar-FluxCD-Positioned-for-Growth_LP.html) on Flux 2.0-specific support. diff --git a/content/en/contributing/docs/proposing-changes.md b/content/en/contributing/docs/proposing-changes.md index 84a4d5dfe..10ae02f07 100644 --- a/content/en/contributing/docs/proposing-changes.md +++ b/content/en/contributing/docs/proposing-changes.md @@ -14,7 +14,7 @@ description: > To contribute new pages or improve existing pages, open a pull request (PR). -If your change is small, or you're unfamiliar with git, read [Changes using GitHub](#Changes-using-GitHub). +If your change is small, or you're unfamiliar with git, read [Changes using GitHub](#changes-using-github). ### Changes using GitHub @@ -47,7 +47,7 @@ If you are a maintainer of the repo, the edit page button will not let you work - Leave the **Allow edits from maintainers** checkbox selected. {{% alert title="" color="info" %}} - PR descriptions are a great way to help reviewers understand your change. For more information, see [Opening a PR](#open-a-pr). + PR descriptions are a great way to help reviewers understand your change. For more information, see [Opening a PR](#open-a-pull-request-from-your-fork-to-fluxcdwebsite). {{% /alert %}} 1. Select **Create pull request**. diff --git a/content/en/contributing/docs/style-guide.md b/content/en/contributing/docs/style-guide.md index 298a1e4bf..05ef34304 100644 --- a/content/en/contributing/docs/style-guide.md +++ b/content/en/contributing/docs/style-guide.md @@ -23,7 +23,7 @@ You may use the word "resource", "API", or "object" to clarify a Flux resource t Don't split an API object name into separate words. For example, use HelmRelease, not Helm Release. -The following examples focus on capitalization. For more information about formatting API object names, review the related guidance on [Code Style](#code-style-inline-code). +The following examples focus on capitalization. For more information about formatting API object names, review the related guidance on [Code Style](#use-code-style-for-inline-code-commands-and-api-objects). Do | Don't :--| :----- @@ -204,7 +204,7 @@ You can use a `{{}}` in a list: 1. A second item with an embedded note {{}} - Warning, Caution, and Note shortcodes, embedded in lists, need to be indented four spaces. See [Common Shortcode Issues](#common-shortcode-issues). + Warning, Caution, and Note shortcodes, embedded in lists, need to be indented four spaces. See [Common Shortcode Issues](https://kubernetes.io/docs/contribute/style/style-guide/#common-shortcode-issues). {{}} 1. A third item in a list @@ -219,7 +219,7 @@ The output is: 1. A second item with an embedded note {{< note >}} - Warning, Caution, and Note shortcodes, embedded in lists, need to be indented four spaces. See [Common Shortcode Issues](#common-shortcode-issues). + Warning, Caution, and Note shortcodes, embedded in lists, need to be indented four spaces. See [Common Shortcode Issues](https://kubernetes.io/docs/contribute/style/style-guide/#common-shortcode-issues). {{< /note >}} 1. A third item in a list @@ -286,6 +286,7 @@ Do | Don't Try to keep paragraphs under 6 sentences. | Indent the first paragraph with space characters. For example, โ‹…โ‹…โ‹…Three spaces before a paragraph will indent it. Use three hyphens (`---`) to create a horizontal rule. Use horizontal rules for breaks in paragraph content. For example, a change of scene in a story, or a shift of topic within a section. | Use horizontal rules for decoration. +   ### Links Do | Don't diff --git a/content/en/contributing/flux-adopters.md b/content/en/contributing/flux-adopters.md index 77de3c20c..15bf620a1 100644 --- a/content/en/contributing/flux-adopters.md +++ b/content/en/contributing/flux-adopters.md @@ -32,7 +32,7 @@ To add your organisation follow these steps: ``` You can just add to the end of the file, we already sort alphabetically by name of organisation. -1. Save the file, then do `git add -A` and commit using `git commit -s -m "Add MY-ORG to adopters"` (commit signoff is required, see [DCO](https://fluxcd.io/contributing/#certificate-of-origin)). +1. Save the file, then do `git add -A` and commit using `git commit -s -m "Add MY-ORG to adopters"` (commit signoff is required, see [DCO](https://fluxcd.io/contributing/flux/#certificate-of-origin)). 1. Push the commit with `git push origin main`. 1. Open a Pull Request to [fluxcd/website](https://github.com/fluxcd/website) and a preview build will turn up. diff --git a/content/en/flagger/tutorials/osm-progressive-delivery.md b/content/en/flagger/tutorials/osm-progressive-delivery.md index 37ffba89d..05e61738a 100644 --- a/content/en/flagger/tutorials/osm-progressive-delivery.md +++ b/content/en/flagger/tutorials/osm-progressive-delivery.md @@ -20,7 +20,7 @@ OSM must have permissive traffic policy enabled and have an instance of Promethe --set=OpenServiceMesh.enablePermissiveTrafficPolicy=true ``` - If a managed instance of OSM is being used: - - [Bring your own instance](docs.openservicemesh.io/docs/guides/observability/metrics/#byo-prometheus) of Prometheus, + - [Bring your own instance](https://docs.openservicemesh.io/docs/guides/observability/metrics/#bring-your-own) of Prometheus, setting the namespace to match the managed OSM controller namespace - Enable permissive traffic policy after installation by updating the OSM MeshConfig resource: ```bash diff --git a/content/en/flagger/usage/how-it-works.md b/content/en/flagger/usage/how-it-works.md index d7c4e9272..95f857352 100644 --- a/content/en/flagger/usage/how-it-works.md +++ b/content/en/flagger/usage/how-it-works.md @@ -205,7 +205,7 @@ spec: Note that the `apex` annotations are added to both the generated Kubernetes Service and the generated service mesh/ingress object. This allows using external-dns with Istio `VirtualServices` -and `TraefikServices`. Beware of configuration conflicts [here](../faq.md#ExternalDNS). +and `TraefikServices`. Beware of configuration conflicts [here](../faq.md#externaldns). Besides port mapping and metadata, the service specification can contain URI match and rewrite rules, timeout and retry polices: diff --git a/content/en/flagger/usage/webhooks.md b/content/en/flagger/usage/webhooks.md index 5fb222116..711a42bfb 100644 --- a/content/en/flagger/usage/webhooks.md +++ b/content/en/flagger/usage/webhooks.md @@ -342,7 +342,7 @@ you'll have to create a dedicated service account and add the release namespace ``` If the test hangs or logs error messages hinting to insufficient permissions it can be related to RBAC, -check the [Troubleshooting](webhooks.md#Troubleshooting) section for an example configuration. +check the [Troubleshooting](webhooks.md#troubleshooting) section for an example configuration. As an alternative to Helm you can use the [Bash Automated Testing System](https://github.com/bats-core/bats-core) to run your tests. diff --git a/content/en/flux/cheatsheets/oci-artifacts.md b/content/en/flux/cheatsheets/oci-artifacts.md index 4f8cfcfd9..992212fbe 100644 --- a/content/en/flux/cheatsheets/oci-artifacts.md +++ b/content/en/flux/cheatsheets/oci-artifacts.md @@ -703,3 +703,32 @@ spec: Based on the above configuration, Flux will scan the container registry every five minutes, and when it finds a newer Helm chart version, it will update the `HelmRelease.spec.chart.spec.chart.version` and will push the change to Git. + +### Diagram: OCI artifacts reconciliation + +```mermaid +sequenceDiagram + actor me + participant git as OCI

repository + participant sc as Flux

source-controller + participant kc as Flux

kustomize-controller + participant kube as Kubernetes

api-server + participant nc as Flux

notification-controller + me->>git: 1. flux push + sc->>git: 2. pull artifact + sc-->>sc: 3. verify signatures + sc->>sc: 4. store artifact revision + sc->>kube: 5. update status for revision + sc-->>nc: 6. emit events + kube->>kc: 7. notify about new revision + kc->>sc: 8. fetch artifact for revision + kc->>kc: 9. extract k8s objects + kc-->>kc: 10. customize objects + kc->>kube: 11. validate objects + kc->>kube: 12. apply objects (ssa) + kc-->>kube: 13. delete objects + kc-->>kube: 14. wait for readiness + kc->>kube: 15. update status for revision + kc-->>nc: 16. emit events + nc-->>me: 17. send alerts for revision +``` diff --git a/content/en/flux/cheatsheets/troubleshooting.md b/content/en/flux/cheatsheets/troubleshooting.md index 95eda45a8..7da871c00 100644 --- a/content/en/flux/cheatsheets/troubleshooting.md +++ b/content/en/flux/cheatsheets/troubleshooting.md @@ -157,7 +157,7 @@ in [`helm/helm#8281`](https://github.com/helm/helm/issues/8281). If you are running into this, confirm first that your chart has all the required excludes in their respective [`.helmignore`](https://helm.sh/docs/chart_template_guide/helm_ignore_file/) and -[`.sourceignore`](/flux/components/source/api/#source.toolkit.fluxcd.io/v1.GitRepository) files. +[`.sourceignore`](/flux/components/source/api/v1/#source.toolkit.fluxcd.io/v1.GitRepository) files. ### How to debug "not ready" errors? diff --git a/content/en/flux/concepts.md b/content/en/flux/concepts.md index b2304c116..75df2adfc 100644 --- a/content/en/flux/concepts.md +++ b/content/en/flux/concepts.md @@ -70,7 +70,7 @@ are created for the Flux components, then the manifests are pushed to an existin The bootstrap is done using the `flux` CLI or using our [Terraform Provider](https://github.com/fluxcd/terraform-provider-flux). -For more information, take a look at [the bootstrap documentation](installation.md#bootstrap). +For more information, take a look at [the bootstrap documentation](/flux/installation/bootstrap/). ## Continuous Delivery diff --git a/content/en/flux/faq.md b/content/en/flux/faq.md index 73c930886..ad18a1a39 100644 --- a/content/en/flux/faq.md +++ b/content/en/flux/faq.md @@ -5,18 +5,26 @@ description: "Flux and the GitOps Toolkit frequently asked questions." weight: 144 --- -{{% alert title="Troubleshooting" %}} -Troubleshooting advice can be found on our [Troubleshooting Cheatsheet](/flux/cheatsheets/troubleshooting/). -{{% /alert %}} - ## General questions ### Does Flux have a UI / GUI? -The Flux project does not provide a UI of its own, but there are a variety of UIs for Flux in the [Flux Ecosystem](/ecosystem/#flux-uis--guis). +The Flux project does not provide a UI of its own, +but there are a variety of UIs for Flux in the [Flux Ecosystem](/ecosystem/#flux-uis--guis). {{< blocks/flux_ui_galleries >}} +### Where can I find information about Flux release cadence and supported versions? + +Flux is _at least_ released at the same rate as Kubernetes, following their cadence of +**three minor releases per year**. + +For Flux the CLI and its controllers, we support the last three minor releases. +Critical bug fixes, such as security fixes, may be back-ported to those three minor +versions as patch releases, depending on severity and feasibility. + +For more details please see the Flux [release documentation](/flux/releases/). + ## Kustomize questions ### Are there two Kustomization types? @@ -484,7 +492,8 @@ spec: and we want to override the chart version per cluster for example to gradually roll out a new version. We have couple options: -#### Using Kustomize patches: +#### Using Kustomize patches + ```yaml --- apiVersion: kustomize.toolkit.fluxcd.io/v1 @@ -514,6 +523,7 @@ spec: ``` #### Using Kustomize variable substitution + ```yaml apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -535,7 +545,9 @@ spec: retries: 3 ``` -To enable the replacement of the `PODINFO_CHART_VERSION` variable with a different version than the `6.2.0` default, specify `postBuild` in the `Kustomization`: +To enable the replacement of the `PODINFO_CHART_VERSION` variable with a different +version than the `6.2.0` default, specify `postBuild` in the `Kustomization`: + ```yaml apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization @@ -577,9 +589,3 @@ to help you migrate to Flux v2: - [How to manage multi-tenant clusters with Flux v2](https://github.com/fluxcd/flux2-multi-tenancy) - [Migrate from Helm Operator to Flux v2](/flux/migration/helm-operator-migration/) - [How to structure your HelmReleases](https://github.com/fluxcd/flux2-kustomize-helm-example) - -## Release questions - -### Where can I find information on how long versions are supported and how often to expect releases? - -Releases are as needed for now and a release page with the schedule will be created when Flux reaches general availability status ([Flux roadmap can be found here](/roadmap/)). We understand the importance of having a release schedule and are aware that such a schedule will support the users' ability to plan for an upgrade in advance. For now you can expect the current release cadence of at least once per month to continue. diff --git a/content/en/flux/flux-e2e.md b/content/en/flux/flux-e2e.md index f8d1f42c6..fc82e3831 100644 --- a/content/en/flux/flux-e2e.md +++ b/content/en/flux/flux-e2e.md @@ -75,7 +75,7 @@ Source controller. Kustomize controller delivers, or applies, resources into a c user defines how Kustomize controller delivers workloads from sources. The Kustomize controller is responsible for validating manifests against the Kubernetes API, and managing access to permissions in a way that is safe for -multi-tenant clusters through Kubernetes Service Account impersonation. The controller supports health assessment of deployed resources and dependency +multi-tenant clusters through Kubernetes Service Account impersonation. The controller supports health checking of deployed resources and dependency ordering, optionally enabled garbage collection or "pruning" of deleted resources from the cluster when they are removed from the source, and also notification of when cluster state changes โ€“ Kustomizations can also target and deliver resources onto a remote cluster, (which can, but does not necessarily also run its own local independent set of Flux controllers.) @@ -120,7 +120,7 @@ changes to a given Git repository. The behavior of the automation process is def That resource defines the way that automated commits are created and pushed. The `ImagePolicy` is another custom resource that determines what image tags go where. `ImagePolicy` can be defined to select the latest image from images within a SemVer range, or more flexible RegEx filters with alphabetical or -numerical sorting to select the "latest" image. Image tags can also be [filtered with FilterTags](/flux/components/image/imagepolicies/#filtertags) +numerical sorting to select the "latest" image. Image tags can also be [filtered with FilterTags](/flux/components/image/imagepolicies/#filter-tags) before they are considered as candidate images by the policy rule. The updates are governed by marking fields to be updated in each YAML file. For each field marked, the automation process checks the image policy named, and @@ -150,7 +150,7 @@ A brief outline of the life cycle of a change as it's processed through Flux, ce 13. [Using a GitRepository-backed or S3-backed HelmRelease][] is an alternative to use Helm without a `HelmRepository`. 14. [Channel-based Providers for Notifications][] re-publish `Events` from Flux resources at-large to a channel where users can see them. 15. [Git Commit Status Provider Notifications][] re-publish `Events` from the Kustomize Controller as commit checks. -16. [Waiting and Health Assessment for Flux Kustomization][]. +16. [Waiting and Health Checking for Flux Kustomization][]. ### Bootstrapping Flux @@ -170,6 +170,29 @@ Once the repository is created and Flux adds its components there as a commit, b cluster, waits for the components to become ready, then applies the Flux sync resources (`GitRepository` and `Kustomization`) and finally waits for a successful reconciliation before reporting back to the user that this was successful. +#### Diagram: Bootstrapping over SSH + + +```mermaid +sequenceDiagram + actor me as admin + participant cli as Flux

CLI + participant kube as Kubernetes

API server + participant flux as Flux

controllers + participant git as Git

repository + me->>cli: 1. flux bootstrap + cli-->>git: 2. push install config + cli->>kube: 3. install controllers + cli-->>git: 4. set deploy key + cli->>kube: 5. set private key + cli-->>git: 6. push sync config + cli->>kube: 7. apply sync config + git-->>flux: 8. pull config + flux->>kube: 9. reconcile + kube->>cli: 10. report status + cli->>me: 11. return status +``` + ### Generating a Flux resource After bootstrapping, the Flux CLI provides `create` generators to help users build more of Flux's Custom Resources that drive the operation of Flux. @@ -405,8 +428,8 @@ that refer to or use them. The Kustomize Controller communicates directly with the Kubernetes API using [server-side apply and update][] API operations instead of running the `kubectl apply` command as a separate forked process and passing it manifest data through a system pipe. Applying resource manifests directly to the Kubernetes API is both more efficient and provides more control over the process, enabling the Kustomize Controller to give real-time feedback on validation errors, -garbage-collection and resource health assessment. It also allows the Kubernetes API to track [field management][], so different management tools or -controllers can set field values within the same resource without interfering with each other. +garbage-collection and resource "health assessment" or health checking. It also allows the Kubernetes API to track [field management][], so different +management tools or controllers can set field values within the same resource without interfering with each other. The server-side apply operation is synchronous rather than asynchronous. If any resources fail to become ready before a specified timeout, the controller can abort the entire transaction. The timeout value is used in two separate contexts, such that either or both of them can take up to `spec.timeout` seconds @@ -546,13 +569,13 @@ commit hash to be present in the metadata. The provider will continuously receive events as they happen, and multiple events may be received for the same commit hash. The Git providers are configured to update the status only if it has changed. This avoids repeatedly spamming the commit status history. -### Waiting and Health Assessment for Flux Kustomization +### Waiting and Health Checking for Flux Kustomization Kustomize Controller can be configured with or without `spec.wait` which decides whether the `Kustomization` will be considered ready as soon as the resources are applied, or if the Kustomization will not be considered ready until the resources it created are all marked as ready. -The health checking feature is called [Health Assessment][] in the Flux Kustomization API. +The health checking feature is called [Health Checks][] in the Flux Kustomization API. [Bootstrapping Flux]: #bootstrapping-flux [Generating a Flux resource]: #generating-a-flux-resource @@ -570,7 +593,7 @@ The health checking feature is called [Health Assessment][] in the Flux Kustomiz [Using a GitRepository-backed or S3-backed HelmRelease]: #using-a-gitrepository-backed-or-s3-backed-helmrelease [Channel-based Providers for Notifications]: #channel-based-providers-for-notifications [Git Commit Status Provider Notifications]: #git-commit-status-provider-notifications -[Waiting and Health Assessment for Flux Kustomization]: #waiting-and-health-assessment-for-flux-kustomization +[Waiting and Health Checking for Flux Kustomization]: #waiting-and-health-checking-for-flux-kustomization [GitOps toolkit]: /flux/components/ [Security]: /flux/security/ @@ -603,4 +626,4 @@ The health checking feature is called [Health Assessment][] in the Flux Kustomiz [Alert API]: /flux/components/notification/alert/ [Event API]: /flux/components/notification/event/ [Setup Git Commit Status Notications]: /flux/guides/notifications/#git-commit-status -[Health Assessment]: /flux/components/kustomize/kustomization/#health-assessment +[Health Checks]: /flux/components/kustomize/kustomization/#health-checks diff --git a/content/en/flux/get-started.md b/content/en/flux/get-started.md index 988ab260d..8dd05986a 100644 --- a/content/en/flux/get-started.md +++ b/content/en/flux/get-started.md @@ -30,7 +30,7 @@ To install the CLI with Homebrew run: brew install fluxcd/tap/flux ``` -For other installation methods, see the [CLI install documentation](installation.md#install-the-flux-cli). +For other installation methods, see the [CLI install documentation](/flux/installation/#install-the-flux-cli). ## Export your credentials @@ -53,7 +53,7 @@ The output is similar to: ``` โ–บ checking prerequisites -โœ” kubernetes 1.27.3 >=1.24.0 +โœ” kubernetes 1.28.0 >=1.25.0 โœ” prerequisites checks passed ``` @@ -262,14 +262,14 @@ To resume updates run the command `flux resume kustomization `. ## Customize podinfo deployment To customize a deployment from a repository you don't control, you can use Flux -[in-line patches](../components/kustomize/kustomization/#override-kustomize-config). The following example shows how to use in-line patches to change the podinfo deployment. +[in-line patches](/flux/components/kustomize/kustomization/#patches). The following example shows how to use in-line patches to change the podinfo deployment. 1. Add the following to the field `spec` of your `podinfo-kustomization.yaml` file: ```yaml clusters/my-cluster/podinfo-kustomization.yaml patches: - patch: |- - apiVersion: autoscaling/v2beta2 + apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: podinfo diff --git a/content/en/flux/guides/cron-job-image-auth.md b/content/en/flux/guides/cron-job-image-auth.md index 18058fb4e..a494160ac 100644 --- a/content/en/flux/guides/cron-job-image-auth.md +++ b/content/en/flux/guides/cron-job-image-auth.md @@ -301,7 +301,7 @@ Note that the resulting ImagePullSecret for Flux could also be specified by Pods #### Generating Tokens for Managed Identities [short-lived] -As a pre-requisite, your AKS cluster will need [AAD Pod Identity](../use-cases/azure.md#aad-pod-identity) installed. +As a pre-requisite, your AKS cluster will need [AAD Pod Identity](/flux/components/image/imagerepositories/#aad-pod-identity) installed. Once we have AAD Pod Identity installed, we can create a Deployment that frequently refreshes an image pull secret into our desired Namespace. diff --git a/content/en/flux/guides/helmreleases.md b/content/en/flux/guides/helmreleases.md index d338f50ce..da6c1f506 100644 --- a/content/en/flux/guides/helmreleases.md +++ b/content/en/flux/guides/helmreleases.md @@ -382,7 +382,7 @@ spec: {{% alert color="info" title="Garbage Collection" %}} Stale `ConfigMaps`, previously generated by Kustomize, will be removed from the cluster by kustomize-controller if -[pruning](../components/kustomize/kustomization/#garbage-collection) is enabled. +[pruning](/flux/components/kustomize/kustomization/#prune) is enabled. {{% /alert %}} ## Refer to values in Secret generated with Kustomize and SOPS diff --git a/content/en/flux/guides/image-update.md b/content/en/flux/guides/image-update.md index d5d31fbd0..00fee324b 100644 --- a/content/en/flux/guides/image-update.md +++ b/content/en/flux/guides/image-update.md @@ -65,7 +65,7 @@ If you bootstrapped Flux before, you need to add `--components-extra=image-reflector-controller,image-automation-controller` to your bootstrapping routine as image automation components are not installed by default. Please note that you need to delete the `flux-system` secret before rerunning bootstrap -to [rotate the deploy key](../installation.md#deploy-key-rotation). +to [rotate the deploy key](/flux/installation/configuration/deploy-key-rotation/). {{% /alert %}} Install Flux with the image automation components: diff --git a/content/en/flux/guides/mozilla-sops.md b/content/en/flux/guides/mozilla-sops.md index edfb97b1b..e2016544a 100644 --- a/content/en/flux/guides/mozilla-sops.md +++ b/content/en/flux/guides/mozilla-sops.md @@ -13,8 +13,8 @@ Kubernetes secrets with OpenPGP, AWS KMS, GCP KMS and Azure Key Vault. To follow this guide you'll need a Kubernetes cluster with the GitOps toolkit controllers installed on it. -Please see the [get started guide](../get-started/index.md) -or the [installation guide](../installation/). +Please see the [get started guide](/flux/get-started/index.md) +or the [installation guide](/flux/installation/). Install [gnupg](https://www.gnupg.org/) and [SOPS](https://github.com/mozilla/sops): @@ -311,12 +311,12 @@ kubectl -n flux-system rollout restart deployment/kustomize-controller ``` {{% alert color="info" title="Bootstrap" %}} -Note that when using `flux bootstrap` you can [set the annotation](../cheatsheets/bootstrap.md#iam-roles-for-service-accounts) to take effect at install time. +Note that when using `flux bootstrap` you can [set the annotation](/flux/cheatsheets/bootstrap/#iam-roles-for-service-accounts) to take effect at install time. {{% /alert %}} #### Azure -When using Azure Key Vault you need to authenticate kustomize-controller either with [aad-pod-identity](../use-cases/azure.md#aad-pod-identity) +When using Azure Key Vault you need to authenticate kustomize-controller either with [aad-pod-identity](/flux/components/kustomize/kustomization/#aad-pod-identity) or by passing [Service Principal credentials as environment variables](https://github.com/mozilla/sops#encrypting-using-azure-key-vault). Create the Azure Key-Vault: @@ -382,7 +382,7 @@ spec: selector: ${IDENTITY_NAME} ``` -[Customize your Flux Manifests](../installation/_index.md#customize-flux-manifests) so that kustomize-controller has the proper credentials. +[Customize your Flux Manifests](/flux/cheatsheets/bootstrap/#how-to-customize-flux) so that kustomize-controller has the proper credentials. Patch the kustomize-controller Pod template so that the label matches the `AzureIdentity` selector. Additionally, the SOPS specific environment variable `AZURE_AUTH_METHOD=msi` to activate the proper auth method within kustomize-controller. @@ -473,7 +473,7 @@ gcloud iam service-accounts add-iam-policy-binding \ flux-gcp@total-mayhem-123456.iam.gserviceaccount.com ``` -3. [Customize your Flux Manifests](../installation/_index.md#customize-flux-manifests) and patch the kustomize-controller service account with the proper annotation so that Workload Identity knows the relationship between the gcp service account and the k8s service account. +3. [Customize your Flux Manifests](/flux/installation/) and patch the kustomize-controller service account with the proper annotation so that Workload Identity knows the relationship between the gcp service account and the k8s service account. ``` yaml ### add this patch to annotate service account if you are using Workload identity @@ -498,7 +498,7 @@ iam.gke.io/gcp-service-account=@.iam.gserviceacc ``` {{% alert color="info" title="Bootstrap" %}} -Note that when using `flux bootstrap` you can [set the annotation](../cheatsheets/bootstrap.md#iam-roles-for-service-accounts) to take effect at install time. +Note that when using `flux bootstrap` you can [set the annotation](/flux/cheatsheets/bootstrap/#iam-roles-for-service-accounts) to take effect at install time. {{% /alert %}} ## GitOps workflow diff --git a/content/en/flux/guides/notifications.md b/content/en/flux/guides/notifications.md index 4a6b9b03a..141fbda50 100644 --- a/content/en/flux/guides/notifications.md +++ b/content/en/flux/guides/notifications.md @@ -146,9 +146,9 @@ of the event. Therefore the providers will only work with `Kustomization` as an event source, as it is the only resource which includes this data. {{% /alert %}} -First follow the [get started guide](../../get-started) if you do not have a Kubernetes cluster with Flux installed in it. +First follow the [get started guide](/flux/get-started) if you do not have a Kubernetes cluster with Flux installed in it. You will need a authentication token to communicate with the API. The authentication method depends on -the git provider used, refer to the [Provider CRD](../../components/notification/provider/#git-commit-status) +the git provider used, refer to the [Provider CRD](/flux/components/notification/provider/#git-commit-status-updates) for details about how to get the correct token. The guide will use GitHub, but the other providers will work in a very similar manner. The token will need to have write access to the repository it is going to update the commit status in. Store the generated token in a Secret with the following data format in the cluster. diff --git a/content/en/flux/guides/webhook-receivers.md b/content/en/flux/guides/webhook-receivers.md index e531f62d4..90b318789 100644 --- a/content/en/flux/guides/webhook-receivers.md +++ b/content/en/flux/guides/webhook-receivers.md @@ -15,10 +15,10 @@ every time a source changes. Using webhook receivers make To follow this guide you'll need a Kubernetes cluster with the GitOps toolkit controllers installed on it. -Please see the [get started guide](../get-started.md) -or the [installation guide](../installation.md). +Please see the [get started guide](/flux/get-started/) +or the [installation guide](/flux/installation/). -The [notification controller](../components/notification/_index.md) +The [notification controller](/flux/components/notification/) can handle events coming from external systems (GitHub, GitLab, Bitbucket, Harbor, Jenkins, etc) and notify the GitOps toolkit controllers about source changes. @@ -101,7 +101,7 @@ spec: {{% alert color="info" title="Authentication" %}} SSH or token based authentication can be configured for private repositories. -See the [GitRepository CRD docs](../components/source/gitrepositories.md) for more details. +See the [GitRepository CRD docs](/flux/components/source/gitrepositories/) for more details. {{% /alert %}} ## Define a Git repository receiver @@ -139,7 +139,7 @@ spec: {{% alert color="info" title="Other receiver" %}} Besides GitHub, you can define receivers for **GitLab**, **Bitbucket**, **Harbor** and any other system that supports webhooks e.g. Jenkins, CircleCI, etc. -See the [Receiver CRD docs](../components/notification/receiver.md) for more details. +See the [Receiver CRD docs](/flux/components/notification/receiver/) for more details. {{% /alert %}} The notification controller generates a unique URL using the provided token and the receiver name/namespace. diff --git a/content/en/flux/migration/flux-v1-automation-migration.md b/content/en/flux/migration/flux-v1-automation-migration.md index 1101b16ca..43e4716e1 100644 --- a/content/en/flux/migration/flux-v1-automation-migration.md +++ b/content/en/flux/migration/flux-v1-automation-migration.md @@ -143,7 +143,7 @@ guide][flux-v1-migration]. When starting from scratch, you are likely to have used `flux bootstrap`. Rerun the command, and include the image automation controllers in your starting configuration with the flag -`--components-extra`, [as shown in the installation guide][flux-bootstrap]. +`--components-extra`, [as shown in the installation guide][additional components]. This will commit changes to your Git repository and sync them in the cluster. @@ -159,7 +159,7 @@ If you followed the [Flux v1 migration guide][flux-v1-migration], you will alrea Flux v2 controllers. The automation controllers are currently considered an optional extra to those, but are installed and run in much the same way. You may or may not have committed the Flux v2 configuration to your Git repository. If you did, go to the section [After committing Flux v2 -configuration to Git](#after-committing-flux-v2-configuration-to-git). +configuration to Git](#after-committing-a-flux-v2-configuration-to-git). If _not_, you will be installing directly to the cluster: @@ -546,7 +546,7 @@ timestamp part of the tag will be extracted and sorted numerically in ascending reference docs][imagepolicy-ref] for more examples. Once you have made sure you have image tags and an `ImagePolicy`, jump ahead to [Checking -the ImagePolicy works](#checking-that-the-image-policy-works). +the ImagePolicy works](#checking-that-the-imagepolicy-works). ### How to use SemVer image tags @@ -746,7 +746,7 @@ from ["Migrating each manifest to Flux v2"](#migrating-each-manifest-to-flux-v2) [image-update-tute-custom]: /flux/guides/image-update/#configure-image-update-for-custom-resources [flux-v1-migration]: /flux/migration/flux-v1-migration/ [install-cli]: /flux/get-started/#install-the-flux-cli -[flux-bootstrap]: /flux/installation/_index.md#bootstrap +[additional components]: /flux/installation/configuration/optional-components/ [github-pat]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token [image-update-tute-creds]: /flux/guides/image-update/#configure-image-scanning [image-update-tute-clouds]: /flux/guides/image-update/#imagerepository-cloud-providers-authentication diff --git a/content/en/flux/migration/helm-operator-migration.md b/content/en/flux/migration/helm-operator-migration.md index 569d5b3e1..1eceb5cce 100644 --- a/content/en/flux/migration/helm-operator-migration.md +++ b/content/en/flux/migration/helm-operator-migration.md @@ -22,13 +22,13 @@ In combination with the fact that [Helm v2 reaches end of life after November 13 When working with the Helm Operator, you had to mount various files to either make it recognize new (private) Helm repositories or make it gain access to Helm and/or Git repositories. While this approach was declarative, it did not provide a great user experience and was at times hard to set up. -By moving this configuration to [`HelmRepository`](../components/source/helmrepositories.md), [`GitRepository`](../components/source/gitrepositories.md), [`Bucket`](../components/source/buckets.md) and [`HelmChart`](../components/source/helmcharts.md) Custom Resources, they can now be declaratively described (including their credentials using references to `Secret` resources), and applied to the cluster. +By moving this configuration to [`HelmRepository`](/flux/components/source/helmrepositories/), [`GitRepository`](/flux/components/source/gitrepositories.md), [`Bucket`](/flux/components/source/buckets/) and [`HelmChart`](/flux/components/source/helmcharts/) Custom Resources, they can now be declaratively described (including their credentials using references to `Secret` resources), and applied to the cluster. -The reconciliation of these resources has been offloaded to a dedicated [Source Controller](../components/source/_index.md), specialized in the acquisition of artifacts from external sources. +The reconciliation of these resources has been offloaded to a dedicated [Source Controller](/flux/components/source/), specialized in the acquisition of artifacts from external sources. The result of this all is an easier and more flexible configuration, with much better observability. Failures are traceable to the level of the resource that lead to a failure, and are easier to resolve. As polling intervals can now be configured per resource, you can customize your repository and/or chart configuration to a much finer grain. -From a technical perspective, this also means less overhead, as the resources managed by the Source Controller can be shared between multiple `HelmRelease` resources, or even reused by other controllers like the [Kustomize Controller](../components/kustomize/_index.md). +From a technical perspective, this also means less overhead, as the resources managed by the Source Controller can be shared between multiple `HelmRelease` resources, or even reused by other controllers like the [Kustomize Controller](/flux/components/kustomize/). ### The `HelmRelease` Custom Resource group domain changed @@ -76,7 +76,7 @@ Getting similar behaviour is still possible [using a workaround that makes use o There was a long outstanding request for the Helm Operator to support merging single values at a given path. -With the Helm Controller this now possible by defining a [`targetPath` in the `ValuesReference`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.ValuesReference), which supports the same formatting as you would supply as an argument to the `helm` binary using `--set [path]=[value]`. In addition to this, the referred value can contain the same value formats (e.g. `{a,b,c}` for a list). You can read more about the available formats and limitations in the [Helm documentation](https://helm.sh/docs/intro/using_helm/#the-format-and-limitations-of---set). +With the Helm Controller this now possible by defining a [`targetPath` in the `ValuesReference`](/flux/components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.ValuesReference), which supports the same formatting as you would supply as an argument to the `helm` binary using `--set [path]=[value]`. In addition to this, the referred value can contain the same value formats (e.g. `{a,b,c}` for a list). You can read more about the available formats and limitations in the [Helm documentation](https://helm.sh/docs/intro/using_helm/#the-format-and-limitations-of---set). ### Support added for depends-on relationships @@ -96,18 +96,18 @@ There is a new `spec.suspend` field, that if set to `true` causes the Helm Contr We have added support for making Helm releases to other clusters. If the `spec.kubeConfig` field in the `HelmRelease` is set, Helm actions will run against the default cluster specified in that KubeConfig instead of the local cluster that is responsible for the reconciliation of the `HelmRelease`. -The Helm storage is stored on the remote cluster in a namespace that equals to the namespace of the `HelmRelease`, or the configured `spec.storageNamespace`. The release itself is made in a namespace that equals to the namespace of the `HelmRelease`, or the configured `spec.targetNamespace`. The namespaces are expected to exist, and can for example be created using the [Kustomize Controller](/flux/components/kustomize/controller/) which has the same cross-cluster support. +The Helm storage is stored on the remote cluster in a namespace that equals to the namespace of the `HelmRelease`, or the configured `spec.storageNamespace`. The release itself is made in a namespace that equals to the namespace of the `HelmRelease`, or the configured `spec.targetNamespace`. The namespaces are expected to exist, and can for example be created using the [Kustomize Controller](/flux/components/kustomize/) which has the same cross-cluster support. Other references to Kubernetes resources in the `HelmRelease`, like `ValuesReference` resources, are expected to exist on the reconciling cluster. ### Added support for notifications and webhooks -Sending notifications and/or alerts to Slack, Microsoft Teams, Discord, or Rocker is now possible using the [Notification Controller](../components/notification/_index.md), [`Provider` Custom Resources](../components/notification/provider.md) and [`Alert` Custom Resources](../components/notification/alert.md). +Sending notifications and/or alerts to Slack, Microsoft Teams, Discord, or Rocker is now possible using the [Notification Controller](/flux/components/notification/), [`Provider` Custom Resources](/flux/components/notification/provider/) and [`Alert` Custom Resources](/flux/components/notification/alert/). -It does not stop there, using [`Receiver` Custom Resources](../components/notification/receiver.md) you can trigger **push based** reconciliations from Harbor, GitHub, GitLab, BitBucket or your CI system by making use of the webhook endpoint the resource creates. +It does not stop there, using [`Receiver` Custom Resources](/flux/components/notification/receiver/) you can trigger **push based** reconciliations from Harbor, GitHub, GitLab, BitBucket or your CI system by making use of the webhook endpoint the resource creates. ### Introduction of the `flux` CLI to create and/or generate Custom Resources -With the new [`flux` CLI](../cmd/flux.md) it is now possible to create and/or generate the Custom Resources mentioned earlier. To generate the YAML for a `HelmRepository` and `HelmRelease` resource, you can for example run: +With the new [`flux` CLI](/flux/cmd/flux/) it is now possible to create and/or generate the Custom Resources mentioned earlier. To generate the YAML for a `HelmRepository` and `HelmRelease` resource, you can for example run: ```sh $ flux create source helm podinfo \ @@ -150,7 +150,7 @@ spec: ## API spec changes -The following is an overview of changes to the API spec, including behavioral changes compared to how the Helm Operator performs actions. For a full overview of the new API spec, consult the [API spec documentation](../components/helm/helmreleases.md#specification). +The following is an overview of changes to the API spec, including behavioral changes compared to how the Helm Operator performs actions. For a full overview of the new API spec, consult the [API spec documentation](/flux/components/helm/helmreleases/#specification). ### Defining the Helm chart @@ -175,7 +175,7 @@ spec: version: 1.2.3 ``` -With the Helm Controller, you now create a `HelmRepository` resource in addition to the `HelmRelease` you would normally create (for all available fields, consult the [Source API reference](../components/source/api.md#source.toolkit.fluxcd.io/v1beta2.HelmRepository)): +With the Helm Controller, you now create a `HelmRepository` resource in addition to the `HelmRelease` you would normally create (for all available fields, consult the [Source API reference](/flux/components/source/api/v1beta2/#source.toolkit.fluxcd.io/v1beta2.HelmRepository)): ```yaml --- @@ -220,7 +220,7 @@ spec: name: my-repository-creds ``` -In the `HelmRelease`, you then use a reference to the `HelmRepository` resource in the `spec.chart.spec` (for all available fields, consult the [Helm API reference](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.HelmChartTemplate)): +In the `HelmRelease`, you then use a reference to the `HelmRepository` resource in the `spec.chart.spec` (for all available fields, consult the [Helm API reference](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.HelmChartTemplate)): ```yaml --- @@ -271,7 +271,7 @@ spec: path: ./charts/my-chart ``` -With the Helm Controller, you create a `GitRepository` resource in addition to the `HelmRelease` you would normally create (for all available fields, consult the [Source API reference](../components/source/api.md#source.toolkit.fluxcd.io/v1.GitRepository): +With the Helm Controller, you create a `GitRepository` resource in addition to the `HelmRelease` you would normally create (for all available fields, consult the [Source API reference](/flux/components/source/api/v1/#source.toolkit.fluxcd.io/v1.GitRepository): ```yaml --- @@ -322,7 +322,7 @@ spec: name: my-repository-creds ``` -In the `HelmRelease`, you then use a reference to the `GitRepository` resource in the `spec.chart.spec` (for all available fields, consult the [Helm API reference](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.HelmChartTemplate)): +In the `HelmRelease`, you then use a reference to the `GitRepository` resource in the `spec.chart.spec` (for all available fields, consult the [Helm API reference](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.HelmChartTemplate)): ```yaml --- @@ -404,7 +404,7 @@ spec: optional: true ``` -In the new API spec the individual `configMapKeyRef` and `secretKeyRef` objects are bundled into a single [`ValuesReference`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.ValuesReference) which [does no longer allow refering to resources in other namespaces](#values-from-external-source-references-urls-are-no-longer-supported): +In the new API spec the individual `configMapKeyRef` and `secretKeyRef` objects are bundled into a single [`ValuesReference`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.ValuesReference) which [does no longer allow refering to resources in other namespaces](#values-from-external-source-references-urls-are-no-longer-supported): ```yaml --- @@ -588,7 +588,7 @@ spec: With the Helm Operator the release options used to be configured in the `spec` of the `HelmRelease` and applied to both Helm install and upgrade actions. -This has changed for the Helm Controller, where some defaults can be defined in the [`spec`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.HelmReleaseSpec), but specific action configurations and overwrites for the defaults can be defined in the [`spec.install`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Install), [`spec.upgrade`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Upgrade) and [`spec.test`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Test) sections of the `HelmRelease`. +This has changed for the Helm Controller, where some defaults can be defined in the [`spec`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.HelmReleaseSpec), but specific action configurations and overwrites for the defaults can be defined in the [`spec.install`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Install), [`spec.upgrade`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Upgrade) and [`spec.test`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Test) sections of the `HelmRelease`. ### Defining a rollback / uninstall configuration @@ -613,11 +613,11 @@ spec: timeout: 300 ``` -The Helm Controller offers an extensive set of configuration options to remediate when a Helm release fails, using [`spec.install.remediation`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.InstallRemediation), [`spec.upgrade.remediation`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.UpgradeRemediation), [`spec.rollback`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Rollback) and [`spec.uninstall`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Uninstall). Some of the new features include the option to remediate with an uninstall after an upgrade failure, and the option to keep a failed release for debugging purposes when it has run out of retries. +The Helm Controller offers an extensive set of configuration options to remediate when a Helm release fails, using [`spec.install.remediation`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.InstallRemediation), [`spec.upgrade.remediation`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.UpgradeRemediation), [`spec.rollback`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Rollback) and [`spec.uninstall`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Uninstall). Some of the new features include the option to remediate with an uninstall after an upgrade failure, and the option to keep a failed release for debugging purposes when it has run out of retries. #### Automated uninstalls -The configuration below mimics the uninstall behavior of the Helm Operator (for all available fields, consult the [`InstallRemediation`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.InstallRemediation) and [`Uninstall`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Uninstall) API references): +The configuration below mimics the uninstall behavior of the Helm Operator (for all available fields, consult the [`InstallRemediation`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.InstallRemediation) and [`Uninstall`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Uninstall) API references): ```yaml apiVersion: helm.toolkit.fluxcd.io/v2beta1 @@ -643,7 +643,7 @@ spec: #### Automated rollbacks -The configuration below shows an automated rollback configuration that equals [the configuration for the Helm Operator showed above](#defining-a-rollback-uninstall-configuration) (for all available fields, consult the [`UpgradeRemediation`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.UpgradeRemediation) and [`Rollback`](../components/helm/api.md#helm.toolkit.fluxcd.io/v2beta1.Rollback) API references): +The configuration below shows an automated rollback configuration that equals [the configuration for the Helm Operator showed above](#defining-a-rollback--uninstall-configuration) (for all available fields, consult the [`UpgradeRemediation`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.UpgradeRemediation) and [`Rollback`](/flux/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.Rollback) API references): ```yaml apiVersion: helm.toolkit.fluxcd.io/v2beta1 @@ -682,7 +682,7 @@ Here are some things to know: * If both the Helm Controller and Helm Operator are running, and both a new and old custom resources define a release, they will fight over the release. * The Helm Controller will always perform an upgrade the first time it encounters a new `HelmRelease` for an existing release; this is [due to the changes to release mechanics and bookkeeping](#helm-storage-drift-detection-no-longer-relies-on-dry-runs). -The safest way to upgrade is to avoid deletions and fights by stopping the Helm Operator. Once the operator is not running, it is safe to deploy the Helm Controller (e.g., by following the [Get Started guide](../get-started/index.md), [utilizing `flux install`](../cmd/flux_install.md), or using the manifests from the [release page](https://github.com/fluxcd/helm-controller/releases)), and start replacing the old resources with new resources. You can keep the old resources around during this process, since the Helm Controller will ignore them. +The safest way to upgrade is to avoid deletions and fights by stopping the Helm Operator. Once the operator is not running, it is safe to deploy the Helm Controller (e.g., by following the [Get Started guide](/flux/get-started/), [utilizing `flux install`](../cmd/flux_install.md), or using the manifests from the [release page](https://github.com/fluxcd/helm-controller/releases)), and start replacing the old resources with new resources. You can keep the old resources around during this process, since the Helm Controller will ignore them. ### Steps @@ -845,7 +845,7 @@ Yes, image updates are supported for `HelmRelease` as well as any other Kubernet If you are currently a Flux v1 user, you can commit the `HelmRelease` resources to Git, and Flux will automatically apply them to the cluster like any other resource. -If you are not a Flux v1 user or want to fully migrate to Flux v2, the [Kustomize Controller](/flux/components/kustomize/controller/) will serve your needs. +If you are not a Flux v1 user or want to fully migrate to Flux v2, the [Kustomize Controller](/flux/components/kustomize/) will serve your needs. ### I am still running Helm v2, what is the right upgrade path for me? @@ -860,7 +860,7 @@ Probably, but with some side notes: ### Can I use Helm Controller standalone? -Helm Controller depends on [Source Controller](../components/source/_index.md), you can install both controllers +Helm Controller depends on [Source Controller](/flux/components/source/), you can install both controllers and manager Helm releases in a declarative way without GitOps. For more details please see this [answer]({{< relref "../faq.md#can-i-use-flux-helmreleases-without-gitops" >}}). diff --git a/content/en/flux/security/_index.md b/content/en/flux/security/_index.md index 738917b6d..86f2b036c 100644 --- a/content/en/flux/security/_index.md +++ b/content/en/flux/security/_index.md @@ -212,6 +212,6 @@ as it can be. For more information, checkout the [Flux Security Best Practices]( [^1]: However, by design cross-namespace references are an exception to RBAC. Platform admins have to option to turnoff cross-namespace references as described in the -[installation documentation](../installation/_index.md#multi-tenancy-lockdown). +[installation documentation](/flux/installation/configuration/multitenancy/). [^2]: Platform admins have to option to enforce impersonation as described in the -[installation documentation](../installation/_index.md#multi-tenancy-lockdown). +[installation documentation](/flux/installation/configuration/multitenancy/). diff --git a/content/en/flux/security/best-practices.md b/content/en/flux/security/best-practices.md index 8c6997461..31ccbc2c7 100644 --- a/content/en/flux/security/best-practices.md +++ b/content/en/flux/security/best-practices.md @@ -268,7 +268,7 @@ The recommendations below are based on Flux's latest version. Audit Procedure - Check whether you adhere to [Kubernetes Network Isolation Guidelines](https://kubernetes.io/docs/concepts/security/multi-tenancy/#network-isolation) - - Confirm that the [Network Policy](/flux-e2e/#fluxs-default-configuration-for-networkpolicy) objects created by Flux are being enforced by the CNI. Alternatively, run a tool such as [Cyclonus](https://github.com/mattfenwick/cyclonus) or [Sonobuoy](https://github.com/vmware-tanzu/sonobuoy) to validate NetworkPolicy enforcement by the CNI plugin on your cluster. + - Confirm that the [Network Policy](/flux/flux-e2e/#fluxs-default-configuration-for-networkpolicy) objects created by Flux are being enforced by the CNI. Alternatively, run a tool such as [Cyclonus](https://github.com/mattfenwick/cyclonus) or [Sonobuoy](https://github.com/vmware-tanzu/sonobuoy) to validate NetworkPolicy enforcement by the CNI plugin on your cluster. ## Additional Best Practices for Tenant Dedicated Cluster Multi-tenancy diff --git a/content/en/flux/security/contextual-authorization.md b/content/en/flux/security/contextual-authorization.md index 03d06f303..6d3cc2945 100644 --- a/content/en/flux/security/contextual-authorization.md +++ b/content/en/flux/security/contextual-authorization.md @@ -52,18 +52,18 @@ Support for context-based authorization should only increase over time. For more information, please visit the tracking issue: https://github.com/fluxcd/flux2/issues/3003. -[AWS Buckets]: ../components/source/buckets/#aws -[Azure Buckets]: ../components/source/buckets/#azure -[GCP Buckets]: ../components/source/buckets/#gcp -[AWS OCI Repository]: ../components/source/ocirepositories/#aws -[Azure OCI Repository]: ../components/source/ocirepositories/#azure -[GCP OCI Repository]: ../components/source/ocirepositories/#gcp -[AWS Helm Repository]: ../components/source/helmrepositories/#aws -[Azure Helm Repository]: ../components/source/helmrepositories/#azure -[GCP Helm Repository]: ../components/source/helmrepositories/#gcp -[AWS Container Registry]: ../guides/image-update/#using-native-aws-ecr-auto-login -[Azure Container Registry]: ../guides/image-update/#using-native-azure-acr-auto-login -[GCP Container Registry]: ../guides/image-update/#using-native-gcp-gcr-auto-login -[AWS KMS]: ../guides/mozilla-sops/#aws -[Azure KMS]: ../guides/mozilla-sops/#azure -[GCP KMS]: ../guides/mozilla-sops/#google-cloud +[AWS Buckets]: /flux/components/source/buckets/#aws +[Azure Buckets]: /flux/components/source/buckets/#azure +[GCP Buckets]: /flux/components/source/buckets/#gcp +[AWS OCI Repository]: /flux/components/source/ocirepositories/#aws +[Azure OCI Repository]: /flux/components/source/ocirepositories/#azure +[GCP OCI Repository]: /flux/components/source/ocirepositories/#gcp +[AWS Helm Repository]: /flux/components/source/helmrepositories/#aws +[Azure Helm Repository]: /flux/components/source/helmrepositories/#azure +[GCP Helm Repository]: /flux/components/source/helmrepositories/#gcp +[AWS Container Registry]: /flux/components/image/imagerepositories/#aws +[Azure Container Registry]: /flux/components/image/imagerepositories/#azure +[GCP Container Registry]: /flux/components/image/imagerepositories/#gcp +[AWS KMS]: /flux/guides/mozilla-sops/#aws +[Azure KMS]: /flux/guides/mozilla-sops/#azure +[GCP KMS]: /flux/guides/mozilla-sops/#google-cloud diff --git a/content/en/flux/security/secrets-management.md b/content/en/flux/security/secrets-management.md index 98f10a4f2..da7ac840f 100644 --- a/content/en/flux/security/secrets-management.md +++ b/content/en/flux/security/secrets-management.md @@ -92,7 +92,7 @@ could impact your solution. Flux supports the two main names in Encrypted Secrets and has specific how-to guides for them: - [Mozilla SOPS Guide](/flux/guides/mozilla-sops/) -- [Secrets decryption](/flux/components/kustomize/kustomization/#secrets-decryption) +- [Secrets decryption](/flux/components/kustomize/kustomization/#decryption) #### Secrets Synchronized by Operators diff --git a/content/en/flux/use-cases/gh-actions-helm-promotion.md b/content/en/flux/use-cases/gh-actions-helm-promotion.md index 3386dbee3..a6599b244 100644 --- a/content/en/flux/use-cases/gh-actions-helm-promotion.md +++ b/content/en/flux/use-cases/gh-actions-helm-promotion.md @@ -217,7 +217,7 @@ to the repositories used with `flux bootstrap github`. ## Relevant documentation -- [Guides > Manage Helm Releases](../guides/helmreleases.md) -- [Toolkit Components > Helm Repository API](../components/source/helmrepositories.md) -- [Toolkit Components > Helm Release API](../components/helm/helmreleases.md) -- [Toolkit Components > Notification API > GitHub Dispatch](../components/notification/provider.md#github-repository-dispatch) +- [Guides > Manage Helm Releases](/flux/guides/helmreleases.md) +- [Toolkit Components > Helm Repository API](/flux/components/source/helmrepositories.md) +- [Toolkit Components > Helm Release API](/flux/components/helm/helmreleases.md) +- [Toolkit Components > Notification API > GitHub Dispatch](/flux/components/notification/provider/#github-dispatch) diff --git a/content/en/flux/use-cases/gh-actions-manifest-generation.md b/content/en/flux/use-cases/gh-actions-manifest-generation.md index a88fd8ac7..ca7e24df0 100644 --- a/content/en/flux/use-cases/gh-actions-manifest-generation.md +++ b/content/en/flux/use-cases/gh-actions-manifest-generation.md @@ -1254,7 +1254,7 @@ If you are on GitHub, and are struggling to get started using GitHub Actions, or [image update guide]: /flux/guides/image-update/ [any old app]: https://github.com/kingdonb/any_old_app [Flux bootstrap guide]: /flux/get-started/ -[String Substitution with sed -i]: #string-substitution-with-sed-i +[String Substitution with sed -i]: #string-substitution-with-sed--i [Docker Build and Tag with Version]: #docker-build-and-tag-with-version [Jsonnet for YAML Document Rehydration]: #jsonnet-for-yaml-document-rehydration [Commit Across Repositories Workflow]: #commit-across-repositories-workflow @@ -1291,7 +1291,7 @@ If you are on GitHub, and are struggling to get started using GitHub Actions, or [anguslees example jsonnet]: https://github.com/anguslees/kustomize-libsonnet/blob/master/example.jsonnet [Kubernetes docs on Using Service Accounts]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-multiple-service-accounts [sops/issues/315]: https://github.com/mozilla/sops/issues/315 -[using various cloud providers]: /guides/mozilla-sops/#using-various-cloud-providers +[using various cloud providers]: /flux/guides/mozilla-sops/#encrypting-secrets-using-various-cloud-providers [Decrypt SOPS Secrets]: https://github.com/marketplace/actions/decrypt-sops-secrets [Sops Binary Installer]: https://github.com/marketplace/actions/sops-binary-installer [04-update-fleet-infra.yaml]: https://github.com/kingdonb/any_old_app/blob/main/.github/workflows/04-update-fleet-infra.yaml diff --git a/content/en/flux/use-cases/helm.md b/content/en/flux/use-cases/helm.md index 1b7b318ac..f407d0751 100644 --- a/content/en/flux/use-cases/helm.md +++ b/content/en/flux/use-cases/helm.md @@ -156,9 +156,9 @@ to a chart. The Flux Kustomize Controller method allows you to accomplish this on any chart without additional templated annotations. You may also use Kustomize Controller -built-in [Mozilla SOPS integration](../components/kustomize/kustomization.md#secrets-decryption) +built-in [Mozilla SOPS integration](/flux/components/kustomize/kustomization/#decryption) to securely manage your encrypted secrets stored in git. -See the [Flux SOPS guide](../guides/mozilla-sops.md) for step-by-step instructions through various use cases. +See the [Flux SOPS guide](/flux/guides/mozilla-sops/) for step-by-step instructions through various use cases. ## Automatic Release Upgrades diff --git a/content/en/flux/use-cases/karmada.md b/content/en/flux/use-cases/karmada.md index 3ac97d164..509f05649 100644 --- a/content/en/flux/use-cases/karmada.md +++ b/content/en/flux/use-cases/karmada.md @@ -62,7 +62,7 @@ flux install --kubeconfig ~/.kube/members.config --context member1 flux install --kubeconfig ~/.kube/members.config --context member2 ``` -Please refer to the documentations [here](../installation.md) for more ways to set up Flux in details. +Please refer to the documentations [here](/flux/installation/) for more ways to set up Flux in details. {{% alert color="info" title="Tip" %}} If you want to manage Helm releases across your fleet of clusters, Flux must be installed on each cluster. diff --git a/content/en/roadmap.md b/content/en/roadmap.md index ee01a842b..3b2256655 100644 --- a/content/en/roadmap.md +++ b/content/en/roadmap.md @@ -20,7 +20,7 @@ from beta to stable. ## Milestones The GA roadmap has been split into separate milestones. -The Flux team's current focus is to finalise the tasks from the [Flux GitOps GA](#flux-gitops-ga-q1-2023) milestone. +The Flux team's current focus is to finalise the tasks from the [Flux GitOps GA](#flux-gitops-ga-completed-in-july-2023) milestone. We estimate that the Flux features part of this milestone will become generally available in the first quarter of 2023. ### Flux GitOps GA (Completed in July 2023) @@ -49,7 +49,7 @@ The completion of this milestone is marked by the [v2.0.0](https://github.com/fl - [x] Multi-tenancy lockdown - [x] [Allow setting a default service account for impersonation](https://github.com/fluxcd/flux2/issues/2340) - [x] [Allow disabling cross-namespace references](https://github.com/fluxcd/flux2/issues/2337) - - [x] [Document multi-tenancy lockdown configuration](flux/installation.md#multi-tenancy-lockdown) + - [x] [Document multi-tenancy lockdown configuration](/flux/installation/configuration/multitenancy/) - [x] Conformance testing - [x] End-to-end testing for bootstrap on AMD64 and ARM64 clusters