• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    Docker aneb přístupný provoz kontejnerizovaných aplikací
    Docker(Hub), Compose, Swarm, boot2docker, DevOps, LXC, ECS, TumTum a jiné buzzwordy
    Bezpečnost v prostředí kontejnerů
    Related: automatizace [ Centralizovaná správa stanic a ostatních prvků v síti konfigurace/inventarizace/instalace/aktualizace/zalohovani ]
    rozbalit záhlaví
    DWICH
    DWICH --- ---
    SADY: Na to jsem narazil, kdyz jsem vcera hledal ty tokens a to podle vseho nabizi Bitbucket jen v server verzi, ne jeho cloud verze.

    Kdyz jsem to chtel najit pro Bitbucket cloud, tak jsem se dostal sem, kde pisou, ze to v cloud verzi neni
    Personal Access Token for Bitbucket Cloud?
    https://community.atlassian.com/t5/Bitbucket-questions/Personal-Access-Token-for-Bitbucket-Cloud/qaq-p/677663

    Mozna neco prehlizim.

    BESH: Build args predavam, pro secrets me to nenapadlo, dalsi dobrej tip, dikes!
    SADY
    SADY --- ---
    DWICH: proste personal token, kde ta persona je robot co ti buildi appku, tam si expiration nastavis sam

    Personal access tokens | Bitbucket Data Center and Server 7.16 | Atlassian Documentation
    https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html
    BESH
    BESH --- ---
    DWICH: Pokud potrebujes nejakou hodnotu jen pro nejakej build step, tak lze dodat `docker build --build-arg MY_SECRET=abcd`. Ta hodnota pak nebude ve vyslednem image persistovana. Takovyhle args se daji v CI obvykle narvat pres nejaky pipeline variables.
    DWICH
    DWICH --- ---
    Díky všem za rady! Ten ssh klíč je jednoúčelovej, čistě pro čtení z toho repo a na nic dalšího se nepoužívá. Namountovat ho mě nenapadlo, díky za tip.

    S multistage počítám. Nicméně i když půjde o multistage, tak stejně neodpadne ta nutnost dostat ze secret managera ten klíč do image, ať už přes COPY nebo mount. Je to tak?

    Ten balíček z Bitbucketu potřebuju přidat v poslední fázi instalace aplikace (tzn. v posledním kroku multistage). Z toho mi vychází, že bych za tímhle posledním krokem měl udělat ještě jeden opravdu-poslední krok, do kterého přenesu sakum-prdum instalovanou appku (tzn. nezkopíruje se klíč). Je to tak?
    MARTEN
    MARTEN --- ---
    VELDRANE: Tak do multistage bych sel i z duvodu velikosti vysledneho image. I kdybych nepotreboval zadny klic apod., tak stejne by to byla spravna cesta.

    DWICH: Ale jinak pokud ti jde i jen o klic, tak ho muzes pri buildu mountnout do ~/.ssh/.... (podle toho odkud se defaultne bere) a bude ti pak fungovat. Zadne copy. Ale rozhodne je lepsi pouzit multistage. V prvnim si delat co chces a finalni ma jen stazene soubory a pripadne uz i zkompilovane. Finalni image by pak uz nic takoveho nemel delat - v RUN z duvodu velikosti a poctu layers, v CMD kvuli rychlosti startu containeru.
    I kdyby si ho tam dostal pres COPY a pak smaznul, tak pozor, porad tam zustane v jednom z layeru a lze ho z toho bez problemu dostat a zneuzit.
    VELDRANE
    VELDRANE --- ---
    DWICH: obecne nevidim problem mit nekde ssh klic, problem vidim v tom co s tim ssh klicem muzes delat. Jinymi slovy spis zalezi na tom jak silna prava jsou prirazena entite, ktera se autentizuje pomoci toho klice. Totez plati i o tokenu. Navic je ímho v tomhle pripade bezpecnejsi ssh klic nez token, kterej muze obsahovat spoustu readable informaci, ale asi bude zaelzet i na tokenu.

    Zaznel tu i termin “secret” v kubernetes. Secret neni zas tak secret :) protoze je to pouze zakodovana nejaka imformace (klic, cert, heslo atd) v base64 - nic vic nic min. Pokud chces nejakou vyssi formu bezpecnosti, pak je na zvazeni treba nejakej vault, otazka je jak potom dostat automaticky data z toho vaultu.

    Osobne bych sel cestou multistage jak Ti radi King
    JON
    JON --- ---
    DWICH: ja prave nevim jak v bitbucketu - to prostredi nepouzivam a nemam rad.
    DWICH
    DWICH --- ---
    JON: Na to jsem nenarazil a klidně si nechám napovědět. Co jsem v rychlosti prošel, tak mi vyskočilo tohle
    Use OAuth on Bitbucket Cloud | Bitbucket Cloud | Atlassian Support
    https://support.atlassian.com/bitbucket-cloud/docs/use-oauth-on-bitbucket-cloud/
    kde access token má platnost dvě hodiny a novej získáš přes OAuth2

    Uložit v secret manageru ssh klíč nebo credentials pro získání access tokenu a jeho následný použití mi přijde podobný, možná trochu složitější s tím tokenem. Nebo mi něco uniká?


    RAGNAROK: Díky za tip, nemám vyzkoušeno, mrknu na to.
    RAGNAROK
    RAGNAROK --- ---
    .netrc file
    JON
    JON --- ---
    DWICH: nestaci na ten bitbucket nejaky token pro read-only access misto ssh klice?
    DWICH
    DWICH --- ---
    DANIELSOFT, KING: Obojí mám vyzkoušený, tak snad cílovej setup nebude složitější. Build bude probíhat v GCP v Cloud Buildu, tak to zkusím napojit na tamní secrets (ne na kube secrets).

    Díky!
    KING
    KING --- ---
    DWICH: na tohle bych pouzil multi-stage build (https://docs.docker.com/develop/develop-images/multistage-build/) kde v prvnim kroku se vse sthne a nainstaluje a v druhem pak uz nebudou potreba ty secrets ani veci jako git
    DANIELSOFT
    DANIELSOFT --- ---
    DWICH: v Kubernetes je něco, co se jmenuje "secrets" a je přesně k tomuto: detaily si nepamatuju, protože jsem na tom dělal v roce 2016. možná je něco podobného v Compose či menším orchestrátoru, pokud je Kubernetes overkill, ale můžeš se u nich podívat, jak to mají udělané
    DWICH
    DWICH --- ---
    Zdravíčko vespolek. Mám Dockerfile, v něm pouštím pip install -r requirements.txt a v něm je jeden balíček, co je na na Bitbucketu. pip si zavolá git, ten udělá git clone a balíček nainstaluje. Potud OK. Ten git ale potřebuje ssh klíč, aby se mohl Bitbucketu ověřit.

    Ten ssh klíč můžu do Dockerfile zapsat, nechat proběhnout instalaci a pak ho smazat. Abych ten klíč do dostal do Dockeru, mám COPY, jenže to COPY může číst jen v rámci adresářů, kam může Dockerfile. A tím se dostávám k problému - kde by ten ssh klíč měl být uložený? Resp. jaké máte best practices, jak instalovat balíčky z privátních repos do dockerů?

    Diky za feedback, kritiku snesu :)
    FALLENANGEL
    FALLENANGEL --- ---
    MORTAELTH: A je to taky o rychlosti uvolnovani novych verzi, kdy v ramci microservices jsi schopnej byt mnohem rychlejsi, nez u monolitnich aplikaci.
    MORTAELTH
    MORTAELTH --- ---
    Prejit na microservice architekturu imho neni tolik o tom jestli to zakaznici chteji.. je to o tom ze ti to usnadni vyvoj, nebo konkretneji komunikaci uvnitr vyvojovych tymu. Pokud nekdo dela aplikaci jako sadu nezavislych modulu, ktere vystavuji iface ostatnim modulum a tech modulu jsou desitky, tak ti vrstva nad tim (service mesh) pomuze to zorganizovat a nemit v tom chaos, snizit mnoztvi otazek na chatu jak se ma co zapojit a co se ocekava, a taky urcite bude mit chyb, ktere vzniknou jako dusledek te potreby dobre komunikovat / dokumentovat..

    Asi je hrozne tezke rict kdy uz se to vyplati a kdy ne.. nejake zhodnoceni faktoru jako je velikost organizace (tymu) / vnitrni procesy / architektura aplikace / velikost produktu.
    VELDRANE
    VELDRANE --- ---
    ADMIX: Hele myslim ze zakos pro kyeryho makam nema uplne nejmensi prostredi (stovky nodu v clusteru, mrte service apod), a stejne nemam pocit ze bychom istio nebo treba linkerd potrebovali. Tak by me zajimal konrektni case kdy to cloveku muze pomoct.


    FALLENANGEL: Jo ja ma stejnej pocit. To end2end sifrovani chapu, jen bych se to imho snazil resit asi jinak - ale ok tady to smysl asi dava.
    FALLENANGEL
    FALLENANGEL --- ---
    VELDRANE: Nejsem si jistej, do jaky miry to zakaznici opravdu potrebuji a do jaky miry si opravdu chteji jenom hrat s novou technologii :) Cast z nich nasazuje Istio kvuli bezpecnosti, protoze s jeho pomoci muzes snadno a ve velkym rozsahu nasadit pod to pod sifrovani.
    ADMIX
    ADMIX --- ---
    VELDRANE: spis mas stesti ze nemas deployment kterej by byl na skale nebo komplexite ospravedlnujici veci typu service mesh. Ty dve sluzby tady zmineny jsou netflix a neco co se pri vypadku dostane do televize :)
    VELDRANE
    VELDRANE --- ---
    FALLENANGEL: priznam se ze nejsem uplne fanda istia/servicemesh obecne, ale mozna (pravdepodobne :) mam jen malou predstavivost. Prijde mi to jako hodne tezkotonazni udelatko a nejak nevimkde bych to realne nasadil, nebo kde by ten zlomek features co od toho chci nepokryla nejaka potunena haproxy nebo nginx. Ma tu nekdo realny nasazeni, kde by se clovek bez istia vazne neobesel a nebo se bez nej obesel velmi tezko ?
    FALLENANGEL
    FALLENANGEL --- ---
    INDIAN: merci :)
    Kliknutím sem můžete změnit nastavení reklam