{"id":16726233,"url":"https://github.com/deas/environment-pfm-dev","last_synced_at":"2025-08-11T06:12:54.177Z","repository":{"id":142206032,"uuid":"257549100","full_name":"deas/environment-pfm-dev","owner":"deas","description":null,"archived":false,"fork":false,"pushed_at":"2020-04-30T09:15:06.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-03T19:35:52.573Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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":"2020-04-21T09:44:37.000Z","updated_at":"2020-04-30T10:35:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"68bd0f94-41f6-4e7d-b0e8-896cbb1f8072","html_url":"https://github.com/deas/environment-pfm-dev","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deas/environment-pfm-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deas%2Fenvironment-pfm-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deas%2Fenvironment-pfm-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deas%2Fenvironment-pfm-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deas%2Fenvironment-pfm-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deas","download_url":"https://codeload.github.com/deas/environment-pfm-dev/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deas%2Fenvironment-pfm-dev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269838454,"owners_count":24483204,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-12T22:52:33.554Z","updated_at":"2025-08-11T06:12:54.140Z","avatar_url":"https://github.com/deas.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Jenkins X Boot Configuration\n\nThis repository contains the source code for [Jenkins X Boot configuration](https://jenkins-x.io/docs/getting-started/setup/boot/) so that you can setup, upgrade or configure your Jenkins X installation via GitOps.\n\n## How to install...\n\n### Creating a kubernetes cluster\n\n* either use Terraform to spin up a GKE cluster with a `jx` namespace and any necessary cloud resources (e.g. on GCP we need a Kaniko Service Account and Secret)\n* create an empty GKE cluster by hand e.g. via `jx create cluster gke --skip-installation` or using the [GCP Console](https://console.cloud.google.com/)\n\n### Run the new Jenkins X Bootstrap Pipeline\n\nCreate a fork of this git repository on github. We suggest renaming it to match the pattern `environment-\u003ccluster name\u003e-dev`. To rename your repository go to the repository settings in github. \n\nClone your newly forked git repository:\n\n```\ngit clone https://github.com/\u003corg\u003e/environment-\u003ccluster name\u003e-dev \u0026\u0026 cd environment-\u003ccluster name\u003e-dev\n```\n \n\u003e It's important that you cd into your newly checked out git repo, otherwise `jx boot` will use the upstream Jenkins X boot\nconfiguration.\n\nNow, in the checkout, run:\n\n``` \njx boot\n```\n\nIf you are not in a clone of a boot git repository then `jx boot` will clone this repository and `cd` into the clone.\n\nThe bootstrap process runs the Jenkins X Pipeline in interpret mode as there's nothing running in your Kubernetes cluster yet and so there's no server side tekton controller until after we bootstrap.\n\nThe bootstrap process will also ask you for various important `parameters` which are used to populate a bunch of `Secrets` stored in either Vault or the local file system (well away from your git clone).\n\nThe pipeline will then setup the ingress controller, then cert manager, then install the actual development environment.\n\nApart from the secrets populated to Vault / local file system everything else is stored inside this git repository as Apps and helm charts.\n\n\n### How it works\n\nWe have improved the support for value + secret composition via this [issue](https://github.com/jenkins-x/jx/issues/4328).\n\n\n### Parameters file\n\nWe define a [env/parameters.yaml](https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/parameters.yaml) file which defines all the parameters either checked in or loaded from Vault or a local file system secrets location.\n\n#### Injecting secrets into the parameters\n\nIf you look at the current [env/parameters.yaml](https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/parameters.yaml) file you will see some values inlined and others use URIs of the form `local:my-cluster-folder/nameofSecret/key`. This currently supports 2 schemes:\n\n* `vault:` to load from a path + key from Vault\n* `local:` to load from a key in a YAML file at `~/.jx/localSecrets/$path.yml`\n\nThis means we can populate all the Parameters we need on startup then refer to them from `values.yaml` to populate the tree of values to then inject those into Vault.\n\n\n#### Populating the `parameters.yaml` file \n\nWe can then use the new step to populate the `parameters.yaml` file via this command in the `env` folder:\n\n``` \njx step create values --name parameters\n```\n\nThis uses the [parameters.schema.json](https://github.com/jenkins-x/jenkins-x-boot-config/blob/master/env/parameters.schema.json) file which powers the UI.\n\nSo if you wanted to perform your own install from this git repo, just fork it, remove `env/parameters.yaml` and run the bootstrap command!\n\n### Improvements to values.yaml\n\n#### Support a tree of values.yaml files\n\nRather than a huge huge deeply nested values.yaml file we can have a tree of files for each App only include the App specific configuration in each folder. e.g.\n\n``` \nenv/\n  values.yaml   # top level configuration\n  prow/\n    values.yaml # prow specific config\n  tekton/\n    vales.yaml  # tekton specific config \n```\n  \n  \n#### values.yaml templates\n\nWhen using `jx step helm apply` we now allow `values.yaml` files to use go/helm templates just like `templates/foo.yaml` files support inside helm charts so that we can generate value/secret strings which can use templating to compose things from smaller secret values. e.g. creating a maven `settings.xml` file or docker `config.json` which includes many user/passwords for different registries.\n\nWe can then check in the `values.yaml` file which does all of this composition and reference the actual secret values via URLs (or template functions) to access vault or local vault files\n\nTo do this we use expressions like: `{{ .Parameter.pipelineUser.token }}` somewhere in the `values.yaml` values file. So this is like injecting values into the helm templates; but it happens up front to help generate the `values.yaml` files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeas%2Fenvironment-pfm-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeas%2Fenvironment-pfm-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeas%2Fenvironment-pfm-dev/lists"}