Skip to content

Commit 4a8ea8d

Browse files
authored
Merge branch 'main' into feat/scs-0004-w1
2 parents 16bef52 + 090ab00 commit 4a8ea8d

File tree

16 files changed

+413
-133
lines changed

16 files changed

+413
-133
lines changed

.github/scs-compliance-check/openstack/clouds.yaml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
clouds:
2-
gx-scs:
2+
scs2:
3+
auth_type: "v3applicationcredential"
34
auth:
4-
auth_url: https://api.gx-scs.sovereignit.cloud:5000
5-
username: "u500924-svc-standards"
6-
project_id: 3829cc7c8f034fc985f5055a1df6f247
7-
project_name: "p500924-scs-healthmonitor"
8-
user_domain_name: "d500924"
9-
region_name: "RegionOne"
5+
auth_url: https://scs2.api.pco.get-cloud.io:5000
6+
application_credential_id: "f8f301ccf04047589afac62665227edd"
7+
region_name: "scs2"
108
interface: "public"
119
identity_api_version: 3
1210
pco-prod1:
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
name: "Compliance IaaS v4 of gx-scs"
1+
name: "Compliance IaaS v4 of scs2"
22

33
on:
4-
# Trigger compliance check every day at 4:30 UTC
4+
# Trigger compliance check every day at 4:45 UTC
55
schedule:
6-
- cron: '30 4 * * *'
6+
- cron: '45 4 * * *'
77
# Trigger compliance check after Docker image has been built
88
workflow_run:
99
workflows: [Build and publish scs-compliance-check Docker image]
@@ -13,11 +13,11 @@ on:
1313
workflow_dispatch:
1414

1515
jobs:
16-
check-gx-scs:
17-
uses: ./.github/workflows/scs-compliance-check.yml
16+
check-scs2:
17+
uses: ./.github/workflows/scs-compliance-check-with-application-credential.yml
1818
with:
1919
version: v4
2020
layer: iaas
21-
cloud: "gx-scs"
22-
secret_name: "OS_PASSWORD_GXSCS"
21+
cloud: "scs2"
22+
secret_name: "OS_ACSECRET_SCS2"
2323
secrets: inherit
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
name: "Compliance IaaS v3 of gx-scs"
1+
name: "Compliance IaaS v5 of scs2"
22

33
on:
4-
# Trigger compliance check every day at 4:30 UTC
4+
# Trigger compliance check every day at 4:25 UTC
55
schedule:
6-
- cron: '30 4 * * *'
6+
- cron: '25 4 * * *'
77
# Trigger compliance check after Docker image has been built
88
workflow_run:
99
workflows: [Build and publish scs-compliance-check Docker image]
@@ -13,11 +13,11 @@ on:
1313
workflow_dispatch:
1414

1515
jobs:
16-
check-gx-scs:
17-
uses: ./.github/workflows/scs-compliance-check.yml
16+
check-scs2:
17+
uses: ./.github/workflows/scs-compliance-check-with-application-credential.yml
1818
with:
19-
version: v3
19+
version: v5
2020
layer: iaas
21-
cloud: "gx-scs"
22-
secret_name: "OS_PASSWORD_GXSCS"
21+
cloud: "scs2"
22+
secret_name: "OS_ACSECRET_SCS2"
2323
secrets: inherit

.zuul.d/config.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
- scs-check-all
99
periodic-hourly:
1010
jobs:
11-
- scs-check-gx-scs-main
11+
- scs-check-scs2-main
1212
post:
1313
jobs:
14-
- scs-check-gx-scs
14+
- scs-check-scs2
1515
check:
1616
jobs:
1717
- scs-check-adr-syntax
@@ -22,7 +22,7 @@
2222
pre-run: playbooks/pre.yaml
2323
run: playbooks/adr_syntax.yaml
2424
- job:
25-
name: scs-check-gx-scs
25+
name: scs-check-scs2
2626
parent: base
2727
secrets:
2828
- name: clouds_conf
@@ -35,11 +35,11 @@
3535
- playbooks/pre_cloud.yaml
3636
run: playbooks/compliance_check.yaml
3737
- job:
38-
name: scs-check-gx-scs-main
39-
parent: scs-check-gx-scs
38+
name: scs-check-scs2-main
39+
parent: scs-check-scs2
4040
branches: main
4141
- job:
4242
name: scs-check-all
43-
parent: scs-check-gx-scs-main
43+
parent: scs-check-scs2-main
4444
vars:
4545
preset: all

