profile
viewpoint
Ben Langfeld benlangfeld @powerhome Rio de Janeiro, Brasil langfeld.me

benlangfeld/asterisk-cookbook 14

Asterisk cookbook for Chef

benlangfeld/ahn-rails 11

Adhearsion helpers for Ruby on Rails

benlangfeld/brightbox-ruby-cookbook 11

Installs Brightbox Ruby packages via Chef

benlangfeld/CappuccinoTalk 8

A Jabber/XMPP client based on Cappuccino

adhearsion/virginia 7

A Reel interface to Adhearsion

alkaloid/gatekeeper 3

A door security system & badge reader in Elixir/Phoenix for RaspberryPi

benlangfeld/call-for-proposals 2

Want to submit a talk proposal for EuRuKo 2012? This is the place to be!

benlangfeld/celluloid 2

Concurrent object framework for Ruby inspired by Erlang and the Actor Model

benlangfeld/acts_as_immutable 1

An ActiveRecord plugin to enforce immutable attributes

issue commentjavan/whenever

ArgumentError: Couldn't parse: "1/1 * * *"

If you need it but don’t have enough time for it, I don’t think it’s reasonable to ask it of the maintainers of such a project. Maybe you have an intern or junior developer on your team who you can have do it, or you could always hire a contractor.

Snuff

comment created time in a day

pull request commentpowerhome/APP-Grafana-Dashboards

Adding in new grafana dashboard for 7.6.1 ES cluster

What is the old one for? Why can’t we replace it?

ryanmrodriguez

comment created time in 2 days

issue commentjavan/whenever

ArgumentError: Couldn't parse: "1/1 * * *"

Could you maybe take a shot at a PR to fix this? Remember to include tests and a changelog entry for approval.

Snuff

comment created time in 2 days

pull request commentpowerhome/cobra_commander

Speedup cobra

This appears to remove support for the cache, is that right? We should remove it from the interface and docs in that case, and make note of the backward incompatibility in the changelog.

xjunior

comment created time in 6 days

issue commentelastic/cloud-on-k8s

Set .status.observedGeneration

Yes, of course. If you check out the krane documentation I linked to you’ll see how that’s done. It’s easy and we’re ready to do it in our use case, but blocked on this requirement of the operator; that’s why I opened this feature request, not because I believe it’s the only requirement :)

benlangfeld

comment created time in 7 days

issue openedelastic/cloud-on-k8s

Set .status.observedGeneration

Proposal

In order for deployment tools like krane to deterministically monitor the rollout of custom resources, those resources must set .status.observedGeneration.

This is a feature request for exactly that in this operator, such that our automation may effectively monitor rollout.

created time in 7 days

CommitCommentEvent

pull request commentrenovatebot/renovate

feat(bundler): add lockfile maintenance

The documentation still states the following:

Supported lock files are package-lock.json, yarn.lock, composer.lock and poetry.lock. Others may be added via feature request.

bilby91

comment created time in 10 days

CommitCommentEvent

issue commentkubernetes-csi/external-snapshotter

Relation between VolumeSnapshotContent and VolumeSnapshot should be 1:many

@xing-yang @ashish-amarnath I don't think that workaround properly addresses the use case, and I think this should be re-opened. Conflicting deletion policies are a problem. If there were a 1:many mapping and a Delete deletionPolicy, the deletion of the VolumeSnapshotContent could be prevented until it is not bound to any other VolumeSnapshots. I don't think any workaround which does not address this is sufficient to satisfy the use-case.

ashish-amarnath

comment created time in 12 days

Pull request review commentpowerhome/shipit-engine

Allow provisioning handler to be configured via shipit.yml

 def provisioner     end      def provisioner_class-      ProvisioningHandler.for_stack(self)+      provisioning_handler_name.presence&.constantize ||

I think ActiveRecord::Inflector#safe_constantize sufficiently addresses the DoS type problem I'm concerned about, but I don't object to explicit registration either; indeed it makes the intent a little clearer, maybe allowing for some automated generation of documentation ("which provisioning routines does this instance provide?") later.

indiebrain

comment created time in 13 days

Pull request review commentpowerhome/shipit-engine

Allow provisioning handler to be configured via shipit.yml

