You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: docs/api-playbook/04-Governance/api_compliance.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,8 @@ The APIs compliance checklist will be used as part of future Service Standard As
9
9
10
10
### Checklist
11
11
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/).
14
14
4. The API has been developed following the TDD approach and has end-to-end tets in place
Copy file name to clipboardExpand all lines: docs/api-playbook/04-Governance/developer_onboarding.md
+4-75Lines changed: 4 additions & 75 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,13 +9,8 @@ We love innovation and are always open to learning, iterating and improving. To
9
9
10
10
- Our preferred BE stack is documented [here](../../Development%20Lifecycle/How%20to%20build%20an%20API/Preferred%20tech%20stack/).
11
11
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
-
17
12
### 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.
19
14
Playbooks
20
15
21
16
#### What are they?
@@ -29,61 +24,6 @@ We use playbooks to provide guidance of the standards and ways to implement to e
29
24
#### Technical assessments:
30
25
31
26
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.
87
27
88
28
### Preferred technical stack
89
29
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
96
36
### Technical ways of working
97
37
98
38
#### 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/).
100
40
101
41
### 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).
103
43
104
44
105
45
### API documentation
106
46
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.
107
47
- 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.
108
48
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.
110
50
- A new API specification must be produced for all new APIs.
111
51
- The API specification document should link off to the SwaggerHub page that outlines the API contract.
112
52
- 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:
128
68
### APIs
129
69
To assess the API compliance prior to deploying it, please refer to [APIs compliance checklist](../api_compliance).
130
70
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
Copy file name to clipboardExpand all lines: docs/api-playbook/04-Governance/our_ways_of_working.md
+1-6Lines changed: 1 addition & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,8 +74,7 @@ Always follow the **least privilege** principle - only pipeline machine users ha
74
74
75
75
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.
76
76
77
-
More information about Hackney Council’s Development standards can be found on the link below:
More information about Hackney Council’s Development standards can be found [here](/ways-of-working/)
79
78
80
79
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.
81
80
@@ -90,7 +89,3 @@ As part of our Organisation's ways of working and managing APIs, we encourage de
90
89
- Notifications by email if secrets are exposed, pipelines cancel deployment if errors occur.
91
90
- AWS scans our repositories
92
91
- 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).
Copy file name to clipboardExpand all lines: docs/api-playbook/README.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,3 @@ Today we have come to the point where our playbook has taken a more governance r
23
23
24
24
## Who this Playbook is for:
25
25
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).
Copy file name to clipboardExpand all lines: docs/api-specifications/README.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,3 @@ Some people may wonder why we have decided to publish our design specifications.
10
10
- Learning - the specifications are a quick reference point on how we design the various APIs
11
11
- Onboarding - a quick way to get colleagues up to speed on the design/development process
12
12
- 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).
Copy file name to clipboardExpand all lines: docs/api-specifications/assessment_process.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,6 @@
1
+
---
2
+
sidebar_position: 1
3
+
---
1
4
# Assessment Process
2
5
## Purpose
3
6
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.
Copy file name to clipboardExpand all lines: docs/architecture-pillars/1-Reliability/automated_remediation.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,8 @@ AWS Config official documentation that details additional features can be found
9
9
10
10
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:
11
11
- 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.
14
14
15
15
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.
Copy file name to clipboardExpand all lines: docs/architecture-pillars/1-Reliability/core_resource_compliance.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Core AWS resources compliance checks
2
2
3
3
### 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/).
5
5
6
6
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.
Copy file name to clipboardExpand all lines: docs/architecture-pillars/1-Reliability/preferred_data_source.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
**If a new data store is required:**
11
11
- Perform an evaluation if SQL or NoSQL is more suitable for your project’s needs.
12
12
-[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/)
14
14
- Use Terraform to provision the new database resource in AWS.
15
15
- Use one of the [Terraform common repository](https://github.com/LBHackney-IT/aws-hackney-common-terraform) templates (if applicable)
0 commit comments