.zuul.d/secure.yaml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,6 @@
3535
JWvUvQl33JFC1jzIoQ7Rph6c660fRmz377jwjqx9/+bkHwLozGCP/9XrZVcizefEJM6jD
3636
eHRcpMpjuyFJLyNKnEF1lp58sfVQoJfVHTIvmzS9erVJhU/zjyeDFPsrLFweV7/5QzRvI
3737
lDiXrfj+X40EQvPrkSBJj/BIBYl+RuF8PfYnV4jqaQBwFNNBQoL/hGEotZa5h4=
38-
gx_scs_ac_id: !encrypted/pkcs1-oaep
39-
- uTdKdJXEzdx0pFAOAxR3054IdWqY1Hpjo/HQoNTJrXwT1yKFS2lkXk4LZWfVy2pnkk+I8
40-
T3vpvonxb8hwkZQLZRbauzLmuCrjWpM6u2Nu2aY6bppFkj26t/VZ2/ovFjWmKL2isd7qx
41-
iZPaVcniFLG/nEUeH3Jaq0dnGgoE1k8jRj+ke4tw8gy+KVVy51Ok9g1dq4AtTAtl04KkR
42-
Xcu9O2gFQaN6aikbbr5Nh4tJJAlbybSk0pbPD9e5Kj9aamls7rHLaJCzdh2BBAYfdBejp
43-
iuCcY15cauNiwYCAHVmnz+E0gDA4IfIH224Id8LrlO8xp5r0+hd1nWZw48jjk5ozZLIFv
44-
Ud7DsPoTKs8zhME7tIglbdzVFllc5L3IF5mSpvc5mKfvT8b4bNN5T7fOgpsUYyorpzE0G
45-
5oWNW5dG0YsK+6UkbUGIgHFHOBQbZ1qhthb+QQ7bvFUiMEft6Sbga1p1DXi6P++b8tsCQ
46-
L9e0LdDMqK5vWlbcM1xYbjqhuYYSHwPqqMrAYVc5/rlLIsXJEHEt8s/D4/0rX20VAE/Ii
47-
1CQMRyU7sgVQqaS9YPoVyGFdaL8FoVAbyageQxWSTjFVXZ4EUmrsncOcxAVrVmWOZmIZn
48-
wrZYNjAYSkHWnHIO2gFoC8QtnThb0i4htmRf1Nv2YGWWyUxA32JbIyliS2O57k=
49-
gx_scs_ac_secret: !encrypted/pkcs1-oaep
50-
- QmUbdGH6ZrkVaL7qV8P0lxKn/kvpEREmf8MffxWvQb+zeWs4y2O8A4TNl/tGRjmJzV7Vk
51-
tkte+bdazt7fG665WxKaUI8exkuLYCA3fPPp00/7CyhYDc24bWG/BH0ypEWpjfzInxv3Q
52-
waqjvC4O3tp2oNX9wIicrZuDVfdDywCHgkEdApQpjJZqe0VifjZ4/Arj3m4sCA9yCj3gW
53-
PUa8kDgGheYYqyIETAbKAskcUbRNUrKGkDZBMfYqXSuXLRDbjk4G2RZK74E56s7iZcW51
54-
FLBVFrdfU+EV/haAIkLPacQ05xbtsLJ9tUdmy4gjd2lzA7CQxtZ3Kf6p9lWXk/xvnHvdv
55-
SLvQPsWV1/6WeLaBq+m2ncajWrJW2WyltxEfUF4jYTroM1bw+b4OiYOhSwFDipzyYpTwY
56-
zxFSwfmhHvkwPdeinjK2s04XmDLBGjfYFGvGwMKpEIYC9/hoBNQcSV26k2CKIPMX2Wb+z
57-
TW7x5U3evZ22RResSQrIxZGt1xOvYFVw8KK8n243pL1tk0VtRtlEpNNVLbY7Zm8dUj9mU
58-
ogEUIbRB2NVl904YLtqD1u/jasBYsvdvB7HmcXQmh+8/lybh5ouBP2ZTdSNnPy2tZDTTB
59-
aqdJ+oJYtAwnm+e5fR8ddqvfcEW6eq8D7ouahjNYcbWT7K2ZjWlR2HxrqJJRxs=
6038
cc_rrze_ac_id: !encrypted/pkcs1-oaep
6139
- DUgJ7ozJOzJq1TSmBE6P8RGAW6C+s9LDRbW6mHIbAQlAX3+21d/KgoLk9zEyDdOanK1yd
6240
QaEZJDjURsIAcHJh7vh9w/2Z948XKDybxIOb1tcJGJU1LsEmYoNAQXM5G3+l8Z66Crpgw
@@ -321,3 +299,25 @@
321299
cYBWMsILDfv/7AR2lE+QTCxtL3gqPbjX5h0XlIXS/8p+xuA04pvSA6MWWCOuEUgQyt7i2
322300
6QnUC2DdYiVKGf54pBGuyilsBlH9Hmmcpa3UFrFQhGJjvZ1+M+8shFH3m238UYu72Q57q
323301
JZBtAU3zdwqDrDe5d/EfGSDE9FFLoMvColJpwLeY4zhP3XK6MrDnjwkMGMpsrE=
302+
scs2_ac_id: !encrypted/pkcs1-oaep
303+
- Y8BQv9PqamMnqL72LDSTxIE7qKQUz8pclYYZV2MhBbspuzBzs9/a3dMXyrOL1HyFacGZo
304+
IPYnTG7BnnQLup0iwNoL2DMmsut69c0nLXIId2+hmH2/inW9GmEN12zE70nSG1jhGqAm/
305+
V6q814Ef0O+bnvs8Abr06w2mWDAtbyZeAD7K7UzsQpz1SzyJKidRltQQNuI5cCpPCenkm
306+
5Co9q0df8E3JeLwOa96Y1Xb4bHXmh0sfDTsc2DNGOAE3+wWc2iYMYIvCqrIvYmTUJMX+z
307+
IqGJ3Ca1Py27xl7hOhlwFerJdTZTB1YZ61T5+RAbJ9LzNhP6hzQscArYLJHCMclxH7kI4
308+
SH778FfSPK7nJmkAK8T6D8uFLuJmw7aNhuUPcRTIWrvMic1Pe+y12OJa2mCF3ULiaj+Ct
309+
roCW3hPBVOwQPe1LsgoT2pUbhhA4Gej5vDeGSgcCqwFyZMK+9F4y6ueGeupYgaenSSNSA
310+
oDvjYvE7IAceBqpm06miDNIMHRiHOfKvS7GWmN64axgoFvL8PwpjHmufOg5tvDqAPhNPo
311+
ymNxEuQbPyXz6uEvqkIzXNqJD1Rso9lzDSpmuw0DGYiURINAlJ5+aIKd1I80E5jnYqWDi
312+
AzoVDdcc8rs5dSv5EVUNgHAZbhoGXCrDG4Rle3W7O7OjYRhujWfPvOsZpKshus=
313+
scs2_ac_secret: !encrypted/pkcs1-oaep
314+
- IKyt7UBMh6ByyMYriD1348U14YAeDyshpizDi+JFRKMUTHfGOMt8ymMwvSNjZNl0lDq05
315+
hj+5eihgASkXeKrDVqqB/UV1eB5romShC72AyoeenR33ydfXhpscAW6Ygsx1o1k49FDVa
316+
zc7xe4T6dEcGfuXCELUcC6bl7LiOh4lX8fKUie1liq5l3yonYGgKQ00kLMTd3NkEiIzan
317+
HJF6ezLq2AvJPHBeoa7x0yGUk6IwJGafL++kiYNUqbzYP1MG0JJyMbHP4svM/Fq/IiO6y
318+
HBoLT0zc3owQ3JUxysQ+jDCeltLvwdwEtl7T10+xtSYsOQnsoN+/KTqW3+jrFHEAI0xDc
319+
v3X81xZb9zW6aEQc75Upx0fnDOBHPnGBziHG+4m8YrIkMthJ812v0Xrwi1VH6sFac1lET
320+
dOvR0LsXw1t/N8T7JbmzsJ7TTluN32iegt9mZ0syXHJyNr6DuUs3P6iDoOlRUzv+UzIJP
321+
PHOVS1umROCJJi/5T78EA4ukDdFN/zdEktGauSDqUVRPASodV8Q3qvN6PgskPh1dQgxwB
322+
Po9R1405It3aQtBiXnT+38eKAd1nTJkaRlC03VgbeV+XrjMI1YsMQDAt+YhMKSfys1ZhB
323+
n6Dw+nc3Qi21G/CnY45rFUMLGTzevukKuHeiApf+eX4PdNQ1LPkUGrHdNnqkj8=
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: SCS GitHub Organization - Management of Inactive Users and Repositories
3+
type: Procedural
4+
status: Draft
5+
track: Global
6+
description: |
7+
SCS-0006 defines how the SCS GitHub organization identifies and handles inactive users and stale repositories.
8+
It ensures that only active contributors remain in the organization and that outdated repositories are archived to
9+
keep the environment organized and relevant.
10+
---
11+
12+
## Introduction
13+
14+
To keep the SCS GitHub organization active and well-maintained, we regularly review user activity and repository relevance.
15+
Inactive users are removed to ensure security and engagement, while outdated repositories are archived to keep the
16+
workspace clean and efficient. This document outlines the criteria for identifying inactivity and the steps taken to manage it.
17+
18+
## Definitions
19+
20+
### Inactive User
21+
22+
A member of the SCS GitHub organization who has not engaged in any of the following activities within the past **365** days:
23+
24+
- Creating or commenting on pull requests (PRs) or issues within SCS GitHub repositories.
25+
- Pushing commits to any repository within the organization.
26+
- Participating in code reviews or other interactions within the SCS GitHub organization.
27+
28+
**Exclusions:**
29+
30+
- Comments in mailing lists or Matrix discussions do not count as activities that grant GitHub rights.
31+
32+
### Stale Repository
33+
34+
A repository within the SCS GitHub organization that has not experienced any of the following activities for a continuous period of **365** days:
35+
36+
- Commits or code merges.
37+
- Issue creation or comments.
38+
- Pull request submissions or reviews.
39+
- Updates to documentation or other repository content.
40+
41+
**Exclusions:**
42+
43+
- Auto-generated PRs (e.g., Renovate, Dependabot) are ignored.
44+
- If no codeowners are left in the repository, it is considered stale.
45+
46+
A warning will be issued **30 days** ahead of reaching the 365-day inactivity mark.
47+
48+
## Procedures
49+
50+
### Identification of Inactive Users
51+
52+
On a monthly basis, organization owners will review user activity logs to identify members who meet the inactivity criteria.
53+
Identified inactive users will be flagged via a GitHub PR proposing their removal, mentioning their GitHub handle with a message:
54+
55+
> "Please get in touch with us within 30 days if you wish to remain part of the organization."
56+
57+
Additionally, if an email address is available (either from a public GitHub profile or the UCS/Nextcloud instance),
58+
a notification email will be sent.
59+
60+
### Management of Inactive Users
61+
62+
If a user remains inactive for an additional 30 days after the initial notification (totaling **365 days** of inactivity),
63+
they will be designated as dormant and removed from the SCS GitHub organization. Dormant users may request reactivation
64+
by contacting the organization owners and expressing their intent to contribute.
65+
66+
### Identification of Stale Repositories
67+
68+
On a monthly basis, organization owners will assess all repositories for activity levels. Repositories identified as stale
69+
(approaching 365 days of inactivity) will receive a warning **30 days** before being archived.
70+
71+
An issue will be opened in the repository, tagging the most active contributors and codeowners (defined via CODEOWNERS file).
72+
If no codeowners exist, organization owners will assess whether the repository is still relevant.
73+
74+
### Management of Stale Repositories
75+
76+
Maintainers of repositories deemed stale will be contacted to determine the repository's relevance and future plans.
77+
If maintainers confirm that the repository is no longer active or necessary, or if no response is received within 30 days
78+
(totaling **365 days** of inactivity), the repository will be archived. Archiving a repository makes it read-only,
79+
preserving its content for reference while indicating that it is no longer actively maintained.
80+
81+
## Conclusion
82+
83+
By systematically managing inactive users and stale repositories, the SCS GitHub organization ensures that its collaborative
84+
environment remains secure, efficient, and focused on active projects. This proactive approach fosters a culture of engagement
85+
and maintains the integrity and relevance of the organization's resources.

0 commit comments

Comments
 (0)