diff --git a/404.html b/404.html index 9a6a96567..d4530192b 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - +
diff --git a/assets/js/0097d0fa.c95816fc.js b/assets/js/0097d0fa.c95816fc.js new file mode 100644 index 000000000..50107d892 --- /dev/null +++ b/assets/js/0097d0fa.c95816fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkredkubes_github_io=self.webpackChunkredkubes_github_io||[]).push([[9832],{9101:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var s=o(5893),a=o(1151);const r={slug:"push-images",title:"Push images to Harbor",sidebar_label:"Push Images"},n=void 0,i={id:"get-started/labs/push-images",title:"Push images to Harbor",description:"For this lab, Harbor needs to be activated and the cluster needs to be configured with trusted certificates (like Let's Encrypt using production certificate).",source:"@site/docs/get-started/labs/push-images.md",sourceDirName:"get-started/labs",slug:"/get-started/labs/push-images",permalink:"/docs/get-started/labs/push-images",draft:!1,unlisted:!1,editUrl:"https://github.com/linode/linode.github.io/tree/main/docs/get-started/labs/push-images.md",tags:[],version:"current",frontMatter:{slug:"push-images",title:"Push images to Harbor",sidebar_label:"Push Images"},sidebar:"mainSidebar",previous:{title:"Trigger Builds",permalink:"/docs/get-started/labs/trigger-builds"},next:{title:"Create Sealed Secrets",permalink:"/docs/get-started/labs/create-sealed-secrets"}},d={},c=[{value:"Login to Harbor",id:"login-to-harbor",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsx)(t.p,{children:"For this lab, Harbor needs to be activated and the cluster needs to be configured with trusted certificates (like Let's Encrypt using production certificate)."})}),"\n",(0,s.jsx)(t.h2,{id:"login-to-harbor",children:"Login to Harbor"}),"\n",(0,s.jsxs)(t.p,{children:["To be able to push images to Harbor, you'll need a robot account with push permissions. Teams are offered the option to download the Docker config for their team's private registry in Harbor. In the left menu you will see the option ",(0,s.jsx)(t.code,{children:"Download DOCKERCFG"}),". Click on it to download the credentials."]}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["To download the DOCKERCFG, enable this option in the team settings. See team settings for more information: ",(0,s.jsx)(t.a,{href:"/docs/for-ops/console/teams",children:"Platform - Teams"}),"."]})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"harbor-projects",src:o(5701).Z+"",width:"3144",height:"1488"})}),"\n",(0,s.jsxs)(t.p,{children:["When you have downloaded the docker config. Get the password from the config and paste it below, then run ",(0,s.jsx)(t.code,{children:"docker login"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"docker login -u 'otomi-team-Fill in the name blue
for your build and a tag (default tag is latest).
Choose Docker
and fill in the repo URL for the blue
repo created in the previous lab.
Choose Docker
and fill in the repo URL for the blue
repo created in the previous lab: https://gitea.<your-domain>/<gitea-username>/blue
.
Click Submit
.
Create a new repo called nodejs-helloworld
.
Create a new repo called nodejs-helloworld
in Gitea.
Set the Default Branch to master
.
Enable Trigger
.
Click Next
.
Select the Digest
strategy for the Auto image updater
.
As a team member, you can create and manage your own repositories.
Team members first have to sign in to Gitea (using OpenID), after which they are automatically added to the correct team.
The otomi-admin
account is unable to login with OpenID, this account needs to login with the user/password login form.
In the labs we'll be using a Team called labs
and a user called labs-user
.
In the labs we'll be using a Team called labs
and a user called labs-user@example.com
.
Gitea only supports HTTPS for Git authentication. To connect to Git using HTTPS you'll first need to add a password to your account in Gitea:
Now go to Gitea and check the otomi/values repository. You will see that under values/env/teams/sealedsecrets.<team-name>.yaml
the secret is stored in yaml, but the values are encrypted.
The only way to see the values of the secret is to decrypt the secret. The secret values are stored as base64 encoded values. Open a Shell and run the following command:
+The only way to see the values of the secret is to decrypt the secret. The secret values are stored as base64 encoded values. In the left menu click on Shell and run the following command:
kubectl get secret secret-credentials -o yaml -n team-labs
This wil return the secret in yaml format. The values are stored as base64 encoded values.
apiVersion: v1
data:
password: aGVsbG93b3JsZA==
username: bGFicy11c2Vy
kind: Secret
metadata:
creationTimestamp: "2024-09-12T06:11:55Z"
name: secret-credentials
namespace: team-labs
ownerReferences:
- apiVersion: bitnami.com/v1alpha1
controller: true
kind: SealedSecret
name: secret-credentials
uid: b9dc5d5c-9699-4efb-86a8-7bd1dd869318
resourceVersion: "357105"
uid: 84dd34e1-2313-482d-b7de-e5d848675fb7
type: kubernetes.io/opaque
blue
service of the Workload we created in the previous lab:blue
service of the workload created in the previous lab. The blue service will become available once the ArgoCD application is ready:Platform Applications that are required for the following labs are enabled:
Lab | App |
---|---|
Build images | Harbor |
Trigger builds | Harbor |
Push images to harbor | Harbor |
Scan running containers for vulnerabilities | Prometheus, Grafana, Trivy Operator |
View container logs | Loki, Grafana |
View container metrics | Prometheus |
Using custom metrics | Prometheus |
Monitoring availability of Workloads | Prometheus |
Tracing with Open Telemetry | Loki, Otel, Tempo |
Create a RabbitMQ cluster | RabbitMQ |
Lab | App |
---|---|
Build images | Harbor |
Trigger builds | Harbor |
Push images to harbor | Harbor |
Scan running containers for vulnerabilities | Prometheus, Grafana, Trivy Operator |
View container logs | Loki, Grafana |
View container metrics | Prometheus |
Monitor services | Alertmanager |
Using custom metrics | Prometheus |
Tracing with Open Telemetry | Loki, Otel, Tempo |
Create a RabbitMQ cluster | RabbitMQ |
For the Tracing with Open Telemetry Lab, tracing needs to be configured in the Istio
and Nginx Ingress
apps.
A team called labs
is created with Alertmanager
activated.
A team called labs
is created with Alertmanager
activated. See how you can create teams on: Platform - Teams.
A user account is created and added to the labs
Team. In the labs we'll be using the user labs-user
.
A user account is created and added to the labs
Team. In the labs we'll be using the user labs-user@example.com
. See how you can create users on: Platform - User Management.
Sign in with the created user account (or when OIDC is configured, use your existing corporate AD account)
After sign in, you will see this page:
+After sign in, you will see this page (with grafana enabled):