Skip to content

Commit a15dee5

Browse files
committed
initial version of logg
1 parent 2c8928f commit a15dee5

9 files changed

+196
-5
lines changed

src/lib/Header.svelte

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import { page } from "$app/stores";
33
import Nais from "./icons/Nais.svelte";
44
5-
65
const isActive = (/** @type {string} */ path) => $page.url.pathname.startsWith(`/${path}`);
76
let isOpen = $state(false);
87
</script>
@@ -33,8 +32,9 @@
3332
</button>
3433
<nav class="main-menu" class:isOpen>
3534
<ul class="main-menu-list">
36-
<li><a class="main-menu-item" class:isActive={isActive("blog")} href="/blog">Blogg</a></li>
35+
<li><a class="main-menu-item" class:isActive={isActive("blog")} href="/blog">Artikler</a></li>
3736
<li><a class="main-menu-item" href="https://docs.nais.io">Dokumentasjon</a></li>
37+
<!-- <li><a class="main-menu-item" class:isActive={isActive("log")} href="/log">Logg</a></li> -->
3838
<li><a class="main-menu-item" href="mailto:[email protected]">Kontakt oss</a></li>
3939
</ul>
4040
<a class="mobile-github-link" href="https://github.com/nais" aria-label="nais github">
@@ -140,7 +140,7 @@
140140
}
141141
.main-menu-item.isActive {
142142
color: var(--color-primary);
143-
}
143+
}
144144
/* mobile-github-link {
145145
font-size: 1.5rem;
146146
margin-top: 4px;
@@ -178,5 +178,4 @@
178178
font-size: 1.5rem;
179179
}
180180
}
181-
182181
</style>

src/routes/log/+page.svelte

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<script lang="ts">
2+
import { format } from "date-fns";
3+
import type { PageData } from "./$types";
4+
5+
const { data }: { data: PageData } = $props();
6+
</script>
7+
8+
<div class="wrapper">
9+
<div class="content">
10+
{#each data.posts as { metadata, default: Post }}
11+
<h2 class="heading">{metadata.title}</h2>
12+
<p class="byline">{format(metadata.date, "MMMM d, yyyy")} by {metadata.author}</p>
13+
<div class="post">
14+
<Post />
15+
</div>
16+
{/each}
17+
</div>
18+
</div>
19+
20+
<style>
21+
.wrapper {
22+
font-size: 1.125rem;
23+
padding: min(4vw, 3.6rem);
24+
margin-inline: auto;
25+
display: flex;
26+
flex-direction: column;
27+
align-items: center;
28+
}
29+
.content {
30+
max-width: 67ch;
31+
}
32+
.heading {
33+
margin-top: 1.75em;
34+
margin-bottom: 0.5em;
35+
}
36+
.byline {
37+
font-style: italic;
38+
font-size: 1rem;
39+
}
40+
.post :global(h1) {
41+
margin-block: 0.67em;
42+
}
43+
.post :global(:is(h2, h3, h4, h5)) {
44+
margin-top: 1.5em;
45+
margin-bottom: 18px;
46+
}
47+
.post :global(p) {
48+
margin-block: 1em;
49+
}
50+
.post :global(ul),
51+
.post :global(ol) {
52+
margin-block: 1em;
53+
}
54+
.post :global(:is(ul, ol) :is(ol, ul)) {
55+
margin-block: 0;
56+
}
57+
.post :global(pre) {
58+
overflow-x: auto;
59+
padding: 0.5rem;
60+
}
61+
.post :global(blockquote) {
62+
border-left: 0.5rem solid var(--color-primary);
63+
display: flex;
64+
padding-inline: min(4vw, 2rem);
65+
background-color: color-mix(in srgb, var(--color-primary) 10%, white);
66+
}
67+
.post :global(table) {
68+
overflow-x: auto;
69+
width: 100%;
70+
max-width: 100%;
71+
border-collapse: collapse;
72+
}
73+
.post :global(thead) {
74+
display: table-header-group;
75+
vertical-align: middle;
76+
}
77+
.post :global(tr) {
78+
display: table-row;
79+
vertical-align: inherit;
80+
}
81+
.post :global(th) {
82+
vertical-align: bottom;
83+
border-bottom: 2px solid #dee2e6;
84+
text-align: inherit;
85+
}
86+
.post :global(th),
87+
.post :global(td) {
88+
vertical-align: top;
89+
padding: 0.75rem;
90+
border-top: 1px solid #dee2e6;
91+
}
92+
</style>

src/routes/log/+page.ts

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import type { Component } from "svelte";
2+
3+
export async function load() {
4+
const markdownFiles = import.meta.glob<{
5+
default: Component;
6+
metadata: {
7+
date: string;
8+
title: string;
9+
author: string;
10+
};
11+
}>("./posts/*.md", { eager: true });
12+
13+
return {
14+
posts: Object.values(markdownFiles).sort(
15+
(a, b) => new Date(b.metadata.date).getTime() - new Date(a.metadata.date).getTime(),
16+
),
17+
};
18+
}

src/routes/log/post.svelte

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script lang="ts">
2+
import type { Snippet } from "svelte";
3+
interface Props {
4+
title?: string;
5+
author?: string;
6+
date?: string;
7+
children: Snippet;
8+
}
9+
let { children }: Props = $props();
10+
</script>
11+
12+
{@render children()}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: ":naiser: NAIS DEBUG!"
3+
date: 2024-11-06T12:55:13+02:00
4+
author: Carl Hedgren
5+
tags: []
6+
layout: log
7+
---
8+
9+
Det er nå mulig å bruke et nais-debug image for å debugge containers i pods.
10+
11+
Se docs på https://docs.nais.io/workloads/how-to/debugging/#kubectl-debug
12+
13+
Det er også støtte i nais-cli via nais debug &lt;appname&gt; (krever oppdatering).
14+
15+
Det finnes også et easter egg i imaget. Se om du kan finne det. (it's real, not just engagement hacking. )
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: ":naiser: Redirects, but Nais"
3+
date: 2024-11-12T14:10:13+02:00
4+
author: Carl Hedgren
5+
tags: []
6+
layout: log
7+
---
8+
9+
Tired of hand-sucking nginx controller annotations? Would you like better living?
10+
11+
Be all you can be? Deprecate old ingresses without too much disruption?
12+
13+
https://docs.nais.io/workloads/application/reference/application-spec/#redirects
14+
15+
You can now add spec.redirects: and send traffic - from: an old ingress to: a new one.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: "Influx på Aiven end of life og brukerundersøkelse om forretningsmetrikker"
3+
date: 2024-11-15T14:20:13+02:00
4+
author: Hans Kristian Flaatten
5+
tags: []
6+
layout: log
7+
---
8+
9+
:aiven: Influx på Aiven er end of life 30. april 2025, innen denne dato må alle team som bruker Influx på Aiven avslutte sin bruk av bruk. Mer informasjon her: https://nav-it.slack.com/files/USLACKBOT/F080WSQCRUK/end_of_life_for_aiven_for_influxdb_services
10+
11+
:megaphone: I forbindelse med dette gjennomfører Nais en brukerundersøkelse om teamene sin bruk av forretningsmetrikker / produktmetrikker / funksjonelle metrikker. Vi hadde satt svært pris på tilbakemeldinger fra team som i dag bruker Prometheus, Influx, Bigquery eller noe annet til å lagre forretningsmetrikker.
12+
13+
Undersøkelsen har bare 4 spørsmål og du finner den her: https://forms.office.com/e/A8BsJFt22h
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: "Rotering av Kafka secrets"
3+
date: 2024-11-18T10:08:13+02:00
4+
author: Morten Lied Johansen
5+
tags: [kafka, aiven, sikkerhet]
6+
layout: log
7+
---
8+
9+
I kjølvannet av onsdagens hendelse[^1] med Aiven credentials ønsker vi å rotere alle Kafka credentials som applikasjonene benytter seg av, mest for å øve på hvordan vi ville gjort det hvis det hadde vært credentials på avveie, men også som et føre-var tiltak dersom det skulle vise seg at det ikke er helt korrekt at det ikke var noe lekkasje.
10+
11+
Dette vil skje i form av en resync av applikasjoner som benytter Aiven-tjenester i løpet av dagen, hvor disse får nye secrets, og så sletter vi de gamle secretene.
12+
13+
Det burde på alle måter være en non-event for de aller fleste.
14+
15+
To konsekvenser som kan være nyttig å vite om:
16+
17+
Applikasjoner utenfor nais som benytter det som kalles Protected secrets [^2] vil ikke få sine secrets rotert. Det kan være lurt å vurdere å gjøre dette selv [^3].
18+
19+
Det vil ikke være mulig å rulle tilbake til forrige versjon av applikasjonen ved hjelp av kubectl rollout undo deployment/abc, da dette vil trenge secreten som har blitt slettet. Feilretting må skje i form av å "rulle fremover" inntil neste gang man har deployet applikasjonen normalt.
20+
21+
1. https://nav-it.slack.com/archives/C8MU0M6L8/p1731577353288189
22+
2. https://doc.nav.cloud.nais.io/persistence/kafka/how-to/access-from-non-nais/
23+
3. https://doc.nav.cloud.nais.io/persistence/kafka/how-to/renew-credentials-for-non-nais/

svelte.config.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ const config = {
1919
mdsvex({
2020
extensions: [".svx", ".md", ".mdx"],
2121
remarkPlugins: [remarkRelativeImages],
22-
layout: "/src/routes/blog/posts/layout.svelte",
22+
layout: {
23+
log: "/src/routes/log/post.svelte",
24+
blog: "/src/routes/blog/posts/layout.svelte",
25+
_: "/src/routes/blog/posts/layout.svelte",
26+
},
2327
highlight: {
2428
highlighter: async (code, lang = "text") => {
2529
const html = escapeSvelte(highlighter.codeToHtml(code, { lang, theme }));

0 commit comments

Comments
 (0)