Skip to content
This repository has been archived by the owner on Jan 30, 2025. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ruzickap committed Apr 12, 2019
1 parent a160ba9 commit 78f4cac
Show file tree
Hide file tree
Showing 16 changed files with 1,101 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# demo-magic.sh script
demo-magic.sh
# Kubernetes kubeconfig file
kubeconfig.conf
# Ignore temporary README.sh script
README.sh
# ignore builded pages by Vuepress
docs/.vuepress/dist
# ignore tmp directory
tmp
# cloned git repo
k8s-harbor
15 changes: 15 additions & 0 deletions .spelling
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
awscli
Cleanup
CloudFormation
ClusterIssuer
CRDs
CustomResourceDefinition
eksctl
Jetstack
kubectl
Kubernetes
loadbalancer
nameservers
Nginx
Route53
Weaveworks
74 changes: 74 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
dist: xenial

env:
- MY_DOMAIN=mylabs.dev

branches:
except:
- gh-pages

jobs:
include:
- stage: Tests
name: "Markdown link, lint and spell check"
language: node_js
node_js: 10
install:
# Install markdownlint and markdown-link-check
- npm install -g markdownlint-cli markdown-link-check markdown-spellcheck > /dev/null
script:
# Markdown check
- 'echo "{ MD013: { code_blocks: false } }" > /tmp/markdownlint_config.json'
- find . -name "*.md" -print0 | xargs -0 markdownlint -c /tmp/markdownlint_config.json
# Link Checks
- 'echo "{ \"ignorePatterns\": [ { \"pattern\": \"^(http|https)://localhost\" }, { \"pattern\": \"^(http|https)://.*${MY_DOMAIN}\" } ] }" > /tmp/config.json'
- find . -name "*.md" -print0 | xargs -0 markdown-link-check --config /tmp/config.json --quiet
# Spell Check
- mdspell '**/*.md' --ignore-numbers --ignore-acronyms --report --en-gb

- stage: Tests
name: "Web links check"
language: node_js
services:
- docker
node_js: 10
install:
- npm install vuepress@next @vuepress/plugin-medium-zoom @vuepress/plugin-back-to-top vuepress-plugin-seo
script:
# Get local IP
- export HOST_IP_ADDRESS="$(ip -4 addr show docker0 | sed -n 's/.* inet \([^/]*\).*/\1/p')"
# Build the docs
- vuepress build --silent --dest ${TRAVIS_REPO_SLUG##*/} docs
# Start Web server
- python3 -m http.server 8080 &> /dev/null &
# Check links on generated pages
- docker run -it --rm linkchecker/linkchecker --check-extern --no-status --ignore-url "(http|https)://localhost" --ignore-url "(http|https)://.*${MY_DOMAIN}" http://${HOST_IP_ADDRESS}:8080/${TRAVIS_REPO_SLUG##*/}

- stage: Build & Deploy
name: "Build and Deploy to GitHub pages"
language: node_js
node_js: 10
install:
- npm install vuepress@next @vuepress/plugin-medium-zoom @vuepress/plugin-back-to-top vuepress-plugin-seo
script:
- vuepress build docs
- cp LICENSE docs/.vuepress/dist
- sed -e 's@(part-@(https://github.com/ruzickap/k8s-harbor/tree/master/docs/part-@' -e 's@.\/.vuepress\/public\/@./@' docs/README.md > docs/.vuepress/dist/README.md

deploy:
provider: pages
local-dir: docs/.vuepress/dist
skip-cleanup: true
github-token: $GITHUB_TOKEN
target-branch: gh-pages
on:
branch: master

- stage: Web Links Check
name: "Final web links check with deployed web pages"
language: minimal
services:
- docker
script:
- docker run -it --rm linkchecker/linkchecker --check-extern --no-status --ignore-url "(http|https)://localhost" --ignore-url "(http|https)://.*${MY_DOMAIN}" https://${TRAVIS_REPO_SLUG%/*}.github.io/${TRAVIS_REPO_SLUG##*/}
40 changes: 40 additions & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
module.exports = {
title: "Kubernetes and Harbor",
description: "Kubernetes and Harbor",
base: '/k8s-harbor/',
head: [
['link', { rel: "icon", href: "/favicon.ico" }]
],
themeConfig: {
displayAllHeaders: true,
lastUpdated: true,
repo: 'ruzickap/k8s-harbor',
docsDir: 'docs',
editLinks: true,
logo: '/harbor-horizontal-color.svg',
nav: [
{ text: 'Home', link: '/' },
{
text: 'Harbor links',
items: [
{ text: 'Harbor', link: 'https://goharbor.io/' },
{ text: 'Harbor Blog', link: 'https://goharbor.io/blogs/' },
{ text: 'Harbor Docs', link: 'https://goharbor.io/docs/' },
{ text: 'Harbor GitHub', link: 'https://github.com/goharbor/harbor/' },
]
}
],
sidebar: [
'/',
'/part-01/',
'/part-02/',
'/part-03/',
'/part-04/',
]
},
plugins: [
['@vuepress/medium-zoom'],
['@vuepress/back-to-top'],
['seo']
]
}
Binary file added docs/.vuepress/public/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions docs/.vuepress/public/harbor-horizontal-color.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Kubernetes + Harbor

[![Build Status](https://travis-ci.com/ruzickap/k8s-harbor.svg?branch=master)](https://travis-ci.com/ruzickap/k8s-harbor)

[Harbor](https://goharbor.io/) is an open source cloud native registry that
stores, signs, and scans container images for vulnerabilities.

![Harbor](./.vuepress/public/harbor-horizontal-color.svg "Harbor")

Harbor solves common challenges by delivering trust, compliance, performance,
and interoperability. It fills a gap for organizations and applications that
cannot use a public or cloud-based registry, or want a consistent experience
across clouds.

* GitHub repository: [https://github.com/ruzickap/k8s-harbor](https://github.com/ruzickap/k8s-harbor)

## Requirements

* [awscli](https://aws.amazon.com/cli/)
* [AWS IAM Authenticator for Kubernetes](https://github.com/kubernetes-sigs/aws-iam-authenticator)
* [AWS account](https://aws.amazon.com/account/)
* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
* [eksctl](https://eksctl.io/)
* Kubernetes and Linux knowledge required

## Objectives

* Download and install Harbor to your cluster

## Content

* [Part 01 - Create EKS cluster](part-01/README.md)
* [Part 02 - Install Helm](part-02/README.md)
* [Part 03 - Nginx + cert-manager installation](part-03/README.md)
* [Part 04 - Harbor installation](part-04/README.md)

## Links

* Video:

* [Intro to Harbor](https://youtu.be/Rs3zByxI8aY)

* Pages:

* [Deploying Harbor Container Registry in Production](https://medium.com/@ikod/deploy-harbor-container-registry-in-production-89352fb1a114)

![Harbor](https://raw.githubusercontent.com/cncf/artwork/ab42c9591f6e0fdccc62c7b88f353d3fdc825734/harbor/stacked/color/harbor-stacked-color.svg?sanitize=true)
Loading

0 comments on commit 78f4cac

Please sign in to comment.