[multiple ports] Keep description consistent with upstream

[x] Changes comply with the maintainer guide.
[ ] ~SHA512s are updated for each updated download.~
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version.~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Rebuilding most of the world just for drive-by updates? Can't this be on hold for the next regular update?


Enable a way to override your RUNNER_TOOL_CACHE

TL;DR
You override the env RUNNER_TOOL_CACHE with a random path instead of using the original variable, this makes impositble to cache the download in github actions using actions/cache@v3 . Caching it may not sound like much time, but that saved minute is the difference between a quick debugging session and a slower one when relying on github actions to deploy to a dev environments.
Detailed design
Make a COMPLY_WITH_RUNNER_TOOL_CACHE env or a input of the action to disable that override.
Additional information
No response

Hi @incodemode - we only override RUNNER_TOOL_CACHE during testing, which is not used during runtime.
Can you share more about the problem you're experiencing?

Closing due to lack of response.


Superadmin should override all policies

Use policy before method and $user->isSuperAdmin to override.

This behavior may change now since we're working on an onboarding module. If an organization gets onboard, the first user will the super admin. Now, he shouldn't have access to every module. The access will be defined on the basis of subscription.
Closing this.


fix: add automatic population of external secret stores

with defaults from the helm template Secret resources if there is no explicit generator/default/template
also add interactive secret editing to improve the UX

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


stages: add org.osbuild.nm.conn

Add a new stage to configure NetworkManger system connections.
Currently only ethernet connections are supported with a limited set of options.

Another instance of issue #697

Is it needed to check that NetworkManager is installed ? or we assume it is one of the essential packages included in the distro's we can generate ?

Good point but we can generate network manger configs without NM being installed. I don't think that the stage should care about it. It could later maybe be copied or something.


enhance(tags): Increase tag length to 30 lines center #719

https://github.com/aml-development/ozp-center/issues/719
@akonsowski @skhtet @blynch11p

Changed tag help message to specify new tag size limit

:+1:

:+1:


Defining a cwd breaks opening of changed files from NeogitStatus window

Description
I need to define a cwd for a project I'm working on, so I open neogit with
local opts = {
  cwd = "/path/to/dir",
}
require("neogit").open(opts)

However, when I open the NeogitStatus window, the paths of the changed files are displayed relative to what Neogit thinks the project root is, which in this case is different to the one I've specified. That means that when I press <cr> on the changed file path, then an empty file is opened as that path doesn't exist.
Neovim version
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1700008891
Operating system and version
macOS 14.12.1
Steps to reproduce

Change a file in the worktree
Run require("neogit").open({ cwd = "/some/other/dir" }) where e.g. /some/other/dir is the child directory of the directory containing the .git folder
Press <cr> on the changed file path

Expected behavior
The correct filepath of changed files is displayed (relative to the specified cwd)
Actual behavior
The filepath of changed files is relative to the directory with the .git folder
Minimal config
-- NOTE: See the end of this file if you are reporting an issue, etc. Ignore all the "scary" functions up top, those are
-- used for setup and other operations.
local M = {}

local base_root_path = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .. "/.min"
function M.root(path)
  return base_root_path .. "/" .. (path or "")
end

