{"id":42742824,"url":"https://github.com/researchgate/spinnaker-helm","last_synced_at":"2026-01-29T19:02:37.984Z","repository":{"id":316586342,"uuid":"995910715","full_name":"researchgate/spinnaker-helm","owner":"researchgate","description":"Stable helm chart of Spinnaker","archived":false,"fork":false,"pushed_at":"2025-10-15T12:59:26.000Z","size":443,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-15T23:02:58.770Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Mustache","has_issues":false,"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/researchgate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-04T07:24:18.000Z","updated_at":"2025-10-15T12:59:30.000Z","dependencies_parsed_at":"2025-09-29T19:00:34.918Z","dependency_job_id":null,"html_url":"https://github.com/researchgate/spinnaker-helm","commit_stats":null,"previous_names":["researchgate/spinnaker-helm"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/researchgate/spinnaker-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/researchgate%2Fspinnaker-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/researchgate%2Fspinnaker-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/researchgate%2Fspinnaker-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/researchgate%2Fspinnaker-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/researchgate","download_url":"https://codeload.github.com/researchgate/spinnaker-helm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/researchgate%2Fspinnaker-helm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28882620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T16:41:59.663Z","status":"ssl_error","status_checked_at":"2026-01-29T16:39:39.641Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-01-29T19:02:34.858Z","updated_at":"2026-01-29T19:02:37.971Z","avatar_url":"https://github.com/researchgate.png","language":"Mustache","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spinnaker Chart\n\n[Spinnaker](http://spinnaker.io/) is an open source, multi-cloud continuous delivery platform.\n\n## Chart Details\nThis chart will provision a fully functional and fully featured Spinnaker installation\nthat can deploy and manage applications in the cluster that it is deployed to.\n\nRedis and Minio are used as the stores for Spinnaker state.\n\nFor more information on Spinnaker and its capabilities, see it's [documentation](http://www.spinnaker.io/docs).\n\n## Setup Instructions\n\n### Prerequisites\n\n- Kubernetes cluster 1.20 or later with at least 4 cores and 16 GB memory.\n- Helm 3 is setup on the client system with 3.10.3 or later.\n\n## Helm Chart supports two modes of Installations\n\n1. Non-Gitops Method: This is the normal mode of Spinnaker Halyard, wherein all the configuration is inside Halyard\n2. Gitops Method: The Spinnaker configuration is stored in a git-repo, and the halyard syncs with the repo. While it involves an extra setup, during changes/upgrades, we can see exactly what is changing as all changes, include spinnaker configuration can be routed via git-PRs.\n\n- Use below command to check if helm is installed or not\n        \n   ```console\n   helm version\n   ```\n  If helm is not setup, follow \u003chttps://helm.sh/docs/intro/install/\u003e to install helm.\n\n## Installing with Non-Gitops Method\n\n- Add spinnaker helm repo to your local machine\n\n   ```console\n   helm repo add spinnaker https://opsmx.github.io/spinnaker-helm/\n   ```\n\n  Note: If spinnaker helm repo is already added, do a repo update before installing the chart\n\n   ```console\n   helm repo update\n   ```\n- Use below command to create the namespace\n\n   ```console\n   kubectl create namespace opsmx-oss\n   ```\n\n- Use below command to install the helm chart using Non-Gitops Method:\n\n  ```console\n  helm install oss-spin spinnaker/spinnaker -n opsmx-oss --timeout 600s\n  ```\n\u003e **Tip**: For more information of changing the default values file please [check](charts/spinnaker/additionalinfo.md)\n  \n## Accessing Spinnaker after installation\n\n- Check the status of the pods by executing this command:\n\n  ```console\n  kubectl -n opsmx-oss get po\n  ```\n\n  Once all pods show \"Running\" or \"Completed\" status and Use port-forward command to access the Spinnaker:\n\n  ```console\n  kubectl -n opsmx-oss port-forward svc/spin-deck 9000  ## Keep running, it shows messages such as \"Forwarding from 127.0.0.1:9000 -\u003e 9000\n  ```\n\n  Now, open your browser and navigate to http://localhost:9000\n\nAlternatively, you can route traffic via Ingress/LB to the spin-deck and spin-gate services. Details are **here**.\n\n## Gitops Method\n\n- In this method all the halyard configuration will be centralised in Git Repository.\n \n  -  Create an empty repo(called as \"gitops-halyard\") branch \"main\" as default, and clone to the local-machine.\n     \n  -  Clone the [repo](https://github.com/OpsMx/standard-gitops-halyard.git)\n\n     ```console\n     git clone https://github.com/OpsMx/standard-gitops-halyard.git\n     ```\n\n  -  Copy contents of the standard-gitops-halyard repo to the gitops-halyard repo\n\n     ```console\n     cp -r standard-gitops-halyard/* gitops-halyard # Replace \"gitops-halyard\" with your repo-name\n     ```\n  - cd to the newley created repo \n    \n    ```console\n    cd gitops-halyard\n    ```\n\n     ```console\n     git add -A; git commit -m\"Upgrade related changes\";git push\n     ```\n\n- Use minimal-values.yaml inside charts/spinnaker folder Ex: https://github.com/OpsMx/spinnaker-helm/blob/1.33.0/charts/spinnaker/minimal-values.yaml\n\n- Update the gitorg, gitrepo, gituser, dynaaccrepo, gittoken and save the minimal-values.yaml\n\n- Use below command to install oss in gitops method.\n\n  ```console\n  helm install oss-spin spinnaker/spinnaker -f minimal-values.yaml --timeout 600s -n opsmx-oss\n  ```\n\n  **Note**: Make sure the same release name is used during installation.\n\n## Securing Secret Credentails in the Halyard Git repo (Optional)\n\n**Note**: Secrets in Halyard are plain-text, storing them as-is in Git repository is a security concern. We can replace all the Secrets/passwords in halyard config with a placeholder before committing them to the Git repository. During the halyard pod startup, these secrets are evaluated to their original value through an init container.\n\n- Create one or more K8s secrets in the same namespace where Spinnaker is running, with your credentials.\n\n  ```console\n  kubectl -n opsmx-oss create secret generic \u003cSecretName\u003e --from-literal=\u003cSecretKey\u003e=\u003cSecretValue\u003e --from-file=myk8saccount-kube.config #File name becomes SecretKey\n   ```\n\n- Or, Use below yaml file (hal-secrets.yml) to create the secret\n          \n  ```yaml\n  apiVersion: v1\n  kind: Secret\n  metadata:\n    name: hal-secrets\n  stringData:\n    prodjenkinspwd: jenkinspassword\n    gitopstoken: gittoken\n    myk8saccount-kube.config: \u003ckubeconfig-content\u003e\n  type: Opaque\n  ```\n\n  ```console\n  kubectl -n opsmx-oss apply -f hal-secrets.yml\n  ```\n\n- Edit the hal config file (e.g: gitops-halyard/config) and update every password/confidential text as per the format here.\n\n  - For passwords, the placeholder is\n\n    ```console\n    encrypted:\u003cK8s-SecretName\u003e:\u003cSecretKey\u003e\n    ```\n\n  - For kubeconfig and other confidential files, the placeholder is\n\n    ```console\n    encryptedFile:\u003cK8s-SecretName\u003e:\u003cSecretKey\u003e\n    ```\n\n    **Note**: The K8s-SecretName and SecretKey should be matching the secret created.\n\n- A sample of the Hal config - before GitOps and after GitOps\n\n  - Before GitOps - Sample:\n\n    ```yaml\n    github:\n      enabled: true\n      accounts: \n      - name: githubdemo_account\n        username: \"GITUSERNAME\"\n        token: \"5cb4371fxxxxxxxxx5\"\n    ```\n\n  - After GitOps - Sample:\n\n    ```yaml\n    github:\n      enabled: true\n      accounts: \n      - name: githubdemo_account\n        username: \"john\"\n        token: \"encrypted:hal-secrets:gitopstoken\"\n    ```\n\n    **Note**: After creating the secrets and updating the hal config file, you are now ready to commit the files to your remote git repository. Go ahead and complete it. Any changes you make in Halyard should be manually committed to Git repository; otherwise with every Halyard restart the changes will be gone and git repo content is the source of the truth for Gitops Halyard repo.\n    \n## Support\nLimited support is available on Spinnaker Slack (spinnakerteam.slack.com).\n\nChannel: opsmx\n\n\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresearchgate%2Fspinnaker-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fresearchgate%2Fspinnaker-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresearchgate%2Fspinnaker-helm/lists"}