Opened 3 years ago

Closed 2 years ago

#2546 closed task (fixed)

Migrate LDAP web tools from old-web to new container

Reported by: strk Owned by: strk
Priority: normal Milestone: Sysadmin Contract 2022-I
Component: SysAdmin Keywords:
Cc:

Description

I belive LDAP web tools are the only thing still on old-web. This ticket is to migrate them to another machine (secure? nginx?) so old-web container can be stopped and eventually retired.

Change History (19)

comment:1 by strk, 3 years ago

Milestone: Sysadmin Contract 2020-IISysadmin Contract 2020-III

Ticket retargeted after milestone closed

comment:2 by robe, 3 years ago

Milestone: Sysadmin Contract 2020-IIISysadmin Contract 2021-I

Milestone renamed

comment:3 by robe, 3 years ago

Milestone: Sysadmin Contract 2021-ISysadmin Contract 2021-II

Move these to next contract milestone

comment:4 by robe, 3 years ago

Summary: Migrate LDAP web tools from old-web to secureMigrate LDAP web tools from old-web to new container

I'd feel better if this weren't on secure and we have a separate container for it just cause I wanted to keep secure very bare bones since it's so critical. So I don't even want a webserver on it. Although I do like the idea of it all being self-contained all the ldap stuff so I'm a little torn.

comment:5 by strk, 2 years ago

Milestone: Sysadmin Contract 2021-IISysadmin Contract 2022-I

Ticket retargeted after milestone closed

comment:6 by strk, 2 years ago

Owner: changed from sac@… to strk
Status: newassigned

I'm working in an osgeo7-id-apache2 branch of https://git.osgeo.org/gitea/sac/ansible-deployment and I deployed it already on the osgeo7 id container, next step: enabling a staging domain for id.osgeo.org and proxy to the new container, to continue testing (time to get LDAP access for staging).

Biggest work is python3 compatibility, I only touched enough of the ldap/create script to make it render the form and perform checking, but I'm sure other scripts will need to be touched so full test of all operations will be needed.

comment:7 by strk, 2 years ago

I've merged the code in the master branch, will remove other branches for now

comment:8 by strk, 2 years ago

I've now deployed a ldap-web container on osgeo7 and manually added an nginx configuration to proxy staging.id.osgeo.org there. It takes a local alias to pointing that hostname to the osgeo7 IP in order to use, and accepting the invalid https certificate, but it's a way to see what works and what not.

comment:9 by strk, 2 years ago

BTW: the ansible role was renamed to ldap-web so it doesn't sound odd to eventually deploy it to a staging machine.

comment:10 by strk, 2 years ago

slowly getting better, next issue is figuring out how to install the LDAP credentials as there's currently no "official" place where such credentials are stored, so we need to find out a good strategy for deploying them

comment:11 by strk, 2 years ago

One thing not to forget: add backup of the new ldap-web container in osgeo4 backup script

comment:12 by strk, 2 years ago

Ok from what I can see the staging ldap web container seems to work, anyone up for testing it ?

comment:13 by strk, 2 years ago

Backup script has been updated with https://git.osgeo.org/gitea/sac/ansible-deployment/commit/b2bf7057804d9cd3e405dffdd9f9259ab7ec40a3 (still not deployed at time of writing)

comment:14 by robe, 2 years ago

I feel like we've tested enough can we just make it live. I'm not quite sure how to do that with ansible - (still need to get my dev setup). I can do manually?

e.g. rename staging-id to id and change nginx config on id.osgeo.org

comment:15 by strk, 2 years ago

I will do it. There's no container renaming needed, just nginx config update, and is already under ansible.

comment:16 by strk, 2 years ago

Ok one thing to do would be copying the pending users creation tokens from one container to the other, but unfortunately the format of the tokens was changed, in the python3, from binary to ascii (json) so that needs to be fixed somehow.

comment:17 by strk, 2 years ago

I noticed the pending tokens where older than 15 days so I decided not to copy them over. So I've deployed the change ( https://git.osgeo.org/gitea/sac/ansible-deployment/commit/e8df47a667ff59496da9c1812b780fd38b6a4835 ) and we're then live.

Still todo:

  • Deploy the update to the backup script on osgeo4
  • Deploy the mantra (currently done manually)

comment:18 by strk, 2 years ago

The backup script on osgeo4 was updated

comment:19 by strk, 2 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.