function M.load_plugin(plugin_name, plugin_url)
  local package_root = M.root("plugins/")
  local install_destination = package_root .. plugin_name
  vim.opt.runtimepath:append(install_destination)

  if not vim.loop.fs_stat(package_root) then
    vim.fn.mkdir(package_root, "p")
  end

  if not vim.loop.fs_stat(install_destination) then
    print(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
    vim.fn.system({
      "git",
      "clone",
      "--depth=1",
      plugin_url,
      install_destination,
    })
    if vim.v.shell_error > 0 then
      error(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
        vim.log.levels.ERROR)
    end
  end
end

---@alias PluginName string The plugin name, will be used as part of the git clone destination
---@alias PluginUrl string The git url at which a plugin is located, can be a path. See https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols for details
---@alias MinPlugins table<PluginName, PluginUrl>

---Do the initial setup. Downloads plugins, ensures the minimal init does not pollute the filesystem by keeping
---everything self contained to the CWD of the minimal init file. Run prior to running tests, reproducing issues, etc.
---@param plugins? table<PluginName, PluginUrl>
function M.setup(plugins)
  vim.opt.packpath = {}                      -- Empty the package path so we use only the plugins specified
  vim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir

  -- Install required plugins
  if plugins ~= nil then
    for plugin_name, plugin_url in pairs(plugins) do
      M.load_plugin(plugin_name, plugin_url)
    end
  end

  vim.env.XDG_CONFIG_HOME = M.root("xdg/config")
  vim.env.XDG_DATA_HOME = M.root("xdg/data")
  vim.env.XDG_STATE_HOME = M.root("xdg/state")
  vim.env.XDG_CACHE_HOME = M.root("xdg/cache")

  -- NOTE: Cleanup the xdg cache on exit so new runs of the minimal init doesn't share any previous state, e.g. shada
  vim.api.nvim_create_autocmd("VimLeave", {
    callback = function()
      vim.fn.system({
        "rm",
        "-r",
        "-f",
        M.root("xdg")
      })
    end
  })
end

-- NOTE: If you have additional plugins you need to install to reproduce your issue, include them in the plugins
-- table within the setup call below.
M.setup({
  plenary = "https://github.com/nvim-lua/plenary.nvim.git",
  telescope = "https://github.com/nvim-telescope/telescope.nvim",
  diffview = "https://github.com/sindrets/diffview.nvim",
  neogit = "https://github.com/NeogitOrg/neogit"
})
-- WARN: Do all plugin setup, test runs, reproductions, etc. AFTER calling setup with a list of plugins!
-- Basically, do all that stuff AFTER this line.
require("neogit").setup({}) -- For instance, setup Neogit

@cjgibbons the issue went away after a previous update actually, I'm on 0d0879b0045fb213c328126969a3317c0963d34a


Can you flesh out the readme

The readme is a bit scarce on information, like how to install, how to place an order many thing could be added, i would but i dont know how to do most of the stuff with it.

Totally agree. Many things could be added.
This repo will be moved when it will be added to maven central


Use sbt-ci-release to publish to com.github.sbt

Fixes #239
@SethTisue @eed3si9n please add secrets and then we can give this a shot. Maybe tagging v5.0.0-M4 to see if publishing works?

Hey @mkurz do you want me to take this over? I randomly have a use case for the dynver package I want to try out, but need to cross publish it. But before I try to do that we should probably get this finished up. So I can bring this across the finish line if you want.

Sure, please take it!


Add warning in console against copying scripts

I notice that Facebook provides this warning message when you open the developer console:

I am not aware of any myetherwallet attacks which convince them to copy and past malicious JS into their console, but this still seems like a good precaution to take. And super easy to add 😄

@tayvano  do you need help?

I'm traveling at the moment. Almost to wifi and elsctricity. Pr anything
and I'll see it in a hour
On Aug 14, 2017 at 9:51 PM, <Zwilla<EMAIL_ADDRESS>wrote:
@tayvano https://github.com/tayvano do you need help?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kvhnuke/etherwallet/issues/871#issuecomment-322306029,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHjsW98nMAihrbJedSuxn0isGtFEFTywks5sYLNXgaJpZM4O0-W0
.


ext_authz filter should allow multiple Set-Cookie headers to be added by the Check response

Title: ext_authz filter should allow multiple Set-Cookie headers to be added by the Check response
Description:
We are writing an implementation of the ext_authz's Check interface. Our implementation would like to return a Denied status, set the http response to be a 302, and add multiple Set-Cookie headers to the http response to manipulate multiple cookies.
As additional background, it is not possible in many browsers to manipulate multiple cookies in a single Set-Cookie header because it is disallowed by Section 3 of RFC 6265:

Origin servers SHOULD NOT fold multiple Set-Cookie header fields into a single header field.

As a result, when given a Set-Cookie header of the form Set-Cookie: a=1, b=2, modern browsers will ignore the b cookie.  Instead, they need the header to be repeated like this:
Set-Cookie: a=1
Set-Cookie: b=2

So, we would like to add multiple Set-Cookie headers, but it seems that the ext_authz filter is preventing this.
Today, when multiple headers of the same name are added by the Check response, the ext_authz filter always only adds the last one.  You can see the relevant code in ext_authz.cc.
It seems like the response_headers.remove(header.first) line is intended to satisfy the requirement described by the OverrideEncodingHeaders unit test.  However, that line of code also seems to cause it to ignore the Check response's intention to add multiple headers of the same name.
Proposed Solution:
One possible solution would be for the ext_authz filter to ensure that headers from the Check response do override existing headers, while also allowing the Check response to override a single existing header with multiple headers of the same name.  For example, this could be implemented in two passes: first, call remove on all of the headers set by the Check response, and then in a second pass add all of the headers set by the Check response. The addCopy method already has the smarts built-in to decide if a header with multiple values should be folded (combined into a single header with multiple values separated by commas) or should be repeated as separate headers of the same name. Specifically, the addCopy method is already smart enough to avoid folding Set-Cookie headers, which is exactly what we need.
Relevant Links:

There was a similar issue filed against Envoy, but it was determined that Envoy was correctly allowing multiple Set-Cookie headers to be added.
There was also a similar issue in Istio Mixer and that fix was merged.

I think the external_processor stuff in envoy is having this exact same issue.

I think the external_processor stuff in envoy is having this exact same issue.

@evanlurvey  Are you still experiencing the same issue with the external_processor filter? I'm planning to open an issue regarding external_processor.

@Ronnie-personal TBH I am not sure I don't work with envoy anymore.


feat: added grafana

atlantis plan

Ran Plan for dir: terraform/atlantis workspace: default
Plan Failed: This project is currently locked by an unapplied plan from pull #15. To continue, delete the lock from #15 or apply that plan and merge the pull request.
Once the lock is released, comment atlantis plan here to re-plan.

atlantis plan

atlantis plan

Ran Plan for dir: terraform/atlantis workspace: default
Plan Error
Show Output
running "/usr/local/bin/terraform init -input=false -no-color -upgrade" in "/root/.atlantis/repos/autotune/pritunl-k8s-tf-do/17/default/terraform/atlantis": exit status 1
There are some problems with the configuration, described below.

The Terraform configuration must be valid before initialization so that
Terraform can determine which modules and providers need to be installed.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Error: Duplicate resource "kubernetes_namespace" configuration

  on loki.tf line 1:
   1: resource "kubernetes_namespace" "loki" {

A kubernetes_namespace resource named "loki" was already declared at
grafana.tf:1,1-39. Resource names must be unique per type in each module.

Ran Plan for dir: terraform/atlantis workspace: default
Show Output

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply":

  # kubernetes_secret.tls has been changed
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls"
              + "cert-manager.io/common-name"      = "pritunl.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-pritunl-tls"
          ~ resource_version = "30665306" -> "30666241"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.loki-tls has been changed
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls"
              + "cert-manager.io/common-name"      = "wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-loki-tls"
          ~ resource_version = "30665304" -> "30666262"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.tls-vpn has been changed
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "vpn.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls"
              + "cert-manager.io/common-name"      = "vpn.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-vpn-tls"
          ~ resource_version = "30665305" -> "30666280"
            # (4 unchanged attributes hidden)
        }
    }

Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place

Terraform will perform the following actions:

  # helm_release.grafana will be created
+ resource "helm_release" "grafana" {
      + atomic                     = false
      + chart                      = "grafana"
      + cleanup_on_fail            = false
      + create_namespace           = false
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = false
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 0
      + metadata                   = (known after apply)
      + name                       = "grafana"
      + namespace                  = "default"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://grafana.github.io/helm-charts"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "6.3.2"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # kubernetes_ingress.grafana_cluster_ingress["wayofthesys.com"] will be created
+ resource "kubernetes_ingress" "grafana_cluster_ingress" {
      + id     = (known after apply)
      + status = (known after apply)

      + metadata {
          + annotations      = {
              + "cert-manager.io/cluster-issuer"          = "zerossl"
              + "ingress.kubernetes.io/rewrite-target"    = "/"
              + "kubernetes.io/ingress.class"             = "nginx"
              + "nginx.ingress.kubernetes.io/auth-signin" = "https://$host/oauth2/start?rd=https://$host$request_uri$is_args$args"
              + "nginx.ingress.kubernetes.io/auth-url"    = "https://$host/oauth2/auth"
            }
          + generation       = (known after apply)
          + name             = "wayofthesys.com-grafana-ingress"
          + namespace        = "default"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }

      + spec {

          + rule {
              + host = "wayofthesys.com"

              + http {
                  + path {
                      + path = "/grafana"

                      + backend {
                          + service_name = "grafana"
                          + service_port = "3000"
                        }
                    }
                }
            }

          + tls {
              + hosts       = [
                  + "wayofthesys.com",
                ]
              + secret_name = "wayofthesys-com-grafana-tls"
            }
        }
    }

  # kubernetes_secret.loki-tls will be updated in-place
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls" -> null
              - "cert-manager.io/common-name"      = "wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-loki-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls will be updated in-place
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls" -> null
              - "cert-manager.io/common-name"      = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-pritunl-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls-vpn will be updated in-place
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls" -> null
              - "cert-manager.io/common-name"      = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-vpn-tls"
            # (5 unchanged attributes hidden)
        }
    }

Plan: 2 to add, 3 to change, 0 to destroy.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Warning: Argument is deprecated

  with tls_self_signed_cert.ca-vpn,
  on tls-vpn.tf line 20, in resource "tls_self_signed_cert" "ca-vpn":
  20:   key_algorithm   = tls_private_key.ca-vpn.algorithm

