Skip to content
Snippets Groups Projects
Commit 6db99694 authored by fmkiotheka's avatar fmkiotheka
Browse files

chore: migra para Hugo

parent b3721a09
Branches
No related tags found
No related merge requests found
Pipeline #42719 failed
Showing
with 280 additions and 1761 deletions
# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks
### JupyterNotebooks ###
# gitignore template for Jupyter Notebooks
# website: http://jupyter.org/
.ipynb_checkpoints
*/.ipynb_checkpoints/*
# IPython
profile_default/
ipython_config.py
# Remove previous ipynb_checkpoints
# git rm -r .ipynb_checkpoints/
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
# IPython
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
public/
resources/
node_modules/
*.bak
*.swp
*.lock
*.DS_Store
default:
image: hugomods/hugo:ci
variables:
GIT_SUBMODULE_STRATEGY: recursive
create-pages:
before_script:
- npm i -D postcss postcss-cli autoprefixer
script:
- hugo
pages: true
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
environment: production
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: check-merge-conflict
- id: check-added-large-files
- id: check-symlinks
- id: detect-private-key
- repo: https://github.com/commitizen-tools/commitizen
rev: v2.37.0
hooks:
- id: commitizen
- id: commitizen-branch
stages: [push]
- repo: https://github.com/psf/black
rev: 22.10.0
hooks:
- id: black
# - repo: local
# hooks:
# - id: pipenv-generetate-requirements
# name: Generate requirements.txt
# description: This hook generate the requirements.txt based on pipfile
# entry: scripts/generate-requeriments.sh
# language: script
# files: ^Pipfile(\.lock)?$
# stages: [merge-commit, push, prepare-commit-msg]
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python:
install:
- requirements: ./requirements.txt
sphinx:
configuration: source/conf.py
formats:
- htmlzip
- pdf
- epub
## 0.1.0 (2022-11-03)
### Feat
- **build**: add .gitkeep on empty directories
This diff is collapsed.
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
sphinx = "*"
commitizen = "*"
pre-commit = "*"
sphinxcontrib-svgbob = "*"
furo = "*"
sphinx-autobuild = "*"
sphinx-inline-tabs = "*"
sphinx-copybutton = "*"
sphinx-tippy = "*"
myst-parser = "*"
[dev-packages]
[requires]
python_version = "3.11.8"
This diff is collapsed.
# Documentação (oficial?) de DevOps do C3SL
Documentação criada pelos roots para os e baseada em ReadTheDocs.
[[_TOC_]]
# Organização do repositório
A gestão dos pacotes é feita através do pipenv. Para instalar use `pipenv install`,
e para entrar no ambiente virtual, `pipenv shell`, onde será possível rodar
`pipenv run make html` para gerar a documentação localmente. Há também um modo
de desenvolvimento que pode ser invocado rodando `pipenv run make dev`.
Para usar o pre-commit hook que reformata os arquivos documentação ao fazer
commit, depois de clonar o repositório rode `pipenv run pre-commit install`.
O repositório é dedicado a documentação e está organizado da seguinte maneira:
* `build/`: Diretório onde os arquivos compilados vão.
* `cz.yaml`: Arquivo de configuração do commitizen.
* `.git`: Diretório de configuração do git.
* `.gitignore`: Arquivo com padrões de nomes que o git deve ignorar ao realizar `git add` ou `git stage`.
* `Makefile`: Makefile para fazer o build da documentação, resultado vai para o diretório `build`.
* `Pipfile`: Arquivo do pipenv para criar ambiente do python para fazer build.
* `Pipfile.lock`: Arquivo do pipenv para criar ambiente do python para fazer build.
* `.pre-commit-config.yaml`: Arquivo de configuração do pre-commit.
* `README.md`: Este arquivo.
* `.readthedocs.yaml`: Arquivo de configuração do readthedocs.
* `requirements.txt`: Arquivos com listas de modulos python para fazer build da documentação, deve ser igual ao `Pipfile`, pode ser gerado com `pipenv requirements > requirements.txt`.
* `LICENSE`: Arquivo de licença.
* `.gitlab-ci.yml`: Arquivo do Gitlab-CI.
* `source/`: Diretório da documentação.
* `conf.py`: Arquivo de configuração do sphinx.
* `index.md`: Primeira página da documentação.
* `pages/`: Diretório com as páginas da documentação.
* `_static/`: Diretório para armazenar arquivos estáticos, como imagens, gifs e etc.
* `_templates/`: Diretório para armazenar estilização das páginas, css, html e etc.
* `_ext/`: Diretório para armazenar extensões customizadas.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
sodipodi:docname="logo.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
id="svg219"
version="1.1"
viewBox="0 0 75.590556 30.236221"
height="8mm"
width="20mm"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs213" />
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="0"
inkscape:window-x="0"
inkscape:window-height="792"
inkscape:window-width="1536"
inkscape:showpageshadow="false"
fit-margin-bottom="0"
fit-margin-right="0"
fit-margin-left="0"
fit-margin-top="0"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer2"
inkscape:document-units="px"
inkscape:cy="0.17130932"
inkscape:cx="31.178297"
inkscape:zoom="2.918697"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#262626"
id="base"
inkscape:pagecheckerboard="0"
inkscape:snap-bbox="true"
inkscape:snap-bbox-midpoints="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:bbox-paths="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata216">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-123.6381,348.45982)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Canvas" />
<g
inkscape:label="Contents"
id="layer2"
inkscape:groupmode="layer"
transform="translate(-383.6381,271.31696)">
<g
id="g202"
transform="matrix(0.04437962,0,0,0.04437962,366.61239,-259.27601)">
<g
id="g31475"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Source Code Pro';-inkscape-font-specification:'Source Code Pro Bold';letter-spacing:0px;word-spacing:0px;fill:#a6e65a;fill-opacity:1;stroke:none;stroke-width:0.681721"
transform="matrix(14.905385,0,0,14.905385,-3156.7669,-8490.4627)"
aria-label=".">
<path
id="path31473"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Rubik;-inkscape-font-specification:'Rubik Bold';fill:#a6e65a;fill-opacity:1;stroke-width:0.681721"
d="m 238.52523,586.22134 q -0.44,0 -0.72,-0.28 -0.28,-0.32 -0.28,-0.72 v -5.08 q 0,-0.44 0.28,-0.72 0.28,-0.28 0.72,-0.28 h 5.08 q 0.4,0 0.68,0.28 0.32,0.28 0.32,0.72 v 5.08 q 0,0.4 -0.32,0.72 -0.28,0.28 -0.68,0.28 z"
inkscape:connector-curvature="0" />
</g>
<g
id="g31479"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Source Code Pro';-inkscape-font-specification:'Source Code Pro Bold';letter-spacing:0px;word-spacing:0px;fill:#a6e65a;fill-opacity:1;stroke:none;stroke-width:0.681721"
transform="matrix(14.905385,0,0,14.905385,-3003.0173,-8562.5888)"
aria-label="/">
<path
id="path31477"
style="font-style:normal;font-variant:normal;font-weight:900;font-stretch:normal;font-family:'Source Code Pro';-inkscape-font-specification:'Source Code Pro Heavy';fill:#a6e65a;fill-opacity:1;stroke-width:0.681721"
d="m 237.92523,591.06016 13.2,-34.8 h 5.68 l -13.2,34.8 z"
inkscape:connector-curvature="0" />
</g>
<path
d="m 1014.3685,-96.728428 q -49.2403,0 -75.27573,36.789958 -26.03544,36.788618 -26.03544,100.744938 0,64.523122 23.77144,100.179472 24.33784,35.09089 77.53973,35.09089 24.9035,0 49.2413,-5.65865 24.9034,-5.66 53.7685,-15.84906 v 71.88085 q -26.6019,10.75318 -52.6365,15.84771 -26.0354,5.09319 -58.2964,5.09319 -62.25904,0 -103.00965,-25.46863 -40.18515,-26.03543 -59.4286,-72.44631 -19.2433,-46.97634 -19.2433,-109.234925 0,-61.126323 22.0729,-108.104002 22.07384,-46.976343 63.95659,-73.577233 42.44914,-26.60224 103.57516,-26.60224 29.9971,0 59.995,7.92453 30.5627,7.35772 58.2965,20.37544 l -27.7338,69.61631 q -22.6395,-10.753184 -45.8444,-18.677711 -22.6394,-7.924527 -44.7133,-7.924527 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:73.1627px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#08c6ab;fill-opacity:1;stroke:none;stroke-width:6.89537"
id="path31481"
inkscape:connector-curvature="0" />
<path
d="m 1453.8772,-71.82392 q 0,41.881808 -25.4698,66.7849759 -24.9034,24.9045081 -61.6917,33.9599611 v 1.69773 q 48.674,5.659994 73.5773,29.430895 25.4699,23.772241 25.4699,63.957658 0,35.08955 -17.5458,63.38952 -16.9793,27.73316 -53.2029,44.14634 -35.657,15.84771 -92.2551,15.84771 -65.6541,0 -116.5929,-22.07317 v -72.44631 q 26.0355,13.01772 54.334,19.80998 28.8659,6.79092 53.2028,6.79092 45.8453,0 63.9566,-15.84637 18.6777,-15.84772 18.6777,-44.71315 0,-16.97998 -8.4896,-28.298627 -8.4905,-11.88545 -29.9979,-17.546784 -20.9409,-6.225457 -58.8621,-6.225457 h -30.5634 V 1.1878528 h 31.129 q 37.3556,0 56.5989,-6.7922603 19.8098,-7.3577235 26.601,-19.2431745 7.3576,-12.452253 7.3576,-28.298628 0,-21.507707 -13.5832,-33.393158 -13.0177,-12.452254 -44.1467,-12.452254 -28.8651,0 -50.3725,10.187721 -20.9418,9.622257 -35.657,19.243174 l -39.6197,-58.861793 q 23.7714,-16.97998 55.467,-28.29996 32.261,-11.31999 76.4078,-11.31999 62.258,0 98.4816,25.46997 36.7891,24.90317 36.7891,70.74858 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:73.1627px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#a6e65a;fill-opacity:1;stroke:none;stroke-width:6.89537"
id="path31483"
inkscape:connector-curvature="0" />
<path
d="m 1783.1277,129.66596 q 0,53.76993 -39.0532,86.03083 -38.4858,31.69408 -109.8009,31.69408 -63.9557,0 -114.328,-24.33636 v -79.80403 q 28.8641,12.45091 59.4284,23.20409 31.1291,10.18906 61.6926,10.18906 31.6947,0 44.7124,-11.88545 13.5832,-12.45225 13.5832,-31.12996 0,-15.28091 -10.7536,-26.03544 -10.1873,-10.75318 -27.7331,-19.809973 -17.5458,-9.620918 -40.1851,-20.375441 -14.1489,-6.790921 -30.5626,-15.846374 -16.4137,-9.622257 -31.6955,-23.206778 -14.7153,-14.148644 -24.337,-33.9586215 -9.6217,-19.8086375 -9.6217,-47.5418025 0,-54.3354 36.7882,-84.33176 36.7892,-30.5645 100.1801,-30.5645 31.6947,0 59.9941,7.35906 28.865,7.35773 59.9941,20.94091 l -27.7331,66.786313 q -27.7329,-11.319987 -49.8067,-17.545444 -22.0729,-6.226797 -45.2788,-6.226797 -24.337,0 -37.3547,11.321327 -13.0177,11.318647 -13.0177,29.429555 0,21.509047 19.2433,33.959961 19.2434,12.4509141 57.1644,30.5631615 31.1292,14.7154475 52.6365,30.5631615 22.0739,15.847714 33.9596,37.355421 11.8857,21.507708 11.8848,53.201801 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:73.1627px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#08c6ab;fill-opacity:1;stroke:none;stroke-width:6.89537"
id="path31485"
inkscape:connector-curvature="0" />
<path
d="m 1837.31,247.39087 v -404.11335 h 85.4639 v 333.36477 h 164.1358 v 70.74858 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:73.1627px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#08c6ab;fill-opacity:1;stroke:none;stroke-width:6.89537"
id="path31487"
inkscape:connector-curvature="0" />
</g>
</g>
<inkscape:templateinfo>
<inkscape:name>Dark Canvas</inkscape:name>
<inkscape:date>2020-07-13</inkscape:date>
</inkscape:templateinfo>
</svg>
---
title: Documentação
menu: {main: {weight: 20}}
type: docs
---
Este repositório reúne a documentação técnica mantida pela equipe de Root do
C3SL feita para consumo dos desenvolvedores que utilizam a infraestrutura do C3SL.
---
title: Conceitos
description: Seção de conceitos
type: docs
---
# Docker
---
title: Docker
type: docs
---
Este é essencialmente um 'TLDR' da documentação oficial[^cite_docker_docs]. A
Este é essencialmente um "TLDR" da documentação oficial[^cite_docker_docs]. A
ideia é fazer com que o leitor tenha uma ideia básica do funcionamento e dos
conceitos chave de Docker.
## O que é Docker?
'Docker é uma plataforma aberta para desenvolver, transportar e executar
"Docker é uma plataforma aberta para desenvolver, transportar e executar
aplicações. Docker permite **separar aplicações de sua infraestrutura**, o
que viabiliza entregar software mais rápido. Com Docker é possível gerenciar
a infraestrutura do mesmo jeito que se gerenciam as aplicações. Ao tirar
vantagem das metodologias de transporte, teste e implantação de código do
Docker é possível reduzir significativamente o atraso ente escrever código
e executar ele em produção.'
e executar ele em produção."
Resumindo a sopa de palavras:
Docker permite criar 'caixinhas' que contém tudo o que é necessário para
Docker permite criar "caixinhas" que contém tudo o que é necessário para
executar a aplicação, o que deixa esse software independente do sistema
em que ele deve executar.
......@@ -70,12 +73,13 @@ em que ele deve executar.
- Os volumes podem ser compartilhados entre containers e também podem ser
montados do sistema hospedeiro, permitindo que os dados persistam mesmo se o
container for interrompido ou excluído.
:::{important}
{{% alert title="Atenção" color="warning" %}}
Em um determinado momento um contêiner contendo um pequeno serviço do C3SL foi
configurado errado, o **volume estava incorreto**. Eventualmente esse contêiner
foi parado e a imagem foi atualizada, o que acarretou na **perda de tudo o
que foi salvo** nesse serviço.
:::
{{% /alert %}}
### Rede
- As redes Docker permitem a comunicação entre contêineres em execução no mesmo
......@@ -92,8 +96,8 @@ que foi salvo** nesse serviço.
## Por que utilizar Docker?
### '*Never install locally*'
:::{note}
### "*Never install locally*"
{{% alert title="Nota" color="primary" %}}
Isso é particularmente relevante quando lida com **dois ou mais gerenciadores
de pacotes**. Um bom exemplo disso são `pip` do Python e `apt` do Debian. É
frequente as instalações de um conflitarem com as do outro, e resolver esse
......@@ -103,16 +107,14 @@ Claro, no caso do `pip` há ambientes virtuais para evitar isso, mas Docker tamb
é um ambiente virtual, e é mais fácil de fazer a aplicação funcionar caso
ela não seja inteiramente em Python, por exemplo. Além das vantagens de
ter uma imagem da aplicação para *deploy* facilitado.
:::
{{% /alert %}}
### Executar código legado
Assumindo que tudo foi configurado corretamente. Uma vez que uma aplicação tem uma imagem
:::{admonition} Um projeto *dockarizado* ficou parado por dois anos e voltou do nada?
:class: question
{{% alert title="Um projeto dockarizado ficou parado por dois anos e voltou do nada?" color="primary" %}}
Sem problemas! É só fazer o *deploy* da última imagem de produção! Agora para
continuar o desenvolvimento basta que a documentação do projeto esteja em ordem
(esse é um problema que sempre caberá ao projeto em si).
:::
{{% /alert %}}
### Testes de integração
...
......@@ -123,7 +125,6 @@ continuar o desenvolvimento basta que a documentação do projeto esteja em orde
### Aplicações de altíssimo desempenho
...
### Aplicações pequenas, simples e isoladas
Um perfeito exemplo disso é um *website*. Caso
[^cite_docker_docs]: [Primeiros passos com Docker](https://docs.docker.com/get-started/overview/).
[^cite_docker_hub]: [Docker Hub](https://hub.docker.com/).
......
---
title: Git
type: docs
---
---
title: GitLab CI
type: docs
---
---
title: Linters e formatadores
type: docs
---
---
title: Testes de código
type: docs
---
---
title: Guias
type: docs
description: Guias de como fazer coisas
---
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment