{"id":13683754,"url":"https://github.com/spinnaker/deck","last_synced_at":"2025-05-14T13:05:51.811Z","repository":{"id":18741850,"uuid":"21953642","full_name":"spinnaker/deck","owner":"spinnaker","description":"Management UI for Spinnaker","archived":false,"fork":false,"pushed_at":"2025-04-21T17:42:22.000Z","size":62019,"stargazers_count":309,"open_issues_count":18,"forks_count":905,"subscribers_count":76,"default_branch":"master","last_synced_at":"2025-04-21T17:45:23.132Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/spinnaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-17T18:51:00.000Z","updated_at":"2025-04-21T16:58:49.000Z","dependencies_parsed_at":"2022-07-12T15:15:03.764Z","dependency_job_id":"a5133f01-e050-4519-9305-f7942251d90f","html_url":"https://github.com/spinnaker/deck","commit_stats":{"total_commits":12503,"total_committers":348,"mean_commits":35.92816091954023,"dds":0.7348636327281453,"last_synced_commit":"269b73865e3f02e3f416c5438a3a2d5c38bc64b8"},"previous_names":[],"tags_count":3052,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinnaker%2Fdeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinnaker%2Fdeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinnaker%2Fdeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinnaker%2Fdeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spinnaker","download_url":"https://codeload.github.com/spinnaker/deck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149942,"owners_count":22022851,"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":["hacktoberfest"],"created_at":"2024-08-02T13:02:29.913Z","updated_at":"2025-05-14T13:05:51.785Z","avatar_url":"https://github.com/spinnaker.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Spinnaker UI\n\n![Branch Build](https://github.com/spinnaker/deck/workflows/Branch%20Build/badge.svg)\n\n## Prerequisites\n\nMake sure that [node](http://nodejs.org/download/) and [yarn](https://yarnpkg.com/en/docs/install) are installed on your system.\nThe minimum versions for each are listed in package.json.\n\n## Quick Start\n\nRun the following commands (in the deck directory) to get all dependencies installed in deck and to start the server:\n\n- `yarn`\n- `yarn modules`\n- `yarn start`\n\nThe app will start up on localhost:9000.\n\nWhen editing `core` or any other cloud provider package, please run the following in that folder\n\n- `yarn dev`\n\nIf your local dev setup ends up in a corrupt state with missing npm modules, please run `yarn fixup` from deck and that\nshould reset your state.\n\n## Environment variables\n\nEnvironment variables can be used to configure application behavior. The following lists those variables and their possible values:\n\n- `AUTH` enable/disable authentication (default is disabled, enable by setting `AUTH=enabled`).\n- `TIMEZONE` set the default timezone (default is 'America/Los_Angeles' - see http://momentjs.com/timezone/docs/#/data-utilities/ for options)\n- `DECK_CERT` enable SSL (set to the fully qualified path to cert file, and `DECK_KEY` must be set to the fully qualified path to the key file)\n\nThe following external resources can be specified with environment variables:\n\n- `API_HOST` overrides the default Spinnaker API host.\n- `AUTH_ENABLED` determines whether Deck will attempt to authenticate users via Gate.\n\nFor example, `API_HOST=http://spinnaker.prod.netflix.net yarn start` will run Deck with `http://spinnaker.prod.netflix.net` as the API host.\n\n## Development\n\nDeck has a combination of Angular and React, but is moving to React only. New changes made to the Deck project should use React wherever possible.\n\n## Testing\n\nTo run the tests within the application, run `yarn test`.\n\nDeveloping things locally? You may want to run [gate](https://github.com/spinnaker/gate) locally (which runs on port 8084) as well.\nGate is the service that hosts the spinnaker REST API.\nThen run deck like this:\n\n```\nAPI_HOST=http://localhost:8084 yarn start\n```\n\n## Building \u0026amp; Deploying\n\nTo build the application, run `yarn modules \u0026\u0026 yarn build`.\nThe built application lives in `build/`.\n\n## Graphql\n\nthe `core` package is using graphql queries and mutation to interact with the backend (currently, only the `managed` components).\nTo generate the TS types and the Apollo hooks, run `yarn graphql:generate` from `core`.\n\n## Conventions\n\nIt's a work in progress, but please try to follow the [conventions here](https://github.com/spinnaker/deck/wiki/Conventions).\n\n## Customizing the UI\n\nIt's certainly doable - we're in the middle of some significant changes to our build process, which should make it easier.\nFor now, you can look at the [all modules](https://github.com/spinnaker/deck/tree/master/packages/) to\nget an idea how we are customizing Deck internally. Expect a lot of this to change, though, as we figure out better, cleaner\nhooks and integration points. And we're happy to provide new integration points (or accept pull requests) following\nthose existing conventions if you need an integration point that doesn't already exist.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinnaker%2Fdeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspinnaker%2Fdeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinnaker%2Fdeck/lists"}