+# Review Stacks++A Review Stack is a dynamically managed stack whose lifecycle is tied to a Github Pull Request.++# Enabling Review Stacks++Review stacks can be enabled via the shipit-engine Repository UI.++1. Visit the shipit-engine Repository UI - `https://host-application/repositories`+1. Click on the project's repository+1. Check "Dynamically provision stacks for Pull Requests?"+1. Select the "Provisioning Behavior" appropriate for your project - most likely "Allow All"+1. Click "Save"++# Configuring Review Stack behavior++shipit-engine support three distinct behaviors for determining which Pull Requests should be considered for Review Stack creation.++1. "Allow All" - shipit-engine will create a Review Stack for every new Pull Requests.+1. "Allow With Label" - when creating or updating a Pull Request, the user must add a label matching the `Shipit::Repository`'s "provisioning_label" attribute in order for shipit-engine to dynamically create/manage a Review Stack - an opt-in strategy.+1. "Prevent With Label" - when creating or updating a Pull Request, the user must add a label matching the `Shipit::Repository`'s "provisoining_label" attribute in order to **prevent** shipit-engine from dynamically creating/managing a Review Stack - an opt-out strategy.++# Provisioning and deprovisioning Review Stack environments++Review Stacks will need an environment into which they are deployed. For some this might be a Heroku instance, for others it might be a Kubernetes namespace, etc. shipit-engine allows the host application to define `ProvisioningHandler`s to define how Review Stacks should provisoin/deprovision their environments.++For example, imagine a repository which deploys to a Kubernetes cluster. The host application could register a Kubernetes provisioning handler to take care of creating / destroying kubernetes resources for a stack:++Define a provisioning Handler++```ruby+class KubernetesProvisioningHandler < Shipit::ProvisioningHandler::Base+  def up+    # allocate a namespace, copy resources, etc+  end++  def down+    # delete the namespace, etc.+  end+end+```++Register a default provisioning handler - IE how repositories which don't explicitly define a provisoining handler will be provisioned:++```ruby+Shipit::ProvisioningHandler.register(:default, KubernetesProvisioningHandler)+```++Or, define a provisionng handler for a specific repository:++```ruby+Shipit::ProvisioningHandler.register('powerhome/nitro-web', KubernetesProvisioningHandler)+```++Repository specific `ProvisioningHandler`s can also be configured in the project's `shipit.yml` by supplying the name of the provisioning handler supplied by the host application. For example:++```yaml+provision:+  handler_name: KubernetesProvisioningHandler++deploy:+  override: <deployment-script>+```++A default, no-op provisioning handler is provided when neither a repository level, nor host-application-default provisioning handler is provided.++The Provisioner for a give stack is discovered at runtime using the following order of precedence:++1. shipit.yml - `hanler_name:` value
1. shipit.yml - `handler_name:` value
indiebrain

comment created time in 13 days

Pull request review commentpowerhome/shipit-engine

Allow provisioning handler to be configured via shipit.yml

+# Review Stacks++A Review Stack is a dynamically managed stack whose lifecycle is tied to a Github Pull Request.++# Enabling Review Stacks++Review stacks can be enabled via the shipit-engine Repository UI.++1. Visit the shipit-engine Repository UI - `https://host-application/repositories`+1. Click on the project's repository+1. Check "Dynamically provision stacks for Pull Requests?"+1. Select the "Provisioning Behavior" appropriate for your project - most likely "Allow All"+1. Click "Save"++# Configuring Review Stack behavior++shipit-engine support three distinct behaviors for determining which Pull Requests should be considered for Review Stack creation.++1. "Allow All" - shipit-engine will create a Review Stack for every new Pull Requests.+1. "Allow With Label" - when creating or updating a Pull Request, the user must add a label matching the `Shipit::Repository`'s "provisioning_label" attribute in order for shipit-engine to dynamically create/manage a Review Stack - an opt-in strategy.+1. "Prevent With Label" - when creating or updating a Pull Request, the user must add a label matching the `Shipit::Repository`'s "provisoining_label" attribute in order to **prevent** shipit-engine from dynamically creating/managing a Review Stack - an opt-out strategy.++# Provisioning and deprovisioning Review Stack environments++Review Stacks will need an environment into which they are deployed. For some this might be a Heroku instance, for others it might be a Kubernetes namespace, etc. shipit-engine allows the host application to define `ProvisioningHandler`s to define how Review Stacks should provisoin/deprovision their environments.++For example, imagine a repository which deploys to a Kubernetes cluster. The host application could register a Kubernetes provisioning handler to take care of creating / destroying kubernetes resources for a stack:++Define a provisioning Handler++```ruby+class KubernetesProvisioningHandler < Shipit::ProvisioningHandler::Base+  def up+    # allocate a namespace, copy resources, etc+  end++  def down+    # delete the namespace, etc.+  end+end+```++Register a default provisioning handler - IE how repositories which don't explicitly define a provisoining handler will be provisioned:++```ruby+Shipit::ProvisioningHandler.register(:default, KubernetesProvisioningHandler)+```++Or, define a provisionng handler for a specific repository:++```ruby+Shipit::ProvisioningHandler.register('powerhome/nitro-web', KubernetesProvisioningHandler)+```++Repository specific `ProvisioningHandler`s can also be configured in the project's `shipit.yml` by supplying the name of the provisioning handler supplied by the host application. For example:++```yaml+provision:+  handler_name: KubernetesProvisioningHandler++deploy:+  override: <deployment-script>+```++A default, no-op provisioning handler is provided when neither a repository level, nor host-application-default provisioning handler is provided.++The Provisioner for a give stack is discovered at runtime using the following order of precedence:
The Provisioner for a given stack is discovered at runtime using the following order of precedence:
indiebrain

comment created time in 13 days

Pull request review commentpowerhome/shipit-engine

Allow provisioning handler to be configured via shipit.yml

 def provisioner     end      def provisioner_class-      ProvisioningHandler.for_stack(self)+      provisioning_handler_name.presence&.constantize ||

Any security concerns with this?

indiebrain

comment created time in 13 days

delete branch powerhome/cobra_commander

delete branch : renovate/configure

delete time in 14 days

PR merged powerhome/cobra_commander

Configure Renovate

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

:vertical_traffic_light: To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


Detected Package Files

  • Gemfile (bundler)

Configuration

:abcd: Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

What to Expect

It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away.


:question: Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


This PR has been generated by WhiteSource Renovate. View repository job log here.

+8 -0

0 comment

1 changed file

renovate[bot]

pr closed time in 14 days

