Pinniped Blog
+{{ .Title }}
+ +{{ dateFormat "Jan 2, 2006" .Date }}
+ {{ .Content }} +diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 00000000..39a8755e --- /dev/null +++ b/site/.gitignore @@ -0,0 +1 @@ +*.DS_STORE \ No newline at end of file diff --git a/site/README.md b/site/README.md new file mode 100644 index 00000000..c7b82415 --- /dev/null +++ b/site/README.md @@ -0,0 +1,17 @@ +# Website for [Pinniped](https://pinniped.dev/) + +##### Prerequisites + +* [Hugo](https://github.com/gohugoio/hugo) + * macOS: `brew install hugo` + * Windows: `choco install hugo-extended -confirm` + +#### Build + +```bash +hugo server --disableFastRender +``` + +#### Serve + +Serve site at http://localhost:1313 diff --git a/site/archetypes/default.md b/site/archetypes/default.md new file mode 100644 index 00000000..00e77bd7 --- /dev/null +++ b/site/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/site/config.yaml b/site/config.yaml new file mode 100644 index 00000000..312a09ed --- /dev/null +++ b/site/config.yaml @@ -0,0 +1,36 @@ +baseURL: "https://pinneped.dev/" +languageCode: "en-us" +title: "Pinniped" +theme: "pinniped" +params: + twitter_url: "https://twitter.com/projectpinniped" + github_url: "https://github.com/vmware-tanzu/pinniped" + slack_url: "https://kubernetes.slack.com/messages/pinniped" +pygmentsCodefences: true +pygmentsStyle: "pygments" +markup: + highlight: + anchorLineNos: false + codeFences: true + guessSyntax: false + hl_Lines: "" + lineAnchors: "" + lineNoStart: 1 + lineNos: false + lineNumbersInTable: true + noClasses: false + style: monokai + tabWidth: 4 +menu: + docs: + - name: Overview + url: /docs/ + weight: 100 + - name: Architecture + url: /docs/architecture/ + name: Demo + url: /docs/demo/ + - name: Scope + url: /docs/scope/ + - name: Update Images + url: /docs/img/ \ No newline at end of file diff --git a/site/content/community/_index.html b/site/content/community/_index.html new file mode 100644 index 00000000..922c8528 --- /dev/null +++ b/site/content/community/_index.html @@ -0,0 +1,42 @@ +--- +title: "" +layout: section +--- + +
Head over to our git repo and check out the discussions and issues sections.
+Chat with us on our Kubernetes Slack channel #pinniped
+Join the Pinniped Community Meetings every 1st and 3rd Thursday
++ +
+ +1. Install the tools required for the following steps. + + - [Install kind](https://kind.sigs.k8s.io/docs/user/quick-start/), if not already installed. e.g. `brew install kind` on MacOS. + + - kind depends on Docker. If not already installed, [install Docker](https://docs.docker.com/get-docker/), e.g. `brew cask install docker` on MacOS. + + - This demo requires `kubectl`, which comes with Docker, or can be [installed separately](https://kubernetes.io/docs/tasks/tools/install-kubectl/). + + - This demo requires a tool capable of generating a `bcrypt` hash in order to interact with + the webhook. The example below uses `htpasswd`, which is installed on most macOS systems, and can be + installed on some Linux systems via the `apache2-utils` package (e.g., `apt-get install + apache2-utils`). + + - One of the steps below optionally uses `jq` to help find the latest release version number. It is not required. + Install `jq` if you would like, e.g. `brew install jq` on MacOS. + +1. Create a new Kubernetes cluster using `kind create cluster`. Optionally provide a cluster name using the `--name` flag. + kind will automatically update your kubeconfig to point to the new cluster as a user with admin-like permissions. + +1. Query GitHub's API for the git tag of the latest Pinniped + [release](https://github.com/vmware-tanzu/pinniped/releases/latest). + + ```bash + pinniped_version=$(curl https://api.github.com/repos/vmware-tanzu/pinniped/releases/latest -s | jq .name -r) + ``` + + Alternatively, [any release version](https://github.com/vmware-tanzu/pinniped/releases) + number can be manually selected. + + ```bash + # Example of manually choosing a release version... + pinniped_version=v0.2.0 + ``` + +1. Deploy the local-user-authenticator app. This is a demo identity provider. In production, you would use your + real identity provider, and therefore would not need to deploy or configure local-user-authenticator. + + ```bash + kubectl apply -f https://github.com/vmware-tanzu/pinniped/releases/download/$pinniped_version/install-local-user-authenticator.yaml + ``` + + The `install-local-user-authenticator.yaml` file includes the default deployment options. + If you would prefer to customize the available options, please + see [deploy/local-user-authenticator/README.md](../deploy/local-user-authenticator/README.md) + for instructions on how to deploy using `ytt`. + +1. Create a test user named `pinny-the-seal` in the local-user-authenticator identity provider. + + ```bash + kubectl create secret generic pinny-the-seal \ + --namespace local-user-authenticator \ + --from-literal=groups=group1,group2 \ + --from-literal=passwordHash=$(htpasswd -nbBC 10 x password123 | sed -e "s/^x://") + ``` + +1. Fetch the auto-generated CA bundle for the local-user-authenticator's HTTP TLS endpoint. + + ```bash + kubectl get secret local-user-authenticator-tls-serving-certificate --namespace local-user-authenticator \ + -o jsonpath={.data.caCertificate} \ + | tee /tmp/local-user-authenticator-ca-base64-encoded + ``` + +1. Deploy Pinniped. + + ```bash + kubectl apply -f https://github.com/vmware-tanzu/pinniped/releases/download/$pinniped_version/install-pinniped-concierge.yaml + ``` + + The `install-pinniped-concierge.yaml` file includes the default deployment options. + If you would prefer to customize the available options, please see [deploy/concierge/README.md](../deploy/concierge/README.md) + for instructions on how to deploy using `ytt`. + +1. Create a `WebhookAuthenticator` object to configure Pinniped to authenticate using local-user-authenticator. + + ```bash + cat <{{ dateFormat "Jan 2, 2006" .Date }}
+ {{ .Content }} +Introduction to Pinniped
+Learn how Pinniped provides identity services to Kubernetes
+How do you use Pinniped?
+Tell us about your experience using Pinniped Share with us here!
+{{ .Params.Excerpt }}
+To help you get started, see the documentation.
+Pinniped delivers a consistent Kubernetes user authentication experience while prioritizing security, interoperability and low-effort management at scale.
+ +Install and integrate with nearly any cluster in one step
+Log in once to safely access many clusters
+Leverage first class integration with Kubernetes and kubectl CLI
+Matt Moyer
+Engineer
+Andrew Keesler
+Engineer
+Ryan Richard
+Engineer
+Mo Khan
+Engineer
+Pablo Schuhmacher
+Product Manager
+The Pinniped project team welcomes contributions from the community, please see our contributor’s guide for more information.
+Cluster Administration
+Easily plug in external IDPs into Kubernetes clusters while offering a simple install and configuration experience. Leverage first class integration with Kubernetes and kubectl CLI.
+ +Cluster Administration
+Easily plug in external IDPs into Kubernetes clusters while offering a simple install and configuration experience. Leverage first class integration with Kubernetes and kubectl CLI.
+ +Cluster Administration
+Easily plug in external IDPs into Kubernetes clusters while offering a simple install and configuration experience. Leverage first class integration with Kubernetes and kubectl CLI.
+ +