Skip to content

Commit 32e750c

Browse files
committed
Replace absolute links with relative ones
We previously used absolute links because there was so much linking between micro-sites. Now the content lives in a single repository/build we can use relative links with impunity. This has a big advantage: Docusaurus will error on broken links in the build, so we can have confidence that internal linking works. With this change there are zero links to playbook.hackney.gov.uk in the site content.
1 parent 0e70d0b commit 32e750c

21 files changed

+49
-190
lines changed

docs/api-playbook/04-Governance/api_compliance.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ The APIs compliance checklist will be used as part of future Service Standard As
99

1010
### Checklist
1111
1. The API has corresponding SwaggerHub documentation for all of the API endpoints it exposes.
12-
2. The API has completed the [API specification assessment process](https://playbook.hackney.gov.uk/api-specifications/assessment_process/)
13-
3. The API has been developed in Hackney’s preferred tech tech stack, unless otherwise agreed and as per standards defined in our [API playbook](https://playbook.hackney.gov.uk/API-Playbook/).
12+
2. The API has completed the [API specification assessment process](/api-specifications/assessment_process/)
13+
3. The API has been developed in Hackney’s preferred tech tech stack, unless otherwise agreed and as per standards defined in our [API playbook](/api-playbook/).
1414
4. The API has been developed following the TDD approach and has end-to-end tets in place
1515
- End-to-end tests guide for DynamoDB
1616
- End-to-end tests guide for PostgreSQL

docs/api-playbook/04-Governance/developer_onboarding.md

Lines changed: 4 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@ We love innovation and are always open to learning, iterating and improving. To
99

1010
- Our preferred BE stack is documented [here](../../Development%20Lifecycle/How%20to%20build%20an%20API/Preferred%20tech%20stack/).
1111

12-
### Reusable components catalogue
13-
Before you commence the development of a new API, micro-frontend or NuGet shared package, please refer to our [Developer Hub](https://developer-api.hackney.gov.uk/), where you can find information about available reusable components and APIs available for reuse.
14-
15-
**Please Note:** The Developer Hub is being actively developed. It currently provides information about available APIs, with new features, such as a catalogue of available shared packages, due to be released soon.
16-
1712
### Development standards
18-
All technical members of a project team must familiarise themselves with [Hackney’s development standards](https://playbook.hackney.gov.uk/ways-of-working/), which follow the Twelve Factor Application methodology. Those define the high level principles to follow when developing a digital product.
13+
All technical members of a project team must familiarise themselves with [Hackney’s development standards](/ways-of-working/), which follow the Twelve Factor Application methodology. Those define the high level principles to follow when developing a digital product.
1914
Playbooks
2015

2116
#### What are they?
@@ -29,61 +24,6 @@ We use playbooks to provide guidance of the standards and ways to implement to e
2924
#### Technical assessments:
3025

3126
Hackney’s playbooks reflect the standards and quality of technical implementation that digital services should follow and will be assessed against to be accepted into service. We do understand that sometimes there are use cases, which will require a different approach and we are always open to suggestions for improvements. Any deviations or proposals for changes must be documented in the form of an Architecture Decision Record ( ADR ) and presented at a community of practice to promote collaboration and consistency.
32-
API and Backend services Playbook
33-
https://playbook.hackney.gov.uk/API-Playbook/
34-
35-
You can find information about:
36-
- API and Listeners Boilerplate
37-
- Development process
38-
- Deployment pipeline
39-
- IaC approach
40-
- Testing process
41-
- Preferred tech stack
42-
- Data migrations
43-
- Monitoring
44-
- Events Driven Architecture
45-
- Security practices for APIs
46-
47-
### Micro frontends (MFE) Playbook
48-
https://playbook.hackney.gov.uk/micro-frontends/
49-
50-
You can find information about:
51-
- MFE cli and boilerplate
52-
- Development process
53-
- Testing process
54-
- Preferred tech stack
55-
- Quickstart guide
56-
57-
### Communities of practice
58-
59-
#### Technical architecture
60-
61-
**When?** Every Wednesday, 16:00-17:00.
62-
63-
**What is it?** A platform to discuss proposals for changes to technical and architectural approaches and tooling, as well as a place to suggest new technical implementations.
64-
65-
**How can I make use of it?** Please join the #hackit-technical-architecture slack channel and drop a message there with a topic you wish to discuss at the meetup. The meetup is open to everyone so feel free to forward the calendar invitation to anyone who might be interested.
66-
67-
**Paper template:** TBC
68-
69-
#### Data meetup
70-
71-
**When?** Every Tuesday, 15:30 - 16:30.
72-
73-
**What is it?** A platform for proposing changes to existing reusable API’s data models or suggesting the creation of new ones. The community of practice can also be used to discuss any other data related topic, such as data migration technical approaches and overall data architecture discussions.
74-
75-
**How can I make use of it?** Please join the #hackit-data-architecture slack channel and drop a message there with a topic you wish to discuss at the meetup. The meetup is open to everyone so feel free to forward the calendar invitation to anyone who might be interested.
76-
77-
**Paper template:** When preparing a paper to present at the data meetup, please use the following format found [here](https://docs.google.com/document/d/1aIf6K7_ipH7QPtzzBFfSRBhoV98vPVKL5CaKWpLBrs8/edit?usp=sharing).
78-
79-
80-
#### Frontend meetup
81-
82-
**When?** Every Thursday, 15:00 - 16:00.
83-
84-
**What is it?** A platform to discuss frontend specific tooling and approaches, micro-frontend architecture and reusability and suggestions for changes.
85-
86-
**How can I make use of it?** Please join the #frontend slack channel and drop a message there with a topic you wish to discuss at the meetup. The meetup is open to everyone so feel free to forward the calendar invitation to anyone who might be interested.
8727

8828
### Preferred technical stack
8929
Our preferred technical stack for API and backend services (e.g. Listeners) implementation can be found [here](- Our preferred BE stack is documented [here](../../Development%20Lifecycle/How%20to%20build%20an%20API/Preferred%20tech%20stack/).
@@ -96,17 +36,17 @@ To set up your developer workstation, please refer to the Workstation Setup Guid
9636
### Technical ways of working
9737

9838
#### Pull Request process
99-
Hackney’s official pull request process to follow as part of the Software Development Lifecycle can be found [here](https://playbook.hackney.gov.uk/ways-of-working/).
39+
Hackney’s official pull request process to follow as part of the Software Development Lifecycle can be found [here](/ways-of-working/).
10040

10141
### API specifications
102-
All APIs must be built in a reusable manner, unless they implement a very specific use case. Any new proposed reusable APIs or changes to the data models of existing ones should follow the [API specification assessment process](https://playbook.hackney.gov.uk/api-specifications/assessment_process).
42+
All APIs must be built in a reusable manner, unless they implement a very specific use case. Any new proposed reusable APIs or changes to the data models of existing ones should follow the [API specification assessment process](/api-specifications/assessment_process).
10343

10444

10545
### API documentation
10646
We use [SwaggerHub](https://app.swaggerhub.com/organizations/Hackney) to document our APIs and their respective data contracts. All new and existing APIs must have corresponding SwaggerHub documentation. It is the responsibility of the engineers who amend existing APIs to also update the documentation so it is kept up-to-date.
10747
- If you or your team is building new APIs or making changes to existing API endpoints, please request SwaggerHub access so you can amend the specifications documented to ensure they are always up-to-date.
10848

109-
In addition, we also have [API specifications](https://playbook.hackney.gov.uk/api-specifications/), which capture a summary of the user needs and any other findings related to an API.
49+
In addition, we also have [API specifications](/api-specifications/), which capture a summary of the user needs and any other findings related to an API.
11050
- A new API specification must be produced for all new APIs.
11151
- The API specification document should link off to the SwaggerHub page that outlines the API contract.
11252
- The API specification should be updated when the API introduces new endpoints or changes to existing functionality.
@@ -128,14 +68,3 @@ You will find information about:
12868
### APIs
12969
To assess the API compliance prior to deploying it, please refer to [APIs compliance checklist](../api_compliance).
13070

131-
### Asking a question
132-
For any questions and suggestions regarding our tech stack, tools, processes and practices, please contact us via:
133-
134-
- Slack: #hackit-dev-team channel
135-
- Lead Developers - via direct slack message or email
136-
- Mirela Georgieva ([email protected])
137-
- Selwyn Preston ([email protected])
138-
- Tuomo Karki ([email protected])
139-
- David Dean ([email protected])
140-
- Faisal Gazi ([email protected])
141-

docs/api-playbook/04-Governance/our_ways_of_working.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ Always follow the **least privilege** principle - only pipeline machine users ha
7474

7575
The Twelve-Factor App Methodology is suggested by developers for smoothly working and delivering Software as a Service (SaaS) Applications or Web Apps with a focus on Microservices.
7676

77-
More information about Hackney Council’s Development standards can be found on the link below:
78-
[https://playbook.hackney.gov.uk/ways-of-working/](https://playbook.hackney.gov.uk/ways-of-working/)
77+
More information about Hackney Council’s Development standards can be found [here](/ways-of-working/)
7978

8079
As part of our Organisation's ways of working and managing APIs, we encourage developers that every time an API is deployed to production to publish the Swagger definition accordingly.
8180

@@ -90,7 +89,3 @@ As part of our Organisation's ways of working and managing APIs, we encourage de
9089
- Notifications by email if secrets are exposed, pipelines cancel deployment if errors occur.
9190
- AWS scans our repositories
9291
- GitGuardian scanning
93-
94-
**Continuous Feedback**
95-
96-
We are always looking at ways we can improve. If you have any ideas or suggestions please share your feedback on our playbook [GitHub Repo](https://github.com/LBHackney-IT/API-Playbook).

docs/api-playbook/09-Support/creating_support_doc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ To create support documentation that is easy to find and becomes quickly availab
2525
- The item to be included should match the id you have given to the support document created.
2626
- Create a pull request with your changes.
2727

28-
Once the changes are approved and merged, the support documentation will be available at https://playbook.hackney.gov.uk/API-Playbook/.
28+
Once the changes are approved and merged, the support documentation will be available in the [API playbook](/api-playbook/).

docs/api-playbook/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,3 @@ Today we have come to the point where our playbook has taken a more governance r
2323

2424
## Who this Playbook is for:
2525
This playbook is primarily used to onboard new developers, whether they are new members of staff or new agency partners we work with. However, we would be thrilled if this playbook is also read by a wider audience. We are also always happy to receive contributions or feedback to make this even better.
26-
27-
## Help us improve:
28-
We are always looking at ways we can improve. If you have any ideas or suggestions please share your feedback on our playbook [GitHub Repo](https://github.com/LBHackney-IT/API-Playbook).

docs/api-specifications/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,3 @@ Some people may wonder why we have decided to publish our design specifications.
1010
- Learning - the specifications are a quick reference point on how we design the various APIs
1111
- Onboarding - a quick way to get colleagues up to speed on the design/development process
1212
- Continuous collaboration - as technology evolves and as we get new points of view there is always the opportunity to revisit our designs and improve on them. Our specs should be where this all kicks off.
13-
14-
## Help us improve
15-
We are always looking at ways we can improve. If you have any ideas or suggestions please share your feedback on our Specifications [GitHub Repo](https://github.com/LBHackney-IT/API-Specifications).

docs/api-specifications/asessment_process.md renamed to docs/api-specifications/assessment_process.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
sidebar_position: 1
3+
---
14
# Assessment Process
25
## Purpose
36
The purpose of this process is to provide a clear,open and consistent method of providing new and amended API specifications, evaluating them and getting them published in a way that is easy for a wider audience to access.

docs/architecture-pillars/1-Reliability/automated_remediation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ AWS Config official documentation that details additional features can be found
99

1010
In Hackney, we are adopting several mechanisms to ensure that deployed resources are compliant with our preferred configuration, e.g. no database should be publicly accessible. Those include:
1111
- Following the [least privilege principle](../../Security/dev_least_principles/), where engineers are unable to manually create AWS resources but must instead automate the creation via IaC (infrastructure as code) and CI/CD pipelines.
12-
- Adopting [Terraform-compliance](https://playbook.hackney.gov.uk/API-Playbook/terraform_compliance) security and compliance testing framework for performing pre-deployment checks to ensure only compliant resources are deployed.
13-
- Using [serverless safeguards](https://playbook.hackney.gov.uk/API-Playbook/serverless_safegaurd) to ensure AWS resources provisioned via the Serverless framework are also compliant.
12+
- Adopting [Terraform-compliance](/api-playbook/Development%20Lifecycle/API%20Practices%20and%20tools/terraform_compliance/) security and compliance testing framework for performing pre-deployment checks to ensure only compliant resources are deployed.
13+
- Using [serverless safeguards](/api-playbook/Development%20Lifecycle/API%20Practices%20and%20tools/serverless_safeguard/) to ensure AWS resources provisioned via the Serverless framework are also compliant.
1414

1515
However, some of those must be set up on a per-project basis, thus not guaranteeing security risks prevention by the proposed mechanisms due to no current way to ensure 100% take up amongst project teams.
1616

docs/architecture-pillars/1-Reliability/core_resource_compliance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Core AWS resources compliance checks
22

33
### Context
4-
At Hackney, we follow an infrastructure-as-code (IaC) approach and use Terraform to provision most of our AWS cloud resources. For our APIs, which are Lambda functions exposed via AWS API Gateway, we use the Serverless framework as it significantly speeds up the delivery and resource creation. For more information please refer to [our playbook](https://playbook.hackney.gov.uk/API-Playbook/).
4+
At Hackney, we follow an infrastructure-as-code (IaC) approach and use Terraform to provision most of our AWS cloud resources. For our APIs, which are Lambda functions exposed via AWS API Gateway, we use the Serverless framework as it significantly speeds up the delivery and resource creation. For more information please refer to [our playbook](/api-playbook/).
55

66
From a Development perspective, each project manages its own Terraform files(or Serverless configuration) to provision resources for our microservices and frontend applications. Terraform is then applied automatically as part of the CI/CD pipeline workflow during deployment.
77

docs/architecture-pillars/1-Reliability/preferred_data_source.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
**If a new data store is required:**
1111
- Perform an evaluation if SQL or NoSQL is more suitable for your project’s needs.
1212
- [Guidance provided further down in this document.](#choosing-the-right-type-of-database-technology)
13-
- Design the API that will interact with the data and present it at the Data Meetup as per our [API specifications assessment process.](https://playbook.hackney.gov.uk/api-specifications/assessment_process/)
13+
- Design the API that will interact with the data and present it at the Data Meetup as per our [API specifications assessment process.](/api-specifications/assessment_process/)
1414
- Use Terraform to provision the new database resource in AWS.
1515
- Use one of the [Terraform common repository](https://github.com/LBHackney-IT/aws-hackney-common-terraform) templates (if applicable)
1616

0 commit comments

Comments
 (0)