push eventpowerhome/cobra_commander

Renovate Bot

commit sha 1a3d9ec183d936322f0a5fd1b5bbc7c6b488237f

Add renovate.json

view details

Ben Langfeld

commit sha f7ed406bd1a368d1e2c97921fbb1523d8b905298

Don't try to upgrade test fixtures

view details

Ben Langfeld

commit sha dc68d1729b82015f6389cebb8fdb00e587ee291f

Merge pull request #35 from powerhome/renovate/configure Configure Renovate

view details

push time in 14 days

push eventpowerhome/cobra_commander

Ben Langfeld

commit sha f7ed406bd1a368d1e2c97921fbb1523d8b905298

Don't try to upgrade test fixtures

view details

push time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

+# frozen_string_literal: true++require_relative "dependencies/yarn"+require_relative "dependencies/bundler"+require_relative "dependencies/multi_source"++module CobraCommander+  module Dependencies+    def self.context(root, components, yarn: false, bundler: false)+      sources = []+      sources << Yarn.build(root) unless bundler+      sources << Bundler.build(root, components) unless yarn+      MultiSource.new(sources)+    end

Surely you mean this?

    def self.context(root, components, yarn: true, bundler: true)
      sources = []
      sources << Yarn.build(root) if bundler
      sources << Bundler.build(root, components) if yarn
      MultiSource.new(sources)
    end
xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

+# frozen_string_literal: true++require "json"++module CobraCommander+  module Dependencies+    module Yarn+      class PackageJson+        attr_reader :path++        def initialize(path, name = nil)+          @path = path+          @name = name+        end++        def [](key)+          json[key]+        end++        def name+          @name || json["name"]+        end++        def dependencies+          @dependencies ||= json.fetch("dependencies", {}).map do |name, version|+            OpenStruct.new(name: name, version: version)+          end+        end++      private++        def json+          @json ||= JSON.parse(File.read(File.join(path, "package.json")))+        end+      end+    end+  end+end

Trailing newline :)

xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

+# frozen_string_literal: true++require_relative "dependencies/yarn"+require_relative "dependencies/bundler"+require_relative "dependencies/multi_source"++module CobraCommander+  module Dependencies+    def self.context(root, components, yarn: false, bundler: false)+      sources = []+      sources << Yarn.build(root) unless bundler+      sources << Bundler.build(root, components) unless yarn+      MultiSource.new(sources)+    end

Also, what about this?

    def self.context(root, components_directory = "components", yarn: false, bundler: false)
      sources = []
      sources << Yarn.build(root) unless bundler
      sources << Bundler.build(root, components_directory) unless yarn
      MultiSource.new(sources)
    end

I don't see alternative values for components_directory being used very often.

xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

 def do(command)     method_option :format, default: "tree", aliases: "-f", desc: "Format (list or tree, default: list)"     method_option :cache, default: nil, aliases: "-c", desc: CACHE_DESCRIPTION     def ls(app_path = nil)-      tree = maybe_cached_tree(app_path || options.app, options.cache)

Dropping support for the cache?

xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

 path "components" do   gem "a"   gem "d" end++path "../../.." do+  gem "cobra_commander"

What is this for?

xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

+# frozen_string_literal: true++require "open3"++require_relative "package_json"++module CobraCommander+  module Dependencies+    module Yarn+      # Calculates yarn js dependencies within an Yarn Workspace+      class Workspace < PackageJson+        def dependencies_of(component)+          component_spec = specs.find { |c| c.name.eql?(component) }+          return [] unless component_spec+          component_spec.dependencies.map(&:name).map(&method(:untag)) & component_names+        end++        def dependents_of(component)+          specs.find_all do |component_spec|+            component_spec.dependencies.map(&:name).include?(tag(component))+          end.map(&:name)+        end++        def component_names+          specs.map(&:name)+        end++      private++        def specs+          @specs ||= begin+            output, = Open3.capture2("yarn workspaces --json info", chdir: path)+            JSON.parse(JSON.parse(output)["data"]).map do |component, spec|+              PackageJson.new(File.join(path, spec["location"]), untag(component))+            end+          end+        end++        def project_tag+          name.match(%r{^(@[[:alpha:]]+\/)})&.[](0).to_s+        end++        def untag(component)+          component.gsub(project_tag, "")+        end++        def tag(component)+          [project_tag, component].join+        end+      end+    end+  end+end

Terminating newlines :)

xjunior

comment created time in 14 days

Pull request review commentpowerhome/cobra_commander

