@ -1,7 +0,0 @@ |
|||||
FROM python:3.9 |
|
||||
|
|
||||
RUN pip install httpx PyGithub "pydantic==1.5.1" "pyyaml>=5.3.1,<6.0.0" |
|
||||
|
|
||||
COPY ./app /app |
|
||||
|
|
||||
CMD ["python", "/app/main.py"] |
|
@ -1,10 +0,0 @@ |
|||||
name: "Notify Translations" |
|
||||
description: "Notify in the issue for a translation when there's a new PR available" |
|
||||
author: "Sebastián Ramírez <tiangolo@gmail.com>" |
|
||||
inputs: |
|
||||
token: |
|
||||
description: 'Token, to read the GitHub API. Can be passed in using {{ secrets.GITHUB_TOKEN }}' |
|
||||
required: true |
|
||||
runs: |
|
||||
using: 'docker' |
|
||||
image: 'Dockerfile' |
|
@ -1,7 +0,0 @@ |
|||||
FROM python:3.9 |
|
||||
|
|
||||
RUN pip install httpx PyGithub "pydantic==2.0.2" pydantic-settings "pyyaml>=5.3.1,<6.0.0" |
|
||||
|
|
||||
COPY ./app /app |
|
||||
|
|
||||
CMD ["python", "/app/main.py"] |
|
@ -1,10 +0,0 @@ |
|||||
name: "Generate FastAPI People" |
|
||||
description: "Generate the data for the FastAPI People page" |
|
||||
author: "Sebastián Ramírez <tiangolo@gmail.com>" |
|
||||
inputs: |
|
||||
token: |
|
||||
description: 'User token, to read the GitHub API. Can be passed in using {{ secrets.FASTAPI_PEOPLE }}' |
|
||||
required: true |
|
||||
runs: |
|
||||
using: 'docker' |
|
||||
image: 'Dockerfile' |
|
@ -1,682 +0,0 @@ |
|||||
import logging |
|
||||
import subprocess |
|
||||
import sys |
|
||||
from collections import Counter, defaultdict |
|
||||
from datetime import datetime, timedelta, timezone |
|
||||
from pathlib import Path |
|
||||
from typing import Any, Container, DefaultDict, Dict, List, Set, Union |
|
||||
|
|
||||
import httpx |
|
||||
import yaml |
|
||||
from github import Github |
|
||||
from pydantic import BaseModel, SecretStr |
|
||||
from pydantic_settings import BaseSettings |
|
||||
|
|
||||
github_graphql_url = "https://api.github.com/graphql" |
|
||||
questions_category_id = "MDE4OkRpc2N1c3Npb25DYXRlZ29yeTMyMDAxNDM0" |
|
||||
|
|
||||
discussions_query = """ |
|
||||
query Q($after: String, $category_id: ID) { |
|
||||
repository(name: "fastapi", owner: "fastapi") { |
|
||||
discussions(first: 100, after: $after, categoryId: $category_id) { |
|
||||
edges { |
|
||||
cursor |
|
||||
node { |
|
||||
number |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
title |
|
||||
createdAt |
|
||||
comments(first: 100) { |
|
||||
nodes { |
|
||||
createdAt |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
isAnswer |
|
||||
replies(first: 10) { |
|
||||
nodes { |
|
||||
createdAt |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
""" |
|
||||
|
|
||||
|
|
||||
prs_query = """ |
|
||||
query Q($after: String) { |
|
||||
repository(name: "fastapi", owner: "fastapi") { |
|
||||
pullRequests(first: 100, after: $after) { |
|
||||
edges { |
|
||||
cursor |
|
||||
node { |
|
||||
number |
|
||||
labels(first: 100) { |
|
||||
nodes { |
|
||||
name |
|
||||
} |
|
||||
} |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
title |
|
||||
createdAt |
|
||||
state |
|
||||
comments(first: 100) { |
|
||||
nodes { |
|
||||
createdAt |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
reviews(first:100) { |
|
||||
nodes { |
|
||||
author { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
state |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
""" |
|
||||
|
|
||||
sponsors_query = """ |
|
||||
query Q($after: String) { |
|
||||
user(login: "fastapi") { |
|
||||
sponsorshipsAsMaintainer(first: 100, after: $after) { |
|
||||
edges { |
|
||||
cursor |
|
||||
node { |
|
||||
sponsorEntity { |
|
||||
... on Organization { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
... on User { |
|
||||
login |
|
||||
avatarUrl |
|
||||
url |
|
||||
} |
|
||||
} |
|
||||
tier { |
|
||||
name |
|
||||
monthlyPriceInDollars |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
""" |
|
||||
|
|
||||
|
|
||||
class Author(BaseModel): |
|
||||
login: str |
|
||||
avatarUrl: str |
|
||||
url: str |
|
||||
|
|
||||
|
|
||||
# Discussions |
|
||||
|
|
||||
|
|
||||
class CommentsNode(BaseModel): |
|
||||
createdAt: datetime |
|
||||
author: Union[Author, None] = None |
|
||||
|
|
||||
|
|
||||
class Replies(BaseModel): |
|
||||
nodes: List[CommentsNode] |
|
||||
|
|
||||
|
|
||||
class DiscussionsCommentsNode(CommentsNode): |
|
||||
replies: Replies |
|
||||
|
|
||||
|
|
||||
class Comments(BaseModel): |
|
||||
nodes: List[CommentsNode] |
|
||||
|
|
||||
|
|
||||
class DiscussionsComments(BaseModel): |
|
||||
nodes: List[DiscussionsCommentsNode] |
|
||||
|
|
||||
|
|
||||
class DiscussionsNode(BaseModel): |
|
||||
number: int |
|
||||
author: Union[Author, None] = None |
|
||||
title: str |
|
||||
createdAt: datetime |
|
||||
comments: DiscussionsComments |
|
||||
|
|
||||
|
|
||||
class DiscussionsEdge(BaseModel): |
|
||||
cursor: str |
|
||||
node: DiscussionsNode |
|
||||
|
|
||||
|
|
||||
class Discussions(BaseModel): |
|
||||
edges: List[DiscussionsEdge] |
|
||||
|
|
||||
|
|
||||
class DiscussionsRepository(BaseModel): |
|
||||
discussions: Discussions |
|
||||
|
|
||||
|
|
||||
class DiscussionsResponseData(BaseModel): |
|
||||
repository: DiscussionsRepository |
|
||||
|
|
||||
|
|
||||
class DiscussionsResponse(BaseModel): |
|
||||
data: DiscussionsResponseData |
|
||||
|
|
||||
|
|
||||
# PRs |
|
||||
|
|
||||
|
|
||||
class LabelNode(BaseModel): |
|
||||
name: str |
|
||||
|
|
||||
|
|
||||
class Labels(BaseModel): |
|
||||
nodes: List[LabelNode] |
|
||||
|
|
||||
|
|
||||
class ReviewNode(BaseModel): |
|
||||
author: Union[Author, None] = None |
|
||||
state: str |
|
||||
|
|
||||
|
|
||||
class Reviews(BaseModel): |
|
||||
nodes: List[ReviewNode] |
|
||||
|
|
||||
|
|
||||
class PullRequestNode(BaseModel): |
|
||||
number: int |
|
||||
labels: Labels |
|
||||
author: Union[Author, None] = None |
|
||||
title: str |
|
||||
createdAt: datetime |
|
||||
state: str |
|
||||
comments: Comments |
|
||||
reviews: Reviews |
|
||||
|
|
||||
|
|
||||
class PullRequestEdge(BaseModel): |
|
||||
cursor: str |
|
||||
node: PullRequestNode |
|
||||
|
|
||||
|
|
||||
class PullRequests(BaseModel): |
|
||||
edges: List[PullRequestEdge] |
|
||||
|
|
||||
|
|
||||
class PRsRepository(BaseModel): |
|
||||
pullRequests: PullRequests |
|
||||
|
|
||||
|
|
||||
class PRsResponseData(BaseModel): |
|
||||
repository: PRsRepository |
|
||||
|
|
||||
|
|
||||
class PRsResponse(BaseModel): |
|
||||
data: PRsResponseData |
|
||||
|
|
||||
|
|
||||
# Sponsors |
|
||||
|
|
||||
|
|
||||
class SponsorEntity(BaseModel): |
|
||||
login: str |
|
||||
avatarUrl: str |
|
||||
url: str |
|
||||
|
|
||||
|
|
||||
class Tier(BaseModel): |
|
||||
name: str |
|
||||
monthlyPriceInDollars: float |
|
||||
|
|
||||
|
|
||||
class SponsorshipAsMaintainerNode(BaseModel): |
|
||||
sponsorEntity: SponsorEntity |
|
||||
tier: Tier |
|
||||
|
|
||||
|
|
||||
class SponsorshipAsMaintainerEdge(BaseModel): |
|
||||
cursor: str |
|
||||
node: SponsorshipAsMaintainerNode |
|
||||
|
|
||||
|
|
||||
class SponsorshipAsMaintainer(BaseModel): |
|
||||
edges: List[SponsorshipAsMaintainerEdge] |
|
||||
|
|
||||
|
|
||||
class SponsorsUser(BaseModel): |
|
||||
sponsorshipsAsMaintainer: SponsorshipAsMaintainer |
|
||||
|
|
||||
|
|
||||
class SponsorsResponseData(BaseModel): |
|
||||
user: SponsorsUser |
|
||||
|
|
||||
|
|
||||
class SponsorsResponse(BaseModel): |
|
||||
data: SponsorsResponseData |
|
||||
|
|
||||
|
|
||||
class Settings(BaseSettings): |
|
||||
input_token: SecretStr |
|
||||
github_repository: str |
|
||||
httpx_timeout: int = 30 |
|
||||
|
|
||||
|
|
||||
def get_graphql_response( |
|
||||
*, |
|
||||
settings: Settings, |
|
||||
query: str, |
|
||||
after: Union[str, None] = None, |
|
||||
category_id: Union[str, None] = None, |
|
||||
) -> Dict[str, Any]: |
|
||||
headers = {"Authorization": f"token {settings.input_token.get_secret_value()}"} |
|
||||
# category_id is only used by one query, but GraphQL allows unused variables, so |
|
||||
# keep it here for simplicity |
|
||||
variables = {"after": after, "category_id": category_id} |
|
||||
response = httpx.post( |
|
||||
github_graphql_url, |
|
||||
headers=headers, |
|
||||
timeout=settings.httpx_timeout, |
|
||||
json={"query": query, "variables": variables, "operationName": "Q"}, |
|
||||
) |
|
||||
if response.status_code != 200: |
|
||||
logging.error( |
|
||||
f"Response was not 200, after: {after}, category_id: {category_id}" |
|
||||
) |
|
||||
logging.error(response.text) |
|
||||
raise RuntimeError(response.text) |
|
||||
data = response.json() |
|
||||
if "errors" in data: |
|
||||
logging.error(f"Errors in response, after: {after}, category_id: {category_id}") |
|
||||
logging.error(data["errors"]) |
|
||||
logging.error(response.text) |
|
||||
raise RuntimeError(response.text) |
|
||||
return data |
|
||||
|
|
||||
|
|
||||
def get_graphql_question_discussion_edges( |
|
||||
*, |
|
||||
settings: Settings, |
|
||||
after: Union[str, None] = None, |
|
||||
): |
|
||||
data = get_graphql_response( |
|
||||
settings=settings, |
|
||||
query=discussions_query, |
|
||||
after=after, |
|
||||
category_id=questions_category_id, |
|
||||
) |
|
||||
graphql_response = DiscussionsResponse.model_validate(data) |
|
||||
return graphql_response.data.repository.discussions.edges |
|
||||
|
|
||||
|
|
||||
def get_graphql_pr_edges(*, settings: Settings, after: Union[str, None] = None): |
|
||||
data = get_graphql_response(settings=settings, query=prs_query, after=after) |
|
||||
graphql_response = PRsResponse.model_validate(data) |
|
||||
return graphql_response.data.repository.pullRequests.edges |
|
||||
|
|
||||
|
|
||||
def get_graphql_sponsor_edges(*, settings: Settings, after: Union[str, None] = None): |
|
||||
data = get_graphql_response(settings=settings, query=sponsors_query, after=after) |
|
||||
graphql_response = SponsorsResponse.model_validate(data) |
|
||||
return graphql_response.data.user.sponsorshipsAsMaintainer.edges |
|
||||
|
|
||||
|
|
||||
class DiscussionExpertsResults(BaseModel): |
|
||||
commenters: Counter |
|
||||
last_month_commenters: Counter |
|
||||
three_months_commenters: Counter |
|
||||
six_months_commenters: Counter |
|
||||
one_year_commenters: Counter |
|
||||
authors: Dict[str, Author] |
|
||||
|
|
||||
|
|
||||
def get_discussion_nodes(settings: Settings) -> List[DiscussionsNode]: |
|
||||
discussion_nodes: List[DiscussionsNode] = [] |
|
||||
discussion_edges = get_graphql_question_discussion_edges(settings=settings) |
|
||||
|
|
||||
while discussion_edges: |
|
||||
for discussion_edge in discussion_edges: |
|
||||
discussion_nodes.append(discussion_edge.node) |
|
||||
last_edge = discussion_edges[-1] |
|
||||
discussion_edges = get_graphql_question_discussion_edges( |
|
||||
settings=settings, after=last_edge.cursor |
|
||||
) |
|
||||
return discussion_nodes |
|
||||
|
|
||||
|
|
||||
def get_discussions_experts( |
|
||||
discussion_nodes: List[DiscussionsNode], |
|
||||
) -> DiscussionExpertsResults: |
|
||||
commenters = Counter() |
|
||||
last_month_commenters = Counter() |
|
||||
three_months_commenters = Counter() |
|
||||
six_months_commenters = Counter() |
|
||||
one_year_commenters = Counter() |
|
||||
authors: Dict[str, Author] = {} |
|
||||
|
|
||||
now = datetime.now(tz=timezone.utc) |
|
||||
one_month_ago = now - timedelta(days=30) |
|
||||
three_months_ago = now - timedelta(days=90) |
|
||||
six_months_ago = now - timedelta(days=180) |
|
||||
one_year_ago = now - timedelta(days=365) |
|
||||
|
|
||||
for discussion in discussion_nodes: |
|
||||
discussion_author_name = None |
|
||||
if discussion.author: |
|
||||
authors[discussion.author.login] = discussion.author |
|
||||
discussion_author_name = discussion.author.login |
|
||||
discussion_commentors: dict[str, datetime] = {} |
|
||||
for comment in discussion.comments.nodes: |
|
||||
if comment.author: |
|
||||
authors[comment.author.login] = comment.author |
|
||||
if comment.author.login != discussion_author_name: |
|
||||
author_time = discussion_commentors.get( |
|
||||
comment.author.login, comment.createdAt |
|
||||
) |
|
||||
discussion_commentors[comment.author.login] = max( |
|
||||
author_time, comment.createdAt |
|
||||
) |
|
||||
for reply in comment.replies.nodes: |
|
||||
if reply.author: |
|
||||
authors[reply.author.login] = reply.author |
|
||||
if reply.author.login != discussion_author_name: |
|
||||
author_time = discussion_commentors.get( |
|
||||
reply.author.login, reply.createdAt |
|
||||
) |
|
||||
discussion_commentors[reply.author.login] = max( |
|
||||
author_time, reply.createdAt |
|
||||
) |
|
||||
for author_name, author_time in discussion_commentors.items(): |
|
||||
commenters[author_name] += 1 |
|
||||
if author_time > one_month_ago: |
|
||||
last_month_commenters[author_name] += 1 |
|
||||
if author_time > three_months_ago: |
|
||||
three_months_commenters[author_name] += 1 |
|
||||
if author_time > six_months_ago: |
|
||||
six_months_commenters[author_name] += 1 |
|
||||
if author_time > one_year_ago: |
|
||||
one_year_commenters[author_name] += 1 |
|
||||
discussion_experts_results = DiscussionExpertsResults( |
|
||||
authors=authors, |
|
||||
commenters=commenters, |
|
||||
last_month_commenters=last_month_commenters, |
|
||||
three_months_commenters=three_months_commenters, |
|
||||
six_months_commenters=six_months_commenters, |
|
||||
one_year_commenters=one_year_commenters, |
|
||||
) |
|
||||
return discussion_experts_results |
|
||||
|
|
||||
|
|
||||
def get_pr_nodes(settings: Settings) -> List[PullRequestNode]: |
|
||||
pr_nodes: List[PullRequestNode] = [] |
|
||||
pr_edges = get_graphql_pr_edges(settings=settings) |
|
||||
|
|
||||
while pr_edges: |
|
||||
for edge in pr_edges: |
|
||||
pr_nodes.append(edge.node) |
|
||||
last_edge = pr_edges[-1] |
|
||||
pr_edges = get_graphql_pr_edges(settings=settings, after=last_edge.cursor) |
|
||||
return pr_nodes |
|
||||
|
|
||||
|
|
||||
class ContributorsResults(BaseModel): |
|
||||
contributors: Counter |
|
||||
commenters: Counter |
|
||||
reviewers: Counter |
|
||||
translation_reviewers: Counter |
|
||||
authors: Dict[str, Author] |
|
||||
|
|
||||
|
|
||||
def get_contributors(pr_nodes: List[PullRequestNode]) -> ContributorsResults: |
|
||||
contributors = Counter() |
|
||||
commenters = Counter() |
|
||||
reviewers = Counter() |
|
||||
translation_reviewers = Counter() |
|
||||
authors: Dict[str, Author] = {} |
|
||||
|
|
||||
for pr in pr_nodes: |
|
||||
author_name = None |
|
||||
if pr.author: |
|
||||
authors[pr.author.login] = pr.author |
|
||||
author_name = pr.author.login |
|
||||
pr_commentors: Set[str] = set() |
|
||||
pr_reviewers: Set[str] = set() |
|
||||
for comment in pr.comments.nodes: |
|
||||
if comment.author: |
|
||||
authors[comment.author.login] = comment.author |
|
||||
if comment.author.login == author_name: |
|
||||
continue |
|
||||
pr_commentors.add(comment.author.login) |
|
||||
for author_name in pr_commentors: |
|
||||
commenters[author_name] += 1 |
|
||||
for review in pr.reviews.nodes: |
|
||||
if review.author: |
|
||||
authors[review.author.login] = review.author |
|
||||
pr_reviewers.add(review.author.login) |
|
||||
for label in pr.labels.nodes: |
|
||||
if label.name == "lang-all": |
|
||||
translation_reviewers[review.author.login] += 1 |
|
||||
break |
|
||||
for reviewer in pr_reviewers: |
|
||||
reviewers[reviewer] += 1 |
|
||||
if pr.state == "MERGED" and pr.author: |
|
||||
contributors[pr.author.login] += 1 |
|
||||
return ContributorsResults( |
|
||||
contributors=contributors, |
|
||||
commenters=commenters, |
|
||||
reviewers=reviewers, |
|
||||
translation_reviewers=translation_reviewers, |
|
||||
authors=authors, |
|
||||
) |
|
||||
|
|
||||
|
|
||||
def get_individual_sponsors(settings: Settings): |
|
||||
nodes: List[SponsorshipAsMaintainerNode] = [] |
|
||||
edges = get_graphql_sponsor_edges(settings=settings) |
|
||||
|
|
||||
while edges: |
|
||||
for edge in edges: |
|
||||
nodes.append(edge.node) |
|
||||
last_edge = edges[-1] |
|
||||
edges = get_graphql_sponsor_edges(settings=settings, after=last_edge.cursor) |
|
||||
|
|
||||
tiers: DefaultDict[float, Dict[str, SponsorEntity]] = defaultdict(dict) |
|
||||
for node in nodes: |
|
||||
tiers[node.tier.monthlyPriceInDollars][node.sponsorEntity.login] = ( |
|
||||
node.sponsorEntity |
|
||||
) |
|
||||
return tiers |
|
||||
|
|
||||
|
|
||||
def get_top_users( |
|
||||
*, |
|
||||
counter: Counter, |
|
||||
authors: Dict[str, Author], |
|
||||
skip_users: Container[str], |
|
||||
min_count: int = 2, |
|
||||
): |
|
||||
users = [] |
|
||||
for commenter, count in counter.most_common(50): |
|
||||
if commenter in skip_users: |
|
||||
continue |
|
||||
if count >= min_count: |
|
||||
author = authors[commenter] |
|
||||
users.append( |
|
||||
{ |
|
||||
"login": commenter, |
|
||||
"count": count, |
|
||||
"avatarUrl": author.avatarUrl, |
|
||||
"url": author.url, |
|
||||
} |
|
||||
) |
|
||||
return users |
|
||||
|
|
||||
|
|
||||
if __name__ == "__main__": |
|
||||
logging.basicConfig(level=logging.INFO) |
|
||||
settings = Settings() |
|
||||
logging.info(f"Using config: {settings.model_dump_json()}") |
|
||||
g = Github(settings.input_token.get_secret_value()) |
|
||||
repo = g.get_repo(settings.github_repository) |
|
||||
discussion_nodes = get_discussion_nodes(settings=settings) |
|
||||
experts_results = get_discussions_experts(discussion_nodes=discussion_nodes) |
|
||||
pr_nodes = get_pr_nodes(settings=settings) |
|
||||
contributors_results = get_contributors(pr_nodes=pr_nodes) |
|
||||
authors = {**experts_results.authors, **contributors_results.authors} |
|
||||
maintainers_logins = {"tiangolo"} |
|
||||
bot_names = {"codecov", "github-actions", "pre-commit-ci", "dependabot"} |
|
||||
maintainers = [] |
|
||||
for login in maintainers_logins: |
|
||||
user = authors[login] |
|
||||
maintainers.append( |
|
||||
{ |
|
||||
"login": login, |
|
||||
"answers": experts_results.commenters[login], |
|
||||
"prs": contributors_results.contributors[login], |
|
||||
"avatarUrl": user.avatarUrl, |
|
||||
"url": user.url, |
|
||||
} |
|
||||
) |
|
||||
|
|
||||
skip_users = maintainers_logins | bot_names |
|
||||
experts = get_top_users( |
|
||||
counter=experts_results.commenters, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
last_month_experts = get_top_users( |
|
||||
counter=experts_results.last_month_commenters, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
three_months_experts = get_top_users( |
|
||||
counter=experts_results.three_months_commenters, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
six_months_experts = get_top_users( |
|
||||
counter=experts_results.six_months_commenters, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
one_year_experts = get_top_users( |
|
||||
counter=experts_results.one_year_commenters, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
top_contributors = get_top_users( |
|
||||
counter=contributors_results.contributors, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
top_reviewers = get_top_users( |
|
||||
counter=contributors_results.reviewers, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
top_translations_reviewers = get_top_users( |
|
||||
counter=contributors_results.translation_reviewers, |
|
||||
authors=authors, |
|
||||
skip_users=skip_users, |
|
||||
) |
|
||||
|
|
||||
tiers = get_individual_sponsors(settings=settings) |
|
||||
keys = list(tiers.keys()) |
|
||||
keys.sort(reverse=True) |
|
||||
sponsors = [] |
|
||||
for key in keys: |
|
||||
sponsor_group = [] |
|
||||
for login, sponsor in tiers[key].items(): |
|
||||
sponsor_group.append( |
|
||||
{"login": login, "avatarUrl": sponsor.avatarUrl, "url": sponsor.url} |
|
||||
) |
|
||||
sponsors.append(sponsor_group) |
|
||||
|
|
||||
people = { |
|
||||
"maintainers": maintainers, |
|
||||
"experts": experts, |
|
||||
"last_month_experts": last_month_experts, |
|
||||
"three_months_experts": three_months_experts, |
|
||||
"six_months_experts": six_months_experts, |
|
||||
"one_year_experts": one_year_experts, |
|
||||
"top_contributors": top_contributors, |
|
||||
"top_reviewers": top_reviewers, |
|
||||
"top_translations_reviewers": top_translations_reviewers, |
|
||||
} |
|
||||
github_sponsors = { |
|
||||
"sponsors": sponsors, |
|
||||
} |
|
||||
# For local development |
|
||||
# people_path = Path("../../../../docs/en/data/people.yml") |
|
||||
people_path = Path("./docs/en/data/people.yml") |
|
||||
github_sponsors_path = Path("./docs/en/data/github_sponsors.yml") |
|
||||
people_old_content = people_path.read_text(encoding="utf-8") |
|
||||
github_sponsors_old_content = github_sponsors_path.read_text(encoding="utf-8") |
|
||||
new_people_content = yaml.dump( |
|
||||
people, sort_keys=False, width=200, allow_unicode=True |
|
||||
) |
|
||||
new_github_sponsors_content = yaml.dump( |
|
||||
github_sponsors, sort_keys=False, width=200, allow_unicode=True |
|
||||
) |
|
||||
if ( |
|
||||
people_old_content == new_people_content |
|
||||
and github_sponsors_old_content == new_github_sponsors_content |
|
||||
): |
|
||||
logging.info("The FastAPI People data hasn't changed, finishing.") |
|
||||
sys.exit(0) |
|
||||
people_path.write_text(new_people_content, encoding="utf-8") |
|
||||
github_sponsors_path.write_text(new_github_sponsors_content, encoding="utf-8") |
|
||||
logging.info("Setting up GitHub Actions git user") |
|
||||
subprocess.run(["git", "config", "user.name", "github-actions"], check=True) |
|
||||
subprocess.run( |
|
||||
["git", "config", "user.email", "github-actions@github.com"], check=True |
|
||||
) |
|
||||
branch_name = "fastapi-people" |
|
||||
logging.info(f"Creating a new branch {branch_name}") |
|
||||
subprocess.run(["git", "checkout", "-b", branch_name], check=True) |
|
||||
logging.info("Adding updated file") |
|
||||
subprocess.run( |
|
||||
["git", "add", str(people_path), str(github_sponsors_path)], check=True |
|
||||
) |
|
||||
logging.info("Committing updated file") |
|
||||
message = "👥 Update FastAPI People" |
|
||||
result = subprocess.run(["git", "commit", "-m", message], check=True) |
|
||||
logging.info("Pushing branch") |
|
||||
subprocess.run(["git", "push", "origin", branch_name], check=True) |
|
||||
logging.info("Creating PR") |
|
||||
pr = repo.create_pull(title=message, body=message, base="master", head=branch_name) |
|
||||
logging.info(f"Created PR: {pr.number}") |
|
||||
logging.info("Finished") |
|
@ -0,0 +1,53 @@ |
|||||
|
name: FastAPI People Contributors |
||||
|
|
||||
|
on: |
||||
|
schedule: |
||||
|
- cron: "0 3 1 * *" |
||||
|
workflow_dispatch: |
||||
|
inputs: |
||||
|
debug_enabled: |
||||
|
description: "Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)" |
||||
|
required: false |
||||
|
default: "false" |
||||
|
|
||||
|
env: |
||||
|
UV_SYSTEM_PYTHON: 1 |
||||
|
|
||||
|
jobs: |
||||
|
job: |
||||
|
if: github.repository_owner == 'fastapi' |
||||
|
runs-on: ubuntu-latest |
||||
|
permissions: |
||||
|
contents: write |
||||
|
steps: |
||||
|
- name: Dump GitHub context |
||||
|
env: |
||||
|
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
|
run: echo "$GITHUB_CONTEXT" |
||||
|
- uses: actions/checkout@v4 |
||||
|
- name: Set up Python |
||||
|
uses: actions/setup-python@v5 |
||||
|
with: |
||||
|
python-version: "3.11" |
||||
|
- name: Setup uv |
||||
|
uses: astral-sh/setup-uv@v6 |
||||
|
with: |
||||
|
version: "0.4.15" |
||||
|
enable-cache: true |
||||
|
cache-dependency-glob: | |
||||
|
requirements**.txt |
||||
|
pyproject.toml |
||||
|
- name: Install Dependencies |
||||
|
run: uv pip install -r requirements-github-actions.txt |
||||
|
# Allow debugging with tmate |
||||
|
- name: Setup tmate session |
||||
|
uses: mxschmitt/action-tmate@v3 |
||||
|
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }} |
||||
|
with: |
||||
|
limit-access-to-actor: true |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.FASTAPI_PR_TOKEN }} |
||||
|
- name: FastAPI People Contributors |
||||
|
run: python ./scripts/contributors.py |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.FASTAPI_PR_TOKEN }} |
@ -0,0 +1,52 @@ |
|||||
|
name: FastAPI People Sponsors |
||||
|
|
||||
|
on: |
||||
|
schedule: |
||||
|
- cron: "0 6 1 * *" |
||||
|
workflow_dispatch: |
||||
|
inputs: |
||||
|
debug_enabled: |
||||
|
description: "Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)" |
||||
|
required: false |
||||
|
default: "false" |
||||
|
|
||||
|
env: |
||||
|
UV_SYSTEM_PYTHON: 1 |
||||
|
|
||||
|
jobs: |
||||
|
job: |
||||
|
if: github.repository_owner == 'fastapi' |
||||
|
runs-on: ubuntu-latest |
||||
|
permissions: |
||||
|
contents: write |
||||
|
steps: |
||||
|
- name: Dump GitHub context |
||||
|
env: |
||||
|
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
|
run: echo "$GITHUB_CONTEXT" |
||||
|
- uses: actions/checkout@v4 |
||||
|
- name: Set up Python |
||||
|
uses: actions/setup-python@v5 |
||||
|
with: |
||||
|
python-version: "3.11" |
||||
|
- name: Setup uv |
||||
|
uses: astral-sh/setup-uv@v6 |
||||
|
with: |
||||
|
version: "0.4.15" |
||||
|
enable-cache: true |
||||
|
cache-dependency-glob: | |
||||
|
requirements**.txt |
||||
|
pyproject.toml |
||||
|
- name: Install Dependencies |
||||
|
run: uv pip install -r requirements-github-actions.txt |
||||
|
# Allow debugging with tmate |
||||
|
- name: Setup tmate session |
||||
|
uses: mxschmitt/action-tmate@v3 |
||||
|
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }} |
||||
|
with: |
||||
|
limit-access-to-actor: true |
||||
|
- name: FastAPI People Sponsors |
||||
|
run: python ./scripts/sponsors.py |
||||
|
env: |
||||
|
SPONSORS_TOKEN: ${{ secrets.SPONSORS_TOKEN }} |
||||
|
PR_TOKEN: ${{ secrets.FASTAPI_PR_TOKEN }} |
@ -0,0 +1,40 @@ |
|||||
|
name: Update Topic Repos |
||||
|
|
||||
|
on: |
||||
|
schedule: |
||||
|
- cron: "0 12 1 * *" |
||||
|
workflow_dispatch: |
||||
|
|
||||
|
env: |
||||
|
UV_SYSTEM_PYTHON: 1 |
||||
|
|
||||
|
jobs: |
||||
|
topic-repos: |
||||
|
if: github.repository_owner == 'fastapi' |
||||
|
runs-on: ubuntu-latest |
||||
|
permissions: |
||||
|
contents: write |
||||
|
steps: |
||||
|
- name: Dump GitHub context |
||||
|
env: |
||||
|
GITHUB_CONTEXT: ${{ toJson(github) }} |
||||
|
run: echo "$GITHUB_CONTEXT" |
||||
|
- uses: actions/checkout@v4 |
||||
|
- name: Set up Python |
||||
|
uses: actions/setup-python@v5 |
||||
|
with: |
||||
|
python-version: "3.11" |
||||
|
- name: Setup uv |
||||
|
uses: astral-sh/setup-uv@v6 |
||||
|
with: |
||||
|
version: "0.4.15" |
||||
|
enable-cache: true |
||||
|
cache-dependency-glob: | |
||||
|
requirements**.txt |
||||
|
pyproject.toml |
||||
|
- name: Install GitHub Actions dependencies |
||||
|
run: uv pip install -r requirements-github-actions.txt |
||||
|
- name: Update Topic Repos |
||||
|
run: python ./scripts/topic_repos.py |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.FASTAPI_PR_TOKEN }} |
@ -0,0 +1,298 @@ |
|||||
|
# এনভায়রনমেন্ট ভেরিয়েবলস |
||||
|
|
||||
|
/// tip |
||||
|
|
||||
|
আপনি যদি "এনভায়রনমেন্ট ভেরিয়েবলস" কী এবং সেগুলো কীভাবে ব্যবহার করতে হয় সেটা জানেন, তাহলে এই অংশটি স্কিপ করে যেতে পারেন। |
||||
|
|
||||
|
/// |
||||
|
|
||||
|
এনভায়রনমেন্ট ভেরিয়েবল (সংক্ষেপে "**env var**" নামেও পরিচিত) হলো এমন একটি ভেরিয়েবল যা পাইথন কোডের **বাইরে**, **অপারেটিং সিস্টেমে** থাকে এবং আপনার পাইথন কোড (বা অন্যান্য প্রোগ্রাম) দ্বারা যাকে রিড করা যায়। |
||||
|
|
||||
|
এনভায়রনমেন্ট ভেরিয়েবলস অ্যাপ্লিকেশনের **সেটিংস** পরিচালনা করতে, পাইথনের **ইনস্টলেশন** প্রক্রিয়ার অংশ হিসেবে, ইত্যাদি কাজে উপযোগী হতে পারে। |
||||
|
|
||||
|
## Env Vars তৈরী এবং ব্যবহার |
||||
|
|
||||
|
আপনি **শেল (টার্মিনাল)**-এ, পাইথনের প্রয়োজন ছাড়াই, এনভায়রনমেন্ট ভেরিয়েবলস **তৈরি** এবং ব্যবহার করতে পারবেনঃ |
||||
|
|
||||
|
//// tab | লিনাক্স, ম্যাকওএস, উইন্ডোজ Bash |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
// আপনি চাইলে MY_NAME নামে একটি env var তৈরি করতে পারেন |
||||
|
$ export MY_NAME="Wade Wilson" |
||||
|
|
||||
|
// তারপরে এটিকে চাইলে অন্যান্য প্রোগ্রামে ব্যবহার করতে পারেন |
||||
|
$ echo "Hello $MY_NAME" |
||||
|
|
||||
|
Hello Wade Wilson |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
//// tab | উইন্ডোজ পাওয়ারশেল |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
// MY_NAME নামে env var তৈরি |
||||
|
$ $Env:MY_NAME = "Wade Wilson" |
||||
|
|
||||
|
// অন্যান্য প্রোগ্রামে এটিকে ব্যবহার |
||||
|
$ echo "Hello $Env:MY_NAME" |
||||
|
|
||||
|
Hello Wade Wilson |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
## পাইথনে env vars রিড করা |
||||
|
|
||||
|
আপনি চাইলে পাইথনের **বাইরে**, টার্মিনালে (বা অন্য কোনো উপায়ে) এনভায়রনমেন্ট ভেরিয়েবলস তৈরি করতে পারেন, এবং পরে সেগুলো **পাইথনে রিড** (অ্যাক্সেস করতে) পারেন। |
||||
|
|
||||
|
উদাহরণস্বরূপ, আপনার `main.py` নামে একটি ফাইল থাকতে পারেঃ |
||||
|
|
||||
|
```Python hl_lines="3" |
||||
|
import os |
||||
|
|
||||
|
name = os.getenv("MY_NAME", "World") |
||||
|
print(f"Hello {name} from Python") |
||||
|
``` |
||||
|
|
||||
|
/// tip |
||||
|
|
||||
|
<a href="https://docs.python.org/3.8/library/os.html#os.getenv" class="external-link" target="_blank">`os.getenv()`</a> এর দ্বিতীয় আর্গুমেন্টটি হলো এর ডিফল্ট ভ্যালু যা রিটার্ন করা হবে। |
||||
|
|
||||
|
যদি এটি দেওয়া না হয়, ডিফল্টভাবে `None` ব্যবহৃত হবে, এখানে আমরা ডিফল্ট ভ্যালু হিসেবে `"World"` ব্যবহার করেছি। |
||||
|
|
||||
|
/// |
||||
|
|
||||
|
তারপরে পাইথন প্রোগ্রামটিকে নিম্নোক্তভাবে কল করা যাবেঃ |
||||
|
|
||||
|
//// tab | লিনাক্স, ম্যাকওএস, উইন্ডোজ Bash |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
// এখনো আমরা এনভায়রনমেন্ট ভেরিয়েবল সেট করিনি |
||||
|
$ python main.py |
||||
|
|
||||
|
// যেহেতু env var সেট করা হয়নি, তাই আমরা ডিফল্ট ভ্যালু পাচ্ছি |
||||
|
|
||||
|
Hello World from Python |
||||
|
|
||||
|
// কিন্তু আমরা প্রথমে যদি একটা এনভায়রনমেন্ট ভারিয়েবল তৈরি করে নেই |
||||
|
$ export MY_NAME="Wade Wilson" |
||||
|
|
||||
|
// এবং তারপর আবার প্রোগ্রাটিকে কল করি |
||||
|
$ python main.py |
||||
|
|
||||
|
// এখন এটি এনভায়রনমেন্ট ভেরিয়েবল রিড করতে পারবে |
||||
|
|
||||
|
Hello Wade Wilson from Python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
//// tab | উইন্ডোজ পাওয়ারশেল |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
// এখনো আমরা এনভায়রনমেন্ট ভেরিয়েবল সেট করিনি |
||||
|
$ python main.py |
||||
|
|
||||
|
// যেহেতু env var সেট করা হয়নি, তাই আমরা ডিফল্ট ভ্যালু পাচ্ছি |
||||
|
|
||||
|
Hello World from Python |
||||
|
|
||||
|
// কিন্তু আমরা প্রথমে যদি একটা এনভায়রনমেন্ট ভারিয়েবল তৈরি করে নেই |
||||
|
$ $Env:MY_NAME = "Wade Wilson" |
||||
|
|
||||
|
// এবং তারপর আবার প্রোগ্রাটিকে কল করি |
||||
|
$ python main.py |
||||
|
|
||||
|
// এখন এটি এনভায়রনমেন্ট ভেরিয়েবল রিড করতে পারবে |
||||
|
|
||||
|
Hello Wade Wilson from Python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
যেহেতু এনভায়রনমেন্ট ভেরিয়েবলস কোডের বাইরে সেট করা যায়, কিন্তু পরবর্তীতে কোড দ্বারা রিড করা যায়, এবং বাকি ফাইলগুলোর সাথে রাখতে (`git` এ কমিট) হয় না, তাই কনফিগারেশনস বা **সেটিংস** এর জন্য এগুলো সাধারণত ব্যবহৃত হয়ে থাকে। |
||||
|
|
||||
|
আপনি একটি এনভায়রনমেন্ট ভেরিয়েবল শুধুমাত্র একটি **নির্দিষ্ট প্রোগ্রাম ইনভোকেশনের** জন্যও তৈরি করতে পারেন, যা শুধুমাত্র সেই প্রোগ্রামের জন্যই এভেইলেবল থাকবে এবং শুধুমাত্র তার চলাকালীন সময় পর্যন্তই সক্রিয় থাকবে। |
||||
|
|
||||
|
এটি করতে, প্রোগ্রামটি রান করার ঠিক আগেই, একই লাইনে এনভায়রনমেন্ট ভেরিয়েবল তৈরি করুন: |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
// প্রোগ্রামটি কল করার সময় একই লাইনে MY_NAME এনভায়রনমেন্ট ভেরিয়েবল তৈরি করুন |
||||
|
$ MY_NAME="Wade Wilson" python main.py |
||||
|
|
||||
|
// এখন এটি এনভায়রনমেন্ট ভ্যরিয়েবলটিকে রিড করতে পারবে |
||||
|
|
||||
|
Hello Wade Wilson from Python |
||||
|
|
||||
|
// পরবর্তীতে এনভায়রনমেন্ট ভেরিয়েবলটিকে আর ব্যবহার করা যাচ্ছে না |
||||
|
$ python main.py |
||||
|
|
||||
|
Hello World from Python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
/// tip |
||||
|
|
||||
|
এটি নিয়ে আরো বিস্তারিত পড়তে পারেন এখানে <a href="https://12factor.net/config" class="external-link" target="_blank">The Twelve-Factor App: Config</a>। |
||||
|
|
||||
|
/// |
||||
|
|
||||
|
## টাইপস এবং ভ্যালিডেশন |
||||
|
|
||||
|
এই এনভায়রনমেন্ট ভেরিয়েবলগুলো শুধুমাত্র **টেক্সট স্ট্রিংস** হ্যান্ডেল করতে পারে, যেহেতু এগুলো পাইথনের বাইরে অবস্থিত এবং অন্যান্য প্রোগ্রাম এবং সিস্টেমের বাকি অংশের (এমনকি বিভিন্ন অপারেটিং সিস্টেম যেমন লিনাক্স, উইন্ডোজ, ম্যাকওএস) সাথে সামঞ্জস্যপূর্ণ হতে হয়। |
||||
|
|
||||
|
এর অর্থ হচ্ছে পাইথনে এনভায়রনমেন্ট ভেরিয়েবল থেকে রিড করা **যেকোনো ভ্যালু** একটি `str` হবে, এবং অন্য কোনো টাইপে কনভার্সন বা যেকোনো ভেলিডেশন কোডে আলাদাভাবে করতে হবে। |
||||
|
|
||||
|
এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে **এপ্লিকেশন সেটিংস** হ্যান্ডেল করা নিয়ে আরো বিস্তারিত জানা যাবে [Advanced User Guide - Settings and Environment Variables](./advanced/settings.md){.internal-link target=_blank}. |
||||
|
|
||||
|
## `PATH` এনভায়রনমেন্ট ভেরিয়েবল |
||||
|
|
||||
|
**`PATH`** নামে একটি **বিশেষ** এনভায়রনমেন্ট ভেরিয়েবল রয়েছে, যেটি প্রোগ্রাম রান করার জন্য অপারেটিং সিস্টেমস (লিনাক্স, ম্যাকওএস, উইন্ডোজ) দ্বারা ব্যবহৃত হয়। |
||||
|
|
||||
|
`PATH` ভেরিয়েবল এর ভ্যালু হচ্ছে একটি বিশাল স্ট্রিং যা ডিরেক্টরিকে কোলন `:` দিয়ে আলাদা করার মাধ্যমে লিনাক্সে ও ম্যাকওএস এ, এবং সেমিকোলন `;` এর মাধ্যমে উইন্ডোজ এ তৈরি করা থাকে। |
||||
|
|
||||
|
উদাহরণস্বরূপ, `PATH` ভেরিয়েবল নিচের মতো দেখতে হতে পারেঃ |
||||
|
|
||||
|
//// tab | লিনাক্স, ম্যাকওএস |
||||
|
|
||||
|
```plaintext |
||||
|
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin |
||||
|
``` |
||||
|
|
||||
|
তারমানে হলো সিস্টেম প্রোগ্রামগুলোকে নিচের ডিরেক্টরিগুলোতে খুঁজবেঃ |
||||
|
|
||||
|
* `/usr/local/bin` |
||||
|
* `/usr/bin` |
||||
|
* `/bin` |
||||
|
* `/usr/sbin` |
||||
|
* `/sbin` |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
//// tab | উইন্ডোজ |
||||
|
|
||||
|
```plaintext |
||||
|
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32 |
||||
|
``` |
||||
|
|
||||
|
তারমানে হলো সিস্টেম প্রোগ্রামগুলোকে নিচের ডিরেক্টরিগুলোতে খুঁজবেঃ |
||||
|
|
||||
|
* `C:\Program Files\Python312\Scripts` |
||||
|
* `C:\Program Files\Python312` |
||||
|
* `C:\Windows\System32` |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
যখন আপনি টার্মিনালে কোনো **কমান্ড** লিখবেন, অপারেটিং সিস্টেম **প্রত্যেকটি ডিরেক্টরিতে** প্রোগ্রামটি **খুঁজবে** যেগুলো `PATH` এনভায়রনমেন্ট ভেরিয়েবল এ লিস্ট করা আছে। |
||||
|
|
||||
|
উদাহরণস্বরূপ, যখন আপনি টার্মিনালে `python` টাইপ করবেন, অপারেটিং সিস্টেম এই লিস্ট এর **প্রথম ডিরেক্টরিতে** `python` নামের একটি প্রোগ্রাম খুঁজবে। |
||||
|
|
||||
|
যদি এটি খুঁজে পায়, তাহলে এটি প্রোগ্রামটিকে ব্যবহার করবে। অন্যথায় এটি **অন্যান্য ডিরেক্টরিগুলোতে** এটিকে খুঁজতে থাকবে। |
||||
|
|
||||
|
### পাইথন ইনস্টল এবং `PATH` আপডেট |
||||
|
|
||||
|
যখন আপনি পাইথন ইনস্টল করেন, আপনি `PATH` এনভায়রনমেন্ট ভেরিয়েবল আপডেট করতে চান কিনা সেটা জিজ্ঞেস করা হতে পারে। |
||||
|
|
||||
|
//// tab | লিনাক্স, ম্যাকওএস |
||||
|
|
||||
|
ধরা যাক আপনি পাইথন ইনস্টল করলেন এবং এটি `/opt/custompython/bin` ডিরেক্টরিতে ইনস্টল হচ্ছে। |
||||
|
|
||||
|
যদি আপনি "Yes" সিলেক্ট করে `PATH` এনভায়রনমেন্ট ভেরিয়েবল আপডেট করতে চান, তাহলে ইনস্টলার `/opt/custompython/bin` কে `PATH` এনভায়রনমেন্ট ভেরিয়েবল এ এড করে দিবে। |
||||
|
|
||||
|
এটা দেখতে এমনটা হতে পারেঃ |
||||
|
|
||||
|
```plaintext |
||||
|
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin |
||||
|
``` |
||||
|
|
||||
|
এইভাবে, আপনি যখন টার্মিনালে `python` টাইপ করেন, সিস্টেম পাইথন প্রোগ্রামটিকে `/opt/custompython/bin` (সর্বশেষ ডিরেক্টরি) তে খুঁজে পাবে এবং এটাকে ব্যবহার করবে। |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
//// tab | উইন্ডোজ |
||||
|
|
||||
|
ধরা যাক আপনি পাইথন ইনস্টল করলেন এবং এটি `C:\opt\custompython\bin` ডিরেক্টরিতে ইনস্টল হচ্ছে। |
||||
|
|
||||
|
যদি আপনি "Yes" সিলেক্ট করে `PATH` এনভায়রনমেন্ট ভেরিয়েবল আপডেট করতে চান, তাহলে ইনস্টলার `C:\opt\custompython\bin` কে `PATH` এনভায়রনমেন্ট ভেরিয়েবল এ এড করে দিবে। |
||||
|
|
||||
|
```plaintext |
||||
|
C:\Program Files\Python312\Scripts;C:\Program Files\Python312;C:\Windows\System32;C:\opt\custompython\bin |
||||
|
``` |
||||
|
|
||||
|
এইভাবে, আপনি যখন টার্মিনালে `python` টাইপ করেন, সিস্টেম পাইথন প্রোগ্রামটিকে `C:\opt\custompython\bin` (সর্বশেষ ডিরেক্টরি) তে খুঁজে পাবে এবং এটাকে ব্যবহার করবে। |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
তাই, আপনি যদি টাইপ করেনঃ |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
$ python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// tab | লিনাক্স, ম্যাকওএস |
||||
|
|
||||
|
সিস্টেম `python` প্রোগ্রামকে `/opt/custompython/bin` এ **খুঁজে পাবে** এবং এটাকে রান করবে। |
||||
|
|
||||
|
এটা মোটামুটিভাবে নিচের মতো করে লেখার সমান হবেঃ |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
$ /opt/custompython/bin/python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
//// tab | উইন্ডোজ |
||||
|
|
||||
|
সিস্টেম `python` প্রোগ্রামকে `C:\opt\custompython\bin\python` এ **খুঁজে পাবে** এবং এটাকে রান করবে। |
||||
|
|
||||
|
এটা মোটামুটিভাবে নিচের মতো করে লেখার সমান হবেঃ |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
$ C:\opt\custompython\bin\python |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
//// |
||||
|
|
||||
|
এই তথ্যগুলো [ভার্চুয়াল এনভায়রনমেন্টস](virtual-environments.md){.internal-link target=_blank} শেখার ক্ষেত্রে সহায়ক হবে। |
||||
|
|
||||
|
## উপসংহার |
||||
|
|
||||
|
এর মাধ্যমে আপনি **এনভায়রনমেন্ট ভেরিয়েবলস** কি এবং এটিকে পাইথনে কিভাবে ব্যবহার করতে হয় তার সম্পর্কে বেসিক ধারনা পেলেন। |
||||
|
|
||||
|
চাইলে এই সম্পর্কে আরো বিস্তারিত পড়তে পারেন <a href="https://en.wikipedia.org/wiki/Environment_variable" class="external-link" target="_blank">Wikipedia for Environment Variable</a> এ। |
||||
|
|
||||
|
অনেক ক্ষেত্রে, দেখা মাত্রই এনভায়রনমেন্ট ভেরিয়েবল কীভাবে প্রয়োজন হবে তা স্পষ্ট হয় না। কিন্তু ডেভেলপমেন্টের সময় আপনি নানা রকম পরিস্থিতিতে এগুলোর সম্মুখীন হবেন, তাই এগুলো সম্পর্কে জেনে রাখা ভালো। |
||||
|
|
||||
|
উদাহরণস্বরূপ, আপনার এই ইনফরমেশনটি পরবর্তী, [ভার্চুয়াল এনভায়রনমেন্টস](virtual-environments.md) অংশে দরকার হবে। |
@ -0,0 +1,560 @@ |
|||||
|
tiangolo: |
||||
|
login: tiangolo |
||||
|
count: 753 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4 |
||||
|
url: https://github.com/tiangolo |
||||
|
dependabot: |
||||
|
login: dependabot |
||||
|
count: 104 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/in/29110?v=4 |
||||
|
url: https://github.com/apps/dependabot |
||||
|
alejsdev: |
||||
|
login: alejsdev |
||||
|
count: 47 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=638c65283ac9e9e2c3a0f9d1e3370db4b8a2c58d&v=4 |
||||
|
url: https://github.com/alejsdev |
||||
|
pre-commit-ci: |
||||
|
login: pre-commit-ci |
||||
|
count: 33 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/in/68672?v=4 |
||||
|
url: https://github.com/apps/pre-commit-ci |
||||
|
github-actions: |
||||
|
login: github-actions |
||||
|
count: 26 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/in/15368?v=4 |
||||
|
url: https://github.com/apps/github-actions |
||||
|
Kludex: |
||||
|
login: Kludex |
||||
|
count: 23 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/7353520?u=df8a3f06ba8f55ae1967a3e2d5ed882903a4e330&v=4 |
||||
|
url: https://github.com/Kludex |
||||
|
dmontagu: |
||||
|
login: dmontagu |
||||
|
count: 17 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/35119617?u=540f30c937a6450812628b9592a1dfe91bbe148e&v=4 |
||||
|
url: https://github.com/dmontagu |
||||
|
euri10: |
||||
|
login: euri10 |
||||
|
count: 13 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1104190?u=321a2e953e6645a7d09b732786c7a8061e0f8a8b&v=4 |
||||
|
url: https://github.com/euri10 |
||||
|
kantandane: |
||||
|
login: kantandane |
||||
|
count: 13 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3978368?u=cccc199291f991a73b1ebba5abc735a948e0bd16&v=4 |
||||
|
url: https://github.com/kantandane |
||||
|
nilslindemann: |
||||
|
login: nilslindemann |
||||
|
count: 11 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4 |
||||
|
url: https://github.com/nilslindemann |
||||
|
zhaohan-dong: |
||||
|
login: zhaohan-dong |
||||
|
count: 11 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/65422392?u=8260f8781f50248410ebfa4c9bf70e143fe5c9f2&v=4 |
||||
|
url: https://github.com/zhaohan-dong |
||||
|
mariacamilagl: |
||||
|
login: mariacamilagl |
||||
|
count: 9 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11489395?u=4adb6986bf3debfc2b8216ae701f2bd47d73da7d&v=4 |
||||
|
url: https://github.com/mariacamilagl |
||||
|
handabaldeep: |
||||
|
login: handabaldeep |
||||
|
count: 9 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/12239103?u=6c39ef15d14c6d5211f5dd775cc4842f8d7f2f3a&v=4 |
||||
|
url: https://github.com/handabaldeep |
||||
|
vishnuvskvkl: |
||||
|
login: vishnuvskvkl |
||||
|
count: 8 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/84698110?u=8af5de0520dd4fa195f53c2850a26f57c0f6bc64&v=4 |
||||
|
url: https://github.com/vishnuvskvkl |
||||
|
svlandeg: |
||||
|
login: svlandeg |
||||
|
count: 7 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/8796347?u=556c97650c27021911b0b9447ec55e75987b0e8a&v=4 |
||||
|
url: https://github.com/svlandeg |
||||
|
alissadb: |
||||
|
login: alissadb |
||||
|
count: 6 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/96190409?u=be42d85938c241be781505a5a872575be28b2906&v=4 |
||||
|
url: https://github.com/alissadb |
||||
|
wshayes: |
||||
|
login: wshayes |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/365303?u=07ca03c5ee811eb0920e633cc3c3db73dbec1aa5&v=4 |
||||
|
url: https://github.com/wshayes |
||||
|
samuelcolvin: |
||||
|
login: samuelcolvin |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/4039449?u=42eb3b833047c8c4b4f647a031eaef148c16d93f&v=4 |
||||
|
url: https://github.com/samuelcolvin |
||||
|
waynerv: |
||||
|
login: waynerv |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/39515546?u=ec35139777597cdbbbddda29bf8b9d4396b429a9&v=4 |
||||
|
url: https://github.com/waynerv |
||||
|
krishnamadhavan: |
||||
|
login: krishnamadhavan |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31798870?u=950693b28f3ae01105fd545c046e46ca3d31ab06&v=4 |
||||
|
url: https://github.com/krishnamadhavan |
||||
|
alv2017: |
||||
|
login: alv2017 |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4 |
||||
|
url: https://github.com/alv2017 |
||||
|
jekirl: |
||||
|
login: jekirl |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/2546697?u=a027452387d85bd4a14834e19d716c99255fb3b7&v=4 |
||||
|
url: https://github.com/jekirl |
||||
|
hitrust: |
||||
|
login: hitrust |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3360631?u=5fa1f475ad784d64eb9666bdd43cc4d285dcc773&v=4 |
||||
|
url: https://github.com/hitrust |
||||
|
ShahriyarR: |
||||
|
login: ShahriyarR |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3852029?u=631b2ae59360ab380c524b32bc3d245aff1165af&v=4 |
||||
|
url: https://github.com/ShahriyarR |
||||
|
adriangb: |
||||
|
login: adriangb |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1755071?u=612704256e38d6ac9cbed24f10e4b6ac2da74ecb&v=4 |
||||
|
url: https://github.com/adriangb |
||||
|
iudeen: |
||||
|
login: iudeen |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/10519440?u=f09cdd745e5bf16138f29b42732dd57c7f02bee1&v=4 |
||||
|
url: https://github.com/iudeen |
||||
|
philipokiokio: |
||||
|
login: philipokiokio |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/55271518?u=d30994d339aaaf1f6bf1b8fc810132016fbd4fdc&v=4 |
||||
|
url: https://github.com/philipokiokio |
||||
|
AlexWendland: |
||||
|
login: AlexWendland |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3949212?u=c4c0c615e0ea33d00bfe16b779cf6ebc0f58071c&v=4 |
||||
|
url: https://github.com/AlexWendland |
||||
|
divums: |
||||
|
login: divums |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1397556?v=4 |
||||
|
url: https://github.com/divums |
||||
|
prostomarkeloff: |
||||
|
login: prostomarkeloff |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/28061158?u=6918e39a1224194ba636e897461a02a20126d7ad&v=4 |
||||
|
url: https://github.com/prostomarkeloff |
||||
|
nsidnev: |
||||
|
login: nsidnev |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/22559461?u=a9cc3238217e21dc8796a1a500f01b722adb082c&v=4 |
||||
|
url: https://github.com/nsidnev |
||||
|
pawamoy: |
||||
|
login: pawamoy |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3999221?u=b030e4c89df2f3a36bc4710b925bdeb6745c9856&v=4 |
||||
|
url: https://github.com/pawamoy |
||||
|
patrickmckenna: |
||||
|
login: patrickmckenna |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3589536?u=53aef07250d226d35e526768e26891964907b41a&v=4 |
||||
|
url: https://github.com/patrickmckenna |
||||
|
hukkin: |
||||
|
login: hukkin |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3275109?u=77bb83759127965eacbfe67e2ca983066e964fde&v=4 |
||||
|
url: https://github.com/hukkin |
||||
|
marcosmmb: |
||||
|
login: marcosmmb |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6181089?u=03c50eec631857d84df5232890780d00a3f76903&v=4 |
||||
|
url: https://github.com/marcosmmb |
||||
|
Serrones: |
||||
|
login: Serrones |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/22691749?u=4795b880e13ca33a73e52fc0ef7dc9c60c8fce47&v=4 |
||||
|
url: https://github.com/Serrones |
||||
|
uriyyo: |
||||
|
login: uriyyo |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/32038156?u=a27b65a9ec3420586a827a0facccbb8b6df1ffb3&v=4 |
||||
|
url: https://github.com/uriyyo |
||||
|
andrew222651: |
||||
|
login: andrew222651 |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/889657?u=d70187989940b085bcbfa3bedad8dbc5f3ab1fe7&v=4 |
||||
|
url: https://github.com/andrew222651 |
||||
|
rkbeatss: |
||||
|
login: rkbeatss |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/23391143?u=56ab6bff50be950fa8cae5cf736f2ae66e319ff3&v=4 |
||||
|
url: https://github.com/rkbeatss |
||||
|
asheux: |
||||
|
login: asheux |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/22955146?u=4553ebf5b5a7c7fe031a46182083aa224faba2e1&v=4 |
||||
|
url: https://github.com/asheux |
||||
|
n25a: |
||||
|
login: n25a |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/49960770?u=7d8a6d5f0a75a5e9a865a2527edfd48895ea27ae&v=4 |
||||
|
url: https://github.com/n25a |
||||
|
ghandic: |
||||
|
login: ghandic |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/23500353?u=e2e1d736f924d9be81e8bfc565b6d8836ba99773&v=4 |
||||
|
url: https://github.com/ghandic |
||||
|
TeoZosa: |
||||
|
login: TeoZosa |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13070236?u=96fdae85800ef85dcfcc4b5f8281dc8778c8cb7d&v=4 |
||||
|
url: https://github.com/TeoZosa |
||||
|
graingert: |
||||
|
login: graingert |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/413772?v=4 |
||||
|
url: https://github.com/graingert |
||||
|
jaystone776: |
||||
|
login: jaystone776 |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11191137?u=299205a95e9b6817a43144a48b643346a5aac5cc&v=4 |
||||
|
url: https://github.com/jaystone776 |
||||
|
zanieb: |
||||
|
login: zanieb |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/2586601?u=e5c86f7ff3b859e7e183187ac2b17fd6ee32b3ab&v=4 |
||||
|
url: https://github.com/zanieb |
||||
|
MicaelJarniac: |
||||
|
login: MicaelJarniac |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/19514231?u=158c91874ea98d6e9e6f0c6db37ee2ce60c55ff2&v=4 |
||||
|
url: https://github.com/MicaelJarniac |
||||
|
papb: |
||||
|
login: papb |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/20914054?u=890511fae7ea90d887e2a65ce44a1775abba38d5&v=4 |
||||
|
url: https://github.com/papb |
||||
|
musicinmybrain: |
||||
|
login: musicinmybrain |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6898909?u=9010312053e7141383b9bdf538036c7f37fbaba0&v=4 |
||||
|
url: https://github.com/musicinmybrain |
||||
|
gitworkflows: |
||||
|
login: gitworkflows |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/118260833?v=4 |
||||
|
url: https://github.com/gitworkflows |
||||
|
Nimitha-jagadeesha: |
||||
|
login: Nimitha-jagadeesha |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/58389915?v=4 |
||||
|
url: https://github.com/Nimitha-jagadeesha |
||||
|
lucaromagnoli: |
||||
|
login: lucaromagnoli |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/38782977?u=e66396859f493b4ddcb3a837a1b2b2039c805417&v=4 |
||||
|
url: https://github.com/lucaromagnoli |
||||
|
salmantec: |
||||
|
login: salmantec |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/41512228?u=443551b893ff2425c59d5d021644f098cf7c68d5&v=4 |
||||
|
url: https://github.com/salmantec |
||||
|
OCE1960: |
||||
|
login: OCE1960 |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/45076670?u=0e9a44712b92ffa89ddfbaa83c112f3f8e1d68e2&v=4 |
||||
|
url: https://github.com/OCE1960 |
||||
|
hamidrasti: |
||||
|
login: hamidrasti |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/43915620?v=4 |
||||
|
url: https://github.com/hamidrasti |
||||
|
kkinder: |
||||
|
login: kkinder |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1115018?u=c5e90284a9f5c5049eae1bb029e3655c7dc913ed&v=4 |
||||
|
url: https://github.com/kkinder |
||||
|
kabirkhan: |
||||
|
login: kabirkhan |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13891834?u=e0eabf792376443ac853e7dca6f550db4166fe35&v=4 |
||||
|
url: https://github.com/kabirkhan |
||||
|
zamiramir: |
||||
|
login: zamiramir |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/40475662?u=e58ef61034e8d0d6a312cc956fb09b9c3332b449&v=4 |
||||
|
url: https://github.com/zamiramir |
||||
|
trim21: |
||||
|
login: trim21 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13553903?u=3cadf0f02095c9621aa29df6875f53a80ca4fbfb&v=4 |
||||
|
url: https://github.com/trim21 |
||||
|
koxudaxi: |
||||
|
login: koxudaxi |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/630670?u=507d8577b4b3670546b449c4c2ccbc5af40d72f7&v=4 |
||||
|
url: https://github.com/koxudaxi |
||||
|
pablogamboa: |
||||
|
login: pablogamboa |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/12892536?u=326a57059ee0c40c4eb1b38413957236841c631b&v=4 |
||||
|
url: https://github.com/pablogamboa |
||||
|
dconathan: |
||||
|
login: dconathan |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/15098095?v=4 |
||||
|
url: https://github.com/dconathan |
||||
|
Jamim: |
||||
|
login: Jamim |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/5607572?u=9ce0b6a6d1a5124e28b3c04d8d26827ca328713a&v=4 |
||||
|
url: https://github.com/Jamim |
||||
|
svalouch: |
||||
|
login: svalouch |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/54674660?v=4 |
||||
|
url: https://github.com/svalouch |
||||
|
frankie567: |
||||
|
login: frankie567 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1144727?u=c159fe047727aedecbbeeaa96a1b03ceb9d39add&v=4 |
||||
|
url: https://github.com/frankie567 |
||||
|
marier-nico: |
||||
|
login: marier-nico |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/30477068?u=c7df6af853c8f4163d1517814f3e9a0715c82713&v=4 |
||||
|
url: https://github.com/marier-nico |
||||
|
Dustyposa: |
||||
|
login: Dustyposa |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/27180793?u=5cf2877f50b3eb2bc55086089a78a36f07042889&v=4 |
||||
|
url: https://github.com/Dustyposa |
||||
|
aviramha: |
||||
|
login: aviramha |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/41201924?u=6883cc4fc13a7b2e60d4deddd4be06f9c5287880&v=4 |
||||
|
url: https://github.com/aviramha |
||||
|
iwpnd: |
||||
|
login: iwpnd |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6152183?u=ec59396e9437fff488791c5ecdf6d23f1f1ebf3a&v=4 |
||||
|
url: https://github.com/iwpnd |
||||
|
raphaelauv: |
||||
|
login: raphaelauv |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/10202690?u=e6f86f5c0c3026a15d6b51792fa3e532b12f1371&v=4 |
||||
|
url: https://github.com/raphaelauv |
||||
|
windson: |
||||
|
login: windson |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1826682?u=8b28dcd716c46289f191f8828e01d74edd058bef&v=4 |
||||
|
url: https://github.com/windson |
||||
|
sm-Fifteen: |
||||
|
login: sm-Fifteen |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/516999?u=437c0c5038558c67e887ccd863c1ba0f846c03da&v=4 |
||||
|
url: https://github.com/sm-Fifteen |
||||
|
sattosan: |
||||
|
login: sattosan |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/20574756?u=b0d8474d2938189c6954423ae8d81d91013f80a8&v=4 |
||||
|
url: https://github.com/sattosan |
||||
|
michaeloliverx: |
||||
|
login: michaeloliverx |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/55017335?u=efb0cb6e261ff64d862fafb91ee80fc2e1f8a2ed&v=4 |
||||
|
url: https://github.com/michaeloliverx |
||||
|
voegtlel: |
||||
|
login: voegtlel |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/5764745?u=db8df3d70d427928ab6d7dbfc395a4a7109c1d1b&v=4 |
||||
|
url: https://github.com/voegtlel |
||||
|
HarshaLaxman: |
||||
|
login: HarshaLaxman |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/19939186?u=a112f38b0f6b4d4402dc8b51978b5a0b2e5c5970&v=4 |
||||
|
url: https://github.com/HarshaLaxman |
||||
|
RunningIkkyu: |
||||
|
login: RunningIkkyu |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31848542?u=494ecc298e3f26197495bb357ad0f57cfd5f7a32&v=4 |
||||
|
url: https://github.com/RunningIkkyu |
||||
|
cassiobotaro: |
||||
|
login: cassiobotaro |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3127847?u=a08022b191ddbd0a6159b2981d9d878b6d5bb71f&v=4 |
||||
|
url: https://github.com/cassiobotaro |
||||
|
chenl: |
||||
|
login: chenl |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1677651?u=c618508eaad6d596cea36c8ea784b424288f6857&v=4 |
||||
|
url: https://github.com/chenl |
||||
|
retnikt: |
||||
|
login: retnikt |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/24581770?v=4 |
||||
|
url: https://github.com/retnikt |
||||
|
yankeexe: |
||||
|
login: yankeexe |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13623913?u=f970e66421775a8d3cdab89c0c752eaead186f6d&v=4 |
||||
|
url: https://github.com/yankeexe |
||||
|
patrickkwang: |
||||
|
login: patrickkwang |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1263870?u=4bf74020e15be490f19ef8322a76eec882220b96&v=4 |
||||
|
url: https://github.com/patrickkwang |
||||
|
victorphoenix3: |
||||
|
login: victorphoenix3 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/48182195?u=e4875bd088623cb4ddeb7be194ec54b453aff035&v=4 |
||||
|
url: https://github.com/victorphoenix3 |
||||
|
davidefiocco: |
||||
|
login: davidefiocco |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/4547987?v=4 |
||||
|
url: https://github.com/davidefiocco |
||||
|
adriencaccia: |
||||
|
login: adriencaccia |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/19605940?u=980b0b366a02791a5600b2e9f9ac2037679acaa8&v=4 |
||||
|
url: https://github.com/adriencaccia |
||||
|
jamescurtin: |
||||
|
login: jamescurtin |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/10189269?u=0b491fc600ca51f41cf1d95b49fa32a3eba1de57&v=4 |
||||
|
url: https://github.com/jamescurtin |
||||
|
jmriebold: |
||||
|
login: jmriebold |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6983392?u=4efdc97bf2422dcc7e9ff65b9ff80087c8eb2a20&v=4 |
||||
|
url: https://github.com/jmriebold |
||||
|
nukopy: |
||||
|
login: nukopy |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/42367320?u=6061be0bd060506f6d564a8df3ae73fab048cdfe&v=4 |
||||
|
url: https://github.com/nukopy |
||||
|
imba-tjd: |
||||
|
login: imba-tjd |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/24759802?u=01e901a4fe004b4b126549d3ff1c4000fe3720b5&v=4 |
||||
|
url: https://github.com/imba-tjd |
||||
|
johnthagen: |
||||
|
login: johnthagen |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/10340167?u=47147fc4e4db1f573bee3fe428deeacb3197bc5f&v=4 |
||||
|
url: https://github.com/johnthagen |
||||
|
paxcodes: |
||||
|
login: paxcodes |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13646646?u=e7429cc7ab11211ef762f4cd3efea7db6d9ef036&v=4 |
||||
|
url: https://github.com/paxcodes |
||||
|
kaustubhgupta: |
||||
|
login: kaustubhgupta |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/43691873?u=8dd738718ac7ffad4ef31e86b5d780a1141c695d&v=4 |
||||
|
url: https://github.com/kaustubhgupta |
||||
|
kinuax: |
||||
|
login: kinuax |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13321374?u=22dc9873d6d9f2c7e4fc44c6480c3505efb1531f&v=4 |
||||
|
url: https://github.com/kinuax |
||||
|
wakabame: |
||||
|
login: wakabame |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/35513518?u=41ef6b0a55076e5c540620d68fb006e386c2ddb0&v=4 |
||||
|
url: https://github.com/wakabame |
||||
|
nzig: |
||||
|
login: nzig |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/7372858?u=e769add36ed73c778cdb136eb10bf96b1e119671&v=4 |
||||
|
url: https://github.com/nzig |
||||
|
yezz123: |
||||
|
login: yezz123 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/52716203?u=d7062cbc6eb7671d5dc9cc0e32a24ae335e0f225&v=4 |
||||
|
url: https://github.com/yezz123 |
||||
|
softwarebloat: |
||||
|
login: softwarebloat |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/16540684?v=4 |
||||
|
url: https://github.com/softwarebloat |
||||
|
Lancetnik: |
||||
|
login: Lancetnik |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/44573917?u=f9a18be7324333daf9cc314c35c3051f0a20a7a6&v=4 |
||||
|
url: https://github.com/Lancetnik |
||||
|
joakimnordling: |
||||
|
login: joakimnordling |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6637576?u=df5d99db9b899b399effd429f4358baaa6f7199c&v=4 |
||||
|
url: https://github.com/joakimnordling |
||||
|
yogabonito: |
||||
|
login: yogabonito |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/7026269?v=4 |
||||
|
url: https://github.com/yogabonito |
||||
|
s111d: |
||||
|
login: s111d |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/4954856?v=4 |
||||
|
url: https://github.com/s111d |
||||
|
estebanx64: |
||||
|
login: estebanx64 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/10840422?u=45f015f95e1c0f06df602be4ab688d4b854cc8a8&v=4 |
||||
|
url: https://github.com/estebanx64 |
||||
|
tamird: |
||||
|
login: tamird |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1535036?v=4 |
||||
|
url: https://github.com/tamird |
||||
|
ndimares: |
||||
|
login: ndimares |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6267663?u=cfb27efde7a7212be8142abb6c058a1aeadb41b1&v=4 |
||||
|
url: https://github.com/ndimares |
||||
|
rabinlamadong: |
||||
|
login: rabinlamadong |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/170439781?v=4 |
||||
|
url: https://github.com/rabinlamadong |
||||
|
AyushSinghal1794: |
||||
|
login: AyushSinghal1794 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/89984761?v=4 |
||||
|
url: https://github.com/AyushSinghal1794 |
||||
|
gsheni: |
||||
|
login: gsheni |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/8726321?u=ee3bd9ff6320f4715d1dd9671a3d55cccb65b984&v=4 |
||||
|
url: https://github.com/gsheni |
||||
|
DanielKusyDev: |
||||
|
login: DanielKusyDev |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/36250676?u=2ea6114ff751fc48b55f231987a0e2582c6b1bd2&v=4 |
||||
|
url: https://github.com/DanielKusyDev |
||||
|
DanielYang59: |
||||
|
login: DanielYang59 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/80093591?u=63873f701c7c74aac83c906800a1dddc0bc8c92f&v=4 |
||||
|
url: https://github.com/DanielYang59 |
||||
|
valentinDruzhinin: |
||||
|
login: valentinDruzhinin |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/12831905?u=aae1ebc675c91e8fa582df4fcc4fc4128106344d&v=4 |
||||
|
url: https://github.com/valentinDruzhinin |
||||
|
blueswen: |
||||
|
login: blueswen |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1564148?u=6d6b8cc8f2b5cef715e68d6175154a8a94d518ee&v=4 |
||||
|
url: https://github.com/blueswen |
||||
|
YuriiMotov: |
||||
|
login: YuriiMotov |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/109919500?u=e83a39697a2d33ab2ec9bfbced794ee48bc29cec&v=4 |
||||
|
url: https://github.com/YuriiMotov |
@ -0,0 +1,5 @@ |
|||||
|
- tiangolo |
||||
|
- codecov |
||||
|
- github-actions |
||||
|
- pre-commit-ci |
||||
|
- dependabot |
@ -0,0 +1,495 @@ |
|||||
|
- name: full-stack-fastapi-template |
||||
|
html_url: https://github.com/fastapi/full-stack-fastapi-template |
||||
|
stars: 34156 |
||||
|
owner_login: fastapi |
||||
|
owner_html_url: https://github.com/fastapi |
||||
|
- name: Hello-Python |
||||
|
html_url: https://github.com/mouredev/Hello-Python |
||||
|
stars: 30835 |
||||
|
owner_login: mouredev |
||||
|
owner_html_url: https://github.com/mouredev |
||||
|
- name: serve |
||||
|
html_url: https://github.com/jina-ai/serve |
||||
|
stars: 21631 |
||||
|
owner_login: jina-ai |
||||
|
owner_html_url: https://github.com/jina-ai |
||||
|
- name: HivisionIDPhotos |
||||
|
html_url: https://github.com/Zeyi-Lin/HivisionIDPhotos |
||||
|
stars: 18125 |
||||
|
owner_login: Zeyi-Lin |
||||
|
owner_html_url: https://github.com/Zeyi-Lin |
||||
|
- name: sqlmodel |
||||
|
html_url: https://github.com/fastapi/sqlmodel |
||||
|
stars: 16249 |
||||
|
owner_login: fastapi |
||||
|
owner_html_url: https://github.com/fastapi |
||||
|
- name: Douyin_TikTok_Download_API |
||||
|
html_url: https://github.com/Evil0ctal/Douyin_TikTok_Download_API |
||||
|
stars: 13279 |
||||
|
owner_login: Evil0ctal |
||||
|
owner_html_url: https://github.com/Evil0ctal |
||||
|
- name: fastapi-best-practices |
||||
|
html_url: https://github.com/zhanymkanov/fastapi-best-practices |
||||
|
stars: 12334 |
||||
|
owner_login: zhanymkanov |
||||
|
owner_html_url: https://github.com/zhanymkanov |
||||
|
- name: awesome-fastapi |
||||
|
html_url: https://github.com/mjhea0/awesome-fastapi |
||||
|
stars: 9934 |
||||
|
owner_login: mjhea0 |
||||
|
owner_html_url: https://github.com/mjhea0 |
||||
|
- name: FastUI |
||||
|
html_url: https://github.com/pydantic/FastUI |
||||
|
stars: 8838 |
||||
|
owner_login: pydantic |
||||
|
owner_html_url: https://github.com/pydantic |
||||
|
- name: XHS-Downloader |
||||
|
html_url: https://github.com/JoeanAmier/XHS-Downloader |
||||
|
stars: 7962 |
||||
|
owner_login: JoeanAmier |
||||
|
owner_html_url: https://github.com/JoeanAmier |
||||
|
- name: nonebot2 |
||||
|
html_url: https://github.com/nonebot/nonebot2 |
||||
|
stars: 6834 |
||||
|
owner_login: nonebot |
||||
|
owner_html_url: https://github.com/nonebot |
||||
|
- name: FileCodeBox |
||||
|
html_url: https://github.com/vastsa/FileCodeBox |
||||
|
stars: 6783 |
||||
|
owner_login: vastsa |
||||
|
owner_html_url: https://github.com/vastsa |
||||
|
- name: fastapi_mcp |
||||
|
html_url: https://github.com/tadata-org/fastapi_mcp |
||||
|
stars: 5846 |
||||
|
owner_login: tadata-org |
||||
|
owner_html_url: https://github.com/tadata-org |
||||
|
- name: hatchet |
||||
|
html_url: https://github.com/hatchet-dev/hatchet |
||||
|
stars: 5773 |
||||
|
owner_login: hatchet-dev |
||||
|
owner_html_url: https://github.com/hatchet-dev |
||||
|
- name: serge |
||||
|
html_url: https://github.com/serge-chat/serge |
||||
|
stars: 5728 |
||||
|
owner_login: serge-chat |
||||
|
owner_html_url: https://github.com/serge-chat |
||||
|
- name: polar |
||||
|
html_url: https://github.com/polarsource/polar |
||||
|
stars: 5709 |
||||
|
owner_login: polarsource |
||||
|
owner_html_url: https://github.com/polarsource |
||||
|
- name: fastapi-users |
||||
|
html_url: https://github.com/fastapi-users/fastapi-users |
||||
|
stars: 5336 |
||||
|
owner_login: fastapi-users |
||||
|
owner_html_url: https://github.com/fastapi-users |
||||
|
- name: strawberry |
||||
|
html_url: https://github.com/strawberry-graphql/strawberry |
||||
|
stars: 4317 |
||||
|
owner_login: strawberry-graphql |
||||
|
owner_html_url: https://github.com/strawberry-graphql |
||||
|
- name: chatgpt-web-share |
||||
|
html_url: https://github.com/chatpire/chatgpt-web-share |
||||
|
stars: 4301 |
||||
|
owner_login: chatpire |
||||
|
owner_html_url: https://github.com/chatpire |
||||
|
- name: atrilabs-engine |
||||
|
html_url: https://github.com/Atri-Labs/atrilabs-engine |
||||
|
stars: 4106 |
||||
|
owner_login: Atri-Labs |
||||
|
owner_html_url: https://github.com/Atri-Labs |
||||
|
- name: dynaconf |
||||
|
html_url: https://github.com/dynaconf/dynaconf |
||||
|
stars: 4045 |
||||
|
owner_login: dynaconf |
||||
|
owner_html_url: https://github.com/dynaconf |
||||
|
- name: poem |
||||
|
html_url: https://github.com/poem-web/poem |
||||
|
stars: 4037 |
||||
|
owner_login: poem-web |
||||
|
owner_html_url: https://github.com/poem-web |
||||
|
- name: farfalle |
||||
|
html_url: https://github.com/rashadphz/farfalle |
||||
|
stars: 3348 |
||||
|
owner_login: rashadphz |
||||
|
owner_html_url: https://github.com/rashadphz |
||||
|
- name: LitServe |
||||
|
html_url: https://github.com/Lightning-AI/LitServe |
||||
|
stars: 3347 |
||||
|
owner_login: Lightning-AI |
||||
|
owner_html_url: https://github.com/Lightning-AI |
||||
|
- name: fastapi-admin |
||||
|
html_url: https://github.com/fastapi-admin/fastapi-admin |
||||
|
stars: 3309 |
||||
|
owner_login: fastapi-admin |
||||
|
owner_html_url: https://github.com/fastapi-admin |
||||
|
- name: datamodel-code-generator |
||||
|
html_url: https://github.com/koxudaxi/datamodel-code-generator |
||||
|
stars: 3291 |
||||
|
owner_login: koxudaxi |
||||
|
owner_html_url: https://github.com/koxudaxi |
||||
|
- name: logfire |
||||
|
html_url: https://github.com/pydantic/logfire |
||||
|
stars: 3288 |
||||
|
owner_login: pydantic |
||||
|
owner_html_url: https://github.com/pydantic |
||||
|
- name: huma |
||||
|
html_url: https://github.com/danielgtaylor/huma |
||||
|
stars: 3201 |
||||
|
owner_login: danielgtaylor |
||||
|
owner_html_url: https://github.com/danielgtaylor |
||||
|
- name: opyrator |
||||
|
html_url: https://github.com/ml-tooling/opyrator |
||||
|
stars: 3132 |
||||
|
owner_login: ml-tooling |
||||
|
owner_html_url: https://github.com/ml-tooling |
||||
|
- name: Kokoro-FastAPI |
||||
|
html_url: https://github.com/remsky/Kokoro-FastAPI |
||||
|
stars: 3099 |
||||
|
owner_login: remsky |
||||
|
owner_html_url: https://github.com/remsky |
||||
|
- name: docarray |
||||
|
html_url: https://github.com/docarray/docarray |
||||
|
stars: 3075 |
||||
|
owner_login: docarray |
||||
|
owner_html_url: https://github.com/docarray |
||||
|
- name: fastapi-realworld-example-app |
||||
|
html_url: https://github.com/nsidnev/fastapi-realworld-example-app |
||||
|
stars: 2902 |
||||
|
owner_login: nsidnev |
||||
|
owner_html_url: https://github.com/nsidnev |
||||
|
- name: tracecat |
||||
|
html_url: https://github.com/TracecatHQ/tracecat |
||||
|
stars: 2888 |
||||
|
owner_login: TracecatHQ |
||||
|
owner_html_url: https://github.com/TracecatHQ |
||||
|
- name: uvicorn-gunicorn-fastapi-docker |
||||
|
html_url: https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker |
||||
|
stars: 2775 |
||||
|
owner_login: tiangolo |
||||
|
owner_html_url: https://github.com/tiangolo |
||||
|
- name: best-of-web-python |
||||
|
html_url: https://github.com/ml-tooling/best-of-web-python |
||||
|
stars: 2537 |
||||
|
owner_login: ml-tooling |
||||
|
owner_html_url: https://github.com/ml-tooling |
||||
|
- name: RasaGPT |
||||
|
html_url: https://github.com/paulpierre/RasaGPT |
||||
|
stars: 2427 |
||||
|
owner_login: paulpierre |
||||
|
owner_html_url: https://github.com/paulpierre |
||||
|
- name: fastapi-react |
||||
|
html_url: https://github.com/Buuntu/fastapi-react |
||||
|
stars: 2397 |
||||
|
owner_login: Buuntu |
||||
|
owner_html_url: https://github.com/Buuntu |
||||
|
- name: FastAPI-template |
||||
|
html_url: https://github.com/s3rius/FastAPI-template |
||||
|
stars: 2334 |
||||
|
owner_login: s3rius |
||||
|
owner_html_url: https://github.com/s3rius |
||||
|
- name: nextpy |
||||
|
html_url: https://github.com/dot-agent/nextpy |
||||
|
stars: 2295 |
||||
|
owner_login: dot-agent |
||||
|
owner_html_url: https://github.com/dot-agent |
||||
|
- name: sqladmin |
||||
|
html_url: https://github.com/aminalaee/sqladmin |
||||
|
stars: 2235 |
||||
|
owner_login: aminalaee |
||||
|
owner_html_url: https://github.com/aminalaee |
||||
|
- name: 30-Days-of-Python |
||||
|
html_url: https://github.com/codingforentrepreneurs/30-Days-of-Python |
||||
|
stars: 2181 |
||||
|
owner_login: codingforentrepreneurs |
||||
|
owner_html_url: https://github.com/codingforentrepreneurs |
||||
|
- name: langserve |
||||
|
html_url: https://github.com/langchain-ai/langserve |
||||
|
stars: 2119 |
||||
|
owner_login: langchain-ai |
||||
|
owner_html_url: https://github.com/langchain-ai |
||||
|
- name: fastapi-utils |
||||
|
html_url: https://github.com/fastapiutils/fastapi-utils |
||||
|
stars: 2100 |
||||
|
owner_login: fastapiutils |
||||
|
owner_html_url: https://github.com/fastapiutils |
||||
|
- name: supabase-py |
||||
|
html_url: https://github.com/supabase/supabase-py |
||||
|
stars: 2084 |
||||
|
owner_login: supabase |
||||
|
owner_html_url: https://github.com/supabase |
||||
|
- name: solara |
||||
|
html_url: https://github.com/widgetti/solara |
||||
|
stars: 2056 |
||||
|
owner_login: widgetti |
||||
|
owner_html_url: https://github.com/widgetti |
||||
|
- name: mangum |
||||
|
html_url: https://github.com/Kludex/mangum |
||||
|
stars: 1923 |
||||
|
owner_login: Kludex |
||||
|
owner_html_url: https://github.com/Kludex |
||||
|
- name: python-week-2022 |
||||
|
html_url: https://github.com/rochacbruno/python-week-2022 |
||||
|
stars: 1821 |
||||
|
owner_login: rochacbruno |
||||
|
owner_html_url: https://github.com/rochacbruno |
||||
|
- name: agentkit |
||||
|
html_url: https://github.com/BCG-X-Official/agentkit |
||||
|
stars: 1765 |
||||
|
owner_login: BCG-X-Official |
||||
|
owner_html_url: https://github.com/BCG-X-Official |
||||
|
- name: manage-fastapi |
||||
|
html_url: https://github.com/ycd/manage-fastapi |
||||
|
stars: 1756 |
||||
|
owner_login: ycd |
||||
|
owner_html_url: https://github.com/ycd |
||||
|
- name: ormar |
||||
|
html_url: https://github.com/collerek/ormar |
||||
|
stars: 1755 |
||||
|
owner_login: collerek |
||||
|
owner_html_url: https://github.com/collerek |
||||
|
- name: langchain-serve |
||||
|
html_url: https://github.com/jina-ai/langchain-serve |
||||
|
stars: 1631 |
||||
|
owner_login: jina-ai |
||||
|
owner_html_url: https://github.com/jina-ai |
||||
|
- name: piccolo |
||||
|
html_url: https://github.com/piccolo-orm/piccolo |
||||
|
stars: 1629 |
||||
|
owner_login: piccolo-orm |
||||
|
owner_html_url: https://github.com/piccolo-orm |
||||
|
- name: termpair |
||||
|
html_url: https://github.com/cs01/termpair |
||||
|
stars: 1616 |
||||
|
owner_login: cs01 |
||||
|
owner_html_url: https://github.com/cs01 |
||||
|
- name: openapi-python-client |
||||
|
html_url: https://github.com/openapi-generators/openapi-python-client |
||||
|
stars: 1603 |
||||
|
owner_login: openapi-generators |
||||
|
owner_html_url: https://github.com/openapi-generators |
||||
|
- name: fastapi-cache |
||||
|
html_url: https://github.com/long2ice/fastapi-cache |
||||
|
stars: 1589 |
||||
|
owner_login: long2ice |
||||
|
owner_html_url: https://github.com/long2ice |
||||
|
- name: coronavirus-tracker-api |
||||
|
html_url: https://github.com/ExpDev07/coronavirus-tracker-api |
||||
|
stars: 1580 |
||||
|
owner_login: ExpDev07 |
||||
|
owner_html_url: https://github.com/ExpDev07 |
||||
|
- name: slowapi |
||||
|
html_url: https://github.com/laurentS/slowapi |
||||
|
stars: 1533 |
||||
|
owner_login: laurentS |
||||
|
owner_html_url: https://github.com/laurentS |
||||
|
- name: fastapi-crudrouter |
||||
|
html_url: https://github.com/awtkns/fastapi-crudrouter |
||||
|
stars: 1518 |
||||
|
owner_login: awtkns |
||||
|
owner_html_url: https://github.com/awtkns |
||||
|
- name: awesome-fastapi-projects |
||||
|
html_url: https://github.com/Kludex/awesome-fastapi-projects |
||||
|
stars: 1461 |
||||
|
owner_login: Kludex |
||||
|
owner_html_url: https://github.com/Kludex |
||||
|
- name: vue-fastapi-admin |
||||
|
html_url: https://github.com/mizhexiaoxiao/vue-fastapi-admin |
||||
|
stars: 1409 |
||||
|
owner_login: mizhexiaoxiao |
||||
|
owner_html_url: https://github.com/mizhexiaoxiao |
||||
|
- name: awesome-python-resources |
||||
|
html_url: https://github.com/DjangoEx/awesome-python-resources |
||||
|
stars: 1393 |
||||
|
owner_login: DjangoEx |
||||
|
owner_html_url: https://github.com/DjangoEx |
||||
|
- name: fastapi-pagination |
||||
|
html_url: https://github.com/uriyyo/fastapi-pagination |
||||
|
stars: 1378 |
||||
|
owner_login: uriyyo |
||||
|
owner_html_url: https://github.com/uriyyo |
||||
|
- name: fastapi-boilerplate |
||||
|
html_url: https://github.com/teamhide/fastapi-boilerplate |
||||
|
stars: 1348 |
||||
|
owner_login: teamhide |
||||
|
owner_html_url: https://github.com/teamhide |
||||
|
- name: budgetml |
||||
|
html_url: https://github.com/ebhy/budgetml |
||||
|
stars: 1344 |
||||
|
owner_login: ebhy |
||||
|
owner_html_url: https://github.com/ebhy |
||||
|
- name: fastapi-amis-admin |
||||
|
html_url: https://github.com/amisadmin/fastapi-amis-admin |
||||
|
stars: 1284 |
||||
|
owner_login: amisadmin |
||||
|
owner_html_url: https://github.com/amisadmin |
||||
|
- name: bracket |
||||
|
html_url: https://github.com/evroon/bracket |
||||
|
stars: 1274 |
||||
|
owner_login: evroon |
||||
|
owner_html_url: https://github.com/evroon |
||||
|
- name: fastapi-tutorial |
||||
|
html_url: https://github.com/liaogx/fastapi-tutorial |
||||
|
stars: 1265 |
||||
|
owner_login: liaogx |
||||
|
owner_html_url: https://github.com/liaogx |
||||
|
- name: fastapi-code-generator |
||||
|
html_url: https://github.com/koxudaxi/fastapi-code-generator |
||||
|
stars: 1216 |
||||
|
owner_login: koxudaxi |
||||
|
owner_html_url: https://github.com/koxudaxi |
||||
|
- name: bolt-python |
||||
|
html_url: https://github.com/slackapi/bolt-python |
||||
|
stars: 1190 |
||||
|
owner_login: slackapi |
||||
|
owner_html_url: https://github.com/slackapi |
||||
|
- name: fastcrud |
||||
|
html_url: https://github.com/benavlabs/fastcrud |
||||
|
stars: 1169 |
||||
|
owner_login: benavlabs |
||||
|
owner_html_url: https://github.com/benavlabs |
||||
|
- name: prometheus-fastapi-instrumentator |
||||
|
html_url: https://github.com/trallnag/prometheus-fastapi-instrumentator |
||||
|
stars: 1167 |
||||
|
owner_login: trallnag |
||||
|
owner_html_url: https://github.com/trallnag |
||||
|
- name: fastapi_production_template |
||||
|
html_url: https://github.com/zhanymkanov/fastapi_production_template |
||||
|
stars: 1165 |
||||
|
owner_login: zhanymkanov |
||||
|
owner_html_url: https://github.com/zhanymkanov |
||||
|
- name: bedrock-chat |
||||
|
html_url: https://github.com/aws-samples/bedrock-chat |
||||
|
stars: 1163 |
||||
|
owner_login: aws-samples |
||||
|
owner_html_url: https://github.com/aws-samples |
||||
|
- name: langchain-extract |
||||
|
html_url: https://github.com/langchain-ai/langchain-extract |
||||
|
stars: 1142 |
||||
|
owner_login: langchain-ai |
||||
|
owner_html_url: https://github.com/langchain-ai |
||||
|
- name: odmantic |
||||
|
html_url: https://github.com/art049/odmantic |
||||
|
stars: 1121 |
||||
|
owner_login: art049 |
||||
|
owner_html_url: https://github.com/art049 |
||||
|
- name: fastapi_best_architecture |
||||
|
html_url: https://github.com/fastapi-practices/fastapi_best_architecture |
||||
|
stars: 1118 |
||||
|
owner_login: fastapi-practices |
||||
|
owner_html_url: https://github.com/fastapi-practices |
||||
|
- name: fastapi-alembic-sqlmodel-async |
||||
|
html_url: https://github.com/jonra1993/fastapi-alembic-sqlmodel-async |
||||
|
stars: 1116 |
||||
|
owner_login: jonra1993 |
||||
|
owner_html_url: https://github.com/jonra1993 |
||||
|
- name: FastAPI-boilerplate |
||||
|
html_url: https://github.com/benavlabs/FastAPI-boilerplate |
||||
|
stars: 1070 |
||||
|
owner_login: benavlabs |
||||
|
owner_html_url: https://github.com/benavlabs |
||||
|
- name: restish |
||||
|
html_url: https://github.com/rest-sh/restish |
||||
|
stars: 1069 |
||||
|
owner_login: rest-sh |
||||
|
owner_html_url: https://github.com/rest-sh |
||||
|
- name: runhouse |
||||
|
html_url: https://github.com/run-house/runhouse |
||||
|
stars: 1037 |
||||
|
owner_login: run-house |
||||
|
owner_html_url: https://github.com/run-house |
||||
|
- name: autollm |
||||
|
html_url: https://github.com/viddexa/autollm |
||||
|
stars: 994 |
||||
|
owner_login: viddexa |
||||
|
owner_html_url: https://github.com/viddexa |
||||
|
- name: lanarky |
||||
|
html_url: https://github.com/ajndkr/lanarky |
||||
|
stars: 992 |
||||
|
owner_login: ajndkr |
||||
|
owner_html_url: https://github.com/ajndkr |
||||
|
- name: authx |
||||
|
html_url: https://github.com/yezz123/authx |
||||
|
stars: 953 |
||||
|
owner_login: yezz123 |
||||
|
owner_html_url: https://github.com/yezz123 |
||||
|
- name: secure |
||||
|
html_url: https://github.com/TypeError/secure |
||||
|
stars: 941 |
||||
|
owner_login: TypeError |
||||
|
owner_html_url: https://github.com/TypeError |
||||
|
- name: energy-forecasting |
||||
|
html_url: https://github.com/iusztinpaul/energy-forecasting |
||||
|
stars: 928 |
||||
|
owner_login: iusztinpaul |
||||
|
owner_html_url: https://github.com/iusztinpaul |
||||
|
- name: langcorn |
||||
|
html_url: https://github.com/msoedov/langcorn |
||||
|
stars: 927 |
||||
|
owner_login: msoedov |
||||
|
owner_html_url: https://github.com/msoedov |
||||
|
- name: titiler |
||||
|
html_url: https://github.com/developmentseed/titiler |
||||
|
stars: 901 |
||||
|
owner_login: developmentseed |
||||
|
owner_html_url: https://github.com/developmentseed |
||||
|
- name: flock |
||||
|
html_url: https://github.com/Onelevenvy/flock |
||||
|
stars: 896 |
||||
|
owner_login: Onelevenvy |
||||
|
owner_html_url: https://github.com/Onelevenvy |
||||
|
- name: fastapi-langgraph-agent-production-ready-template |
||||
|
html_url: https://github.com/wassim249/fastapi-langgraph-agent-production-ready-template |
||||
|
stars: 896 |
||||
|
owner_login: wassim249 |
||||
|
owner_html_url: https://github.com/wassim249 |
||||
|
- name: marker-api |
||||
|
html_url: https://github.com/adithya-s-k/marker-api |
||||
|
stars: 875 |
||||
|
owner_login: adithya-s-k |
||||
|
owner_html_url: https://github.com/adithya-s-k |
||||
|
- name: httpdbg |
||||
|
html_url: https://github.com/cle-b/httpdbg |
||||
|
stars: 870 |
||||
|
owner_login: cle-b |
||||
|
owner_html_url: https://github.com/cle-b |
||||
|
- name: fastapi-do-zero |
||||
|
html_url: https://github.com/dunossauro/fastapi-do-zero |
||||
|
stars: 855 |
||||
|
owner_login: dunossauro |
||||
|
owner_html_url: https://github.com/dunossauro |
||||
|
- name: ludic |
||||
|
html_url: https://github.com/getludic/ludic |
||||
|
stars: 849 |
||||
|
owner_login: getludic |
||||
|
owner_html_url: https://github.com/getludic |
||||
|
- name: fastapi-observability |
||||
|
html_url: https://github.com/blueswen/fastapi-observability |
||||
|
stars: 837 |
||||
|
owner_login: blueswen |
||||
|
owner_html_url: https://github.com/blueswen |
||||
|
- name: fastapi-scaf |
||||
|
html_url: https://github.com/atpuxiner/fastapi-scaf |
||||
|
stars: 821 |
||||
|
owner_login: atpuxiner |
||||
|
owner_html_url: https://github.com/atpuxiner |
||||
|
- name: starlette-admin |
||||
|
html_url: https://github.com/jowilf/starlette-admin |
||||
|
stars: 808 |
||||
|
owner_login: jowilf |
||||
|
owner_html_url: https://github.com/jowilf |
||||
|
- name: fastapi-mail |
||||
|
html_url: https://github.com/sabuhish/fastapi-mail |
||||
|
stars: 807 |
||||
|
owner_login: sabuhish |
||||
|
owner_html_url: https://github.com/sabuhish |
||||
|
- name: aktools |
||||
|
html_url: https://github.com/akfamily/aktools |
||||
|
stars: 796 |
||||
|
owner_login: akfamily |
||||
|
owner_html_url: https://github.com/akfamily |
||||
|
- name: RuoYi-Vue3-FastAPI |
||||
|
html_url: https://github.com/insistence/RuoYi-Vue3-FastAPI |
||||
|
stars: 782 |
||||
|
owner_login: insistence |
||||
|
owner_html_url: https://github.com/insistence |
@ -0,0 +1,535 @@ |
|||||
|
nilslindemann: |
||||
|
login: nilslindemann |
||||
|
count: 120 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6892179?u=1dca6a22195d6cd1ab20737c0e19a4c55d639472&v=4 |
||||
|
url: https://github.com/nilslindemann |
||||
|
jaystone776: |
||||
|
login: jaystone776 |
||||
|
count: 46 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11191137?u=299205a95e9b6817a43144a48b643346a5aac5cc&v=4 |
||||
|
url: https://github.com/jaystone776 |
||||
|
valentinDruzhinin: |
||||
|
login: valentinDruzhinin |
||||
|
count: 29 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/12831905?u=aae1ebc675c91e8fa582df4fcc4fc4128106344d&v=4 |
||||
|
url: https://github.com/valentinDruzhinin |
||||
|
ceb10n: |
||||
|
login: ceb10n |
||||
|
count: 27 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/235213?u=edcce471814a1eba9f0cdaa4cd0de18921a940a6&v=4 |
||||
|
url: https://github.com/ceb10n |
||||
|
tokusumi: |
||||
|
login: tokusumi |
||||
|
count: 23 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/41147016?u=55010621aece725aa702270b54fed829b6a1fe60&v=4 |
||||
|
url: https://github.com/tokusumi |
||||
|
SwftAlpc: |
||||
|
login: SwftAlpc |
||||
|
count: 23 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/52768429?u=6a3aa15277406520ad37f6236e89466ed44bc5b8&v=4 |
||||
|
url: https://github.com/SwftAlpc |
||||
|
hasansezertasan: |
||||
|
login: hasansezertasan |
||||
|
count: 22 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13135006?u=99f0b0f0fc47e88e8abb337b4447357939ef93e7&v=4 |
||||
|
url: https://github.com/hasansezertasan |
||||
|
waynerv: |
||||
|
login: waynerv |
||||
|
count: 20 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/39515546?u=ec35139777597cdbbbddda29bf8b9d4396b429a9&v=4 |
||||
|
url: https://github.com/waynerv |
||||
|
AlertRED: |
||||
|
login: AlertRED |
||||
|
count: 16 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/15695000?u=f5a4944c6df443030409c88da7d7fa0b7ead985c&v=4 |
||||
|
url: https://github.com/AlertRED |
||||
|
hard-coders: |
||||
|
login: hard-coders |
||||
|
count: 15 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/9651103?u=95db33927bbff1ed1c07efddeb97ac2ff33068ed&v=4 |
||||
|
url: https://github.com/hard-coders |
||||
|
Joao-Pedro-P-Holanda: |
||||
|
login: Joao-Pedro-P-Holanda |
||||
|
count: 14 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/110267046?u=331bd016326dac4cf3df4848f6db2dbbf8b5f978&v=4 |
||||
|
url: https://github.com/Joao-Pedro-P-Holanda |
||||
|
codingjenny: |
||||
|
login: codingjenny |
||||
|
count: 14 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/103817302?u=3a042740dc0ff58615da0d8679230966fd7693e8&v=4 |
||||
|
url: https://github.com/codingjenny |
||||
|
Xewus: |
||||
|
login: Xewus |
||||
|
count: 13 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/85196001?u=f8e2dc7e5104f109cef944af79050ea8d1b8f914&v=4 |
||||
|
url: https://github.com/Xewus |
||||
|
Zhongheng-Cheng: |
||||
|
login: Zhongheng-Cheng |
||||
|
count: 13 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/95612344?u=a0f7730a3cc7486827965e01a119ad610bda4b0a&v=4 |
||||
|
url: https://github.com/Zhongheng-Cheng |
||||
|
Smlep: |
||||
|
login: Smlep |
||||
|
count: 11 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/16785985?u=ffe99fa954c8e774ef1117e58d34aece92051e27&v=4 |
||||
|
url: https://github.com/Smlep |
||||
|
marcelomarkus: |
||||
|
login: marcelomarkus |
||||
|
count: 11 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/20115018?u=dda090ce9160ef0cd2ff69b1e5ea741283425cba&v=4 |
||||
|
url: https://github.com/marcelomarkus |
||||
|
KaniKim: |
||||
|
login: KaniKim |
||||
|
count: 10 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/19832624?u=296dbdd490e0eb96e3d45a2608c065603b17dc31&v=4 |
||||
|
url: https://github.com/KaniKim |
||||
|
Vincy1230: |
||||
|
login: Vincy1230 |
||||
|
count: 9 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/81342412?u=ab5e256a4077a4a91f3f9cd2115ba80780454cbe&v=4 |
||||
|
url: https://github.com/Vincy1230 |
||||
|
rjNemo: |
||||
|
login: rjNemo |
||||
|
count: 8 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/56785022?u=d5c3a02567c8649e146fcfc51b6060ccaf8adef8&v=4 |
||||
|
url: https://github.com/rjNemo |
||||
|
xzmeng: |
||||
|
login: xzmeng |
||||
|
count: 8 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/40202897?v=4 |
||||
|
url: https://github.com/xzmeng |
||||
|
pablocm83: |
||||
|
login: pablocm83 |
||||
|
count: 8 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/28315068?u=3310fbb05bb8bfc50d2c48b6cb64ac9ee4a14549&v=4 |
||||
|
url: https://github.com/pablocm83 |
||||
|
ptt3199: |
||||
|
login: ptt3199 |
||||
|
count: 7 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/51350651?u=2c3d947a80283e32bf616d4c3af139a6be69680f&v=4 |
||||
|
url: https://github.com/ptt3199 |
||||
|
NinaHwang: |
||||
|
login: NinaHwang |
||||
|
count: 6 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/79563565?u=241f2cb6d38a2d379536608a8ea5a22ed4b1a3ea&v=4 |
||||
|
url: https://github.com/NinaHwang |
||||
|
batlopes: |
||||
|
login: batlopes |
||||
|
count: 6 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/33462923?u=0fb3d7acb316764616f11e4947faf080e49ad8d9&v=4 |
||||
|
url: https://github.com/batlopes |
||||
|
lucasbalieiro: |
||||
|
login: lucasbalieiro |
||||
|
count: 6 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/37416577?u=eabaf4aebbaa88a94a4886273edba689012cee70&v=4 |
||||
|
url: https://github.com/lucasbalieiro |
||||
|
Alexandrhub: |
||||
|
login: Alexandrhub |
||||
|
count: 6 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/119126536?u=9fc0d48f3307817bafecc5861eb2168401a6cb04&v=4 |
||||
|
url: https://github.com/Alexandrhub |
||||
|
Serrones: |
||||
|
login: Serrones |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/22691749?u=4795b880e13ca33a73e52fc0ef7dc9c60c8fce47&v=4 |
||||
|
url: https://github.com/Serrones |
||||
|
RunningIkkyu: |
||||
|
login: RunningIkkyu |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31848542?u=494ecc298e3f26197495bb357ad0f57cfd5f7a32&v=4 |
||||
|
url: https://github.com/RunningIkkyu |
||||
|
Attsun1031: |
||||
|
login: Attsun1031 |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1175560?v=4 |
||||
|
url: https://github.com/Attsun1031 |
||||
|
tiangolo: |
||||
|
login: tiangolo |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1326112?u=cb5d06e73a9e1998141b1641aa88e443c6717651&v=4 |
||||
|
url: https://github.com/tiangolo |
||||
|
rostik1410: |
||||
|
login: rostik1410 |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11443899?u=e26a635c2ba220467b308a326a579b8ccf4a8701&v=4 |
||||
|
url: https://github.com/rostik1410 |
||||
|
alv2017: |
||||
|
login: alv2017 |
||||
|
count: 5 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31544722?v=4 |
||||
|
url: https://github.com/alv2017 |
||||
|
komtaki: |
||||
|
login: komtaki |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/39375566?u=260ad6b1a4b34c07dbfa728da5e586f16f6d1824&v=4 |
||||
|
url: https://github.com/komtaki |
||||
|
JulianMaurin: |
||||
|
login: JulianMaurin |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/63545168?u=b7d15ac865268cbefc2d739e2f23d9aeeac1a622&v=4 |
||||
|
url: https://github.com/JulianMaurin |
||||
|
stlucasgarcia: |
||||
|
login: stlucasgarcia |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/61513630?u=c22d8850e9dc396a8820766a59837f967e14f9a0&v=4 |
||||
|
url: https://github.com/stlucasgarcia |
||||
|
ComicShrimp: |
||||
|
login: ComicShrimp |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/43503750?u=d2fbf412e7730183ce91686ca48d4147e1b7dc74&v=4 |
||||
|
url: https://github.com/ComicShrimp |
||||
|
BilalAlpaslan: |
||||
|
login: BilalAlpaslan |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/47563997?u=63ed66e304fe8d765762c70587d61d9196e5c82d&v=4 |
||||
|
url: https://github.com/BilalAlpaslan |
||||
|
axel584: |
||||
|
login: axel584 |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1334088?u=9667041f5b15dc002b6f9665fda8c0412933ac04&v=4 |
||||
|
url: https://github.com/axel584 |
||||
|
tamtam-fitness: |
||||
|
login: tamtam-fitness |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/62091034?u=8da19a6bd3d02f5d6ba30c7247d5b46c98dd1403&v=4 |
||||
|
url: https://github.com/tamtam-fitness |
||||
|
Limsunoh: |
||||
|
login: Limsunoh |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/90311848?u=f456e0c5709fd50c8cd2898b551558eda14e5f21&v=4 |
||||
|
url: https://github.com/Limsunoh |
||||
|
kwang1215: |
||||
|
login: kwang1215 |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/74170199?u=2a63ff6692119dde3f5e5693365b9fcd6f977b08&v=4 |
||||
|
url: https://github.com/kwang1215 |
||||
|
k94-ishi: |
||||
|
login: k94-ishi |
||||
|
count: 4 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/32672580?u=bc7c5c07af0656be9fe4f1784a444af8d81ded89&v=4 |
||||
|
url: https://github.com/k94-ishi |
||||
|
jfunez: |
||||
|
login: jfunez |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/805749?v=4 |
||||
|
url: https://github.com/jfunez |
||||
|
ycd: |
||||
|
login: ycd |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/62724709?u=f1e7bae394a315da950912c92dc861a8eaf95d4c&v=4 |
||||
|
url: https://github.com/ycd |
||||
|
mariacamilagl: |
||||
|
login: mariacamilagl |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11489395?u=4adb6986bf3debfc2b8216ae701f2bd47d73da7d&v=4 |
||||
|
url: https://github.com/mariacamilagl |
||||
|
maoyibo: |
||||
|
login: maoyibo |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/7887703?v=4 |
||||
|
url: https://github.com/maoyibo |
||||
|
blt232018: |
||||
|
login: blt232018 |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/43393471?u=172b0e0391db1aa6c1706498d6dfcb003c8a4857&v=4 |
||||
|
url: https://github.com/blt232018 |
||||
|
magiskboy: |
||||
|
login: magiskboy |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/13352088?u=18b6d672523f9e9d98401f31dd50e28bb27d826f&v=4 |
||||
|
url: https://github.com/magiskboy |
||||
|
luccasmmg: |
||||
|
login: luccasmmg |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/11317382?u=65099a5a0d492b89119471f8a7014637cc2e04da&v=4 |
||||
|
url: https://github.com/luccasmmg |
||||
|
lbmendes: |
||||
|
login: lbmendes |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/80999926?u=646619e2f07ac5a7c3f65fe7834197461a4fff9f&v=4 |
||||
|
url: https://github.com/lbmendes |
||||
|
Zssaer: |
||||
|
login: Zssaer |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/45691504?u=4c0c195f25cb5ac6af32acfb0ab35427682938d2&v=4 |
||||
|
url: https://github.com/Zssaer |
||||
|
ChuyuChoyeon: |
||||
|
login: ChuyuChoyeon |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/129537877?u=f0c76f3327817a8b86b422d62e04a34bf2827f2b&v=4 |
||||
|
url: https://github.com/ChuyuChoyeon |
||||
|
ivan-abc: |
||||
|
login: ivan-abc |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/36765187?u=c6e0ba571c1ccb6db9d94e62e4b8b5eda811a870&v=4 |
||||
|
url: https://github.com/ivan-abc |
||||
|
mojtabapaso: |
||||
|
login: mojtabapaso |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/121169359?u=ced1d5ad673bcd9e949ebf967a4ab50185637443&v=4 |
||||
|
url: https://github.com/mojtabapaso |
||||
|
hsuanchi: |
||||
|
login: hsuanchi |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/24913710?u=7d25a398e478b6e63503bf6f26c54efa9e0da07b&v=4 |
||||
|
url: https://github.com/hsuanchi |
||||
|
alejsdev: |
||||
|
login: alejsdev |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/90076947?u=638c65283ac9e9e2c3a0f9d1e3370db4b8a2c58d&v=4 |
||||
|
url: https://github.com/alejsdev |
||||
|
riroan: |
||||
|
login: riroan |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/33053284?u=2d18e3771506ee874b66d6aa2b3b1107fd95c38f&v=4 |
||||
|
url: https://github.com/riroan |
||||
|
nayeonkinn: |
||||
|
login: nayeonkinn |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/98254573?u=64a75ac99b320d4935eff8d1fceea9680fa07473&v=4 |
||||
|
url: https://github.com/nayeonkinn |
||||
|
pe-brian: |
||||
|
login: pe-brian |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1783138?u=7e6242eb9e85bcf673fa88bbac9dd6dc3f03b1b5&v=4 |
||||
|
url: https://github.com/pe-brian |
||||
|
maxscheijen: |
||||
|
login: maxscheijen |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/47034840?v=4 |
||||
|
url: https://github.com/maxscheijen |
||||
|
ilacftemp: |
||||
|
login: ilacftemp |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/159066669?v=4 |
||||
|
url: https://github.com/ilacftemp |
||||
|
devluisrodrigues: |
||||
|
login: devluisrodrigues |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/103431660?u=d9674a3249edc4601d2c712cdebf899918503c3a&v=4 |
||||
|
url: https://github.com/devluisrodrigues |
||||
|
devfernandoa: |
||||
|
login: devfernandoa |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/28360583?u=c4308abd62e8847c9e572e1bb9fe6b9dc9ef8e50&v=4 |
||||
|
url: https://github.com/devfernandoa |
||||
|
kim-sangah: |
||||
|
login: kim-sangah |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/173775778?v=4 |
||||
|
url: https://github.com/kim-sangah |
||||
|
9zimin9: |
||||
|
login: 9zimin9 |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/174453744?v=4 |
||||
|
url: https://github.com/9zimin9 |
||||
|
nahyunkeem: |
||||
|
login: nahyunkeem |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/174440096?u=e12401d492eee58570f8914d0872b52e421a776e&v=4 |
||||
|
url: https://github.com/nahyunkeem |
||||
|
timothy-jeong: |
||||
|
login: timothy-jeong |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/53824764?u=db3d0cea2f5fab64d810113c5039a369699a2774&v=4 |
||||
|
url: https://github.com/timothy-jeong |
||||
|
gerry-sabar: |
||||
|
login: gerry-sabar |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1120123?v=4 |
||||
|
url: https://github.com/gerry-sabar |
||||
|
Rishat-F: |
||||
|
login: Rishat-F |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/66554797?v=4 |
||||
|
url: https://github.com/Rishat-F |
||||
|
ruzia: |
||||
|
login: ruzia |
||||
|
count: 3 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/24503?v=4 |
||||
|
url: https://github.com/ruzia |
||||
|
izaguerreiro: |
||||
|
login: izaguerreiro |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/2241504?v=4 |
||||
|
url: https://github.com/izaguerreiro |
||||
|
Xaraxx: |
||||
|
login: Xaraxx |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/29824698?u=dde2e233e22bb5ca1f8bb0c6e353ccd0d06e6066&v=4 |
||||
|
url: https://github.com/Xaraxx |
||||
|
sh0nk: |
||||
|
login: sh0nk |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/6478810?u=af15d724875cec682ed8088a86d36b2798f981c0&v=4 |
||||
|
url: https://github.com/sh0nk |
||||
|
dukkee: |
||||
|
login: dukkee |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/36825394?u=ccfd86e6a4f2d093dad6f7544cc875af67fa2df8&v=4 |
||||
|
url: https://github.com/dukkee |
||||
|
oandersonmagalhaes: |
||||
|
login: oandersonmagalhaes |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/83456692?v=4 |
||||
|
url: https://github.com/oandersonmagalhaes |
||||
|
leandrodesouzadev: |
||||
|
login: leandrodesouzadev |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/85115541?u=4eb25f43f1fe23727d61e986cf83b73b86e2a95a&v=4 |
||||
|
url: https://github.com/leandrodesouzadev |
||||
|
kty4119: |
||||
|
login: kty4119 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/49435654?v=4 |
||||
|
url: https://github.com/kty4119 |
||||
|
ASpathfinder: |
||||
|
login: ASpathfinder |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/31813636?u=2090bd1b7abb65cfeff0c618f99f11afa82c0548&v=4 |
||||
|
url: https://github.com/ASpathfinder |
||||
|
jujumilk3: |
||||
|
login: jujumilk3 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/41659814?u=538f7dfef03b59f25e43f10d59a31c19ef538a0c&v=4 |
||||
|
url: https://github.com/jujumilk3 |
||||
|
ayr-ton: |
||||
|
login: ayr-ton |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1090517?u=5cf70a0e0f0dbf084e074e494aa94d7c91a46ba6&v=4 |
||||
|
url: https://github.com/ayr-ton |
||||
|
KdHyeon0661: |
||||
|
login: KdHyeon0661 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/20253352?u=5ae1aae34b091a39f22cbe60a02b79dcbdbea031&v=4 |
||||
|
url: https://github.com/KdHyeon0661 |
||||
|
LorhanSohaky: |
||||
|
login: LorhanSohaky |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/16273730?u=095b66f243a2cd6a0aadba9a095009f8aaf18393&v=4 |
||||
|
url: https://github.com/LorhanSohaky |
||||
|
cfraboulet: |
||||
|
login: cfraboulet |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/62244267?u=ed0e286ba48fa1dafd64a08e50f3364b8e12df34&v=4 |
||||
|
url: https://github.com/cfraboulet |
||||
|
dedkot01: |
||||
|
login: dedkot01 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/26196675?u=e2966887124e67932853df4f10f86cb526edc7b0&v=4 |
||||
|
url: https://github.com/dedkot01 |
||||
|
AGolicyn: |
||||
|
login: AGolicyn |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/86262613?u=3c21606ab8d210a061a1673decff1e7d5592b380&v=4 |
||||
|
url: https://github.com/AGolicyn |
||||
|
fhabers21: |
||||
|
login: fhabers21 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/58401847?v=4 |
||||
|
url: https://github.com/fhabers21 |
||||
|
TabarakoAkula: |
||||
|
login: TabarakoAkula |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/113298631?u=add801e370dbc502cd94ce6d3484760d7fef5406&v=4 |
||||
|
url: https://github.com/TabarakoAkula |
||||
|
AhsanSheraz: |
||||
|
login: AhsanSheraz |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/51913596?u=08e31cacb3048be30722c94010ddd028f3fdbec4&v=4 |
||||
|
url: https://github.com/AhsanSheraz |
||||
|
ArtemKhymenko: |
||||
|
login: ArtemKhymenko |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/14346625?u=f2fa553d9e5ec5e0f05d66bd649f7be347169631&v=4 |
||||
|
url: https://github.com/ArtemKhymenko |
||||
|
hasnatsajid: |
||||
|
login: hasnatsajid |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/86589885?u=49958789e6385be624f2c6a55a860c599eb05e2c&v=4 |
||||
|
url: https://github.com/hasnatsajid |
||||
|
alperiox: |
||||
|
login: alperiox |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/34214152?u=2c5acad3461d4dbc2d48371ba86cac56ae9b25cc&v=4 |
||||
|
url: https://github.com/alperiox |
||||
|
emrhnsyts: |
||||
|
login: emrhnsyts |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/42899027?u=ad26798e3f8feed2041c5dd5f87e58933d6c3283&v=4 |
||||
|
url: https://github.com/emrhnsyts |
||||
|
vusallyv: |
||||
|
login: vusallyv |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/85983771?u=53a7b755cb338d9313966dbf2e4e68b512565186&v=4 |
||||
|
url: https://github.com/vusallyv |
||||
|
jackleeio: |
||||
|
login: jackleeio |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/20477587?u=c5184dab6d021733d10c8f975b20e391856303d6&v=4 |
||||
|
url: https://github.com/jackleeio |
||||
|
choi-haram: |
||||
|
login: choi-haram |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/62204475?v=4 |
||||
|
url: https://github.com/choi-haram |
||||
|
imtiaz101325: |
||||
|
login: imtiaz101325 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/54007087?u=194d972b501b9ea9d2ddeaed757c492936e0121a&v=4 |
||||
|
url: https://github.com/imtiaz101325 |
||||
|
fabianfalon: |
||||
|
login: fabianfalon |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/3700760?u=95f69e31280b17ac22299cdcd345323b142fe0af&v=4 |
||||
|
url: https://github.com/fabianfalon |
||||
|
waketzheng: |
||||
|
login: waketzheng |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/35413830?u=df19e4fd5bb928e7d086e053ef26a46aad23bf84&v=4 |
||||
|
url: https://github.com/waketzheng |
||||
|
billzhong: |
||||
|
login: billzhong |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/1644011?v=4 |
||||
|
url: https://github.com/billzhong |
||||
|
chaoless: |
||||
|
login: chaoless |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/64477804?v=4 |
||||
|
url: https://github.com/chaoless |
||||
|
logan2d5: |
||||
|
login: logan2d5 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/146642263?u=dbd6621f8b0330d6919f6a7131277b92e26fbe87&v=4 |
||||
|
url: https://github.com/logan2d5 |
||||
|
andersonrocha0: |
||||
|
login: andersonrocha0 |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/22346169?u=93a1359c8c5461d894802c0cc65bcd09217e7a02&v=4 |
||||
|
url: https://github.com/andersonrocha0 |
||||
|
saeye: |
||||
|
login: saeye |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/62229734?u=312d619db2588b60d5d5bde65260a2f44fdc6c76&v=4 |
||||
|
url: https://github.com/saeye |
||||
|
11kkw: |
||||
|
login: 11kkw |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/21125286?v=4 |
||||
|
url: https://github.com/11kkw |
||||
|
yes0ng: |
||||
|
login: yes0ng |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/25501794?u=3aed18b0d491e0220a167a1e9e58bea3638c6707&v=4 |
||||
|
url: https://github.com/yes0ng |
||||
|
EgorOnishchuk: |
||||
|
login: EgorOnishchuk |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/120256301?v=4 |
||||
|
url: https://github.com/EgorOnishchuk |
||||
|
NavesSapnis: |
||||
|
login: NavesSapnis |
||||
|
count: 2 |
||||
|
avatarUrl: https://avatars.githubusercontent.com/u/79222417?u=b5b10291b8e9130ca84fd20f0a641e04ed94b6b1&v=4 |
||||
|
url: https://github.com/NavesSapnis |
@ -1,106 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="BkDNbdtn8_9fWQybnc8v" name="Page-1"> |
|
||||
<mxGraphModel dx="741" dy="1167" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="420" y="280" width="920" height="670" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="755" y="290" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1110" y="410" width="190" height="500" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">RAM<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1166.92" y="420" width="76.16" height="30" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="470" y="410" width="250" height="500" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="10" value="<font style="font-size: 24px" face="Roboto">CPU<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="554.61" y="420" width="80.77" height="30" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" source="11" target="12" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" source="11" target="13" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="820" y="525" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;endArrow=none;endFill=0;" parent="1" source="11" target="17" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="11" target="18" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="11" value="<font face="roboto"><span style="font-size: 24px">Process&nbsp;</span></font><span style="font-family: &#34;roboto&#34; ; font-size: 24px">Manager</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="780" y="420" width="250" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="12" target="23" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="12" value="<font face="roboto"><span style="font-size: 24px">Worker Process</span></font>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="840" y="540" width="240" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="13" target="24" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="13" target="22" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="775" y="710"/> |
|
||||
<mxPoint x="775" y="688"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="13" value="<font face="roboto"><span style="font-size: 24px">Worker Process</span></font>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="840" y="660" width="240" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="16" target="27" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="16" target="30" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="16" value="<font face="roboto"><span style="font-size: 24px">Another Process</span></font>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="780" y="790" width="250" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="17" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#d5e8d4;strokeColor=#82b366;dashed=1;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="480" y="458" width="230" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="18" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1130" y="460" width="150" height="20" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="21" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;dashed=1;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="480" y="508" width="230" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="22" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;dashed=1;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="480" y="618" width="230" height="140" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="23" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">1 GB</font>" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1130" y="490" width="150" height="150" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="24" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">1 GB</font>" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1130" y="650" width="150" height="150" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="27" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;dashed=1;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="480" y="768" width="230" height="50" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="1130" y="810" width="150" height="50" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 16 KiB |
@ -1,277 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="3321" dy="2867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" edge="1" parent="1" target="14"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" edge="1" parent="1" target="17"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" vertex="1" connectable="0" parent="1"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" vertex="1" parent="33"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" vertex="1" parent="33"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="101" target="32"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;" edge="1" parent="1" source="55" target="49"> |
|
||||
<mxGeometry relative="1" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;startArrow=none;" edge="1" parent="1" source="102" target="57"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="410" y="400" as="targetPoint"/> |
|
||||
<mxPoint x="585" y="1050" as="sourcePoint"/> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="55" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">Cert Renovation Program</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="515" y="780" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeWidth=3;startArrow=none;" edge="1" parent="1" source="103" target="55"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="875" y="1030" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="790" y="930"/> |
|
||||
<mxPoint x="790" y="930"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="57" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Let's Encrypt</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="500" y="1150" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="85" target="6"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="62" target="78"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="920" y="770"/> |
|
||||
<mxPoint x="920" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="62" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">FastAPI</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal"> app for: someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="890" y="650" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="65" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">Another app</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">: another.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="890" y="50" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="66" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">One more app</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">: onemore.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="890" y="180" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="78" value="<font face="Roboto"><span style="font-size: 24px ; font-weight: 400">A Database</span></font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="890" y="780" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="80" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeWidth=3;endArrow=none;" edge="1" parent="1" source="57" target="103"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="480" y="1090" as="sourcePoint"/> |
|
||||
<mxPoint x="875" y="1110" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="915" y="1250"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="81" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;endArrow=none;" edge="1" parent="1" source="55" target="102"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="525" y="970" as="targetPoint"/> |
|
||||
<mxPoint x="550" y="880" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="525" y="930"/> |
|
||||
<mxPoint x="525" y="930"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="85" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Plain response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="890" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="86" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="62" target="85"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="1030.0000000000005" y="649.9999999999995" as="sourcePoint"/> |
|
||||
<mxPoint x="850" y="540.0000000000005" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1030" y="540"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="84" target="62"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1240" y="390"/> |
|
||||
<mxPoint x="1240" y="700"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" edge="1" parent="1" source="100" target="34"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" edge="1" parent="1" source="32" target="100"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-80"/> |
|
||||
<mxPoint x="-5" y="-80"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="34" target="101"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="97" target="32"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" edge="1" parent="1" source="96" target="36"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="32" target="96"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="102" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Renew HTTPS cert for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="430" y="960" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="103" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">New HTTPS cert for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="750" y="1070" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" edge="1" parent="1" source="104" target="36"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="32" target="104"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="97" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="90" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="110" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="36" target="97"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="415" y="680" as="sourcePoint"/> |
|
||||
<mxPoint x="110" y="275" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="245" y="710"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="84" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Decrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" vertex="1" parent="1"> |
|
||||
<mxGeometry x="885" y="350" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="111" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" edge="1" parent="1" source="6" target="84"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="850" y="390" as="sourcePoint"/> |
|
||||
<mxPoint x="1190" y="700" as="targetPoint"/> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 647 KiB |
Before Width: | Height: | Size: 40 KiB |
@ -1,78 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="2738" dy="2173" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-10" y="-120"/> |
|
||||
<mxPoint x="-10" y="-120"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 10 KiB |
@ -1,110 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="2481" dy="1867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 15 KiB |
@ -1,131 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="2481" dy="1867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 21 KiB |
@ -1,152 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="2312" dy="1667" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="96" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="96" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 23 KiB |
@ -1,166 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="5190" dy="5090" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="62" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">FastAPI</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal"> app for: someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="640" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="6" target="62" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1240" y="390"/> |
|
||||
<mxPoint x="1240" y="700"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="84" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Decrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="350" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-80"/> |
|
||||
<mxPoint x="-5" y="-80"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="96" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="96" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 624 KiB |
Before Width: | Height: | Size: 26 KiB |
@ -1,183 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="3321" dy="2867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="85" target="6" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="62" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">FastAPI</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal"> app for: someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="650" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="85" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Plain response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="86" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="62" target="85" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="1030.0000000000005" y="649.9999999999995" as="sourcePoint"/> |
|
||||
<mxPoint x="850" y="540.0000000000005" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1030" y="540"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="6" target="62" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1240" y="390"/> |
|
||||
<mxPoint x="1240" y="700"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="84" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Decrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="350" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="96" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="96" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 627 KiB |
Before Width: | Height: | Size: 27 KiB |
@ -1,203 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="3321" dy="2867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="85" target="6" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="62" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">FastAPI</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal"> app for: someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="650" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="85" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Plain response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="86" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="62" target="85" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="1030.0000000000005" y="649.9999999999995" as="sourcePoint"/> |
|
||||
<mxPoint x="850" y="540.0000000000005" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1030" y="540"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="6" target="62" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1240" y="390"/> |
|
||||
<mxPoint x="1240" y="700"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="84" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Decrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="350" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="97" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="96" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="96" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="97" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="90" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="110" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="36" target="97" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="415" y="680" as="sourcePoint"/> |
|
||||
<mxPoint x="110" y="275" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="245" y="710"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 29 KiB |
@ -1,217 +0,0 @@ |
|||||
<mxfile host="65bd71144e"> |
|
||||
<diagram id="jyERGzDynktFHFRGN0ph" name="Page-1"> |
|
||||
<mxGraphModel dx="3321" dy="2867" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1200" math="0" shadow="0"> |
|
||||
<root> |
|
||||
<mxCell id="0"/> |
|
||||
<mxCell id="1" parent="0"/> |
|
||||
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="450" y="-50" width="820" height="970" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="3" value="<font face="Roboto"><span style="font-size: 24px">Server(s)</span></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="710" y="-50" width="300" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;exitX=0.092;exitY=1.01;exitDx=0;exitDy=0;dashed=1;exitPerimeter=0;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="521"/> |
|
||||
<mxPoint x="800" y="560"/> |
|
||||
</Array> |
|
||||
<mxPoint x="803" y="521" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=3;dashed=1;" parent="1" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="800" y="520" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="800" y="680"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="33" value="" style="group" parent="1" vertex="1" connectable="0"> |
|
||||
<mxGeometry x="-140" y="-75" width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="29" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">https://someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;" parent="33" vertex="1"> |
|
||||
<mxGeometry x="60" y="27" width="380" height="250" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="32" value="" style="pointerEvents=1;shadow=0;dashed=0;html=1;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;strokeColor=none;" parent="33" vertex="1"> |
|
||||
<mxGeometry width="500" height="350" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="101" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="390" y="-190" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-132"/> |
|
||||
<mxPoint x="280" y="-132"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="34" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">DNS Servers</font>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-60" y="-540" width="330" height="260" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="6" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="495" y="320" width="355" height="440" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="7" value="<font style="font-size: 24px" face="Roboto">TLS Termination Proxy<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="525" y="330" width="280" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="85" target="6" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;entryX=0.073;entryY=0.01;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.075;exitY=0.998;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="62" target="78" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="917" y="754" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="62" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">FastAPI</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal"> app for: someapp.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="650" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="65" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">Another app</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">: another.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="50" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="66" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">One more app</font><font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px ; font-weight: normal">: onemore.example.com</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="180" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="78" value="<font face="Roboto"><span style="font-size: 24px ; font-weight: 400">A Database</span></font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="895" y="780" width="300" height="100" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="85" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Plain response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="86" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="62" target="85" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="1030.0000000000005" y="649.9999999999995" as="sourcePoint"/> |
|
||||
<mxPoint x="850" y="540.0000000000005" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1030" y="540"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="6" target="62" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="1240" y="390"/> |
|
||||
<mxPoint x="1240" y="700"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="84" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Decrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="890" y="350" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="100" target="34" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="65.05882352941171" y="-220" as="sourcePoint"/> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="89" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;dashed=1;" parent="1" source="32" target="100" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="110" y="-75" as="sourcePoint"/> |
|
||||
<mxPoint x="-4.941176470588289" y="-139.99999999999955" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
<mxPoint x="-5" y="-90"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="91" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="34" target="101" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="105" y="-280" as="sourcePoint"/> |
|
||||
<mxPoint x="390" y="-260" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="390" y="-430"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="97" target="32" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
<mxPoint x="340" y="480"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="36" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto" style="font-size: 24px">Port 443 (HTTPS)</font>" style="ellipse;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="330" y="680" width="170" height="120" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;" parent="1" source="96" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="50" y="500" as="sourcePoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="50" y="740"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="93" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="96" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="300" y="350" as="sourcePoint"/> |
|
||||
<mxPoint x="55" y="330" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
<mxPoint x="160" y="340"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="96" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted request for: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#82b366;strokeWidth=3;fillColor=#d5e8d4;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-10" y="400" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="100" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Who is: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="-210" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="101" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">IP:</span><br style="font-family: &#34;roboto&#34;"><span style="font-family: &#34;roboto&#34; ; font-size: 24px">123.124.125.126</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="270" y="-290" width="240" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=3;" parent="1" source="104" target="36" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="770"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="104" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">TLS Handshake</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="-110" y="300" width="230" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="107" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="32" target="104" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="-40" y="275" as="sourcePoint"/> |
|
||||
<mxPoint x="341.38784067832285" y="770" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
<mxPoint x="-40" y="290"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="97" value="<span style="font-family: &#34;roboto&#34; ; font-size: 24px">Encrypted response from: someapp.example.com</span>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#9673a6;strokeWidth=3;fillColor=#e1d5e7;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="90" y="500" width="310" height="80" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="110" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=3;" parent="1" source="36" target="97" edge="1"> |
|
||||
<mxGeometry relative="1" as="geometry"> |
|
||||
<mxPoint x="415" y="680" as="sourcePoint"/> |
|
||||
<mxPoint x="110" y="275" as="targetPoint"/> |
|
||||
<Array as="points"> |
|
||||
<mxPoint x="245" y="710"/> |
|
||||
</Array> |
|
||||
</mxGeometry> |
|
||||
</mxCell> |
|
||||
<mxCell id="49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;strokeWidth=4;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="510" y="400" width="310" height="320" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="50" value="<font style="font-size: 24px" face="Roboto">HTTPS certificates<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=3;fontFamily=Roboto Mono, mono;FType=g;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="550.9" y="410" width="228.21" height="40" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="51" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">someapp.example.com</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="465" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="52" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">another.example.net</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="545" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="53" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">onemore.example.org</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#666666;strokeWidth=3;fillColor=#f5f5f5;fontColor=#333333;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="530" y="625" width="270" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
<mxCell id="42" value="<font face="Roboto" data-font-src="https://fonts.googleapis.com/css?family=Roboto"><span style="font-size: 24px">IP:</span><br><span style="font-size: 24px">123.124.125.126</span><br></font>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;strokeWidth=3;" parent="1" vertex="1"> |
|
||||
<mxGeometry x="290" y="600" width="220" height="70" as="geometry"/> |
|
||||
</mxCell> |
|
||||
</root> |
|
||||
</mxGraphModel> |
|
||||
</diagram> |
|
||||
</mxfile> |
|
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 24 KiB |