Skip to content

Commit bba034e

Browse files
committed
updated codefresh
1 parent 2065b88 commit bba034e

File tree

3 files changed

+79
-2
lines changed

3 files changed

+79
-2
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{
33
"name": "Codefresh Support Package",
44
"image": "mcr.microsoft.com/devcontainers/universal:3",
5-
// "onCreateCommand": "curl -fsSL https://deno.land/install.sh | sh -s -- -y",
5+
"onCreateCommand": "python3 -m venv .venv && source .venv/bin/activate && pip3 install -e .",
66
"customizations": {
77
"vscode": {
88
// "settings": {

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ readme = "README.md"
77
requires-python = ">=3.12"
88
dependencies = [
99
"click>=8.1",
10-
"requests>=2.32"
10+
"kubernetes>=31.1"
11+
"PyYAML>=6.0"
12+
"requests>=2.32",
1113
]
1214

1315
[project.scripts]

src/cf_support/logic/codefresh.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import os
2+
import yaml
3+
import requests
4+
5+
def get_codefresh_credentials():
6+
env_token = os.getenv("CF_API_KEY")
7+
env_url = os.getenv("CF_URL")
8+
9+
if env_token and env_url:
10+
return {
11+
"headers": {"Authorization": env_token},
12+
"base_url": f"{env_url}/api",
13+
}
14+
15+
config_path = (
16+
f"{os.getenv('USERPROFILE')}/.cfconfig"
17+
if os.name == "nt"
18+
else f"{os.getenv('HOME')}/.cfconfig"
19+
)
20+
21+
with open(config_path, "r") as config_file:
22+
config = yaml.safe_load(config_file)
23+
24+
current_context = config["contexts"].get(config["current-context"])
25+
26+
if not current_context:
27+
return None
28+
29+
return {
30+
"headers": {"Authorization": current_context["token"]},
31+
"base_url": f"{current_context['url']}/api",
32+
}
33+
34+
def get_account_runtimes(cf_creds):
35+
response = requests.get(
36+
f"{cf_creds['base_url']}/runtime-environments",
37+
headers=cf_creds["headers"],
38+
)
39+
return response.json()
40+
41+
def get_runtime_spec(cf_creds, runtime):
42+
response = requests.get(
43+
f"{cf_creds['base_url']}/runtime-environments/{runtime}",
44+
headers=cf_creds["headers"],
45+
)
46+
return response.json()
47+
48+
def get_all_accounts(cf_creds):
49+
response = requests.get(
50+
f"{cf_creds['base_url']}/admin/accounts",
51+
headers=cf_creds["headers"],
52+
)
53+
return response.json()
54+
55+
def get_all_runtimes(cf_creds):
56+
response = requests.get(
57+
f"{cf_creds['base_url']}/admin/runtime-environments",
58+
headers=cf_creds["headers"],
59+
)
60+
return response.json()
61+
62+
def get_total_users(cf_creds):
63+
response = requests.get(
64+
f"{cf_creds['base_url']}/admin/user?limit=1&page=1",
65+
headers=cf_creds["headers"],
66+
)
67+
users = response.json()
68+
return {"totalUsers": users["total"]}
69+
70+
def get_system_feature_flags(cf_creds):
71+
response = requests.get(
72+
f"{cf_creds['base_url']}/admin/features",
73+
headers=cf_creds["headers"],
74+
)
75+
return response.json()

0 commit comments

Comments
 (0)