[WIP] Speedup cobra

   "license": "UNLICENSED",   "private": true,   "workspaces": [-    "components/h"+    "components/*"

What is this for?

xjunior

comment created time in 14 days

delete branch powerhome/shipit-engine

delete branch : expose-provisioning-lifecycle-hooks

delete time in 14 days

push eventpowerhome/shipit-engine

Aaron Kuehler

commit sha e99b97cf432d5b8e2cce121a5c52b41483d4c3c9

Expose provisioning lifecycle hooks (#35) * Expose provisioning lifecycle hooks In order to make the Review Stack concept more widely applicable, and therefore ready for integration upstream, we want to make the provisioning / deprovisioning of Review Stacks more general and extensible. The idea here is that the host application could supply its own (de)provisioning routines - either per-repository, or as a global default - which the stack will use when the appropriate transition event occurs. For example, imagine a repository which deploys to a Kubernetes cluster. The host application could register a Kubernetes provisioning handler to take care of creating / destroying kubernetes resources for a stack: - Define a provisioning Handler ```ruby class KubernetesProvisioningHandler < Shipit::ProvisioningHandler::Base def up # allocate a namespace, copy resources, etc end def down # delete the namespace, etc. end end ``` - Register a default provisioning handler - IE how repositories which don't explicitly define a provisoining handler will be provisioned: ```ruby Shipit::ProvisioningHandler.register(:default, KubernetesProvisioningHandler) ``` - Or, define a provisionng handler for a specific repository: ```ruby Shipit::ProvisioningHandler.register('powerhome/nitro-web', KubernetesProvisioningHandler) ``` A default, no-op provisioning handler is provided when neither a repository level, nor host-application-default provisioning handler is provided. * Simplify provisioning state machine Add events for provision succes / failure. Previously I modeled these as states/nouns. After attempting to integrate with the host application it _feels_ more appropriate in this moment to model them as events/verbs with the simplified de/provisioned nouns.

view details

push time in 14 days

PR merged powerhome/shipit-engine

Expose provisioning lifecycle hooks

In order to make the Review Stack concept more widely applicable, and therefore ready for integration upstream, we want to make the provisioning / deprovisioning of Review Stacks more general and extensible.

The idea here is that the host application could supply its own (de)provisioning routines - either per-repository, or as a global default - which the stack will use when the appropriate transition event occurs.

For example, imagine a repository which deploys to a Kubernetes cluster. The host application could register a Kubernetes provisioning handler to take care of creating / destroying kubernetes resources for a stack:

  • Define a provisioning Handler
class KubernetesProvisioningHandler < Shipit::ProvisioningHandler::Base
  def up
    # allocate a namespace, copy resources, etc
  end

  def down
    # delete the namespace, etc.
  end
end
  • Register a default provisioning handler - IE how repositories which don't explicitly define a provisoining handler will be provisioned:
Shipit::ProvisioningHandler.register(:default, KubernetesProvisioningHandler)
  • Or, define a provisionng handler for a specific repository:
Shipit::ProvisioningHandler.register('powerhome/nitro-web', KubernetesProvisioningHandler)

A default, no-op provisioning handler is provided when neither a repository level, nor host-application-default provisioning handler is provided.

+169 -93

3 comments

8 changed files

indiebrain

pr closed time in 14 days

push eventpowerhome/APP-Grafana-Dashboards

Ben Langfeld

commit sha 9672cd9ef6ae57050033edb6658585d903acbdaf

Correct filename

view details

push time in 14 days

delete branch powerhome/APP-Grafana-Dashboards

delete branch : benlangfeld-patch-1

delete time in 14 days

push eventpowerhome/APP-Grafana-Dashboards

Ben Langfeld

commit sha 97b873efa1d93c4fe1147f32f8df976260ee057d

Adds a cert-manager dashboard Displays cert expiry and some ACME stats

view details

Ben Langfeld

commit sha f256dc7d06a028ed5a1a501554fbfd4f8da3fdec

Some updates

view details

Ben Langfeld

commit sha c468ecb93130f9548cf1ea623365a6c1bf2ece67

Merge pull request #23 from powerhome/benlangfeld-patch-1 Adds a cert-manager dashboard

view details

push time in 14 days

PR merged powerhome/APP-Grafana-Dashboards

Adds a cert-manager dashboard

Displays cert expiry and some ACME stats

Screenshot 2020-06-25 at 17 58 06

+1281 -0

0 comment

1 changed file

benlangfeld

pr closed time in 14 days

push eventpowerhome/APP-Grafana-Dashboards

Ben Langfeld

commit sha f256dc7d06a028ed5a1a501554fbfd4f8da3fdec

Some updates

view details

push time in 14 days

PR opened powerhome/APP-Grafana-Dashboards

Adds a cert-manager dashboard

Displays cert expiry and some ACME stats

+1305 -0

0 comment

1 changed file

pr created time in 14 days

create barnchpowerhome/APP-Grafana-Dashboards

branch : benlangfeld-patch-1

created branch time in 14 days

pull request commentabonas/kubeclient

Support for server-side apply

@cben Do you know when this might make it into a release?

benlangfeld

comment created time in 15 days

pull request commentdeparturerb/departure

Active Record 5.2 support

Did this really drop support for Rails 5.1, or can it be backward compatible?

guilleiguaran

comment created time in 16 days

PR opened departurerb/departure

Reflect latest release in changelog
+2 -0

0 comment

1 changed file

pr created time in 17 days

push eventbenlangfeld/departure

Ben Langfeld

commit sha e84f045ed972e8250a03cd85bdd47b5f0491de4d

Reflect latest release in changelog

view details

push time in 17 days

fork benlangfeld/departure

Percona's pt-online-schema-change runner for ActiveRecord migrations.

fork in 17 days

CommitCommentEvent

pull request commentpowerhome/shipit-engine

Expose provisioning lifecycle hooks

@indiebrain No particular rush, I'm happy for it to be global downstream until we're settled with it and circle back to opt-in in repo configuration later.

indiebrain

comment created time in 17 days

pull request commentpowerhome/shipit-engine

Expose provisioning lifecycle hooks

@indiebrain Does it make sense to allow opting-in to a particular provisioning handler from the shipit.yml file in the repo?

indiebrain

comment created time in 17 days

issue commentrenovatebot/renovate

Pipenv not updating the `Pipfile.lock`

@rarkins Still broken for us: https://app.renovatebot.com/dashboard#github/powerhome/APP/192098447

Does it matter that the Pipfile/Pipfile.lock is in a sub-directory, not the repo root?

{16:04}~/code/APP:renovate/certifi-2020.x ✓ [2.7.0]
141 ↵ ➭ cd base_images/deployer/config_kube_context 
{16:04}~/code/APP/base_images/deployer/config_kube_context:renovate/certifi-2020.x ✓ [2.7.0]
➭ pipenv lock
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✔ Success! 
Updated Pipfile.lock (b0940f)!
{16:04}~/code/APP/base_images/deployer/config_kube_context:renovate/certifi-2020.x ✗ [2.7.0]
➭ git --no-pager diff
diff --git a/base_images/deployer/config_kube_context/Pipfile.lock b/base_images/deployer/config_kube_context/Pipfile.lock
index 7b37c78..a5f6468 100644
--- a/base_images/deployer/config_kube_context/Pipfile.lock
+++ b/base_images/deployer/config_kube_context/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "1cd5df330e8aea15c99b815c91359e11c4ad588d622853314c307b03be3cd756"
+            "sha256": "02e1704929c0e305b219ca0d555583ebd354cc13e93efe7fea04850eb3b0940f"
         },
         "pipfile-spec": 6,
         "requires": {
@@ -18,11 +18,11 @@
     "default": {
         "certifi": {
             "hashes": [
-                "sha256:5ad7e9a056d25ffa5082862e36f119f7f7cec6457fa07ee2f8c339814b80c9b1",
-                "sha256:9cd41137dc19af6a5e03b630eefe7d1f458d964d406342dd3edf625839b944cc"
+                "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3",
+                "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"
             ],
             "index": "pypi",
-            "version": "==2020.4.5.2"                                         +            "version": "==2020.6.20"
         },
         "chardet": {
             "hashes": [
@@ -50,8 +50,9 @@
         },
         "requests": {
             "hashes": [
-                "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee",
-                "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"
+                "sha256:5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4",
+                "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6",
+                "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee"
             ],
             "index": "pypi",
             "version": "==2.23.0"
rarkins

comment created time in 20 days

push eventpowerhome/kubed

Ben Langfeld

commit sha 21d8d304b78d2983a9a2675c999c59e03cb39e42

Eliminates unused arguments Signed-off-by: Ben Langfeld <blangfeld@powerhrg.com>

view details

push time in 20 days

push eventpowerhome/kubed

Ben Langfeld

commit sha c5339a18d55202a9f82d08eba41acefe7b3a58e9

Eliminates unused arguments

view details

push time in 20 days

push eventpowerhome/kubed

Ben Langfeld

commit sha 7290acac5505e43ab1d90a0094ec316b0475fc85

Appease linter Signed-off-by: Ben Langfeld <blangfeld@powerhrg.com>

view details

push time in 20 days

push eventpowerhome/kubed

Ben Langfeld

commit sha eaead70042ec397b3f961a34c179d79de47d7f43

Better logging of what sync actions happen Signed-off-by: Ben Langfeld <blangfeld@powerhrg.com>

view details

push time in 20 days

push eventpowerhome/kubed

Ben Langfeld

commit sha 6d83e72ca726605129e931fd29da68811c3d9c96

Log what we're going to delete

view details

push time in 20 days

PR opened appscode/kubed

Better logging of what sync actions happen
+27 -2

0 comment

3 changed files

pr created time in 20 days

pull request commentpowerhome/shipit-engine

[GOG-204] Override Plugins Temp Patch

This monkey patch should go in Milano, not shipit.

ryanmrodriguez

comment created time in 21 days

Pull request review commentpowerhome/shipit-engine

[GOG-204] Override Plugins Temp Patch

 def review_checks     end      def plugins-      config('plugins') || {}+      config('plugins') || ["failure-reasons"]

Why put this in shipit?

ryanmrodriguez

comment created time in 21 days

Pull request review commentpowerhome/shipit-engine

[GOG-204] Override Plugins Temp Patch

+const API_URL = '/api/failure_reasons/',

Why put this in shipit?

ryanmrodriguez

comment created time in 21 days

pull request commentabonas/kubeclient

Support for server-side apply

Thanks @cben . Is it possible to cut a release?

benlangfeld

comment created time in 22 days

delete branch powerhome/kubeclient

delete branch : server-side-apply

delete time in 22 days

push eventpowerhome/kubeclient

Ben Langfeld

commit sha 8e9faec617cbe73626a9443acf734b28987ae3a2

Mention that there are other keyword args here

view details

push time in 22 days

push eventpowerhome/kubeclient

Ben Langfeld

commit sha 986564fbdab5a7bd5b306cfd7ce3e36fc3c853c3

Correct example

view details

Ben Langfeld

commit sha 4641f0e6d87c5239f31bfd8ec751b612ba028143

Better explanation

view details

push time in 22 days

Pull request review commentabonas/kubeclient

Support for server-side apply

 def define_entity_methods         do |name, patch, namespace = nil|           patch_entity(entity.resource_name, name, patch, 'merge-patch', namespace)         end++        define_singleton_method("apply_#{entity.method_names[0]}") do |*args|+          apply_entity(entity.resource_name, *args)

actually suggests not using **opts in code that has to run on Ruby 2.6 or earlier. But the motivation seems to be a corner case with empty opts that won't happen here if field_manager: is mandatory? My head hurts thinking about this...

Indeed using **opts breaks:

ArgumentError: wrong number of arguments (given 1, expected 0)
    /Users/blangfeld/code/kubeclient/lib/kubeclient/common.rb:258:in `block (2 levels) in define_entity_methods'
    /Users/blangfeld/code/kubeclient/lib/kubeclient/common.rb:101:in `method_missing'

If we want true forward compatibility with 2.7/3, we need the ruby2_keywords gem, but I'm not sure if that works with procs or just methods.

Would it work to define the block with the actual params we expect?

I did that, but it was suggested to do otherwise. I'll do whatever you're willing to merge.

benlangfeld

comment created time in 22 days

pull request commentappscode/kubed

Fix annotation example for Synchronize ConfigMap section on inter-cluster Syncer

The inter-namespace sync docs are also broken, saying that one should annotate the destination namespace, when it's actually supposed to be a label.

hadrianbs

comment created time in 23 days

pull request commentabonas/kubeclient

Support for server-side apply

@grosser Feedback addressed.

benlangfeld

comment created time in 23 days

push eventpowerhome/kubeclient

Ben Langfeld

commit sha 03f2694a311251fd97150309f6a6b66ef4068e0b

Reference PR number in changelog

view details

push time in 23 days

push eventpowerhome/kubeclient

Ben Langfeld

commit sha 4ab40dfbb929dcab9d20d8b855b5fd3631f6f4c1

Keyword arguments for apply

view details

Ben Langfeld

commit sha 8a32fd3880646edcaa20c804114e648b721c357d

Shorter example

view details

push time in 23 days

Pull request review commentabonas/kubeclient

Support for server-side apply

 patched = client.patch_pod("docker-registry", {metadata: {annotations: {key: 'va  `patch_#{entity}` is called using a [strategic merge patch](https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#notes-on-the-strategic-merge-patch). `json_patch_#{entity}` and `merge_patch_#{entity}` are also available that use JSON patch and JSON merge patch, respectively. These strategies are useful for resources that do not support strategic merge patch, such as Custom Resources. Consult the [Kubernetes docs](https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment) for more information about the different patch strategies. +### Apply an entity+For example: `apply_pod`++Input parameters - resource (Kubeclient::Resource) representing the desired state of the resource, field_manager (String) to identify the system managing the state of the resource, force (Boolean) whether or not to override a field managed by someone else.++Example:++```ruby+service = Kubeclient::Resource.new+service.metadata = {}

I just stole a similar example from a few lines up for consistency, but yes, can do.

benlangfeld

comment created time in 23 days

issue commentabonas/kubeclient

Support for apply command

Abstract server-side apply support is in https://github.com/abonas/kubeclient/pull/448. I didn't address any more generic interface.

jhavero

comment created time in 24 days

create barnchpowerhome/kubeclient

branch : server-side-apply

created branch time in 24 days

PR opened abonas/kubeclient

Support for server-side apply

See https://kubernetes.io/docs/reference/using-api/api-concepts/#server-side-apply

Fixes https://github.com/abonas/kubeclient/issues/358

+84 -1

0 comment

4 changed files

pr created time in 24 days

issue commentjetstack/cert-manager

Support adding custom annotations to generated secret

I also need this. Is there a bounty for it?

michaelgeorgeattard

comment created time in a month

issue commentappscode/kubed

Kubed not deleting secrets when label removed from namesapce

I am also experiencing this.

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"20c265fef0741dd71a66480e35bd69f18351daea", GitTreeState:"clean", BuildDate:"2019-10-15T19:16:51Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.6", GitCommit:"d32e40e20d167e103faf894261614c5b45c44198", GitTreeState:"clean", BuildDate:"2020-05-20T13:08:34Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
wpbeckwith

comment created time in a month

issue commentdocker/for-mac

Support for sharing unix sockets

How exactly would an overlay network help in my case?

Your nginx instance would have interfaces on both the overlay and the external networks.

BouncyLlama

comment created time in a month

issue commentdocker/for-mac

Support for sharing unix sockets

@unilynx

Most people will only want unix sockets for ssh agent forwarding

Most, but certainly not all.

The main issue for my personal use case is that I don't want ports exposed on the host. Instead, I would like a container port to be exposed on a UNIX socket and then use nginx to forward that UNIX socket to a certain hostname:

  • app1.serveraddress.com

  • app2.serveraddress.com

  • app3.serveraddress.com

All these domains would point to the same computer and nginx would forward to a different UNIX socket based on the different hostname.

Exposing the 3 apps on ports - let's say - 7001, 7002 and 7003 and then doing some forwarding would mean that one would be able to access app1 from app2.serveraddress.com:7001, which isn't desirable.

You can use an overlay network for that, like Calico.

BouncyLlama

comment created time in a month

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

This has got petty and uncooperative. I’m done. Thank you for your suggestion.

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

Git is a dependency of this project in the same way that gcc or similar is a dependency of a C project. I don’t understand why that is controversial.

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

Why do you expect a build of source code to work in an environment that doesn’t include that code’s development dependencies? If you’re shipping a compiled C++ project, does that build container not include a compiler?

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

When run, it pulls all the files that you ship in the gem release and builds on top of it. Of course, it also pulls the gemspec with git in it :) This is why we need to patch it.

At what point do you execute the contents of the gemspec? Within gem2deb? What is the problem with the machine which executes gem2deb requiring git to be installed (which is included in the gem2deb documentation? You shouldn't have to specify git as a dependency of the resulting dpkg, which I agree would be onerous.

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

Hi,

I think you misunderstood what I said. You shouldn’t need a git dependency at runtime if you’re getting them gem from rubygems.org. If you’re pulling the source code then you’re doing it wrong.

I think I was not clear. I'll try to be more verbose :)

When I say I maintain this gem in Debian -- that means, I packaged it for apt repositories.

I know very well what this popular phrase means.

While doing so, I need to build it from source and run tests to make sure that everything's alright. I can't just pull it from anywhere. And while building it from source, I hit this obstacle where I needed to patch the usage of git altogether. I hope that makes sense now? :smile:

This project is distributed via rubygems.org. Your project is based on not liking Rubygems and choosing to instead use your own packaging and distribution format. You choose to behave as a developer of the project, rather than a consumer of it. Git is a development dependency of the project. You therefore require git. If you instead behave as a consumer, by fetching an official release of the project from rubygems.org, you don’t inherit the dependency on git.

Also, what I don't understand is why would you be not interested in using Dir.glob instead of git? Is there any particular reason?

Git is used here to ensure that only tracked files, and not temporary ones which may be generated as part of the build process or otherwise such as log files, are included in the released gem. A glob cannot ensure this.

(I've patched the same thing in multiple gems, none seem to have this problem and were happily merged. So I am curious to know if there's anything blocking you in doing so?)

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

Hi @benlangfeld,

The dependency on git should only be for packaging the gem, not using it.

That's right. I maintain whenever in Debian :)

And we need to patch out git to avoid an unnecessary dependency and it'd be very nice (and kind) if this could be updated here, in upstream itself :smile:

Hope this makes sense and could be merged :rocket:

I think you misunderstood what I said. You shouldn’t need a git dependency at runtime if you’re getting them gem from rubygems.org. If you’re pulling the source code then you’re doing it wrong.

utkarsh2102

comment created time in 2 months

pull request commentjavan/whenever

Use Dir.glob instead of git ls-files

The dependency on git should only be for packaging the gem, not using it.

utkarsh2102

comment created time in 2 months

issue commentShopify/shipit-engine

Feature Request: Notification on CD improvements

You can implement all of these in the application that you wrap Shipit in. That’s probably the best place due to the variety.

jayzalowitz

comment created time in 2 months

delete branch benlangfeld/shipit-engine

delete branch : patch-3

delete time in 2 months

push eventpowerhome/shipit-engine

Ben Langfeld

commit sha abd09af771ec3b15d05b2792133c173d79e51135

Corrects Rubocop lint violations

view details

push time in 2 months

push eventpowerhome/shipit-engine

Ben Langfeld

commit sha 87515cae60fd8e09c4f30313b57dcfc1cf04f747

Browser tab disambiguation Favicons tell you it's shipit. Browser tabs that all say "Shipit" are kinda useless.

view details

Darren Worrall

commit sha 15d2603a77bd63d1ecab649b80a0641aa11a3dea

Reload tasks when checking for concurrent execution

view details

Darren Worrall

commit sha f00709b297fa55c958f17e42348990d8876191cc

Merge pull request #1061 from Shopify/reload_task_association_checking_concurrency Reload tasks when checking for concurrent execution

view details

Ben Langfeld

commit sha 8a2526eca240dfbf8a5ad3e230e8de881b789e2a

Quiet clones for less scrolling A git clone's progress output can be very lengthy, resulting in hiding the interesting deployment output below much scrolling. This is not useful unless the clone encountered an error.

view details

Ben Langfeld

commit sha 76e67332140805f05cd628553986f4189b1eb0a3

Make test match

view details

Jean byroot Boussier

commit sha 478e3cb551221460e44242498e1d993be09fd736

Merge pull request #1060 from powerhome/benlangfeld-patch-1 Browser tab disambiguation

view details

Jean byroot Boussier

commit sha 9a13d556ff8a0c7050972204bfd6b39bd961d613

Merge pull request #1062 from benlangfeld/patch-2 Quiet clones for less scrolling

view details

Darren Worrall

commit sha 4e4d8bb6e622f3fb32f0368a4393215798a2c6a9

Revert "Reload tasks when checking for concurrent execution"

view details

Darren Worrall

commit sha ae2ef38c72c6a88d952756b66da4746120ae5d10

Merge pull request #1063 from Shopify/revert-1061-reload_task_association_checking_concurrency Revert "Reload tasks when checking for concurrent execution"

view details

Darren Worrall

commit sha 4d0fbb6997ed4c24899007bb3ed2c5ae531aa9b1

Store PR head ref sha when creating commits

view details

Darren Worrall

commit sha 8e34fb9917804cec64febd0fe610985cd0968f86

Merge pull request #1064 from Shopify/store-pr-head-ref-on-commits Store PR head ref sha when creating commits

view details

Darren Worrall

commit sha b0d01fc2e2fab543e74668429e7db5828d89c283

Don't query the GitHub API when creating PR CommitDeployments

view details

Darren Worrall

commit sha 7c5affca34928cdc266017acb6eea86bcacc4927

Merge pull request #1065 from Shopify/no-api-call-creating-commit-deployments Don't query the GitHub API when creating PR CommitDeployments

view details

Darren Worrall

commit sha cf494e2848ce65fd41296e0b75777eac9f9ac813

Bump rubocop, add rubocop-shopify

view details

Darren Worrall

commit sha dd5fb153d14be67c3ad12adc7a9c86b9c454bbc3

rubocop -a

view details

Darren Worrall

commit sha d5fa95d629ad999f7d88dfc123f62baf58273f5e

Style fixes

view details

Darren Worrall

commit sha 6fce3c06eeb99ef70e0a005e608638dedf35b058

Fix frozen string error

view details

Darren Worrall

commit sha 985a4b7ac92b1189cce00c9838f726cbf45787c0

Tweak regexp globals

view details

Darren Worrall

commit sha cc13dc58a3893cf286da79cc59811b3cf8579d14

Fix messed up indentation

view details

Darren Worrall

commit sha cb2f9e0bb8dc68fb64ff32453f1c4e8a98edf0ee

Tidier SameSiteCookieMiddleware

view details

push time in 2 months

PR opened Shopify/shipit-engine

Work Continuous Delivery jobs as deploys

These jobs may run checks similarly to PerformCommitChecksJob, which may require any access to special resources which are granted to deployment jobs; for example, our case involves making a Docker daemon available to deployment jobs so deployment routines can be executed in containers, and we don't provision this or the resources necessary for it on the nodes which work other queues.

+1 -1

0 comment

1 changed file

pr created time in 2 months

push eventbenlangfeld/shipit-engine

Ben Langfeld

commit sha fc419545867c5fbd1a0ca827927c85f597099768

Work Continuous Delivery jobs as deploys These jobs may run checks similarly to `PerformCommitChecksJob`, which may require any access to special resources which are granted to deployment jobs; for example, our case involves making a Docker daemon available to deployment jobs so deployment routines can be executed in containers, and we don't provision this or the resources necessary for it on the nodes which work other queues.

view details

push time in 2 months

issue commentarturictus/sidekiq_alive

Queue Priority / Ordering

This is also a problem if the worker is processing a number of long jobs equal to its maximum thread count; there will be no capacity left to process the health check jobs.

Indeed, if we combine the two issues, such that there is a backlog of long-running jobs when the worker process starts, it appears to start working those and fill up its capacity before the health check job is even queued, meaning that even setting a long TTL on the health check won't work because it will never be set healthy to then later expire.

zacheryph

comment created time in 2 months

push eventpowerhome/playbook

Ben Langfeld

commit sha 73d1e6695be0c5ce29429ad866b844f502213c30

Log only to stdout If we log to disk, every few days a pod will be evicted for excessive ephemeral storage usage.

view details

push time in 2 months

push eventpowerhome/playbook

Ryan Rodriguez

commit sha 62186b691d09389e7a3522ec7f327714e7fe3ad9

[GOG-162] Fix review environment configuration (#762)

view details

push time in 2 months

delete branch powerhome/playbook

delete branch : deploy-pr

delete time in 2 months

PR merged powerhome/playbook

[GOG-162] Pass the correct environment configs milano

Pass conditional environment files to krane

+5 -5

0 comment

4 changed files

ryanmrodriguez

pr closed time in 2 months

delete branch powerhome/playbook

delete branch : benlangfeld-patch-1

delete time in 2 months

PR closed powerhome/playbook

Reviewers
Test review environments milano
+1 -1

0 comment

1 changed file

benlangfeld

pr closed time in 2 months

push eventpowerhome/playbook

Ben Langfeld

commit sha 90b121699bf17a70f19c89fffc00fe700040fa7b

Deletes decrypted secrets file

view details

push time in 2 months

PR opened powerhome/playbook

Reviewers
Test review environments milano
+1 -1

0 comment

1 changed file

pr created time in 2 months

create barnchpowerhome/playbook

branch : benlangfeld-patch-1

created branch time in 2 months

push eventpowerhome/playbook

Ryan Rodriguez

commit sha 793296d8151686ed65572c9b9ae51e346529c785

Adding milano configuration for PR environments (#758)

view details

push time in 2 months

delete branch powerhome/playbook

delete branch : deploy-pr

delete time in 2 months

PR merged powerhome/playbook

[GOG-162] Adding Milano config to deploy PR environments

The goal is for Playbook PR's to deploy review instances.

+23 -0

0 comment

1 changed file

ryanmrodriguez

pr closed time in 2 months

delete branch benlangfeld/kubernetes-operator

delete branch : patch-2

delete time in 3 months

push eventbenlangfeld/shipit-engine

Ben Langfeld

commit sha 76e67332140805f05cd628553986f4189b1eb0a3

Make test match

view details

push time in 3 months

PR opened Shopify/shipit-engine

Quiet clones for less scrolling

A git clone's progress output can be very lengthy, resulting in hiding the interesting deployment output below much scrolling. This is not useful unless the clone encountered an error.

+1 -0

0 comment

1 changed file

pr created time in 3 months

push eventbenlangfeld/shipit-engine

Ben Langfeld

commit sha 8a2526eca240dfbf8a5ad3e230e8de881b789e2a

Quiet clones for less scrolling A git clone's progress output can be very lengthy, resulting in hiding the interesting deployment output below much scrolling. This is not useful unless the clone encountered an error.

view details

push time in 3 months

more