Skip to content

Commit c8ac382

Browse files
committed
make ports configurable for local testing
1 parent f928bbe commit c8ac382

2 files changed

Lines changed: 24 additions & 17 deletions

File tree

bin/mas-devops-create-initial-users-for-saas

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ if __name__ == "__main__":
3636
parser.add_argument("--log-level", required=False, choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], default="WARNING")
3737
parser.add_argument("--dry-run", required=False, help="When specified, nothing will actually be deleted from the cluster", action="store_true")
3838

39+
40+
parser.add_argument("--coreapi-port", required=False, default=443)
41+
parser.add_argument("--admin-dashboard-port", required=False, default=443)
42+
parser.add_argument("--manage-api-port", required=False, default=443)
43+
44+
3945
args, unknown = parser.parse_known_args()
4046

4147
log_level = getattr(logging, args.log_level)
@@ -56,6 +62,10 @@ if __name__ == "__main__":
5662
mas_workspace_id = args.mas_workspace_id
5763
initial_users_yaml_file = args.initial_users_yaml_file
5864
dry_run = args.dry_run
65+
coreapi_port = args.coreapi_port
66+
admin_dashboard_port = args.admin_dashboard_port
67+
manage_api_port = args.manage_api_port
68+
5969

6070
logger.info("Configuration:")
6171
logger.info("--------------")
@@ -64,6 +74,9 @@ if __name__ == "__main__":
6474
logger.info(f"initial_users_yaml_file: {initial_users_yaml_file}")
6575
logger.info(f"log_level: {log_level}")
6676
logger.info(f"dry_run: {dry_run}")
77+
logger.info(f"coreapi_port: {coreapi_port}")
78+
logger.info(f"admin_dashboard_port: {admin_dashboard_port}")
79+
logger.info(f"manage_api_port: {manage_api_port}")
6780
logger.info("")
6881

6982
try:
@@ -75,7 +88,7 @@ if __name__ == "__main__":
7588
config.load_kube_config()
7689
logger.debug("Loaded kubeconfig file")
7790

78-
user_utils = MASUserUtils(mas_instance_id, mas_workspace_id, client.api_client.ApiClient())
91+
user_utils = MASUserUtils(mas_instance_id, mas_workspace_id, client.api_client.ApiClient(), coreapi_port=coreapi_port, admin_dashboard_port=admin_dashboard_port, manage_api_port=manage_api_port)
7992

8093
with open(initial_users_yaml_file, 'r') as file:
8194
initial_users_yaml = yaml.safe_load(file)

src/mas/devops/users.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
MVI / other apps?
2828
unit tests
2929
30+
dry-run support
31+
3032
where are we going to run this from? Needs to run in cluster, so a Job in an app
3133
which app though? Manage?
3234
Perhaps we do the core bits in a core app (suite workspace?)
@@ -46,12 +48,16 @@ class MASUserUtils():
4648

4749
MAXADMIN = "MAXADMIN"
4850

49-
def __init__(self, mas_instance_id: str, mas_workspace_id: str, k8s_client: client.api_client.ApiClient):
51+
def __init__(self, mas_instance_id: str, mas_workspace_id: str, k8s_client: client.api_client.ApiClient, coreapi_port: int = 443, admin_dashboard_port: int = 443, manage_api_port: int = 443):
5052
self.mas_instance_id = mas_instance_id
5153
self.mas_workspace_id = mas_workspace_id
5254
self.k8s_client = k8s_client
5355
self.logger = logging.getLogger(f"{__name__}.{self.__class__.__name__}")
5456

57+
self.coreapi_port = coreapi_port
58+
self.admin_dashboard_port = admin_dashboard_port
59+
self.manage_api_port = manage_api_port
60+
5561
self.mas_core_namespace = f"mas-{self.mas_instance_id}-core"
5662
self.manage_namespace = f"mas-{self.mas_instance_id}-manage"
5763
self.dyn_client = DynamicClient(self.k8s_client)
@@ -90,16 +96,12 @@ def mas_superuser_credentials(self):
9096
@property
9197
def mas_admin_url_internal(self):
9298
if self._mas_admin_url_internal is None:
93-
self._mas_admin_url_internal = f'https://admin-dashboard.{self.mas_core_namespace}.svc.cluster.local'
99+
self._mas_admin_url_internal = f'https://admin-dashboard.{self.mas_core_namespace}.svc.cluster.local:{self.admin_dashboard_port}'
94100

95101
# for local testing:
96102
# add to /etc/hosts:
97103
# 127.0.0.1 admin-dashboard.mas-tgk01-core.svc.cluster.local
98104
# oc port-forward service/admin-dashboard 8445:443 -n mas-tgk01-core
99-
100-
# uncomment for local testing
101-
# TODO: make configurable
102-
self._mas_admin_url_internal = f"{self._mas_admin_url_internal}:8445"
103105
return self._mas_admin_url_internal
104106

105107
@property
@@ -123,16 +125,12 @@ def admin_internal_ca_pem_file_path(self):
123125
@property
124126
def mas_api_url_internal(self):
125127
if self._mas_api_url_internal is None:
126-
self._mas_api_url_internal = f'https://coreapi.{self.mas_core_namespace}.svc.cluster.local'
128+
self._mas_api_url_internal = f'https://coreapi.{self.mas_core_namespace}.svc.cluster.local:{self.coreapi_port}'
127129

128130
# for local testing:
129131
# add to /etc/hosts:
130132
# 127.0.0.1 coreapi.mas-tgk01-core.svc.cluster.local
131133
# oc port-forward service/coreapi 8444:443 -n mas-tgk01-core
132-
133-
# uncomment for local testing
134-
# TODO: make configurable
135-
self._mas_api_url_internal = f"{self._mas_api_url_internal}:8444"
136134
return self._mas_api_url_internal
137135

138136
@property
@@ -162,11 +160,7 @@ def manage_api_url_internal(self):
162160

163161
# oc port-forward service/tgk01-masdev 8443:443 -n mas-tgk01-manage
164162

165-
self._manage_api_url_internal = f'https://{self.mas_instance_id}-{self.mas_workspace_id}.{self.manage_namespace}.svc.cluster.local'
166-
167-
# uncomment for local testing
168-
# TODO: make configurable
169-
self._manage_api_url_internal = f"{self._manage_api_url_internal}:8443"
163+
self._manage_api_url_internal = f'https://{self.mas_instance_id}-{self.mas_workspace_id}.{self.manage_namespace}.svc.cluster.local:{self.manage_api_port}'
170164
return self._manage_api_url_internal
171165

172166
@property

0 commit comments

Comments
 (0)