my-cloud-devops-consulting 1.1.202507211825__tar.gz → 1.1.202507272221__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {my-cloud-devops-consulting-1.1.202507211825/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202507272221}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/app.py +3 -31
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
- my-cloud-devops-consulting-1.1.202507272221/setup.py +32 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/base.html +3 -1
- my-cloud-devops-consulting-1.1.202507211825/setup.py +0 -65
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/MANIFEST.in +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/README.md +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/setup.cfg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/about.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/assessment.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/contact-form.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/index.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/login.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/main.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/register.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/css/services.css +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/facebook.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/favicon.svg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/image.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/instagram.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/linkedin.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/pexels-divinetechygirl-1181341.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/pexels-divinetechygirl-1181472.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/pexels-fotios-photos-16129703.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/pexels-tiger-lily-7108466.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/video-poster.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/whatsapp-navbar.png +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/images/worldmap.jpeg +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/counter.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/index.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/login.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/main.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/register.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/services.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/js/typing.js +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/manifest.json +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/robots.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/sitemap.xml +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/video/7989443-hd_1920_1080_25fps.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/video/Untitled_video.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/static/video/myvideo.mp4.mp4 +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/about.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/assessment.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/contact-form.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/forgot-password.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/index.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/login.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/private-videos.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/register.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/reset-password.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/templates/services.html +0 -0
- {my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/test/test.py +0 -0
{my-cloud-devops-consulting-1.1.202507211825 → my-cloud-devops-consulting-1.1.202507272221}/app.py
RENAMED
@@ -5,7 +5,7 @@ from urllib.parse import quote_plus
|
|
5
5
|
from bson.objectid import ObjectId
|
6
6
|
import os
|
7
7
|
from flask_login import LoginManager,login_user,UserMixin,login_required,logout_user,current_user
|
8
|
-
from settings import SECRET_KEY,MONGO_URI, EMAIL_USER, MONGO_PASSWORD, MONGO_USERNAME
|
8
|
+
from settings import SECRET_KEY,MONGO_URI, EMAIL_USER, MONGO_PASSWORD, MONGO_USERNAME, COGNITO_CLIENT_ID, COGNITO_CLIENT_SECRET
|
9
9
|
from utils import send_email, get_videos
|
10
10
|
from werkzeug.middleware.proxy_fix import ProxyFix
|
11
11
|
|
@@ -270,24 +270,13 @@ oauth = OAuth(app)
|
|
270
270
|
oauth.register(
|
271
271
|
name='oidc',
|
272
272
|
authority='https://cognito-idp.us-east-1.amazonaws.com/us-east-1_TZVykdVvG',
|
273
|
-
client_id=
|
274
|
-
client_secret=
|
273
|
+
client_id= COGNITO_CLIENT_ID,
|
274
|
+
client_secret=COGNITO_CLIENT_SECRET,
|
275
275
|
server_metadata_url='https://cognito-idp.us-east-1.amazonaws.com/us-east-1_TZVykdVvG/.well-known/openid-configuration',
|
276
276
|
client_kwargs={'scope': 'phone openid email'}
|
277
277
|
)
|
278
278
|
################################################
|
279
279
|
|
280
|
-
# Configure a login route to direct to Amazon Cognito managed login for authentication with a redirect to an authorize route.
|
281
|
-
# @app.route('/login/cognito')
|
282
|
-
# def login_cognito():
|
283
|
-
# session.pop('user', None)
|
284
|
-
# redirect_uri = url_for('authorize', _external=True)
|
285
|
-
# print("🧭 Redirect URI being used:", redirect_uri) # <--- add this
|
286
|
-
# return oauth.oidc.authorize_redirect(
|
287
|
-
# redirect_uri,
|
288
|
-
# prompt='login'
|
289
|
-
# )
|
290
|
-
|
291
280
|
@app.route('/login/cognito')
|
292
281
|
def login_cognito():
|
293
282
|
session.pop('user', None)
|
@@ -316,23 +305,6 @@ def authorize():
|
|
316
305
|
return redirect(url_for('home')) # ✅ Fixed: 'home' matches your defined route
|
317
306
|
|
318
307
|
|
319
|
-
# Configure a logout route that erases user session data.
|
320
|
-
# @app.route('/logout/cognito')
|
321
|
-
# def logout_cognito(): # ✅ Renamed to avoid conflict
|
322
|
-
# session.pop('user', None)
|
323
|
-
# return redirect(url_for('home')) # 🔁 Also change to 'home' if 'index' doesn't exist
|
324
|
-
|
325
|
-
# @app.route('/logout/cognito')
|
326
|
-
# def logout_cognito():
|
327
|
-
# session.pop('user', None)
|
328
|
-
|
329
|
-
# cognito_domain = 'https://us-east-1tzvykdvvg.auth.us-east-1.amazoncognito.com'
|
330
|
-
# client_id = '1lc7qso1g3lr9kqbr0nb0jktbs' # Make sure this matches your App Client ID
|
331
|
-
# logout_redirect_uri = url_for('home', _external=True)
|
332
|
-
|
333
|
-
# return redirect(
|
334
|
-
# f"{cognito_domain}/logout?client_id={client_id}&logout_uri={logout_redirect_uri}"
|
335
|
-
# )
|
336
308
|
|
337
309
|
|
338
310
|
from flask import request
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from setuptools import setup, find_packages
|
2
|
+
from datetime import datetime
|
3
|
+
|
4
|
+
setup(
|
5
|
+
name='my-cloud-devops-consulting',
|
6
|
+
version=datetime.now().strftime("1.1.%Y%m%d%H%M"), # auto-version like 1.1.202503241130
|
7
|
+
author='Betrand Mutagha',
|
8
|
+
author_email='mmutagha@gmail.com',
|
9
|
+
description='This is my consulting website for Cloud & DevOps services.',
|
10
|
+
long_description=open('README.md').read(),
|
11
|
+
long_description_content_type='text/markdown',
|
12
|
+
url='https://github.com/Betrand1999/project-root',
|
13
|
+
packages=find_packages(where="."),
|
14
|
+
py_modules=["app"],
|
15
|
+
include_package_data=True,
|
16
|
+
package_data={
|
17
|
+
"": ["static/**/*", "templates/**/*"],
|
18
|
+
},
|
19
|
+
install_requires=[
|
20
|
+
'Flask>=2.0',
|
21
|
+
'pymongo',
|
22
|
+
'werkzeug',
|
23
|
+
'requests',
|
24
|
+
],
|
25
|
+
classifiers=[
|
26
|
+
'Programming Language :: Python :: 3',
|
27
|
+
'Programming Language :: Python :: 3.10',
|
28
|
+
'License :: OSI Approved :: MIT License',
|
29
|
+
'Operating System :: OS Independent',
|
30
|
+
],
|
31
|
+
python_requires='>=3.6',
|
32
|
+
)
|
@@ -3,7 +3,9 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8" />
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
6
|
-
<title>
|
6
|
+
<title>1beto | Cloud & DevOps Consulting – CDC Firm</title>
|
7
|
+
<meta name="description" content="1beto is a Cloud & DevOps consulting firm offering scalable cloud solutions, CI/CD pipelines, security services, and automation expertise.">
|
8
|
+
|
7
9
|
<link
|
8
10
|
rel="apple-touch-icon"
|
9
11
|
sizes="180x180"
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# from setuptools import setup, find_packages
|
2
|
-
|
3
|
-
# setup(
|
4
|
-
# name='my-cloud-devops-consulting',
|
5
|
-
# version='1.1.5',
|
6
|
-
# author='Betrand Mutagha',
|
7
|
-
# author_email='mmutagha@gmail.com',
|
8
|
-
# description='This is my consulting website for Cloud & DevOps services.',
|
9
|
-
# long_description=open('README.md').read(),
|
10
|
-
# long_description_content_type='text/markdown',
|
11
|
-
# url='https://github.com/Betrand1999/project-root',
|
12
|
-
# packages=find_packages(where="."), # Include the root as the package
|
13
|
-
# py_modules=["app"], # Explicitly include app.py
|
14
|
-
# include_package_data=True, # Ensures static and template files are included
|
15
|
-
# package_data={
|
16
|
-
# "": ["static/**/*", "templates/**/*"], # Include static and templates from the root
|
17
|
-
# },
|
18
|
-
# install_requires=[
|
19
|
-
# 'Flask>=2.0',
|
20
|
-
# 'pymongo',
|
21
|
-
# 'werkzeug',
|
22
|
-
# 'requests',
|
23
|
-
# ],
|
24
|
-
# classifiers=[
|
25
|
-
# 'Programming Language :: Python :: 3',
|
26
|
-
# 'Programming Language :: Python :: 3.10',
|
27
|
-
# 'License :: OSI Approved :: MIT License',
|
28
|
-
# 'Operating System :: OS Independent',
|
29
|
-
# ],
|
30
|
-
# python_requires='>=3.6',
|
31
|
-
# )
|
32
|
-
|
33
|
-
|
34
|
-
from setuptools import setup, find_packages
|
35
|
-
from datetime import datetime
|
36
|
-
|
37
|
-
setup(
|
38
|
-
name='my-cloud-devops-consulting',
|
39
|
-
version=datetime.now().strftime("1.1.%Y%m%d%H%M"), # auto-version like 1.1.202503241130
|
40
|
-
author='Betrand Mutagha',
|
41
|
-
author_email='mmutagha@gmail.com',
|
42
|
-
description='This is my consulting website for Cloud & DevOps services.',
|
43
|
-
long_description=open('README.md').read(),
|
44
|
-
long_description_content_type='text/markdown',
|
45
|
-
url='https://github.com/Betrand1999/project-root',
|
46
|
-
packages=find_packages(where="."),
|
47
|
-
py_modules=["app"],
|
48
|
-
include_package_data=True,
|
49
|
-
package_data={
|
50
|
-
"": ["static/**/*", "templates/**/*"],
|
51
|
-
},
|
52
|
-
install_requires=[
|
53
|
-
'Flask>=2.0',
|
54
|
-
'pymongo',
|
55
|
-
'werkzeug',
|
56
|
-
'requests',
|
57
|
-
],
|
58
|
-
classifiers=[
|
59
|
-
'Programming Language :: Python :: 3',
|
60
|
-
'Programming Language :: Python :: 3.10',
|
61
|
-
'License :: OSI Approved :: MIT License',
|
62
|
-
'Operating System :: OS Independent',
|
63
|
-
],
|
64
|
-
python_requires='>=3.6',
|
65
|
-
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|