{"id":19472221,"url":"https://github.com/fluxcd/website","last_synced_at":"2025-04-04T22:05:13.630Z","repository":{"id":36983166,"uuid":"202194314","full_name":"fluxcd/website","owner":"fluxcd","description":"The Flux website and user documentation","archived":false,"fork":false,"pushed_at":"2024-05-01T20:07:33.000Z","size":58300,"stargazers_count":43,"open_issues_count":111,"forks_count":317,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-05-02T02:13:11.162Z","etag":null,"topics":["cd","ci","documentation","flux","fluxcd","kubernetes","website"],"latest_commit_sha":null,"homepage":"https://fluxcd.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluxcd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-13T17:37:51.000Z","updated_at":"2024-05-03T07:24:31.535Z","dependencies_parsed_at":"2024-05-03T07:34:43.020Z","dependency_job_id":null,"html_url":"https://github.com/fluxcd/website","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluxcd%2Fwebsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluxcd%2Fwebsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluxcd%2Fwebsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluxcd%2Fwebsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluxcd","download_url":"https://codeload.github.com/fluxcd/website/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256110,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd","ci","documentation","flux","fluxcd","kubernetes","website"],"created_at":"2024-11-10T19:13:32.055Z","updated_at":"2025-04-04T22:05:13.609Z","avatar_url":"https://github.com/fluxcd.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluxcd.io\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/fe297324-1b1d-4d66-96f7-0f8cb1abbe84/deploy-status)](https://app.netlify.com/sites/fluxcd/deploys)\n\nThis repo houses the assets used to build the Flux project's landing page at \u003chttps://fluxcd.io\u003e.\n\n\u003e **Note**: The sources for some of Flux's documentation are housed in other repositories within \u003chttps://github.com/fluxcd\u003e. Documentation issues and pull requests should be made against those repos.\n\u003e\n\u003e Project          | Docs Site                                 | GitHub Source\n\u003e ---------------- | ------------------------------------------| -------------\n\u003e Flux             | \u003chttps://fluxcd.io/flux\u003e                  | \u003chttps://github.com/fluxcd/website\u003e\n\u003e Flagger          | \u003chttps://fluxcd.io/flagger\u003e               | \u003chttps://github.com/fluxcd/website\u003e\n\n## How to modify this website\n\nThe main landing page of this website can be modified in `hugo.yaml`.\n\nAlmost all of the content lives in the `content/en/\u003cproject\u003e` directories. Here are some special cases.\n\n- `./content/en/blog` contains all blog posts - make sure you update the front-matter for posts to show up correctly.\n- `./external-sources/` defines how files from other repositories are pulled in. We currently do this for Markdown files from the `/fluxcd/community` and `/fluxcd/.github` repositories. (`make gen-content` pulls these in.)\n- Flux CLI docs (`cmd`) and `components` docs: under `./content/en/flux` but pulled in through in `make gen-content` as well.\n- `/static/_redirects` defines redirects on \u003chttps://fluxcd.io\u003e. Check out \u003chttps://docs.netlify.com/routing/redirects/\u003e for the syntax definition and how to test if things work.\n\n## Running the site locally\n\nIn order to run the Flux site locally, you need to install:\n\n- [Node.js](https://www.npmjs.com/get-npm)\n- The [Hugo](https://gohugo.io) static site generator. Make sure to [install](https://gohugo.io/getting-started/installing/) the \"extended\" variant of Hugo with support for the [Hugo Pipes](https://gohugo.io/hugo-pipes/introduction/) feature and to check the [`netlify.toml`](https://github.com/fluxcd/website/blob/main/netlify.toml) configuration file for which version of Hugo you should install.\n- [jq](https://stedolan.github.io/jq/download/)\n\nOnce those tools are installed, fetch the assets necessary to run the site:\n\nThen run the site in \"server\" mode:\n\n```cli\nmake serve\n```\n\nNavigate to \u003chttp://localhost:1313\u003e to see the site running in your browser. As you make updates to the site, the browser will immediately update to reflect those changes.\n\n\u003e **Note**: Sometimes you need to clear the output of previous builds, e.g. when the structure of imported documentation has changed. If you see duplicate pages being served, run\n\u003e ```\n\u003e git clean -fx -- content/\n\u003e ```\n\u003e and then run `make serve` again. The duplicates will then be gone.\n\n## Publishing the site\n\nThe Flux website is published automatically by [Netlify](https://netlify.com) when changes are pushed to the `main` branch. The site does not need to be published manually.\n\n### Preview builds\n\nWhen you submit a pull request to this repository, Netlify builds a \"deploy preview\" of your changes. You can see that preview by clicking on the **Details** link of the **netlify/fluxcd/deploy-preview** check at the bottom of the pull request page.\n\n## Local Development (docker)\n\nRun `make docker-preview` and wait until the following output appears:\n\n```cli\nEnvironment: \"development\"\nServing pages from memory\nWeb Server is available at //localhost:1313/ (bind address 0.0.0.0)\nPress Ctrl+C to stop\n```\n\nVisit [http://localhost:1313](http://localhost:1313), where any changes will be visible from inside of the running container. Markdown files updated in `content/` should trigger a browser refresh as they are saved.\n\nThe `docker-preview` target builds the theme, which takes a while and doesn't need to be repeated unless you are making changes to the theme. On subsequent runs, running `make docker-serve` instead will skip building the theme.\n\nThis depends on the Docker image `fluxcd/website:hugo-support` which should be kept updated when the website's build-time dependencies have changed; this image contains everything needed to run the docs locally.\n\nIf this doesn't work, the image may be stale. The instructions to update it are below.\n\n### Remote Development (kubernetes / okteto CLI)\n\nThis works the same as local development above, but with the Okteto CLI you do not need to run a Linux machine or virtual machine on your local development environment.\n\nFirst, make sure you are permitted to deploy pods on any local or remote Kubernetes cluster. Download the [Okteto CLI](https://okteto.com/docs/getting-started/installation/index.html) for Windows, Mac, or Linux.\n\nOkteto CLI is a light-weight client-side tool that replaces Docker with a remote cluster. You can run `hugo server` remotely in this way; any changes to the local clone are synchronized to the cluster. The experience is basically the same as local development, (except that you won't need to install Docker.)\n\nInstead of `make docker-serve`, type `okteto up`.\n\nYou can change the behavior in `okteto.yml` according to the [Okteto Manifest Reference](https://okteto.com/docs/reference/manifest/index.html), for example adding a persistent volume can speed up the synchronization of the working directory files to the remote pod on repeated runs.\n\n### Updating the Development/preview container image\n\n(For maintainers) Using a machine with `docker` and logged in with an account that has permission to push to `docker.io/fluxcd/website` repo, run `make docker-push`.\n\nThe dependencies of `docker-push` are explained below. If the above worked then you are done, and should not need to read any further. Rebuilding `hugo` takes a long time and should be avoided when the version hasn't changed or it isn't needed; run `make docker-push-support` instead to skip building `hugo`.\n\nUpdate the `docker-support` image tag whenever build-time (or \"serve\"-time) dependencies have changed.\n\n#### How is the Development container made?\n\nThese targets as explained below are run in the appropriate order as dependencies of `make docker-push`.\n\n- [ ] `TODO`: add a system/integration test for `website` that verifies any changes have not broken `make docker-serve`, for example by adding new dependencies without mentioning them in the `./Dockerfile`.\n\n##### Flux-specific Dependencies\n\nThe Flux website has some build-time dependencies including Python3, PyYAML, `rsync`, `grep`, `nodejs`, `npm`, `curl`, `jq`, (and potentially others that may be added in the future.) Flux-specific dependencies are prepared in an image that gets tagged as `docker.io/fluxcd/website:hugo-support`.\n\nThis image is built from the `Dockerfile` in `./`; run `make docker-build-support` to rebuild it locally, (or run as `make docker-push-support` to build and also push.)\n\n##### `gohugoio/hugo`\n\nThe Flux website also depends on a specific version of Hugo, which unfortunately does not provide docker images for each version. So we build it from source, with the `HUGO_BUILD_TAGS=extended` build arg enabled.\n\nRun `make docker-push-hugo` to build and also push this image target.\n\nThis will run `make hugo` to get a shallow clone of the `gohugoio/hugo` repository at the right `HUGO_VERSION` and `make docker-build-hugo` to build a hugo container base image. (This target compiles `golibsass` which is very large, and may take a while.)\n\nThese are all the dependencies of `make docker-push`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluxcd%2Fwebsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluxcd%2Fwebsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluxcd%2Fwebsite/lists"}