profile
viewpoint
Maor Friedman maorfr Red Hat Israel https://twitter.com/maorfr Senior Software Engineer, Site Reliability Engineering

helm/charts 11763

Curated applications for Kubernetes

maorfr/helm-backup 28

Helm plugin which performs backup/restore of releases in a namespace to/from a file

maorfr/helm-inject 16

Inject additional configurations during Helm upgrade

maorfr/helm-logs 6

Helm plugin to view logs of changed Helm releases

maorfr/git-url 3

Print URL to a file in git

maorfr/cain 2

Backup and restore tool for Cassandra on Kubernetes

app-sre/csnotify 1

Cloud stotage notifications for Go

app-sre/s3-reload 1

Simple binary to trigger a reload when an object in an S3 bucket is updated

app-sre/vault-manager 1

an automation tool for managing HashiCorp vault configurations based on Vault GO API Client

push eventapp-sre/saas-app-interface

Maor Friedman

commit sha 45f87cf0edab45b032413f0d5ba71eb62d7f1b25

promote 3e797858caa53c7bbddcdcb8a43952daef9b9f9a (#201)

view details

push time in 20 minutes

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha 3e797858caa53c7bbddcdcb8a43952daef9b9f9a

[openshift-resources] check namespaces exists before apply (#462)

view details

push time in 22 minutes

PR merged app-sre/qontract-reconcile

[openshift-resources] check namespaces exists before apply

to avoid revealing secrets so easily. also re-enabled logging to slack.

+87 -3

1 comment

3 changed files

maorfr

pr closed time in 22 minutes

pull request commentapp-sre/qontract-reconcile

[openshift-resources] check namespaces exists before apply

/retest

maorfr

comment created time in 22 minutes

PR opened app-sre/qontract-reconcile

[openshift-resources] check namespaces exists before apply

to avoid revealing secrets so easily. also re-enabled logging to slack.

+87 -3

0 comment

3 changed files

pr created time in 24 minutes

create barnchmaorfr/qontract-reconcile

branch : check-ns-before-apply

created branch time in 25 minutes

push eventapp-sre/saas-app-interface

Maor Friedman

commit sha b0d197220af47fece34cef89cde08e2578873cbf

promote 8303cad6cbd7619bfb50daefa7eb6089c6556295 (#200)

view details

push time in 27 minutes

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha 8303cad6cbd7619bfb50daefa7eb6089c6556295

bump resources for openshift-namespaces and openshift-clusterrolebindings (#461)

view details

push time in 42 minutes

create barnchmaorfr/qontract-reconcile

branch : limits2

created branch time in 43 minutes

push eventapp-sre/saas-app-interface

app-sre-bot

commit sha 57641729a9e2e8dedf91871c9f300345fbe74ad3

promote 56d202a5b7bb1a7469a03e641b5b3343473a3bbf (#199)

view details

push time in an hour

push eventopenshiftio/saasherder

Maor Friedman

commit sha e574bb548c205643750e0e7dc715947d8a01e4e4

[check_image.py] skopeo inspect retry (#117) * check_image.py skopeo inspect retry * simplify retry logic * fix indentation

view details

push time in an hour

PR merged openshiftio/saasherder

[check_image.py] skopeo inspect retry

covers https://issues.redhat.com/browse/APPSRE-1426

This PR does:

  1. simplifies the skopeo_inspect command - no use of trying once with auth and once without when we can determine that based on the skopeo environment variables.
  2. adds retries to skopeo inspect to handle rate limit or any other error. currently set to 5 attempts, we can extract that to an argument later if we like.
+21 -19

1 comment

1 changed file

maorfr

pr closed time in an hour

pull request commentopenshiftio/saasherder

[check_image.py] skopeo inspect retry

[test]

maorfr

comment created time in 2 hours

push eventmaorfr/saasherder

Maor Friedman

commit sha 0f8b06451f655e9e9276714a9b2c374b37f784aa

fix indentation

view details

push time in 2 hours

push eventmaorfr/saasherder

Maor Friedman

commit sha 5b31300d2c5db57fc0d7bfed4909389ae58f91e8

simplify retry logic

view details

push time in 2 hours

PR opened openshiftio/saasherder

[check_image.py] skopeo inspect retry

covers https://issues.redhat.com/browse/APPSRE-1426

This PR does:

  1. simplifies the skopeo_inspect command - no use of trying once with auth and once without when we can determine that based on the skopeo environment variables.
  2. adds retries to skopeo inspect to handle rate limit or any other error. currently set to 5 attempts, we can extract that to an argument later if we like.
+24 -20

0 comment

1 changed file

pr created time in 2 hours

create barnchmaorfr/saasherder

branch : check-image-skopeo-inspect-retry

created branch time in 2 hours

PR closed app-sre/qontract-reconcile

Reviewers
[sentry-config] use org email instead of github email

This PR introduces a breaking change to the sentry-config integration - using a potentially different email for all existing users.

The org email is probably better to use. The only possible limitation is that the used email has to be identical to the one specified in GitHub, which I believe is not the case.

This PR also removes bots from the query, so bot users are no longer supported.

Another optimization is that we check that the team is a part of the same sentry instance before calculating the users.

+15 -28

1 comment

1 changed file

maorfr

pr closed time in a day

pull request commentapp-sre/qontract-reconcile

[sentry-config] use org email instead of github email

Can we add users without emails at all?

maorfr

comment created time in a day

PR opened app-sre/qontract-reconcile

Reviewers
[sentry-config] use org email instead of github email

This PR introduces a breaking change to the sentry-config integration - using a potentially different email for all existing users.

The org email is probably better to use. The only possible limitation is that the used email has to be identical to the one specified in GitHub, which I believe is not the case.

This PR also removes bots from the query, so bot users are no longer supported.

Another optimization is that we check that the team is a part of the same sentry instance before calculating the users.

+15 -28

0 comment

1 changed file

pr created time in a day

create barnchmaorfr/qontract-reconcile

branch : sentry-no-github-email

created branch time in a day

push eventapp-sre/saas-app-interface

app-sre-bot

commit sha 9f46a27cf92a24a35a1b2d811d04ff5777426a61

promote 57dac5520a64753b012605b03befb327b18392f4 (#198)

view details

push time in 3 days

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha 57dac5520a64753b012605b03befb327b18392f4

openshift-resources remove logs (#458)

view details

push time in 3 days

create barnchmaorfr/qontract-reconcile

branch : resources-logs

created branch time in 3 days

push eventapp-sre/saas-app-interface

app-sre-bot

commit sha 75b6fe9bdf60868419540ff27675c1961c027b56

promote e07b0dcf6496d6a7eabdf05afca89c703ab37fda (#195)

view details

push time in 4 days

delete branch app-sre/saas-app-interface

delete branch : promote-55e98ebab2d0cc989ea7ae71235035c42b0d4cf6

delete time in 4 days

delete branch app-sre/saas-app-interface

delete branch : promote-f15adebb8faee7303f4ac89e21fd5e209a6ff000

delete time in 4 days

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha e07b0dcf6496d6a7eabdf05afca89c703ab37fda

bump openshift-groups resources (#456)

view details

push time in 4 days

push eventmaorfr/qontract-reconcile

Maor Friedman

commit sha 20247e82558af94ef46ca19d29358f84a6eb6dde

generate template

view details

push time in 4 days

create barnchmaorfr/qontract-reconcile

branch : groups-limits

created branch time in 4 days

created tagmaorfr/helm-plugin-utils

tag0.2.0

Utility functions for use within Helm plugins

created time in 4 days

push eventmaorfr/helm-plugin-utils

Martin Hickey

commit sha f080082fbcd29bb72079a6a42882519836de4c32

Add support for list of kubeconfig files The KUBECONFIG environment variable can hold a list of kubeconfig files. This PR adds the support to the utility. Signed-off-by: Martin Hickey <martin.hickey@ie.ibm.com>

view details

Maor Friedman

commit sha 46a47fc1844fb7f329cef2893033e4f2bdbefd0a

Merge pull request #3 from hickeyma/fix/add-multifile-kubeconfig fix(utils): Add support for list of kubeconfig files

view details

push time in 4 days

PR merged maorfr/helm-plugin-utils

fix(utils): Add support for list of kubeconfig files

The KUBECONFIG environment variable can hold a list of kubeconfig files. The utility however can handle a single file only in the variable. This adds support for a list of files.

Closes #1

+17 -6

0 comment

1 changed file

hickeyma

pr closed time in 4 days

issue closedmaorfr/helm-plugin-utils

Multipath KUBCONFIG env variable is not supported

https://github.com/maorfr/helm-plugin-utils/blob/588190cb5e3b7a83ff958dcd55e4990429b4845a/pkg/utils.go#L176

Hello, I use Multiple path in my KUBECONFIG env var as explaind in the doc

However the plugin try to "stat" the config file and fail as it expect a single file:

2019/01/17 13:00:55 getting tiller storage
2019/01/17 13:00:55 stat /home/ggenot/.kube/config-1:/home/ggenot/.kube/config-2:/home/ggenot/.kube/config-3:: no such file or directory
Error: plugin "backup" exited with error

Note that I redacted config name ;)

closed time in 4 days

ggenot

pull request commentobservatorium/configuration

Consume authorize_url from Secret

I can update only telemeter manually. How is the hash calculated?

maorfr

comment created time in 5 days

issue commentmaorfr/helm-plugin-utils

Multipath KUBCONFIG env variable is not supported

of course @hickeyma, thank yoU!

ggenot

comment created time in 5 days

pull request commenthelm/charts

[stable/nfs-server-provisioner]Update image

/lgtm

naseemkullah

comment created time in 5 days

push eventopenshiftio/openshiftio-cico-jobs

Maxim Musienko

commit sha fbe23b9d280bf83fa38ead14ff4e5429500e880d

fix typo in the wrappers object (#1116)

view details

push time in 5 days

pull request commentobservatorium/configuration

Consume authorize_url from Secret

wondering what i'm doing wrong @metalmatze

maorfr

comment created time in 6 days

push eventapp-sre/aws-resource-exporter

Maor Friedman

commit sha 585b602736085d4c1ca2118ca0f56112321f2940

empty commit

view details

push time in 6 days

push eventapp-sre/online-registration-exporter

Maor Friedman

commit sha d627ada1d266b816bea37d9ca3f99be503b3fe1b

fix servicemonitor interval indentation

view details

Maor Friedman

commit sha fb8ccfdd3246a58d3cc62ff70a3b4cfde75ec4e1

Merge pull request #4 from maorfr/fix-sm-again fix servicemonitor interval indentation

view details

push time in 6 days

create barnchmaorfr/online-registration-exporter

branch : fix-sm-again

created branch time in 6 days

push eventapp-sre/online-registration-exporter

Maor Friedman

commit sha 4ada9984aef4a1ba2fb731f3018cbef95d67f61d

fix ServiceMonitor

view details

Maor Friedman

commit sha e6c97ff5dd574b00505d34c802568ab805738e47

Merge pull request #3 from maorfr/fix-servicemonitor fix ServiceMonitor in template

view details

push time in 6 days

create barnchmaorfr/online-registration-exporter

branch : fix-servicemonitor

created branch time in 6 days

fork maorfr/online-registration-exporter

Prometheus exporter for OpenShift Online Registration app

fork in 6 days

pull request commenthelm/charts

[incubator/cassandra] Update image

/lgtm

naseemkullah

comment created time in 6 days

push eventAlpherJang/charts

Maor Friedman

commit sha 1ab96be73a3c8576bfdd90eb80c5bd982c492844

bump to 1.0.0 Signed-off-by: Maor Friedman <maor.friedman@redhat.com>

view details

push time in 6 days

pull request commenthelm/charts

[stable/prometheus-postgres-exporter] Allow constantLabels argument to be passed

to me it feels it should be a map and not a list:

constantLabels:
  labelA: valueA
  labelB: valueB

wdyt?

dpetersen

comment created time in 6 days

delete branch app-sre/saas-app-interface

delete branch : promote-9660766f69d4acd7ec496f8e8ed3d7b5e32d1a7b

delete time in 7 days

delete branch app-sre/saas-app-interface

delete branch : promote-1e2105f51c798d03b547170119830346b223900e

delete time in 7 days

delete branch app-sre/saas-app-interface

delete branch : promote-0ab8f85a6a92a472bde6d00d7eb514283d81b633

delete time in 7 days

delete branch app-sre/saas-app-interface

delete branch : promote-6930f488c44915432a2e2ae9322a7604e3269437

delete time in 7 days

delete branch app-sre/saas-app-interface

delete branch : promote-ca038eb26674f9c54dd8b3832a65bb544ca933a7

delete time in 7 days

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha ca038eb26674f9c54dd8b3832a65bb544ca933a7

app-interface-reporter touchups (#442)

view details

push time in 7 days

PR merged app-sre/qontract-reconcile

Reviewers
[app-interface-reporter] touchups

this PR changes:

  • each report name (<app> -> <app>-<date>)
  • the title of the email (isodate -> short date)
+3 -2

0 comment

2 changed files

maorfr

pr closed time in 7 days

push eventmaorfr/qontract-reconcile

Maor Friedman

commit sha 6930f488c44915432a2e2ae9322a7604e3269437

this is fine (#453)

view details

Maor Friedman

commit sha 2c13a6c64ade78a663bc8ee086f6a7294cab8878

Merge branch 'master' into report-name-fix

view details

push time in 7 days

issue closedopenshiftio/saasherder

Feature: code delta metrics in SaaS changes report

It may be interesting to represent in a succinct way, change deltas in the SaaS changes report. I may commit 20 commits but only end up changing 3 lines on one file, but these 20 commits may seem like a lot of churn. It might be nice to reference a summary of metrics for each repo, such as:

  • Total files modified
  • Total lines +added, -removed, *changed(?)

As a bonus, if we expand these metrics to be represented through a small time series graph we can then also provide context around day-to-day or report-to-report change activity.

This data may be already available from GitHub's report/api interfaces.

Ex: (insights -> code frequency) image

closed time in 7 days

mmclanerh

issue commentopenshiftio/saasherder

Feature: code delta metrics in SaaS changes report

closing as stale

mmclanerh

comment created time in 7 days

issue commentopenshiftio/saasherder

Dynamically create diagram to show links of route->service->pod

closing as stale

jmelis

comment created time in 7 days

issue closedopenshiftio/saasherder

Integrate changelog with the rest of the eco system

PR #41 added a sub command called changelog to generate consolidated changelog for all the services that saashreder updated. This needs to be integrated with the rest of the system (a jenkins job maybe?) so that the information is presented wherever its needed.

closed time in 7 days

jaseemabid

issue commentopenshiftio/saasherder

Integrate changelog with the rest of the eco system

closing as stale

jaseemabid

comment created time in 7 days

push eventopenshiftio/saasherder

Maor Friedman

commit sha f13f7e035b7a17fd89b4c776e19954f826a96e67

fix boolean templating (#116)

view details

push time in 7 days

PR merged openshiftio/saasherder

fix boolean templating

fixes #115

+6 -0

0 comment

1 changed file

maorfr

pr closed time in 7 days

issue closedopenshiftio/saasherder

Boolean parameter values are not passed properly to `oc process`

Boolean parameter values are not properly passed to oc process.

If I have the following parameters specified in a saasherder service config:

paramters:
  SUSPEND_CRON: "true"

And the following template is used with a parameter that is interpolated as a non-string boolean parameter in the cronjob spec:

---
kind: Template
apiVersion: v1
metadata:
  name: bug-tester-template
  annotations:
    description: Test bug where booleans are being interpolated with quotes using non-string interpolation
labels:
  template: bug-tester-template
parameters:
  - name: SUSPEND_CRON
    description: "Suspend a cron job, requires boolean true/false"
    required: true
objects:
  - kind: CronJob
    apiVersion: batch/v1beta1
    metadata:
      name: bug-tester-cron
      labels:
        app: bug-tester-cron
    spec:
      suspend: ${{SUSPEND_CRON}}
      jobTemplate:
        spec:
          template:
            spec:
              containers:
              - name: bug-tester
                image: centos/centos
                command:
                - echo "cron ran"

Saasherder generates the oc process command similar to the following:

oc process --local --output yaml -f templates/bug-template.yml SUSPEND_CRON=True

Note that the value is True, not true as specified in the saasherder config.

The process command succeeds, but results in an invalid cron definition:

error: error validating "STDIN": error validating data: [ValidationError(CronJob.spec.suspend): invalid ValidationError(CronJob.spec.suspend): invalid type for io.k8s.api.batch.v1beta1.CronJobSpec.suspend: got "string", expected "boolean"]; if you choose to ignore these errors, turn validation off with --validate=false

The resulting suspend field in the cron object looks like:

"suspend": "True"

When running the same oc process command with SUSPEND_CRON=true rather than SUSPEND_CRON=True, the parameter is correctly recognized as a non-string parameter:

"suspend": true

closed time in 7 days

tiwillia

PR opened openshiftio/saasherder

fix boolean templating

fixes #115

+6 -0

0 comment

1 changed file

pr created time in 7 days

create barnchmaorfr/saasherder

branch : fix-python-bool

created branch time in 7 days

push eventmaorfr/configuration

Maor Friedman

commit sha bf26342b78c9d02eff594b7fbc52477f47fb670b

jb update

view details

push time in 7 days

push eventmaorfr/configuration

Lucas Servén Marín

commit sha 0c10bf7be8d075d7069423d225aeb6ce1073b54f

environemnt/kubernetes: replicate received data This commit enables replication of all received data. It ensures that all hashrings with more than 3 replicas will have a replication factor of 3. Signed-off-by: Lucas Servén Marín <lserven@gmail.com>

view details

Lucas Servén Marín

commit sha 34b5d8568f874c5f5c17bd39f3f4c840e4706dd2

Merge pull request #119 from squat/replicatereceivedata environment/kubernetes: replicate received data

view details

Matthias Loibl

commit sha 22269700181519b708506b60977d9e316cf9ac6b

Add PrometheusRules to Kubernetes manifests and Openshift templates (#144) * Move PrometheusRules to our manifests * Generate OpenShift templates with new PrometheusRule in templates * Fix Openshift thanos-template with objects being an array now * Remove namespace from thanos-receive selector * Filter Thanos Sidecar rules to not include them

view details

Matthias Loibl

commit sha b4f43650b4a8034c1160cf5ec918dc591e5f396f

Update kube-thanos to get anti-affinity for queriers and receivers

view details

Matthias Loibl

commit sha 8a02745fda7c29d47be4faa6af9cd517b99af3aa

Merge pull request #151 from metalmatze/anti-affinity Update kube-thanos to get anti-affinity for queriers and receivers

view details

Kemal Akkoyun

commit sha 7c754cac858eab81da30bc72564fdf0da609dc80

Add Thanos Ruler service monitor (#150) * Add Thanos Ruler service monior, refactor others to use templating * Fix removed label * Make environment and namespace parametric * Remove environment

view details

Matthias Loibl

commit sha 4fd9ea210331c095a95b22d1eb8d89ccbf8a3fd1

Add replica-label=ruler_replica to querier for dedup

view details

Matthias Loibl

commit sha 87d15f22b2b0163d69bc1d63be78884ebfb2ca93

Merge pull request #152 from metalmatze/ruler_replica Add replica-label=ruler_replica to querier for dedup

view details

Kemal Akkoyun

commit sha a479fdb756dba23887c7259e99252e28e9a6eff0

Add observatorium api resources

view details

Kemal Akkoyun

commit sha a4bdeaf5e4c4d3a34023589ba2dbbf7744b00457

Add observatorium api openshift resources

view details

Kemal Akkoyun

commit sha bc6e17dfcf84a293814ad316f755368d875419af

Add observatorium api service monitor

view details

Kemal Akkoyun

commit sha f9354721b8744620e8b0607609c1b063e3d5c636

Separate observatorium-api template

view details

Kemal Akkoyun

commit sha 3997e4d8e829b40eedea6b2eefbddb6384c4a4d1

Separate concerns more clearly

view details

Lucas Servén Marín

commit sha ac03e86f2c294007357c517609355522ed09c2d0

Merge pull request #153 from kakkoyun/obs_api_stage Add Observatorium API manifests

view details

Kemal Akkoyun

commit sha b3fd5e54862bdfdf55fe90496be5aad65c87c99c

Fix namespace issues with service DNS (#154) * Fix namespace issues with service DNS

view details

Kemal Akkoyun

commit sha b956c3ce899c59458f0a14c9b7473bef6a7f89b7

Add required image tag parameters (#155)

view details

Kemal Akkoyun

commit sha e35a47ade16adbb76d7f1c6d1e71e416ea87f247

Fix parameter conversion issue (#156) * Fix parameter conversion issue * Fix formatting

view details

Kemal Akkoyun

commit sha aeae6a8e9a8c117eba37e3863352dedf9d4755fb

Add proxy limits (#157)

view details

Matthias Loibl

commit sha 170d3553935bea9ae5504ad5cb50c21e92183953

Delete environments/sre/ We moved this folder to an internal repo as it's just overwrites we don't care about here. Eventually it would be nice to be able to use the upstream rules too...

view details

Matthias Loibl

commit sha d3a77e32712f8f457dc0562bba9ef629d9f8a6cd

Merge pull request #159 from metalmatze/delete-environments-sre Delete environments/sre/

view details

push time in 7 days

issue commentopenshiftio/saasherder

Boolean parameter values are not passed properly to `oc process`

We need to add a check here: https://github.com/openshiftio/saasherder/blob/master/saasherder/saasherder.py#L347

Something super simple, like:

if val is True:
    val ='true'
elif val is False:
    val = 'false'

I'll fix this.

tiwillia

comment created time in 8 days

push eventapp-sre/saas-app-interface

app-sre-bot

commit sha dc9d578b28e40c03da7727a6e79d8aa0ce5d2b37

promote 6930f488c44915432a2e2ae9322a7604e3269437 (#192)

view details

push time in 9 days

push eventapp-sre/qontract-reconcile

Maor Friedman

commit sha 6930f488c44915432a2e2ae9322a7604e3269437

this is fine (#453)

view details

push time in 9 days

PR merged app-sre/qontract-reconcile

This is fine

This message is displayed when the data on the server is changed. This happens after every merge to app-interface.

This is fine.

+1 -1

0 comment

1 changed file

maorfr

pr closed time in 9 days

PR opened app-sre/qontract-reconcile

This is fine

This message is displayed when the data on the server is changed. This happens after every merge to app-interface.

This is fine.

+1 -1

0 comment

1 changed file

pr created time in 9 days

create barnchmaorfr/qontract-reconcile

branch : this-is-fine

created branch time in 9 days

pull request commentopenshift/telemeter

Consume authorize_url from Secret

/test benchmark

maorfr

comment created time in 9 days

pull request commentopenshift/telemeter

Consume authorize_url from Secret

/test e2e-aws-upgrade

maorfr

comment created time in 10 days

pull request commentopenshift/telemeter

Consume authorize_url from Secret

/test benchmark

maorfr

comment created time in 10 days

more