This is now ignored, as the key algorithm is inferred from the
`private_key_pem`.

(and 11 more similar warnings elsewhere)

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform/atlantis

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform/atlantis

Plan: 2 to add, 3 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply -d terraform/atlantis

Ran Apply for dir: terraform/atlantis workspace: default
Apply Error
Show Output
running "/usr/local/bin/terraform apply -input=false -no-color \"/root/.atlantis/repos/autotune/pritunl-k8s-tf-do/17/default/terraform/atlantis/default.tfplan\"" in "/root/.atlantis/repos/autotune/pritunl-k8s-tf-do/17/default/terraform/atlantis": exit status 1
kubernetes_ingress.grafana_cluster_ingress["wayofthesys.com"]: Creating...
kubernetes_secret.tls-vpn: Modifying... [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.loki-tls: Modifying... [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls: Modifying... [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.loki-tls: Modifications complete after 0s [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls: Modifications complete after 0s [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_ingress.grafana_cluster_ingress["wayofthesys.com"]: Creation complete after 0s [id=default/wayofthesys.com-grafana-ingress]
kubernetes_secret.tls-vpn: Modifications complete after 0s [id=pritunl/wayofthesys-com-vpn-tls]
helm_release.grafana: Creating...

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Error: could not download chart: chart "grafana" version "6.3.2" not found in https://grafana.github.io/helm-charts repository

  with helm_release.grafana,
  on grafana.tf line 1, in resource "helm_release" "grafana":
   1: resource "helm_release" "grafana" {

atlantis plan

atlantis plan

Ran Plan for dir: terraform/atlantis workspace: default
Show Output

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply":

  # kubernetes_secret.tls-vpn has been changed
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "vpn.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls"
              + "cert-manager.io/common-name"      = "vpn.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-vpn-tls"
          ~ resource_version = "30688928" -> "30689859"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.loki-tls has been changed
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls"
              + "cert-manager.io/common-name"      = "wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-loki-tls"
          ~ resource_version = "30688927" -> "30689819"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_ingress.grafana_cluster_ingress["wayofthesys.com"] has been changed
~ resource "kubernetes_ingress" "grafana_cluster_ingress" {
        id     = "default/wayofthesys.com-grafana-ingress"
      ~ status = [
          ~ {
              ~ load_balancer = [
                  ~ {
                      ~ ingress = [
                          + {
                              + hostname = ""
                              + ip       = "<IP_ADDRESS>"
                            },
                        ]
                    },
                ]
            },
        ]

      ~ metadata {
          + labels           = {}
            name             = "wayofthesys.com-grafana-ingress"
          ~ resource_version = "30688930" -> "30689043"
            # (4 unchanged attributes hidden)
        }

        # (1 unchanged block hidden)
    }
  # kubernetes_secret.tls has been changed
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls"
              + "cert-manager.io/common-name"      = "pritunl.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-pritunl-tls"
          ~ resource_version = "30688929" -> "30689806"
            # (4 unchanged attributes hidden)
        }
    }

Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place

Terraform will perform the following actions:

  # helm_release.grafana will be created
+ resource "helm_release" "grafana" {
      + atomic                     = false
      + chart                      = "grafana"
      + cleanup_on_fail            = false
      + create_namespace           = false
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = false
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 0
      + metadata                   = (known after apply)
      + name                       = "grafana"
      + namespace                  = "default"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://grafana.github.io/helm-charts"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "6.30.2"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # kubernetes_secret.loki-tls will be updated in-place
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls" -> null
              - "cert-manager.io/common-name"      = "wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-loki-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls will be updated in-place
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls" -> null
              - "cert-manager.io/common-name"      = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-pritunl-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls-vpn will be updated in-place
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls" -> null
              - "cert-manager.io/common-name"      = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-vpn-tls"
            # (5 unchanged attributes hidden)
        }
    }

Plan: 1 to add, 3 to change, 0 to destroy.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Warning: Argument is deprecated

  with tls_self_signed_cert.ca-vpn,
  on tls-vpn.tf line 20, in resource "tls_self_signed_cert" "ca-vpn":
  20:   key_algorithm   = tls_private_key.ca-vpn.algorithm

This is now ignored, as the key algorithm is inferred from the
`private_key_pem`.

(and 11 more similar warnings elsewhere)

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform/atlantis

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform/atlantis

Plan: 1 to add, 3 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply -d terraform/atlantis

Ran Apply for dir: terraform/atlantis workspace: default
Show Output
kubernetes_secret.loki-tls: Modifying... [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls-vpn: Modifying... [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.tls: Modifying... [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.loki-tls: Modifications complete after 0s [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls: Modifications complete after 0s [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.tls-vpn: Modifications complete after 0s [id=pritunl/wayofthesys-com-vpn-tls]
helm_release.grafana: Creating...
helm_release.grafana: Still creating... [10s elapsed]
helm_release.grafana: Creation complete after 14s [id=grafana]

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Apply complete! Resources: 1 added, 3 changed, 0 destroyed.

atlantis plan

atlantis plan

atlantis plan

Ran Plan for dir: terraform/atlantis workspace: default
Show Output

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply":

  # kubernetes_secret.tls has been changed
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls"
              + "cert-manager.io/common-name"      = "pritunl.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-pritunl-tls"
          ~ resource_version = "30690512" -> "30691242"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.loki-tls has been changed
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls"
              + "cert-manager.io/common-name"      = "wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-loki-tls"
          ~ resource_version = "30690510" -> "30691376"
            # (4 unchanged attributes hidden)
        }
    }
  # helm_release.grafana has been changed
~ resource "helm_release" "grafana" {
        id                         = "grafana"
      ~ metadata                   = [
          ~ {
              ~ values      = jsonencode(
                  ~ {} -> null
                )
                # (6 unchanged elements hidden)
            },
        ]
        name                       = "grafana"
        # (26 unchanged attributes hidden)
    }
  # kubernetes_secret.tls-vpn has been changed
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "vpn.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls"
              + "cert-manager.io/common-name"      = "vpn.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-vpn-tls"
          ~ resource_version = "30690511" -> "30691275"
            # (4 unchanged attributes hidden)
        }
    }

Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place

Terraform will perform the following actions:

  # helm_release.grafana will be updated in-place
~ resource "helm_release" "grafana" {
        id                         = "grafana"
        name                       = "grafana"
      + values                     = [
          + <<-EOT
                grafana.ini:
                  server:
                    domain: wayofthesys.com
                    root_url: 'https://%(domain)s/grafana'
                    # also tried: 'http://%(domain)s/grafana/'
                    serve_from_sub_path: true
                    enforce_domain: false
                    enable_gzip: true
                    router_logging: true
            EOT,
        ]
        # (27 unchanged attributes hidden)
    }

  # kubernetes_secret.loki-tls will be updated in-place
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls" -> null
              - "cert-manager.io/common-name"      = "wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-loki-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls will be updated in-place
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls" -> null
              - "cert-manager.io/common-name"      = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-pritunl-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls-vpn will be updated in-place
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls" -> null
              - "cert-manager.io/common-name"      = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-vpn-tls"
            # (5 unchanged attributes hidden)
        }
    }

Plan: 0 to add, 4 to change, 0 to destroy.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Warning: Argument is deprecated

  with tls_self_signed_cert.ca-vpn,
  on tls-vpn.tf line 20, in resource "tls_self_signed_cert" "ca-vpn":
  20:   key_algorithm   = tls_private_key.ca-vpn.algorithm

This is now ignored, as the key algorithm is inferred from the
`private_key_pem`.

(and 11 more similar warnings elsewhere)

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform/atlantis

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform/atlantis

Plan: 0 to add, 4 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply

Ran Apply for dir: terraform/atlantis workspace: default
Show Output
kubernetes_secret.tls: Modifying... [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.loki-tls: Modifying... [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls-vpn: Modifying... [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.loki-tls: Modifications complete after 0s [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls: Modifications complete after 0s [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.tls-vpn: Modifications complete after 0s [id=pritunl/wayofthesys-com-vpn-tls]
helm_release.grafana: Modifying... [id=grafana]
helm_release.grafana: Still modifying... [id=grafana, 10s elapsed]
helm_release.grafana: Modifications complete after 12s [id=grafana]

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Apply complete! Resources: 0 added, 4 changed, 0 destroyed.

atlantis plan

Ran Plan for dir: terraform/atlantis workspace: default
Show Output

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply":

  # kubernetes_secret.tls-vpn has been changed
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "vpn.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls"
              + "cert-manager.io/common-name"      = "vpn.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-vpn-tls"
          ~ resource_version = "30693484" -> "30694144"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.tls has been changed
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls"
              + "cert-manager.io/common-name"      = "pritunl.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-pritunl-tls"
          ~ resource_version = "30693483" -> "30694197"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.loki-tls has been changed
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls"
              + "cert-manager.io/common-name"      = "wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-loki-tls"
          ~ resource_version = "30693482" -> "30694185"
            # (4 unchanged attributes hidden)
        }
    }

Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place

Terraform will perform the following actions:

  # kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"] will be updated in-place
~ resource "kubernetes_ingress" "loki_cluster_ingress" {
        id     = "default/wayofthesys.com-loki-ingress"
        # (1 unchanged attribute hidden)

      ~ metadata {
          ~ annotations      = {
              + "nginx.ingress.kubernetes.io/whitelist-source-range" = "<IP_ADDRESS>"
                # (5 unchanged elements hidden)
            }
            name             = "wayofthesys.com-loki-ingress"
            # (5 unchanged attributes hidden)
        }

        # (1 unchanged block hidden)
    }

  # kubernetes_secret.loki-tls will be updated in-place
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls" -> null
              - "cert-manager.io/common-name"      = "wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-loki-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls will be updated in-place
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls" -> null
              - "cert-manager.io/common-name"      = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-pritunl-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls-vpn will be updated in-place
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls" -> null
              - "cert-manager.io/common-name"      = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-vpn-tls"
            # (5 unchanged attributes hidden)
        }
    }

Plan: 0 to add, 4 to change, 0 to destroy.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Warning: Argument is deprecated

  with tls_self_signed_cert.ca-vpn,
  on tls-vpn.tf line 20, in resource "tls_self_signed_cert" "ca-vpn":
  20:   key_algorithm   = tls_private_key.ca-vpn.algorithm

This is now ignored, as the key algorithm is inferred from the
`private_key_pem`.

(and 11 more similar warnings elsewhere)

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform/atlantis

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform/atlantis

Plan: 0 to add, 4 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply

atlantis apply

Ran Apply for dir: terraform/atlantis workspace: default
Show Output
kubernetes_secret.loki-tls: Modifying... [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls: Modifying... [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.tls-vpn: Modifying... [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"]: Modifying... [id=default/wayofthesys.com-loki-ingress]
kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"]: Modifications complete after 0s [id=default/wayofthesys.com-loki-ingress]
kubernetes_secret.tls: Modifications complete after 0s [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.tls-vpn: Modifications complete after 0s [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.loki-tls: Modifications complete after 0s [id=default/wayofthesys-com-loki-tls]

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Apply complete! Resources: 0 added, 4 changed, 0 destroyed.

Ran Plan for dir: terraform/atlantis workspace: default
Show Output

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply":

  # kubernetes_secret.tls has been changed
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls"
              + "cert-manager.io/common-name"      = "pritunl.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-pritunl-tls"
          ~ resource_version = "30698509" -> "30699253"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.loki-tls has been changed
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls"
              + "cert-manager.io/common-name"      = "wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-loki-tls"
          ~ resource_version = "30698508" -> "30699215"
            # (4 unchanged attributes hidden)
        }
    }
  # kubernetes_secret.tls-vpn has been changed
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              + "cert-manager.io/alt-names"        = "vpn.wayofthesys.com"
              + "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls"
              + "cert-manager.io/common-name"      = "vpn.wayofthesys.com"
              + "cert-manager.io/ip-sans"          = ""
              + "cert-manager.io/issuer-group"     = "cert-manager.io"
              + "cert-manager.io/issuer-kind"      = "ClusterIssuer"
              + "cert-manager.io/issuer-name"      = "zerossl"
              + "cert-manager.io/uri-sans"         = ""
            }
            name             = "wayofthesys-com-vpn-tls"
          ~ resource_version = "30698511" -> "30699177"
            # (4 unchanged attributes hidden)
        }
    }

Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place

Terraform will perform the following actions:

  # kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"] will be updated in-place
~ resource "kubernetes_ingress" "loki_cluster_ingress" {
        id     = "default/wayofthesys.com-loki-ingress"
        # (1 unchanged attribute hidden)

      ~ metadata {
          ~ annotations      = {
              ~ "nginx.ingress.kubernetes.io/whitelist-source-range" = "<IP_ADDRESS>" -> "<IP_ADDRESS>,<IP_ADDRESS>"
                # (5 unchanged elements hidden)
            }
            name             = "wayofthesys.com-loki-ingress"
            # (5 unchanged attributes hidden)
        }

        # (1 unchanged block hidden)
    }

  # kubernetes_secret.loki-tls will be updated in-place
~ resource "kubernetes_secret" "loki-tls" {
      ~ data      = (sensitive value)
        id        = "default/wayofthesys-com-loki-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-loki-tls" -> null
              - "cert-manager.io/common-name"      = "wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-loki-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls will be updated in-place
~ resource "kubernetes_secret" "tls" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-pritunl-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-pritunl-tls" -> null
              - "cert-manager.io/common-name"      = "pritunl.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-pritunl-tls"
            # (5 unchanged attributes hidden)
        }
    }

  # kubernetes_secret.tls-vpn will be updated in-place
~ resource "kubernetes_secret" "tls-vpn" {
      ~ data      = (sensitive value)
        id        = "pritunl/wayofthesys-com-vpn-tls"
        # (2 unchanged attributes hidden)

      ~ metadata {
          ~ annotations      = {
              - "cert-manager.io/alt-names"        = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/certificate-name" = "wayofthesys-com-vpn-tls" -> null
              - "cert-manager.io/common-name"      = "vpn.wayofthesys.com" -> null
              - "cert-manager.io/ip-sans"          = "" -> null
              - "cert-manager.io/issuer-group"     = "cert-manager.io" -> null
              - "cert-manager.io/issuer-kind"      = "ClusterIssuer" -> null
              - "cert-manager.io/issuer-name"      = "zerossl" -> null
              - "cert-manager.io/uri-sans"         = "" -> null
            }
            name             = "wayofthesys-com-vpn-tls"
            # (5 unchanged attributes hidden)
        }
    }

Plan: 0 to add, 4 to change, 0 to destroy.

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Warning: Argument is deprecated

  with tls_self_signed_cert.ca-vpn,
  on tls-vpn.tf line 20, in resource "tls_self_signed_cert" "ca-vpn":
  20:   key_algorithm   = tls_private_key.ca-vpn.algorithm

This is now ignored, as the key algorithm is inferred from the
`private_key_pem`.

(and 11 more similar warnings elsewhere)

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform/atlantis

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform/atlantis

Plan: 0 to add, 4 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply

atlantis apply

Ran Apply for dir: terraform/atlantis workspace: default
Show Output
kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"]: Modifying... [id=default/wayofthesys.com-loki-ingress]
kubernetes_secret.tls-vpn: Modifying... [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.tls: Modifying... [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.loki-tls: Modifying... [id=default/wayofthesys-com-loki-tls]
kubernetes_secret.tls-vpn: Modifications complete after 0s [id=pritunl/wayofthesys-com-vpn-tls]
kubernetes_secret.tls: Modifications complete after 0s [id=pritunl/wayofthesys-com-pritunl-tls]
kubernetes_secret.loki-tls: Modifications complete after 0s [id=default/wayofthesys-com-loki-tls]
kubernetes_ingress.loki_cluster_ingress["wayofthesys.com"]: Modifications complete after 0s [id=default/wayofthesys.com-loki-ingress]

Warning: Version constraints inside provider configuration blocks are deprecated

  on providers.tf line 12, in provider "digitalocean":
  12:   version = ">=1.5.0"

Terraform 0.13 and earlier allowed provider version constraints inside the
provider configuration block, but that is now deprecated and will be removed
in a future version of Terraform. To silence this warning, move the provider
version constraint into the required_providers block.

Apply complete! Resources: 0 added, 4 changed, 0 destroyed.

Warning: The plan for dir: terraform/atlantis workspace: default was discarded via the Atlantis UI.
To apply this plan you must run plan again.

atlantis plan

Atlantis commands can't be run on closed pull requests

atlantis plan

Atlantis commands can't be run on closed pull requests

Atlantis commands can't be run on closed pull requests


feat/update-image-downloader

Main changes in this PR

update the image downloading function
refractor function names
update installation dependencies

Bug Fixes:

fix the image downloading issue

LGTM


Add Teensy RTC clock class. Make NtpClock compatible with Teensy.

Also add sync source to SystemClockTemplate to know what was the source the system clock was synced from (Reference, Backup, UserCode or Unknown (not synced)).

Just a quick note to say that I have not forgotten about this. I'm trying to finish off a feature currently, and I don't want to do a context swap into this code and lose my momentum on my current work.
I took a quick scan through your PR. It's probably been over a year since I looked at this code, so my active knowledge of how my code works is probably pretty rusty, but my high level impression is that you are doing 3 things with this PR:

Add a TeensyRtcClock subclass to support an RTC for a subset of Teensy boards which are not specified (I dont' think specifyingTEENSYDUINO is sufficient since that is defined for the entire spectrum of Teensy boards, from AVR Teensy 2.0 to their most powerful ARM-based Teensy 4.1).
Update NtpClock to support a network library for some subset of Teensy boards, which are not specified.
Add a SyncSource enum to SystemClock whose purpose and enum values are undocumented.

Ideally I would have preferred to have those things done in 3 separate PRs, unless they are coupled in some way that isn't obvious.
My initial request for you, before I dig into this code, is to address the following high level things:

Be more explicit about which Teensy boards are supported for various features. Add links and references to those boards, since I do not have extensive experience with various Teensy boards. I am familiarly basically just the Teensy 3.2, but not the 2.0 or the 4.x boards.
Document the purpose and enum values of the SyncSource enum. In particular, I'm not sure I understand what kSyncSourceUserCode means. The getLastSyncSource() is not used anywhere in this PR, and its documentation does not explain its purpose.
I usually don't include code in my library that I don't explicitly test myself. So if I were to accept this PR, I would like to have more details on which boards were used to test this.

Another relevant background is that I've actually been thinking about dropping support for Teensy boards for most of my libraries going into the future. Mostly because I don't use them, I don't test my code against them, and the Teensyduino development environment is different enough from other 3rd party Arduino platforms that it is laborious and time-consuming to test my code on Teensy boards.
What this means for this PR is that I am looking for a slightly higher level of documentation for Teensy related code, so that I don't have excessive burden of maintaining code that I don't use or test regularly.
Hope this makes sense.

I'm sorry for big delays in responding.
I tested this code on Teensy 4.1 only, as I don't have access to older Teensy boards. If I understand correctly, Teensy boards already belong to Tier 2 or 3, and you don't guarantee the code operation on them. So they are supported as "best effort".
I will share an example of SyncSource usage taken from my code. I had an issue which in my opinion required introducing this.


Add support for boundary conditions in TimeVaryingInputs

This commit implements boundary conditions for extrapolation of TimeVaryingInputs.
Boundary conditions are specified with subtypes of AbstractInterpolationMethod and passed to the InterpolationMethod.
Currently, three boundary conditions are implemented:

ThrowError. This recovers the previous behavior and essentially means that extrapolation in time is not allowed
Clamp. This clamps extrapolated values to the closest edge.
PeriodicCalendar. More on this below.

ThrowError and Clamp are implemented at the level of the main evaluate!, while PeriodicCalendar requires more infrastructure.
PeriodicCalendar lays the groundwork for allowing a TimeVaryingInput to repeat itself in a way that is somewhat aware of the time duration.
Consider the example where we have data on the 15th of every month for the year 2024: 01/15/24, 02/15/24, ....., 12/15/24
PeriodicCalendar "repeats" this year as it the data we had was 12/15/23, 01/15/24, 02/15/24, ....., 12/15/24, 01/15/25, ...
where every year is identical to 2024.
This is not fully implemented yet, reason being that months have different number of days, which is an extra complication. Instead, this commit requires the data to be uniformly sampled. This is needed because we need to know what comes after t_end.
I will add support for dates next.

Superseded by #84


Async cleanups

This is work for issue #61 - Cleanups of the Async docs.
Note that many code samples didn't port - I pulled them (verbatim) from cached versions of the old MSDN docs.

@dsyme, can we have a viable access to the current / MSDN quality documentation until we are done porting the markup?
It's not really workable to use google cache or webarchive (navigating from msdn root to F# pages...) for each and every snippet of code which was mangled in the initial drop, google cache circle buffer is soon overlapping, webarchive is getting slower with axis of time.
My recommendations (but I have no clue of technical implications, although shouldn't be harder than what we currently have to go through) would be to just let msdn website expose the current documentation while we work on preview.msdn based off this repository.

@drvink mentioned that https://msdn.microsoft.com/en-us/library/dd233154(v=vs.120).aspx is still accessible which solves the issue I was talking about in above comment.
Please don't change this!

@smoothdeveloper Questions to @dend please - I'm just an occasional reader here :)

@smoothdeveloper @ReedCopsey - what @dsyme said :) I should be your point of contact for doc issues and infra work. That said, your current workaround is one that we are using ourselves for fixes.

@dend, heard I won't bother Don here anymore, he has already enough work with all people interacting in visualfsharp repository :smile:
Yes, please make sure the msdn pages are still available through the link, I made a PR to show the link in the main README.md of this repository as well so we don't have to search too far for it.
Thanks!


post method return 404

require "kemal"
get "/a" do
  "a"
end

post "/b" do
  "b"
end

curl http://localhost:3000/a
curl http://localhost:3000/b -X POST -d '{"bla":12}'

2016-01-25 22:45:33 +0300 | 200 | GET /a - 91µs
2016-01-25 22:47:08 +0300 | 404 | POST /b - 65µs

Ouch! This is definitely a bug. Seems like we need to improve the router @f

This is not related to POST but more like the router gets the first match on the routes that are exact size.

Hmm, actually Radix creates a path "method path" pattern. And the tree path is like "POST /b" for radix. @sdogruyol Can you try radix_path to generate "post/b"? I am not on computer, cannot try right now.

@f it's POST /b

@kostya PR https://github.com/sdogruyol/kemal/pull/68/files fixes this issue. Can you verify @sdogruyol?

Fixed as of https://github.com/sdogruyol/kemal/commit/23b09ff645aee949ab3c1298a5726783b2d4984b


Fix "Edit this page" missing from userbar

Resolves "Edit this Page" missing from userbar Fixes #10002

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[x] For Python changes: Have you added tests to cover the new/fixed behaviour?

@satvikvash hi!, could you also add, the screen shots of Befor and After changes, that would be helpful for the reviewers.

Before:

After:

Looks like a solid solution - I might ask that @laymonage give this one a review if possible as it relates to Preview mixin.
Thanks for taking the time to think through this thoughtfully @satvikvash and also add unit tests.

Merged into main in 53c1627 and 4.2.1 in d195bbd. (To other core team members: let me know if this should also be backported to 4.1!)
@satvikvash I've credited you as Satvik Vashisht, let me know if you'd like to use a different name.
https://github.com/wagtail/wagtail/blob/8c2a382949bdb7914b3220c83dca3cceacf53511/CONTRIBUTORS.rst?plain=1#L690

@laymonage Yes to backporting to 4.1!

Thanks, backported to 4.1.3 in a87910d7c8b1bc6fc5c0924ea3bacf094aa9af03.


Unable to upload image to server /upload-image.json 400 (Bad Request)

You have created a great plugin, but unfortunately the image loading is not enough. I really hope that you will return to work with this plugin and fix this problem.
I am trying to fix this error on my own.

I described the problem in detail and have already begun work on introducing KCFinder into your plugin. I would really appreciate it if you join the discussion. And give your comments. Thanks again for your work.
https://discourse.getgrav.org/t/need-community-help-to-integrate-contenttools-with-image-insertion-through-kcfinder/10581


feat: create enabledIn setting #3

close #3
Context:
A setting disabledIn was used to prevent warning on specific language. If the extension is used only on specific languages, it was necessary to write all the rest.
Suggestion:
With a new setting enabledIn, the goal is to activate the warnings only on some specific language.

@MASSHUU12 would you like to review it ? Feel free to ask for any change (or to close the PR if you think it's not useful)

Everything looks good and works fine, so I'm about to upload it to main, test it again, add changelog and publish it

Thanks @MASSHUU12!


Intermittent test failure in interceptors

Description:
ballerina.http_tests.2.tests.request_interceptor_service_config_test:testRequestInterceptorServiceConfig1
Log :
[fail] testRequestInterceptorServiceConfig1:

   Http header does not exist

    at ballerina.http.2:externResponseGetHeader(http_response.bal:572)
    ballerina.http.2.Response:getHeader(http_response.bal:109)

  ballerina.http_tests.2.tests.request_interceptor_service_config_test:testRequestInterceptorServiceConfig1
  (tests/request_interceptor_service_config_test.bal:88)

We add and remove some properties in HttpCarbonMessage and add some native data to RequestContext to create the interceptor flow. These intermittent failures occurs when the order of adding and removing properties is mixed up between threads. The reason was another thread is started before safely adding/removing a property. These instances should be fixed by reviewing the interceptor code.


Fixed NRE in input system profile inspector

XRTK - Mixed Reality Toolkit Change Request
Overview
fixed an NRE when trying to render a mapping profile
fixed a typo

/azp run


[Request] hotkey support double tap

eg: double tap hotkey like Alfred.app

If https://github.com/sindresorhus/KeyboardShortcuts implements it. I suggest proposing this feature there.


Allow loading multiple series with DICOMweb

WsiDicom.open_web() was modified to be able to either take a single series uid (as before) or a list of series uids. If a list of series uids is passed, their instances are all loaded together. This can be useful for cases where, for instance, different optical paths are located in different series.
This also loosens the UID matching to only check the frame of references.
This also adds TotalPixelMatrixOriginSequence matching when comparing datasets.
Fixes: #118
@erikogabrielsson Let me know what you think.

Nice work. The series_uids to list handling prevents the integration tests to pass.


Fix port to echo:http port in using-kongingress-resource.md

err
time="2023-05-02T09:43:12Z" level=error msg="resource processing failed: can't find port for backend kubernetes service: no suitable port found" GVK="/v1, Kind=Service" name=echo namespace=testportroute
time="2023-05-02T09:43:12Z" level=error msg="resource processing failed: can't find port for backend kubernetes service: no suitable port found" GVK="networking.k8s.io/v1, Kind=Ingress" name=demo namespace=testportroute

Description
What did you change and why?
Include any supporting resources, e.g. link to a Jira ticket, GH issue, FTI, Slack, Aha, etc.
Testing instructions
Netlify link:
Checklist

[ ] Review label added
[ ] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

I might be wrong, but this looks like an error specific to your environment.
@rainest could you please take a look?

@lena-larionova This is a valid fix. The port changed last week

The change is version agnostic. The old echo server didn't work on M1 machines. The include that's used everywhere was updated to a new image

The links are actually broken, but not fixing in this PR. The page they're linking to should be there, it's missing from builds. Will open a follow-up to fix.


Json list loading fails when loaded from cache

The problem
I'm trying to load and cache a json object with an array as a root. Initial "cold" loading from server works fine, but subsequent attempts to load the same request return seemingly good response but with empty content: <CachedResponse [200]: created: 2023-04-28 09:58:37 +03, expires: N/A (fresh), size: 0 bytes, request: GET http://<IP_ADDRESS>:8000/list.json>. response.text is empty, response.json() fails with error. The problem happens exactly on loading from cache, not saving to. This can be confirmed by inspecting corresponding cache file (_decoded_content is fine there).
Expected behavior
Response's content is not empty. List of objects is properly loaded. response.text is the original json string.
Steps to reproduce the behavior
Setup a simple local server (in this instance I used python3 -m http.server) with two json files:

dict.json: {"field": "value"}
list.json: [1, 2, 3, 4, 5]

import requests
import requests_cache

requests_cache.install_cache(backend='filesystem')
requests_cache.clear()

# dict works fine
def load_dict():
    return requests.get('http://<IP_ADDRESS>:8000/dict.json')

assert load_dict().json()["field"] == "value"  # first actual load
assert load_dict().json()["field"] == "value"  # attempt to load value from cache

# list isn't loaded correctly
def load_list():
    return requests.get('http://<IP_ADDRESS>:8000/list.json')

assert load_list().json() == [1, 2, 3, 4, 5]  # first actual load, works fine since loaded directly from server
print(load_list())  # attempt to load list from cache, proof that response has no content
# <CachedResponse [200]: ..., size: 0 bytes, request: GET http://<IP_ADDRESS>:8000/list.json>

assert load_list().text != ""  # fails
assert load_list().json() == [1, 2, 3, 4, 5]  # raises exception on json parsing

Workarounds
Currently I'm using this workaround in serializers/cattrs.py, which is very ugly/inefficient and this problem definitely requires more consideration:
def _encode_content(response: CachedResponse) -> CachedResponse:
    """Re-encode response body if saved as JSON or text; has no effect for a binary response body"""
    if isinstance(response._decoded_content, str):
        response._content = response._decoded_content.encode('utf-8')
        response._decoded_content = None
        response.encoding = 'utf-8'  # Set encoding explicitly so requests doesn't have to guess
        response.headers['Content-Length'] = str(len(response._content))  # Size may have changed
+    elif isinstance(response._decoded_content, list) and "json" in response.headers["Content-type"]:
+        response._content = json.dumps(response._decoded_content).encode('utf-8')
+        response._decoded_content = None
+        response.encoding = 'utf-8'  # Set encoding explicitly so requests doesn't have to guess
+        response.headers['Content-Length'] = str(len(response._content))
    return response

Environment

requests-cache version: 1.0.1
Python version: 3.8.11
Platform: macOS 13.2.1

Thank you for the detailed bug report! Your examples made this much easier to debug.
It looks like this was introduced in 1.0 (#647). The bug is in the custom serialization hook here:
https://github.com/requests-cache/requests-cache/blob/e5d54b4f930956bbfdaf21d819e269a9857fc28a/requests_cache/serializers/cattrs.py#L112-L115
I'll fix that and add some better comments to that section.

Fixes are in main. I'll get a patch release out sometime within the next couple weeks.


Update naga to gfx-15

Gets us another bunch of fixes, including better control flow analysis

bors r+

bors r+


Arbitrary thrift

This branch implements a macro to generate arbitrary instances for thrift structs, as per:
https://github.com/CommBank/ebenezer/issues/54
It is currently implemented only for scala-2.10. There is an issue with generation of fresh names in scala-2.10 (resolved in 2.11) such that we eventually want to move the test project to use 2.11. However there is currently a separate issue #18 which causes a 2.11 build of test to fail.
Open questions:

Do we want to support both 2.10 and 2.11 (after #18)

Closed questions:

Do we need extra API that imports implicit defs, or should we expect client code to do:

implicit def CustomerHumbugArbitrary: Arbitrary[CustomerHumbug] = thriftArbitrary[CustomerHumbug]

=> yes we need API support, implemented in 5427fc8

:+1: once these issues are fixed.
Nice work!

Before merging this can you also squash/cleanup the commits. We tend to try and maintain a neat commit history on master. If you want help with interactive rebase please let me know.

@kfish I have merged the scala 2.11 changes. Can you try and get this PR updated and merged now?


What is the better approach?

I have alot of dependencies and a big directory structure, I'm trying to build the dependencies and the application itself in different files, but I really don't know how to do that. It's okay for me to block the build of dependencies using System.meta.angular.build = false but, what if I want to build a bunch of packages and not just one like builder.build(['angular', 'angular-animate']). How is that so? Can someone help me, please?

https://github.com/systemjs/builder#example---common-bundles is a good example of building the application and dependency bundles separately.

What if I don't want to use require('angular-animate') at the top of my modules, which will use this dependency? In RequireJS we have deps key:
requirejs({
  deps: ['angular-animate', 'angular-resource']
})

What is the equivalent for SystemJS?

SystemJS doesn't have this feature, as we try to encourage full modularity over conveniences.


Find mouse interface stopped responding

Microsoft PowerToys version
0.60.1
Running as admin

[ ] Yes

Area(s) with issue?
Mouse Utilities
Steps to reproduce
Wiggle the mouse to active Find Mouse feature (didn't find a way to 100% reproduce, but this does happen pretty often)
✔ Expected Behavior
Find mouse interface(the dark mask) automatically disappear after a few seconds or any key is pressed.
❌ Actual Behavior
dark cover remained still, and the spotlight isn't following the cursor nor disappearing unless exit PowerToys from tray manually.

Logs:
[2022-07-24 00:25:16.557047] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.
[2022-07-24 02:26:51.315086] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.
[2022-07-24 02:29:26.838843] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.
[2022-07-24 03:18:17.526275] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.
[2022-07-24 03:25:07.874179] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.
[2022-07-24 03:25:07.966924] [p-10284] [t-12728] [info] Focusing the sonar on the mouse cursor.

settings.json:
{"properties":{"activation_method":{"value":1},"do_not_activate_on_game_mode":{"value":true},"background_color":{"value":"#000000"},"spotlight_color":{"value":"#FFFFFF"},"overlay_opacity":{"value":50},"spotlight_radius":{"value":100},"animation_duration_ms":{"value":500},"spotlight_initial_zoom":{"value":9},"excluded_apps":{"value":""},"shaking_minimum_distance":{"value":1000}},"name":"FindMyMouse","version":"1.0"}

Other Software
No response

Are you still experiencing this issue? /needinfo


Add anonymous structs

A macro like this should work, but I didn't test it:
(def struct (macro extern (struct-def)
  (let ((name \ (make-gensym-var)))
    (qq do
      (def (uq name)
        (struct intern (uq struct-def)))
      (q (uq name)))))

On Wed, Sep 07, 2016 at 10:15:26AM -0700, Fabio Krapohl wrote:

A macro like this should work, but I didn't test it:
(def struct (macro extern (struct-def)
(let ((name \ (make-gensym-var)))
(qq do
(def (uq name)
(struct intern (uq struct-def)))
(q (uq name)))))

Some additional work would be required to properly support anonymous
structs appearing within other structs, and it doesn't seem like a
feature that would be used so often that it should go into the core
language.  Are there use cases other than the embedding of one struct
within another?

I thought about implementing some closure-like objects, which could be implemented as structs, whose type depends on the number and type of arguments inside the function it is called from, (the captured variables)
Some tuple type may also be done by a macro returning an anonymous struct.
Maybe both can also be done using concepts instead


Active & accepting PRs for Hacktoberfest 2021?

@kriadmin  @Chalarangelo
This is a great consolidated repo and I'd like to do some genuine contribution to it during hacktoberfest 2021. Is it open to accept
and review PRs?

Hi there! 👋
Due to the large amounts of spam in previous iterations of Hacktoberfest, the 30 seconds of code organization will not be officially participating in the event this year. This means we will not be adding the hacktoberfest label to any of our repositories, nor will we encourage new contributors to submit PRs over the next month.
Valid, high-quality contributions during that time will be processed as usual, based on maintainers' availability instead of rushing through them to accommodate the event. If a new contributor wants their PRs to count for Hacktoberfest, they should tag either me or @Trinityyi in the PR description and specifically state they would like it reviewed as part of the event, so we can add the hacktoberfest-accepted label when we review it. Standard contribution guidelines also apply, so make sure you follow them correctly. Bear in mind that if the volume of PRs is too high, we might not be able to get around to reviewing them all, so following these guidelines will help us prioritize them as best we can.
Lastly, please understand that the organization not participating in event is by no means a discouragement to contribute new content. It is, however, a way to discourage spam and unnecessary overhead for both maintainers and contributors that would in turn harm our community. Last year we had to deal with too many problematic contributions and we even had to put repositories on cooldown to deal with the amount of spam and low-quality content we received. We feel that this is not representative of who we are and that our resources are best spent on people who actually want to contribute something meaningful. Shall they want to participate in Hacktoberfest as well, we will of course reward their contribution.
Regards,
The 30 seconds of code team

@Chalarangelo
Thanks for the clarification.


Update scenario-bgp-peering-hub.md

Updating text 1

@prmitiki : Thanks for your contribution! The author(s) have been notified to review your proposed change.

There is a merge conflict with this one. I'll take it as a doc bug and update accordingly. Thanks! #please-close


Create LICENSE

Add MIT License
Just listed "multi-poly-cats contributors" but we could put our names if you see fit

LGTM. Merge it in after confirming that @GenericMonkey agrees to it


Does it support real-time microphone acquisition and output?

[MediaPlayer.Avalonia.Bass]
I would like to know if it can achieve real-time microphone acquisition and output, rather than just playing MP3 files.
Thank you.

MediaPlayerUI is designed to be generic allowing for any custom implementation. One custom implementation I did was to preview VapourSynth video scripts.
With that in mind, you can create your own MediaPlayerHost for your needs.
BASS library is extremely flexible. As to whether it support your needs (which probably does, but there's a steep learning curve), look over to their website and community
https://www.un4seen.com


Right way to use components ...

I have a service oriented project where I am creating and registering services to the main app as blueprints.
I am facing an issue with component usage. I am trying to create a db component and have registered it with the main app. How do i access this component in my blueprints? Tried using the vibora.context -> get_component() method which did not work.

The actual vibora release isn't ready for production. Please wait until the next release. There will be many bugs fixed and have a more clear documentation.


Remove refs to ‘window’ from global scope

Fixes #41 (I hope..)
This was an issue for people using server-side rendering, where simply
importing a file will break when there are references to window at the
root level of a file.

Tested locally and it works!
Thanks, looking forward to having this merged


Create one broker deadletter exchange policy

Changes

:gift: when broker has deadletter configured, broker will create a policy to match all trigger queues
broker deadletter exchange policy is created with a priority lower than the trigger dlx policy, so trigger dlx could be later
updated successfully
trigger queues prefix is updated to t.q. instead of t., so regex matching could distinguish with trigger dead letter queue, which has prefix t.
this will reduce the number of policies created

/kind enhancement
closes: #646

/retest

/retest

/hold

Why the hold?

@gab-satchi @gabo1208 Are we ok to merge this?

/hold cancel
thanks for the changes Chunyi


Implement global and namespace(d) function declaration

Addresses #517
This is not intended to allow bypassing the OOP pattern, but to aid creating helper functions:
For example if you use PHP Code and want to define an
language helper l($str)
to return the localized version of a string.
This is  - for example - incredibly useful for the usage in templates.

Sure you could also use a normal Method like App::l($str)
which is really annoying to type every time.

or workaround by using PHP to define something like
function l($str) { return App::l($str); }

But a native implementation as addition to zephir's
useability is much more comfortable, because you can just declare the helper within
zephir.

Awesome :+1:

@ovr
what do you mean?
If you declare a function before the namespace declaration,
it will be declared as global.
If you declare it after the namespace declaration,
it will be declared in said namespace
I think the test cases I Added explain it pretty good:
https://github.com/steffengy/zephir/blob/08ccaf120d2cdc0d5953b9d8788127615f0fbadc/test/fcall.zep#l7-17
https://github.com/steffengy/zephir/blob/08ccaf120d2cdc0d5953b9d8788127615f0fbadc/unit-tests/Extension/FcallTest.php#l56-57

@steffengy
Thank for answer

@ovr
No problem :)
Unfortunately, It will hopefully not take very much time to get this reviewed and (hopefully) merged.

@steffengy
kk, I will review it ASAP
Will merge this with
#765
#751
and release 0.6

@ovr
Sounds good :)

Thank you

@steffengy can I add checking if global function with this name exist before?

@mruz
Yeah I think currently it only checks that per-file.
I think for a namespace/global scope it's still missing (should be somewhere in Compiler)


[BUG] Dev guide wiki page 'import data' command needs to be updated

On https://github.com/AdamKyle/flare/wiki/Planes-of-Tlessa-Development-Documentation#commands-to-run, it says to run the following command to load in maps, game races, etc.:
php artisan import:data
This should be updated to:
php artisan import:game-data
Thanks!

It doesn't look like I can do a pull request on wiki pages or I'd submit that way.

Thank you, this has been fixed.