Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(config/orca): set global.spinnaker.timezone for orca #1117

Merged
merged 1 commit into from
Dec 4, 2018

Conversation

maggieneterval
Copy link
Contributor

  • Fixes bug where Restrict Execution During Time Window stages always calculate whether the current time is within range using PST rather than a user's configured timezone

Copy link
Contributor

@jtk54 jtk54 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question LGTM otherwise.

@maggieneterval maggieneterval merged commit 625ff4f into spinnaker:master Dec 4, 2018
@maggieneterval maggieneterval deleted the orca-timezone-fix branch December 4, 2018 20:21
dbyron0 pushed a commit to dbyron0/halyard that referenced this pull request Jan 8, 2019
maggieneterval added a commit to maggieneterval/kleat that referenced this pull request Jun 2, 2020
At least Deck, Orca, and Echo consume a user-configurable timezone. Unfortunately, Halyard currently writes the timezone to a `global.spinnaker.timezone` field in spinnaker.yml, which is [my fault](spinnaker/halyard#1117), though in my defense it was only after a CR suggestion that I moved the translation from Orca's profile to the global profile...

I don't want to further complicate this Deck-focused PR with logic to add timezone to Echo and Orca's protos, so will add a TODO to do that in a followup PR.
mergify bot added a commit to spinnaker/kleat that referenced this pull request Jun 2, 2020
* feat(proto): add Bearychat, Email, Google Chat, and Pubsub notifications protos

Although these four notification types are not currently configurable with Halyard, they are defaulted to enabled in Deck's halconfig/settings.js. This is because when *any* notification types are configured, Deck assumes that is the exhaustive list of enabled notification types. (If *no* notification types are configured, Deck's default behavior is to enable all of them.) Since it is unclear if it would be reasonable to push the existing Halyard-default-behavior into Deck, let's simply be consistent with notification types in Kleat and allow users to manually enable any types they wish.

* feat(proto): add canary UI protos

Adds Deck-specific protos to canary.proto. Note that the defaults for `stagesEnabled` and `defaultJudge` depend on those being pushed from Halyard to Deck-Kayenta in [this PR](spinnaker/deck-kayenta#499).

* feat(proto): add timezone proto to halconfig

At least Deck, Orca, and Echo consume a user-configurable timezone. Unfortunately, Halyard currently writes the timezone to a `global.spinnaker.timezone` field in spinnaker.yml, which is [my fault](spinnaker/halyard#1117), though in my defense it was only after a CR suggestion that I moved the translation from Orca's profile to the global profile...

I don't want to further complicate this Deck-focused PR with logic to add timezone to Echo and Orca's protos, so will add a TODO to do that in a followup PR.

* feat(proto): update features.proto

Updates features.proto to include flags consumed by Deck. Adds TODO for how to best handle roscoMode, which Deck's halconfig/settings.js currently sets to true (Halyard does not expose a command to manually set roscoMode.).

* feat(proto): translate Gremlin integration to Gate

Also adds tests.

* feat(proto): add Deck protos

Strongly types all Deck configuration exposed by Halyard, with a few exceptions:
* canary.atlasWebComponentsUrl: likely only used by Netflix, unclear why this is Halyard-configurable.
* canary.reduxLogger: should only be useful in local development, unclear why this is Halyard-configurable.
* defaultInstancePort: defaulted in halconfig/settings to 80. In most places in the code, we also fall back to 80, but there are a few places we fallback to null instead, perhaps to force users to think about making a choice here, for example, when configuring a new application. Let's not expose this property in Kleat until presented with a compelling reason.

Also adds several TODOs to handle after some discussion in a followup PR:
* Handle top-level version
* Handle changelog gist
* Handle roscoMode
* Add Tencent cloud protos

* feat(pkg): add hal to deck translation

Adds TODOS for the following:
* Replace stubbed gateUrl with actual gateUrl, which may be http or http depending on other settings
* Add changelog translation once we determine how we are going to handle
* Refactor getDeckProvidersConfig which feels like terrible code, but couldn't find an elegant Go-native way to reduce duplication

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants