Skip to content

Commit a7953ab

Browse files
committed
minor fixes for limited access cca-operator roles
1 parent 75d3888 commit a7953ab

3 files changed

Lines changed: 10 additions & 9 deletions

File tree

cca-operator/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ RUN apk update && apk add openssh-server openssh-sftp-server &&\
1616
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
1717

1818
COPY *.sh /cca-operator/
19+
COPY *.py /cca-operator/
20+
21+
RUN chmod +x /cca-operator/*.sh /cca-operator/*.py
1922

2023
WORKDIR /cca-operator
2124

cca-operator/add-server-authorized-key.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ mkdir -p /etc/ckan-cloud/cca-operator && chmod 700 /etc/ckan-cloud && chmod 700
1010
if [ -z "${CCA_OPERATOR_ROLE}" ]; then
1111
cat
1212
else
13-
echo 'command="export CCA_OPERATOR_ROLE='${CCA_OPERATOR_ROLE}'; ./cca-operator.py \"${SSH_ORIGINAL_COMMAND}\""' $(cat)
13+
echo 'command="export CCA_OPERATOR_ROLE='${CCA_OPERATOR_ROLE}'; ./cca-operator.sh ./cca-operator.py \"${SSH_ORIGINAL_COMMAND}\""' $(cat)
1414
fi >> /etc/ckan-cloud/cca-operator/sshd_authorized_keys
1515
[ "$?" != "0" ] && exit 1
1616

cca-operator/cca-operator.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,16 @@
55
CCA_OPERATOR_ROLE = os.environ['CCA_OPERATOR_ROLE']
66

77

8+
ADMIN_ROLES = ['', 'admin']
9+
CONTINUOUS_DEPLOYMENT_ROLES = ADMIN_ROLES + ['continuous-deployment']
10+
11+
812
def print_stderr(*args):
913
print(*args, file=sys.stderr)
1014

1115

12-
if sys.argv[1] == 'patch-deployment':
13-
namespace = sys.argv[2]
14-
deployment = sys.argv[3]
15-
container = sys.argv[4]
16-
values_file = sys.argv[5]
17-
backup_dir = sys.argv[6]
18-
image_attrib = sys.argv[7]
19-
image = sys.argv[7]
16+
if sys.argv[1].startswith('patch-deployment ') and CCA_OPERATOR_ROLE in CONTINUOUS_DEPLOYMENT_ROLES:
17+
_, namespace, deployment, container, values_file, backup_dir, image_attrib, image = sys.argv[1].split(' ')
2018
with open(values_file) as f:
2119
values = yaml.load(f)
2220
os.system(f'mkdir -p {backup_dir}')

0 commit comments

Comments
 (0)