On Wed, Feb 26, 2020 at 06:33:30PM +0100, Michael Scherer wrote: > Hi, > > I have been asked to look at the build of the docsbuilding openshift app. However, I > am not a appowners and do not have access to anything. My understanding is that > either you are listed in appowners, and you can control the app, or you are not, > and you can do nothing. Not quite. If you are an appowner you can see things in the app, you still use ansible to manage the app. So, it's more r/o access. > > I would propose that we revise that policy, and let (as a opt-in since I guess opt-out would be too > radical) application be a bit more open. > > Since I tend to think that patch are clearer to express my intent than my words, a patch > that would be a first draft of what I would like to see being implemented is attached. > > I am still reading openshift docs on ressources, to see if I missed and/or opened too much. Well, this would basically make the apps readable/viewable for anyone with a fas account. Since we authentication to ipsilon... I'm -1 to that. Sometimes there's sensitive info in logs. kevin -- > > -- > Michael Scherer > From c831bb3f9cf79e6a517290a19db09934e7ee60d5 Mon Sep 17 00:00:00 2001 > From: Michael Scherer <misc@xxxxxxxx> > Date: Wed, 26 Feb 2020 16:52:11 +0100 > Subject: [PATCH] Add a is_public flag > > This permit a appowner to let external people see the build or the status > without having to have a FAS account, and/or be listed as a appowner. > --- > roles/openshift/project/defaults/main.yml | 1 + > roles/openshift/project/tasks/main.yml | 15 +++++++++++++ > roles/openshift/project/templates/appviewers.yml | 12 +++++++++++ > .../openshift/project/templates/role-appowners.yml | 2 +- > .../project/templates/role-appviewers.yml | 25 ++++++++++++++++++++++ > 5 files changed, 54 insertions(+), 1 deletion(-) > create mode 100644 roles/openshift/project/templates/appviewers.yml > create mode 100644 roles/openshift/project/templates/role-appviewers.yml > > diff --git a/roles/openshift/project/defaults/main.yml b/roles/openshift/project/defaults/main.yml > index 41916fd..80b08c4 100644 > --- a/roles/openshift/project/defaults/main.yml > +++ b/roles/openshift/project/defaults/main.yml > @@ -1,5 +1,6 @@ > --- > allow_fas_db: false > allow_phx2: true > +is_public: false > > egress_policy_template: "{{roles_path}}/openshift/project/templates/egresspolicy.yml" > diff --git a/roles/openshift/project/tasks/main.yml b/roles/openshift/project/tasks/main.yml > index 5a2c46c..320576d 100644 > --- a/roles/openshift/project/tasks/main.yml > +++ b/roles/openshift/project/tasks/main.yml > @@ -58,6 +58,21 @@ > objectname: appowners.yml > template_fullpath: "{{roles_path}}/openshift/project/templates/appowners.yml" > > +- name: role-appviewers.yml > + include_role: > + name: openshift/object > + vars: > + objectname: role-appviewers.yml > + template_fullpath: "{{roles_path}}/openshift/project/templates/role-appviewers.yml" > + > +- name: appviewers.yml > + include_role: > + name: openshift/object > + vars: > + objectname: appviewers.yml > + template_fullpath: "{{roles_path}}/openshift/project/templates/appviewers.yml" > + when: is_public > + > - name: ergresspolicy.yml > include_role: > name: openshift/object > diff --git a/roles/openshift/project/templates/appviewers.yml b/roles/openshift/project/templates/appviewers.yml > new file mode 100644 > index 0000000..8abbda5 > --- /dev/null > +++ b/roles/openshift/project/templates/appviewers.yml > @@ -0,0 +1,12 @@ > +apiVersion: v1 > +kind: RoleBinding > +metadata: > + namespace: "{{app}}" > + name: appviewers > +roleRef: > + name: appviewers > + namespace: "{{app}}" > +subjects: > +- kind: Group > + name: system:unauthenticated > + apiGroup: rbac.authorization.k8s.io > diff --git a/roles/openshift/project/templates/role-appowners.yml b/roles/openshift/project/templates/role-appowners.yml > index 3cb94c5..93cfa5b 100644 > --- a/roles/openshift/project/templates/role-appowners.yml > +++ b/roles/openshift/project/templates/role-appowners.yml > @@ -2,7 +2,7 @@ apiVersion: v1 > kind: Role > metadata: > annotations: > - openshift.io/description: An application owner. Can view everything but ConfigMaps. > + openshift.io/description: An application owner. Can view everything but ConfigMaps, and start build > name: appowner > namespace: "{{ app }}" > rules: > diff --git a/roles/openshift/project/templates/role-appviewers.yml b/roles/openshift/project/templates/role-appviewers.yml > new file mode 100644 > index 0000000..f189c34 > --- /dev/null > +++ b/roles/openshift/project/templates/role-appviewers.yml > @@ -0,0 +1,25 @@ > +apiVersion: v1 > +kind: Role > +metadata: > + annotations: > + openshift.io/description: An application viewer. Can view logs for everything. > + name: appviewer > + namespace: "{{ app }}" > +rules: > +- apiGroups: > + - "*" > + attributeRestrictions: null > + resources: > + - buildlogs > + - builds > + - builds/log > + - deploymentconfigs/log > + - deploymentconfigs/status > + - imagestreams/status > + - routes/status > + - pods/log > + - pods/status > +verbs: > + - get > + - list > + - watch > -- > 1.8.3.1 > > _______________________________________________ > infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx