Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanrainer authored Aug 20, 2024
0 parents commit 1a0b217
Show file tree
Hide file tree
Showing 8 changed files with 134 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2.1
orbs:
secops: apollo/[email protected]
workflows:
security-scans:
jobs:
- secops/gitleaks:
context:
- secops-oidc
- github-orb
git-base-revision: <<#pipeline.git.base_revision>><<pipeline.git.base_revision>><</pipeline.git.base_revision >>
git-revision: << pipeline.git.revision >>
- secops/semgrep:
context:
- secops-oidc
- github-orb
git-base-revision: <<#pipeline.git.base_revision>><<pipeline.git.base_revision>><</pipeline.git.base_revision >>
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
package-lock.json
.DS_Store
.dist
*.swp
4 changes: 4 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This file was automatically generated by the Apollo SecOps team
# Please customize this file as needed prior to merging.

* @abernix
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Spec Template

## Getting Started

1. Click the "Use this template" button on this repository to create a copy of it and name the new repository `specs-{{spec_name}}`, per convention.
1. Search for usages of `%%SPEC-.*?%%` tokens within this repository and replace them with appropriate names (e.g., `%%SPEC-NAME%%`, `%%SPEC-TITLE%%` and `%%SPEC-VERSION%%`).
1. Setup the new repository with Netlify (estimated about 5 minutes)
1. Go to [Netlify App](https://app.netlify.com/teams/apollo/sites)
1. Click “New Site From Git” button
1. Choose GitHub
1. Authorize
1. Choose `apollographql` org
1. Search for `specs-{{spec_name}}`
1. It probably won’t come up
1. Choose “Configure Netlify on GitHub”
1. On the “Install Netlify” screen choose `apollographql`
1. Scroll to the bottom of the App page to where you see the option for “Only select repositories” inside “Repository access”
1. Click “Select repositories”
1. Type `specs-{{spec_name}}` again, then click the matching name.
1. Click on “Save”
1. Then, back on Netlify, click on “specs-tag” in the “Continuous Deployment: GitHub App” box.
1. Leave all the defaults as they are and press “Deploy site”
1. Click on “Site Settings”
1. Press “Change Site Name”
1. Type `apollo-specs-{{spec_name}}` as the name and press “Save”
1. The site should now work at `https://apollo-specs-{{spec_name}}.netlify.app/`
1. Click on “Build and Deploy” on the left menu
1. Under “Branches” press “Edit Settings”
1. Change the “Branch deploys” option to “All” and press “Save”
1. Setup proxying redirects to the new sub-spec site [on the `specs` repo](https://github.com/apollographql/specs/blob/main/_redirects). This will make it available at `https://specs.apollo.dev/{{spec_name}}`.
1. Run `npm run dev` to watch and rebuild. Just use a browser to view `.dist/index.html` to see the rendered page.
1. Write the actual specifications. _Use other specifications (like [the `core` specification](https://github.com/apollographql/specs-core)) as your guide._
6 changes: 6 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Netlify Admin: https://app.netlify.com/sites/apollo-specs-%%SPEC-NAME%%/
# Docs: https://docs.netlify.com/configure-builds/file-based-configuration/

[build]
command = "npm run build"
publish = ".dist/"
19 changes: 19 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "spec-site",
"private": true,
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "rsync -avz --exclude .dist . .dist && spec-md spec.md > .dist/index.html",
"dev": "npm run build && chokidar '**/*' -i '.dist' -c 'npm run build'"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@queerviolet/speck": "git://github.com/queerviolet/speck.git#main",
"chokidar-cli": "^2.1.0",
"watch": "^1.0.2"
}
}
1 change: 1 addition & 0 deletions spec.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
directive @example__feature on OBJECT
50 changes: 50 additions & 0 deletions spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# %%SPEC-NAME%%

<h2>%%SPEC-TITLE%%</h2>

```raw html
<table class=spec-data>
<tr><td>Status</td><td>Draft</td>
<tr><td>Version</td><td>%%SPEC-VERSION%%</td>
</table>
<link rel=stylesheet href=https://specs.apollo.dev/apollo-light.css>
<script type=module async defer src=https://specs.apollo.dev/inject-logo.js></script>
```

```mermaid diagram -- An example diagram
graph LR
classDef bg fill:none,color:#22262E;
s3:::bg-->core
style core fill:none,stroke:fuchsia,color:fuchsia;
```

This document defines a [core feature](https://specs.apollo.dev/core) named `%%SPEC-NAME%%` for ...

This specification provides machinery to:
- _Provide an example. See other specifications for inspiration._

# How to read this document

This document uses [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) guidance regarding normative terms: MUST / MUST NOT / REQUIRED / SHALL / SHALL NOT / SHOULD / SHOULD NOT / RECOMMENDED / MAY / OPTIONAL.

## What this document isn't

Example Text: This document specifies only the structure and semantics of supergraphs. It's expected that a supergraph will generally be the output of a compilation process which composes subgraphs. The mechanics of that process are not specified normatively here. Conforming implementations may choose any approach they like, so long as the result conforms to the requirements of this document.

# Example: Usage

_Provide or remove this section._

# Overview

*This section is non-normative.* It describes the motivation behind the directives defined by this specification.

_Provide this section._

# Basic Requirements

_Provide this section._

Here is an example usage:

:::[definition](spec.graphql)

0 comments on commit 1a0b217

Please sign in to comment.